github.com/okex/exchain@v1.8.0/libs/ibc-go/modules/apps/transfer/keeper/encoding.go (about)

     1  package keeper
     2  
     3  import (
     4  	"github.com/okex/exchain/libs/ibc-go/modules/apps/transfer/types"
     5  )
     6  
     7  // UnmarshalDenomTrace attempts to decode and return an DenomTrace object from
     8  // raw encoded bytes.
     9  func (k Keeper) UnmarshalDenomTrace(bz []byte) (types.DenomTrace, error) {
    10  	var denomTrace types.DenomTrace
    11  	if err := k.cdc.GetProtocMarshal().UnmarshalBinaryBare(bz, &denomTrace); err != nil {
    12  		return types.DenomTrace{}, err
    13  	}
    14  	return denomTrace, nil
    15  }
    16  
    17  // MustUnmarshalDenomTrace attempts to decode and return an DenomTrace object from
    18  // raw encoded bytes. It panics on error.
    19  func (k Keeper) MustUnmarshalDenomTrace(bz []byte) types.DenomTrace {
    20  	var denomTrace types.DenomTrace
    21  	k.cdc.GetProtocMarshal().MustUnmarshalBinaryBare(bz, &denomTrace)
    22  	return denomTrace
    23  }
    24  
    25  // MarshalDenomTrace attempts to encode an DenomTrace object and returns the
    26  // raw encoded bytes.
    27  func (k Keeper) MarshalDenomTrace(denomTrace types.DenomTrace) ([]byte, error) {
    28  	return k.cdc.GetProtocMarshal().MarshalBinaryBare(&denomTrace)
    29  }
    30  
    31  // MustMarshalDenomTrace attempts to encode an DenomTrace object and returns the
    32  // raw encoded bytes. It panics on error.
    33  func (k Keeper) MustMarshalDenomTrace(denomTrace types.DenomTrace) []byte {
    34  	return k.cdc.GetProtocMarshal().MustMarshalBinaryBare(&denomTrace)
    35  }