github.com/Finschia/finschia-sdk@v0.48.1/x/mint/simulation/decoder.go (about) 1 package simulation 2 3 import ( 4 "bytes" 5 "fmt" 6 7 "github.com/Finschia/finschia-sdk/codec" 8 "github.com/Finschia/finschia-sdk/types/kv" 9 "github.com/Finschia/finschia-sdk/x/mint/types" 10 ) 11 12 // NewDecodeStore returns a decoder function closure that umarshals the KVPair's 13 // Value to the corresponding mint type. 14 func NewDecodeStore(cdc codec.Codec) func(kvA, kvB kv.Pair) string { 15 return func(kvA, kvB kv.Pair) string { 16 switch { 17 case bytes.Equal(kvA.Key, types.MinterKey): 18 var minterA, minterB types.Minter 19 cdc.MustUnmarshal(kvA.Value, &minterA) 20 cdc.MustUnmarshal(kvB.Value, &minterB) 21 return fmt.Sprintf("%v\n%v", minterA, minterB) 22 default: 23 panic(fmt.Sprintf("invalid mint key %X", kvA.Key)) 24 } 25 } 26 }