Account Manager

class AccountManager(wallet)

exported from managers/account-manager

Extends:
  • utils.PausableTypedEventEmitter

AccountManager manages and tracks single accounts

Arguments:
  • wallet (wallet.Wallet) –
AccountManager.wallet

type: wallet.Wallet

AccountManager.addAccount(accountSpec)

Adds account to manager and datastore.

Arguments:
  • accountSpec (models/account.AccountSpec) –
Returns:

Promise<models/account.Account>

AccountManager.clearAccounts()

Remove all accounts from manager and datastore. Does not delete keys, call keyManager.clearKeys() for that.

Returns:Promise<void>
AccountManager.createAccount(chainId)

Generates a new account and private key.

Arguments:
  • chainId (undefined|string) – optional, uses default chainId if undefined
Returns:

Promise<models/account.Account>

AccountManager.getAccounts()

Returns list of all accounts. Loads data persisted in datastore.

Returns:Promise<models/account.Account[]>
AccountManager.getChainIdHashForAccount(account)
Arguments:
  • account (models/account.Account) –
Returns:

Promise<string>

AccountManager.getCompleteAccountSpec(accountSpec)

Completes accountSpec with chainId in case chainId is undefined.

Arguments:
  • accountSpec (models/account.AccountSpec) – completed account spec
Returns:

models/account.CompleteAccountSpec

AccountManager.getNonceForAccount(account)

Returns next usable nonce for account. This uses the Aergo client to determine the nonce from the server.

Arguments:
  • account (models/account.Account) –
Returns:

Promise<number>

AccountManager.getOrAddAccount(accountSpec)

Gets an account and adds it to the manager if not existing.

Arguments:
  • accountSpec (models/account.CompleteAccountSpec|models/account.AccountSpec) –
Returns:

Promise<models/account.Account>

AccountManager.loadAccount(accountSpec)

Initializes account from datastore or with initial values.

Arguments:
  • accountSpec (models/account.CompleteAccountSpec) –
Returns:

Promise<models/account.Account>

AccountManager.pause()

Pause all existing account trackers.

AccountManager.prepareTransaction(account, tx)

Calculates nonce and converts transaction body into tx ready for signing

Arguments:
  • account (models/account.Account) –
  • tx (Partial<models/transaction.TxBody>) –
Returns:

Promise<models/transaction.Transaction>

AccountManager.removeAccount(accountSpec)

Removes account from manager and datastore. Also removes account’s key from keystore if no other account uses it.

Arguments:
  • accountSpec (models/account.AccountSpec) –
Returns:

Promise<void>

AccountManager.resume()

Resume all existing account trackers.

AccountManager.trackAccount(accountOrSpec)

Returns an account tracker.

Arguments:
  • accountOrSpec (models/account.AccountSpec|models/account.Account) –
Returns:

Promise<managers/account-manager.AccountTracker>

class AccountTracker(manager, account)
Extends:
  • utils.PausableTypedEventEmitter
Arguments:
  • manager (managers/account-manager.AccountManager) –
  • account (models/account.Account) –
AccountTracker.load()
Returns:Promise<models/account.Account>
AccountTracker.pause()
AccountTracker.resume()