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  }