diff --git a/x/auth/legacy/v040/migrate.go b/x/auth/legacy/v040/migrate.go index 363ec7ba8..f819a1a33 100644 --- a/x/auth/legacy/v040/migrate.go +++ b/x/auth/legacy/v040/migrate.go @@ -2,6 +2,7 @@ package v040 import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" + multisigtypes "github.com/cosmos/cosmos-sdk/crypto/keys/multisig" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039" v040auth "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -11,9 +12,16 @@ import ( // convertBaseAccount converts a 0.39 BaseAccount to a 0.40 BaseAccount. func convertBaseAccount(old *v039auth.BaseAccount) *v040auth.BaseAccount { var any *codectypes.Any - // If the old genesis had a pubkey, we pack it inside an Any. Or else, we - // just leave it nil. - if old.PubKey != nil { + + _, ok := old.PubKey.(*multisigtypes.LegacyAminoPubKey) + + // If pubkey is multisig type, then leave it as nil for now + // Ref: https://github.com/cosmos/cosmos-sdk/issues/8776#issuecomment-790552126 + // Else if the old genesis had a pubkey, we pack it inside an Any. + // Or else, we just leave it nil. + if ok { + // TODO migrate multisig public_keys + } else if old.PubKey != nil { var err error any, err = codectypes.NewAnyWithValue(old.PubKey) if err != nil {