github.com/Finschia/finschia-sdk@v0.48.1/x/crisis/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 codectypes "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 fdncodec "github.com/Finschia/finschia-sdk/x/foundation/codec" 12 govcodec "github.com/Finschia/finschia-sdk/x/gov/codec" 13 ) 14 15 // RegisterLegacyAminoCodec registers the necessary x/crisis interfaces and concrete types 16 // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. 17 func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 18 legacy.RegisterAminoMsg(cdc, &MsgVerifyInvariant{}, "cosmos-sdk/MsgVerifyInvariant") 19 } 20 21 func RegisterInterfaces(registry codectypes.InterfaceRegistry) { 22 registry.RegisterImplementations((*sdk.Msg)(nil), 23 &MsgVerifyInvariant{}, 24 ) 25 26 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 27 } 28 29 var ( 30 amino = codec.NewLegacyAmino() 31 ModuleCdc = codec.NewAminoCodec(amino) 32 ) 33 34 func init() { 35 RegisterLegacyAminoCodec(amino) 36 cryptocodec.RegisterCrypto(amino) 37 sdk.RegisterLegacyAminoCodec(amino) 38 39 // Register all Amino interfaces and concrete types on the authz and gov Amino codec so that this can later be 40 // used to properly serialize MsgGrant, MsgExec and MsgSubmitProposal instances 41 RegisterLegacyAminoCodec(authzcodec.Amino) 42 RegisterLegacyAminoCodec(govcodec.Amino) 43 RegisterLegacyAminoCodec(fdncodec.Amino) 44 }