github.com/Finschia/finschia-sdk@v0.48.1/x/upgrade/types/codec.go (about) 1 package types 2 3 import ( 4 "github.com/Finschia/finschia-sdk/codec" 5 "github.com/Finschia/finschia-sdk/codec/types" 6 cryptocodec "github.com/Finschia/finschia-sdk/crypto/codec" 7 sdk "github.com/Finschia/finschia-sdk/types" 8 authzcodec "github.com/Finschia/finschia-sdk/x/authz/codec" 9 fdncodec "github.com/Finschia/finschia-sdk/x/foundation/codec" 10 govcodec "github.com/Finschia/finschia-sdk/x/gov/codec" 11 govtypes "github.com/Finschia/finschia-sdk/x/gov/types" 12 ) 13 14 // RegisterLegacyAminoCodec registers concrete types on the LegacyAmino codec 15 func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 16 cdc.RegisterConcrete(Plan{}, "cosmos-sdk/Plan", nil) 17 cdc.RegisterConcrete(&SoftwareUpgradeProposal{}, "cosmos-sdk/SoftwareUpgradeProposal", nil) 18 cdc.RegisterConcrete(&CancelSoftwareUpgradeProposal{}, "cosmos-sdk/CancelSoftwareUpgradeProposal", nil) 19 } 20 21 func RegisterInterfaces(registry types.InterfaceRegistry) { 22 registry.RegisterImplementations( 23 (*govtypes.Content)(nil), 24 &SoftwareUpgradeProposal{}, 25 &CancelSoftwareUpgradeProposal{}, 26 ) 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 40 // so that this can later be used to properly serialize MsgGrant and MsgExec 41 // instances. 42 RegisterLegacyAminoCodec(authzcodec.Amino) 43 RegisterLegacyAminoCodec(govcodec.Amino) 44 RegisterLegacyAminoCodec(fdncodec.Amino) 45 }