Class: Secp256k1HdWallet
@shareledgerjs/signing.Secp256k1HdWallet
A wallet for protobuf based signing using SIGN_MODE_DIRECT
Implements
Constructors
constructor
• Protected
new Secp256k1HdWallet(mnemonic
, options
)
Parameters
Name | Type |
---|---|
mnemonic | EnglishMnemonic |
options | Secp256k1HdWalletConstructorOptions |
Properties
accounts
• Private
Readonly
accounts: readonly Secp256k1Derivation
[]
Derivation instructions
secret
• Private
Readonly
secret: EnglishMnemonic
Base secret
seed
• Private
Readonly
seed: Uint8Array
BIP39 seed
Accessors
mnemonic
• get
mnemonic(): string
Returns
string
Methods
getAccounts
▸ getAccounts(): Promise
<readonly AccountData
[]>
Returns
Promise
<readonly AccountData
[]>
Implementation of
OfflineDirectSigner.getAccounts
getAccountsWithPrivkeys
▸ getAccountsWithPrivkeys(): Promise
<readonly AccountDataWithPrivkey
[]>
Returns
Promise
<readonly AccountDataWithPrivkey
[]>
getKeyPair
▸ Private
getKeyPair(hdPath
): Promise
<Secp256k1Keypair
>
Parameters
Name | Type |
---|---|
hdPath | HdPath |
Returns
Promise
<Secp256k1Keypair
>
serialize
▸ serialize(password
): Promise
<string
>
Generates an encrypted serialization of this wallet.
Parameters
Name | Type | Description |
---|---|---|
password | string | The user provided password used to generate an encryption key via a KDF. This is not normalized internally (see "Unicode normalization" to learn more). |
Returns
Promise
<string
>
serializeWithEncryptionKey
▸ serializeWithEncryptionKey(encryptionKey
, kdfConfiguration
): Promise
<string
>
Generates an encrypted serialization of this wallet.
This is an advanced alternative to calling serialize(password)
directly, which allows you to
offload the KDF execution to a non-UI thread (e.g. in a WebWorker).
The caller is responsible for ensuring the key was derived with the given KDF options. If this is not the case, the wallet cannot be restored with the original password.
Parameters
Name | Type |
---|---|
encryptionKey | Uint8Array |
kdfConfiguration | KdfConfiguration |
Returns
Promise
<string
>
signDirect
▸ signDirect(signerAddress
, signDoc
): Promise
<DirectSignResponse
>
Parameters
Name | Type |
---|---|
signerAddress | string |
signDoc | SignDoc |
Returns
Promise
<DirectSignResponse
>
Implementation of
OfflineDirectSigner.signDirect
deserialize
▸ Static
deserialize(serialization
, password
): Promise
<Secp256k1HdWallet
>
Restores a wallet from an encrypted serialization.
Parameters
Name | Type | Description |
---|---|---|
serialization | string | - |
password | string | The user provided password used to generate an encryption key via a KDF. This is not normalized internally (see "Unicode normalization" to learn more). |
Returns
Promise
<Secp256k1HdWallet
>
deserializeTypeV1
▸ Static
Private
deserializeTypeV1(serialization
, password
): Promise
<Secp256k1HdWallet
>
Parameters
Name | Type |
---|---|
serialization | string |
password | string |
Returns
Promise
<Secp256k1HdWallet
>
deserializeWithEncryptionKey
▸ Static
deserializeWithEncryptionKey(serialization
, encryptionKey
): Promise
<Secp256k1HdWallet
>
Restores a wallet from an encrypted serialization.
This is an advanced alternative to calling deserialize(serialization, password)
directly, which allows
you to offload the KDF execution to a non-UI thread (e.g. in a WebWorker).
The caller is responsible for ensuring the key was derived with the given KDF configuration. This can be
done using extractKdfConfiguration(serialization)
and executeKdf(password, kdfConfiguration)
from this package.
Parameters
Name | Type |
---|---|
serialization | string |
encryptionKey | Uint8Array |
Returns
Promise
<Secp256k1HdWallet
>
fromMnemonic
▸ Static
fromMnemonic(mnemonic
, options?
): Promise
<Secp256k1HdWallet
>
Restores a wallet from the given BIP39 mnemonic.
Parameters
Name | Type | Description |
---|---|---|
mnemonic | string | Any valid English mnemonic. |
options | Partial <Secp256k1HdWalletOptions > | An optional Secp256k1HdWalletOptions object optionally containing a bip39Password, hdPaths, and prefix. |
Returns
Promise
<Secp256k1HdWallet
>
generate
▸ Static
generate(length?
, options?
): Promise
<Secp256k1HdWallet
>
Generates a new wallet with a BIP39 mnemonic of the given length.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
length | 18 | 24 | 12 | 15 | 21 | 12 | The number of words in the mnemonic (12, 15, 18, 21 or 24). |
options | Partial <Secp256k1HdWalletOptions > | {} | An optional Secp256k1HdWalletOptions object optionally containing a bip39Password, hdPaths, and prefix. |
Returns
Promise
<Secp256k1HdWallet
>
validateMnemonic
▸ Static
validateMnemonic(mnemonic
): boolean
Validates whether the input mnemonic is valid.
Parameters
Name | Type | Description |
---|---|---|
mnemonic | string | Any valid English mnemonic. |
Returns
boolean
true if the input mnemonic is valid, otherwise false.