github.com/Finschia/finschia-sdk@v0.48.1/x/stakingplus/codec.go (about) 1 package stakingplus 2 3 import ( 4 "github.com/Finschia/finschia-sdk/codec" 5 "github.com/Finschia/finschia-sdk/codec/types" 6 authzcodec "github.com/Finschia/finschia-sdk/x/authz/codec" 7 "github.com/Finschia/finschia-sdk/x/foundation" 8 fdncodec "github.com/Finschia/finschia-sdk/x/foundation/codec" 9 govcodec "github.com/Finschia/finschia-sdk/x/gov/codec" 10 ) 11 12 // RegisterLegacyAminoCodec registers the necessary x/authz interfaces and concrete types 13 // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. 14 func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 15 cdc.RegisterConcrete(&CreateValidatorAuthorization{}, "lbm-sdk/CreateValidatorAuthorization", nil) 16 } 17 18 func RegisterInterfaces(registry types.InterfaceRegistry) { 19 registry.RegisterImplementations( 20 (*foundation.Authorization)(nil), 21 &CreateValidatorAuthorization{}, 22 ) 23 } 24 25 func init() { 26 // Register all Amino interfaces and concrete types on the authz and gov Amino codec so that this can later be 27 // used to properly serialize MsgGrant, MsgExec and MsgSubmitProposal instances 28 RegisterLegacyAminoCodec(authzcodec.Amino) 29 RegisterLegacyAminoCodec(govcodec.Amino) 30 RegisterLegacyAminoCodec(fdncodec.Amino) 31 }