From 7cb3e992803d1fe7a9854f7f26e509688556f929 Mon Sep 17 00:00:00 2001 From: Emmanuel T Odeke Date: Tue, 30 Apr 2024 05:24:55 -0700 Subject: [PATCH] fix(icq-relayer): make "keys list" print out keys in a deterministic order This ensures that new entries or removals can easily be tailed or detected through simple checksumming. Fixes #1522 --- icq-relayer/cmd/keys.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/icq-relayer/cmd/keys.go b/icq-relayer/cmd/keys.go index 1518a0ff6..0ae6e55be 100644 --- a/icq-relayer/cmd/keys.go +++ b/icq-relayer/cmd/keys.go @@ -7,6 +7,7 @@ import ( "sort" "strings" + "golang.org/x/exp/maps" "golang.org/x/term" sdk "github.com/cosmos/cosmos-sdk/types" @@ -194,8 +195,12 @@ $ %s k l ibc-1`, appName, appName)), return err } - for key, val := range info { - fmt.Printf("key(%s) -> %s\n", key, val) + // Ensure that the keys are printed in a deterministic order. + // Please see https://github.com/quicksilver-zone/quicksilver/issues/1522 + keys := maps.Keys(info) + sort.Strings(keys) + for _, key := range keys { + fmt.Printf("key(%s) -> %s\n", key, info[key]) } return nil