github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/evm/types/testdata/codec.go (about)

     1  package testdata
     2  
     3  import (
     4  	amino "github.com/tendermint/go-amino"
     5  
     6  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec/types"
     7  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     8  	txmsg "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/ibc-adapter"
     9  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/msgservice"
    10  )
    11  
    12  func NewTestInterfaceRegistry() types.InterfaceRegistry {
    13  	registry := types.NewInterfaceRegistry()
    14  	RegisterInterfaces(registry)
    15  	return registry
    16  }
    17  
    18  func RegisterInterfaces(registry types.InterfaceRegistry) {
    19  	registry.RegisterImplementations((*sdk.Msg)(nil), &TestMsg{})
    20  
    21  	registry.RegisterInterface("Animal", (*Animal)(nil))
    22  	registry.RegisterImplementations(
    23  		(*Animal)(nil),
    24  		&Dog{},
    25  		&Cat{},
    26  	)
    27  	registry.RegisterImplementations(
    28  		(*HasAnimalI)(nil),
    29  		&HasAnimal{},
    30  	)
    31  	registry.RegisterImplementations(
    32  		(*HasHasAnimalI)(nil),
    33  		&HasHasAnimal{},
    34  	)
    35  	registry.RegisterImplementations(
    36  		(*txmsg.Msg)(nil),
    37  		&MsgCreateDog{},
    38  	)
    39  
    40  	msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc)
    41  }
    42  
    43  func NewTestAmino() *amino.Codec {
    44  	cdc := amino.NewCodec()
    45  	cdc.RegisterInterface((*Animal)(nil), nil)
    46  	cdc.RegisterConcrete(&Dog{}, "testdata/Dog", nil)
    47  	cdc.RegisterConcrete(&Cat{}, "testdata/Cat", nil)
    48  
    49  	cdc.RegisterInterface((*HasAnimalI)(nil), nil)
    50  	cdc.RegisterConcrete(&HasAnimal{}, "testdata/HasAnimal", nil)
    51  
    52  	cdc.RegisterInterface((*HasHasAnimalI)(nil), nil)
    53  	cdc.RegisterConcrete(&HasHasAnimal{}, "testdata/HasHasAnimal", nil)
    54  
    55  	return cdc
    56  }