github.com/Finschia/finschia-sdk@v0.48.1/x/evidence/types/codec.go (about) 1 package types 2 3 import ( 4 "github.com/Finschia/finschia-sdk/codec" 5 "github.com/Finschia/finschia-sdk/codec/legacy" 6 "github.com/Finschia/finschia-sdk/codec/types" 7 cryptocodec "github.com/Finschia/finschia-sdk/crypto/codec" 8 sdk "github.com/Finschia/finschia-sdk/types" 9 "github.com/Finschia/finschia-sdk/types/msgservice" 10 authzcodec "github.com/Finschia/finschia-sdk/x/authz/codec" 11 "github.com/Finschia/finschia-sdk/x/evidence/exported" 12 fdncodec "github.com/Finschia/finschia-sdk/x/foundation/codec" 13 govcodec "github.com/Finschia/finschia-sdk/x/gov/codec" 14 ) 15 16 // RegisterLegacyAminoCodec registers all the necessary types and interfaces for the 17 // evidence module. 18 func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 19 cdc.RegisterInterface((*exported.Evidence)(nil), nil) 20 legacy.RegisterAminoMsg(cdc, &MsgSubmitEvidence{}, "cosmos-sdk/MsgSubmitEvidence") 21 cdc.RegisterConcrete(&Equivocation{}, "cosmos-sdk/Equivocation", nil) 22 } 23 24 func RegisterInterfaces(registry types.InterfaceRegistry) { 25 registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSubmitEvidence{}) 26 registry.RegisterInterface( 27 "cosmos.evidence.v1beta1.Evidence", 28 (*exported.Evidence)(nil), 29 &Equivocation{}, 30 ) 31 32 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 33 } 34 35 var ( 36 amino = codec.NewLegacyAmino() 37 ModuleCdc = codec.NewAminoCodec(amino) 38 ) 39 40 func init() { 41 RegisterLegacyAminoCodec(amino) 42 cryptocodec.RegisterCrypto(amino) 43 sdk.RegisterLegacyAminoCodec(amino) 44 45 // Register all Amino interfaces and concrete types on the authz and gov Amino codec so that this can later be 46 // used to properly serialize MsgGrant, MsgExec and MsgSubmitProposal instances 47 RegisterLegacyAminoCodec(authzcodec.Amino) 48 RegisterLegacyAminoCodec(govcodec.Amino) 49 RegisterLegacyAminoCodec(fdncodec.Amino) 50 }