github.com/Finschia/finschia-sdk@v0.48.1/crypto/codec/amino.go (about)

     1  package codec
     2  
     3  import (
     4  	"github.com/Finschia/ostracon/crypto/sr25519"
     5  
     6  	"github.com/Finschia/finschia-sdk/codec"
     7  	"github.com/Finschia/finschia-sdk/crypto/keys/ed25519"
     8  	kmultisig "github.com/Finschia/finschia-sdk/crypto/keys/multisig"
     9  	"github.com/Finschia/finschia-sdk/crypto/keys/secp256k1"
    10  	cryptotypes "github.com/Finschia/finschia-sdk/crypto/types"
    11  )
    12  
    13  // RegisterCrypto registers all crypto dependency types with the provided Amino
    14  // codec.
    15  func RegisterCrypto(cdc *codec.LegacyAmino) {
    16  	cdc.RegisterInterface((*cryptotypes.PubKey)(nil), nil)
    17  	cdc.RegisterConcrete(sr25519.PubKey{},
    18  		sr25519.PubKeyName, nil)
    19  	cdc.RegisterConcrete(&ed25519.PubKey{},
    20  		ed25519.PubKeyName, nil)
    21  	cdc.RegisterConcrete(&secp256k1.PubKey{},
    22  		secp256k1.PubKeyName, nil)
    23  	cdc.RegisterConcrete(&kmultisig.LegacyAminoPubKey{},
    24  		kmultisig.PubKeyAminoRoute, nil)
    25  
    26  	cdc.RegisterInterface((*cryptotypes.PrivKey)(nil), nil)
    27  	cdc.RegisterConcrete(sr25519.PrivKey{},
    28  		sr25519.PrivKeyName, nil)
    29  	cdc.RegisterConcrete(&ed25519.PrivKey{}, //nolint:staticcheck
    30  		ed25519.PrivKeyName, nil)
    31  	cdc.RegisterConcrete(&secp256k1.PrivKey{},
    32  		secp256k1.PrivKeyName, nil)
    33  }