package keyring import ( "github.com/cosmos/cosmos-sdk/crypto/hd" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" ) // Language is a language to create the BIP 39 mnemonic in. // Currently, only english is supported though. // Find a list of all supported languages in the BIP 39 spec (word lists). type Language int const ( // English is the default language to create a mnemonic. // It is the only supported language by this package. English Language = iota + 1 // Japanese is currently not supported. Japanese // Korean is currently not supported. Korean // Spanish is currently not supported. Spanish // ChineseSimplified is currently not supported. ChineseSimplified // ChineseTraditional is currently not supported. ChineseTraditional // French is currently not supported. French // Italian is currently not supported. Italian ) const ( // DefaultBIP39Passphrase used for deriving seed from mnemonic DefaultBIP39Passphrase = "" // bits of entropy to draw when creating a mnemonic defaultEntropySize = 256 addressSuffix = "address" infoSuffix = "info" ) // KeyType reflects a human-readable type for key listing. type KeyType uint // Info KeyTypes const ( TypeLocal KeyType = 0 TypeLedger KeyType = 1 TypeOffline KeyType = 2 TypeMulti KeyType = 3 ) var keyTypes = map[KeyType]string{ TypeLocal: "local", TypeLedger: "ledger", TypeOffline: "offline", TypeMulti: "multi", } // String implements the stringer interface for KeyType. func (kt KeyType) String() string { return keyTypes[kt] } type ( // DeriveKeyFunc defines the function to derive a new key from a seed and hd path DeriveKeyFunc func(mnemonic string, bip39Passphrase, hdPath string, algo hd.PubKeyType) ([]byte, error) // PrivKeyGenFunc defines the function to convert derived key bytes to a tendermint private key PrivKeyGenFunc func(bz []byte, algo hd.PubKeyType) (cryptotypes.PrivKey, error) )