github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/supply/simulation/decoder.go (about)

     1  package simulation
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  
     7  	tmkv "github.com/fibonacci-chain/fbc/libs/tendermint/libs/kv"
     8  
     9  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
    10  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/supply/internal/keeper"
    11  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/supply/internal/types"
    12  )
    13  
    14  // DecodeStore unmarshals the KVPair's Value to the corresponding supply type
    15  func DecodeStore(cdc *codec.Codec, kvA, kvB tmkv.Pair) string {
    16  	switch {
    17  	case bytes.Equal(kvA.Key[:1], keeper.SupplyKey):
    18  		var supplyA, supplyB types.Supply
    19  		cdc.MustUnmarshalBinaryLengthPrefixed(kvA.Value, &supplyA)
    20  		cdc.MustUnmarshalBinaryLengthPrefixed(kvB.Value, &supplyB)
    21  		return fmt.Sprintf("%v\n%v", supplyB, supplyB)
    22  	default:
    23  		panic(fmt.Sprintf("invalid supply key %X", kvA.Key))
    24  	}
    25  }