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