Skip to content
docs

WalletManagerEvm

Defined in: wallet-evm/src/manager.ts:19

One seed → EVM accounts at m/44’/60’/0’/0/i (BIP-44; MetaMask / ethers default). The 64-byte BIP-39 seed is held for the life of the manager and zeroized on dispose().

Built with a secp256k1 Signer instead of a seed, the manager wraps it:

  • a derivable SeedSigner sitting at m/44'/60'/0'/0 yields getAccount(i) children;
  • a SeedSigner at a leaf, or any external signer, is getAccount(0) (path = the signer’s path, or ‘external’); other indexes/paths throw.

new WalletManagerEvm(seedOrSigner, config?): WalletManagerEvm

Defined in: wallet-evm/src/manager.ts:20

string | Uint8Array<ArrayBufferLike> | Signer

EvmConfig = {}

WalletManagerEvm

WalletManager<WalletAccountEvm, EvmConfig>.constructor

protected readonly _accounts: Map<string, WalletAccountEvm>

Defined in: core/dist/index.d.ts:271

WalletManager._accounts


protected readonly _config: EvmConfig

Defined in: core/dist/index.d.ts:270

WalletManager._config


protected readonly _signer: Signer | undefined

Defined in: core/dist/index.d.ts:269

WalletManager._signer

protected cachedAccount(key, create): Promise<WalletAccountEvm>

Defined in: core/dist/index.d.ts:295

The account cached under key, built by create at most once: concurrent calls share one build. Throws once the manager is disposed; an account whose build finishes after dispose() is disposed itself and the call throws, so no live signing account outlives the manager.

string

() => WalletAccountEvm | Promise<WalletAccountEvm>

Promise<WalletAccountEvm>

WalletManager.cachedAccount


dispose(): void

Defined in: core/dist/index.d.ts:302

Dispose every derived account and zeroize the seed; subclasses zeroize their own extras first, then call super.

void

WalletManager.dispose


protected externalSigner(): Signer | undefined

Defined in: core/dist/index.d.ts:281

The Signer this manager was built with, if any (no mnemonic then). Chain managers decide how to turn it into accounts.

Signer | undefined

WalletManager.externalSigner


getAccount(index?): Promise<WalletAccountEvm>

Defined in: wallet-evm/src/manager.ts:25

Account index on the chain’s standard path. Cached per index.

number = 0

Promise<WalletAccountEvm>

WalletManager.getAccount


getAccountByPath(path): Promise<WalletAccountEvm>

Defined in: wallet-evm/src/manager.ts:29

Account at an explicit path. Cached per path.

string

Promise<WalletAccountEvm>

WalletManager.getAccountByPath


getFeeRates(): Promise<FeeRates>

Defined in: wallet-evm/src/manager.ts:61

normal = feeRate × 1.0, fast = × 1.2, slow = × 0.8.

Promise<FeeRates>

WalletManager.getFeeRates


getReadOnlyAccount(address): WalletAccountReadOnlyEvm

Defined in: wallet-evm/src/manager.ts:56

Watch-only account for any address, sharing this manager’s provider config.

string

WalletAccountReadOnlyEvm


protected requireSigner(curve): Signer

Defined in: core/dist/index.d.ts:283

The external signer, asserted to sign on curve; throws when the manager holds a mnemonic instead.

SignerCurve

Signer

WalletManager.requireSigner


protected seedBytes(): Uint8Array

Defined in: core/dist/index.d.ts:275

The 64-byte seed this manager derives from; throws for a Signer-built or disposed manager.

Uint8Array

WalletManager.seedBytes


protected signerAccount(key, signer, relativePath, build): Promise<WalletAccountEvm>

Defined in: core/dist/index.d.ts:300

cachedAccount over an injected signer: the signer itself (relativePath undefined) or its child along relativePath. A child that never becomes an account is disposed.

string

Signer

string | undefined

(leaf, publicKey) => WalletAccountEvm

Promise<WalletAccountEvm>

WalletManager.signerAccount


static getRandomSeedPhrase(words?): string

Defined in: core/dist/index.d.ts:279

Same as the core getRandomSeedPhrase.

12 | 24

string

WalletManager.getRandomSeedPhrase


static isValidSeedPhrase(seed): boolean

Defined in: core/dist/index.d.ts:277

Same as the core isValidSeedPhrase.

string

boolean

WalletManager.isValidSeedPhrase