Documentation ¶
Index ¶
- func NewPrivKeySecp256k1(path hd.BIP44Params, hrp string) (tmcrypto.PrivKey, string, error)
- func NewPrivKeySecp256k1Unsafe(path hd.BIP44Params) (tmcrypto.PrivKey, error)
- func RegisterAmino(cdc *codec.Codec)
- func ShowAddress(path hd.BIP44Params, expectedPubKey tmcrypto.PubKey, ...) error
- type PrivKeyLedgerSecp256k1
- func (pkl *PrivKeyLedgerSecp256k1) AssertIsPrivKeyInner()
- func (pkl PrivKeyLedgerSecp256k1) Bytes() []byte
- func (pkl PrivKeyLedgerSecp256k1) Equals(other tmcrypto.PrivKey) bool
- func (pkl PrivKeyLedgerSecp256k1) PubKey() tmcrypto.PubKey
- func (pkl PrivKeyLedgerSecp256k1) Sign(message []byte) ([]byte, error)
- func (pkl PrivKeyLedgerSecp256k1) ValidateKey() error
- type SECP256K1
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewPrivKeySecp256k1 ¶
NewPrivKeySecp256k1 will generate a new key and store the public key for later use. The request will require user confirmation and will show account and index in the device
func NewPrivKeySecp256k1Unsafe ¶
func NewPrivKeySecp256k1Unsafe(path hd.BIP44Params) (tmcrypto.PrivKey, error)
NewPrivKeySecp256k1Unsafe will generate a new key and store the public key for later use.
This function is marked as unsafe as it will retrieve a pubkey without user verification. It can only be used to verify a pubkey but never to create new accounts/keys. In that case, please refer to NewPrivKeySecp256k1
func RegisterAmino ¶
RegisterAmino registers all go-crypto related types in the given (amino) codec.
func ShowAddress ¶
func ShowAddress(path hd.BIP44Params, expectedPubKey tmcrypto.PubKey, accountAddressPrefix string) error
ShowAddress triggers a ledger device to show the corresponding address.
Types ¶
type PrivKeyLedgerSecp256k1 ¶
type PrivKeyLedgerSecp256k1 struct { // CachedPubKey should be private, but we want to encode it via // go-amino so we can view the address later, even without having the // ledger attached. CachedPubKey tmcrypto.PubKey Path hd.BIP44Params }
PrivKeyLedgerSecp256k1 implements PrivKey, calling the ledger nano we cache the PubKey from the first call to use it later.
func (*PrivKeyLedgerSecp256k1) AssertIsPrivKeyInner ¶
func (pkl *PrivKeyLedgerSecp256k1) AssertIsPrivKeyInner()
AssertIsPrivKeyInner implements the PrivKey interface. It performs a no-op.
func (PrivKeyLedgerSecp256k1) Bytes ¶
func (pkl PrivKeyLedgerSecp256k1) Bytes() []byte
Bytes implements the PrivKey interface. It stores the cached public key so we can verify the same key when we reconnect to a ledger.
func (PrivKeyLedgerSecp256k1) Equals ¶
func (pkl PrivKeyLedgerSecp256k1) Equals(other tmcrypto.PrivKey) bool
Equals implements the PrivKey interface. It makes sure two private keys refer to the same public key.
func (PrivKeyLedgerSecp256k1) PubKey ¶
func (pkl PrivKeyLedgerSecp256k1) PubKey() tmcrypto.PubKey
PubKey returns the cached public key.
func (PrivKeyLedgerSecp256k1) Sign ¶
func (pkl PrivKeyLedgerSecp256k1) Sign(message []byte) ([]byte, error)
Sign returns a secp256k1 signature for the corresponding message
func (PrivKeyLedgerSecp256k1) ValidateKey ¶
func (pkl PrivKeyLedgerSecp256k1) ValidateKey() error
ValidateKey allows us to verify the sanity of a public key after loading it from disk.
type SECP256K1 ¶
type SECP256K1 interface { Close() error // Returns an uncompressed pubkey GetPublicKeySECP256K1([]uint32) ([]byte, error) // Returns a compressed pubkey and bech32 address (requires user confirmation) GetAddressPubKeySECP256K1([]uint32, string) ([]byte, string, error) // Signs a message (requires user confirmation) SignSECP256K1([]uint32, []byte) ([]byte, error) }
SECP256K1 reflects an interface a Ledger API must implement for SECP256K1