package types import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/cosmos/cosmos-sdk/x/auth/vesting/exported" ) // RegisterLegacyAminoCodec registers the vesting interfaces and concrete types on the // provided LegacyAmino codec. These types are used for Amino JSON serialization func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterInterface((*exported.VestingAccount)(nil), nil) cdc.RegisterConcrete(&BaseVestingAccount{}, "cosmos-sdk/BaseVestingAccount", nil) cdc.RegisterConcrete(&ContinuousVestingAccount{}, "cosmos-sdk/ContinuousVestingAccount", nil) cdc.RegisterConcrete(&DelayedVestingAccount{}, "cosmos-sdk/DelayedVestingAccount", nil) cdc.RegisterConcrete(&PeriodicVestingAccount{}, "cosmos-sdk/PeriodicVestingAccount", nil) cdc.RegisterConcrete(&PermanentLockedAccount{}, "cosmos-sdk/PermanentLockedAccount", nil) } // RegisterInterface associates protoName with AccountI and VestingAccount // Interfaces and creates a registry of it's concrete implementations func RegisterInterfaces(registry types.InterfaceRegistry) { registry.RegisterInterface( "cosmos.vesting.v1beta1.VestingAccount", (*exported.VestingAccount)(nil), &ContinuousVestingAccount{}, &DelayedVestingAccount{}, &PeriodicVestingAccount{}, &PermanentLockedAccount{}, ) registry.RegisterImplementations( (*authtypes.AccountI)(nil), &BaseVestingAccount{}, &DelayedVestingAccount{}, &ContinuousVestingAccount{}, &PeriodicVestingAccount{}, &PermanentLockedAccount{}, ) registry.RegisterImplementations( (*authtypes.GenesisAccount)(nil), &BaseVestingAccount{}, &DelayedVestingAccount{}, &ContinuousVestingAccount{}, &PeriodicVestingAccount{}, &PermanentLockedAccount{}, ) registry.RegisterImplementations( (*sdk.Msg)(nil), &MsgCreateVestingAccount{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } var amino = codec.NewLegacyAmino() func init() { RegisterLegacyAminoCodec(amino) amino.Seal() }