Skip to main content
Version: v29.0.x

Class: AccountManagement

Defined in: src/api/client/AccountManagement.ts:48

Handles functionality related to Account Management

Methods

acceptPrimaryKey()

acceptPrimaryKey(args: AcceptPrimaryKeyRotationParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:336

Accepts the authorization to become the new primary key of the issuing identity.

If a CDD service provider approved this change (or this is not required), primary key of the Identity is updated.

Parameters

ParameterType

args

AcceptPrimaryKeyRotationParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

The caller (new primary key) must be either a secondary key of the issuing identity, or unlinked to any identity.

Note

this method is of type ProcedureMethod, which means you can call acceptPrimaryKey.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


addSecondaryAccounts()

addSecondaryAccounts(args: AddSecondaryAccountsParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<Identity, Identity>>

Defined in: src/api/client/AccountManagement.ts:149

Adds a list of secondary Accounts to the signing Identity

Parameters

ParameterType

args

AddSecondaryAccountsParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<Identity, Identity>>

Throws

if the signing Account is not the primary Account of the Identity

Note

this method is of type ProcedureMethod, which means you can call addSecondaryAccounts.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


createMultiSigAccount()

createMultiSigAccount(args: CreateMultiSigParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<MultiSig, MultiSig>>

Defined in: src/api/client/AccountManagement.ts:200

Create a MultiSig Account

Parameters

ParameterType

args

CreateMultiSigParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<MultiSig, MultiSig>>

Note

this will create an Authorization Request for each signing Account which will have to be accepted before they can approve transactions. None of the signing Accounts can be associated with an Identity when accepting the Authorization An Account or Identity can fetch its pending Authorization Requests by calling authorizations.getReceived. Also, an Account or Identity can directly fetch the details of an Authorization Request by calling authorizations.getOne

Note

this method is of type ProcedureMethod, which means you can call createMultiSigAccount.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


freezeSecondaryAccounts()

freezeSecondaryAccounts(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:177

Freeze all of the secondary Accounts in the signing Identity. This means revoking their permission to perform any operation on the blockchain and freezing their funds until the Accounts are unfrozen via unfreezeSecondaryAccounts

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type NoArgsProcedureMethod, which means you can call freezeSecondaryAccounts.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


generateOffChainAuthSignature()

generateOffChainAuthSignature(args: object): Promise<`0x${string}`>

Defined in: src/api/client/AccountManagement.ts:345

Generate an offchain authorization signature with a specified signer

Parameters

ParameterTypeDescription

args

{ expiry: Date; signer: string | Account; target: string | Identity; }

args.expiry

Date

date after which the authorization expires

args.signer

string | Account

Signer to be used to generate the off chain auth signature

args.target

string | Identity

DID of the identity to which signer is targeting the authorization

Returns

Promise<`0x${string}`>


getAccount()

getAccount(args: object): Promise<Account | MultiSig>

Defined in: src/api/client/AccountManagement.ts:274

Return an Account instance from an address. If the Account has multiSig signers, the returned value will be a MultiSig instance

Parameters

ParameterType

args

{ address: string; }

args.address

string

Returns

Promise<Account | MultiSig>


getAccountBalance()

Call Signature

getAccountBalance(args?: object): Promise<Balance>

Defined in: src/api/client/AccountManagement.ts:209

Get the free/locked POLYX balance of an Account

Parameters
ParameterTypeDescription

args?

{ account: string | Account; }

args.account?

string | Account

The account to get balance for (defaults to the signing Account)

Returns

Promise<Balance>

The account's POLYX balance information

Note

can be subscribed to, if connected to node using a web socket

Call Signature

getAccountBalance(callback: SubCallback<Balance>): Promise<UnsubCallback>

Defined in: src/api/client/AccountManagement.ts:218

Get the free/locked POLYX balance of the signing Account (with subscription)

Parameters
ParameterTypeDescription

callback

SubCallback<Balance>

Callback function to receive balance updates

Returns

Promise<UnsubCallback>

An unsubscribe function

Note

can be subscribed to, if connected to node using a web socket

Call Signature

getAccountBalance(args: object, callback: SubCallback<Balance>): Promise<UnsubCallback>

Defined in: src/api/client/AccountManagement.ts:228

Get the free/locked POLYX balance of an Account (with subscription)

Parameters
ParameterTypeDescription

args

{ account: string | Account; }

args.account

string | Account

The account to get balance for

callback

SubCallback<Balance>

Callback function to receive balance updates

Returns

Promise<UnsubCallback>

An unsubscribe function

Note

can be subscribed to, if connected to node using a web socket


getSigningAccount()

getSigningAccount(): null | Account

Defined in: src/api/client/AccountManagement.ts:281

Return the signing Account, or null if no signing Account has been set

Returns

null | Account


getSigningAccounts()

getSigningAccounts(): Promise<Account[]>

Defined in: src/api/client/AccountManagement.ts:294

Return a list that contains all the signing Accounts associated to the SDK instance's Signing Manager

Returns

Promise<Account[]>

Throws

— if there is no Signing Manager attached to the SDK


getSubsidy()

getSubsidy(args: object): Subsidy

Defined in: src/api/client/AccountManagement.ts:301

Return an Subsidy instance for a pair of beneficiary and subsidizer Account

Parameters

ParameterType

args

{ beneficiary: string | Account; subsidizer: string | Account; }

args.beneficiary

string | Account

args.subsidizer

string | Account

Returns

Subsidy


inviteAccount()

inviteAccount(args: InviteAccountParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Defined in: src/api/client/AccountManagement.ts:172

Send an invitation to an Account to join the signing Identity as a secondary Account

Parameters

ParameterType

args

InviteAccountParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Note

this will create an Authorization Request which has to be accepted by the targetAccount. An Account or Identity can fetch its pending Authorization Requests by calling authorizations.getReceived. Also, an Account or Identity can directly fetch the details of an Authorization Request by calling authorizations.getOne

Note

this method is of type ProcedureMethod, which means you can call inviteAccount.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


isValidAddress()

isValidAddress(args: object): boolean

Defined in: src/api/client/AccountManagement.ts:318

Returns true

Parameters

ParameterTypeDescription

args

{ address: string; }

args.address

string

is a valid ss58 address for the connected network

Returns

boolean


leaveIdentity()

leaveIdentity(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:137

Disassociate the signing Account from its Identity. This operation can only be done if the signing Account is a secondary Account

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type NoArgsProcedureMethod, which means you can call leaveIdentity.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


modifyPermissions()

modifyPermissions(args: ModifySignerPermissionsParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:163

Modify all permissions of a list of secondary Accounts associated with the signing Identity

Parameters

ParameterType

args

ModifySignerPermissionsParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Throws

if the signing Account is not the primary Account of the Identity whose secondary Account permissions are being modified

Note

this method is of type ProcedureMethod, which means you can call modifyPermissions.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


removeSecondaryAccounts()

removeSecondaryAccounts(args: RemoveSecondaryAccountsParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:142

Remove a list of secondary Accounts associated with the signing Identity

Parameters

ParameterType

args

RemoveSecondaryAccountsParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type ProcedureMethod, which means you can call removeSecondaryAccounts.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


revokePermissions()

revokePermissions(args: object, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:156

Revoke all permissions of a list of secondary Accounts associated with the signing Identity

Parameters

ParameterType

args

{ secondaryAccounts: (string | Account)[]; }

args.secondaryAccounts

(string | Account)[]

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Throws

if the signing Account is not the primary Account of the Identity whose secondary Account permissions are being revoked

Note

this method is of type ProcedureMethod, which means you can call revokePermissions.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


subsidizeAccount()

subsidizeAccount(args: SubsidizeAccountParams, opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Defined in: src/api/client/AccountManagement.ts:191

Send an Authorization Request to an Account to subsidize its transaction fees

Parameters

ParameterType

args

SubsidizeAccountParams

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>

Note

this will create an Authorization Request which has to be accepted by the beneficiary Account. An Account or Identity can fetch its pending Authorization Requests by calling authorizations.getReceived. Also, an Account or Identity can directly fetch the details of an Authorization Request by calling authorizations.getOne

Note

this method is of type ProcedureMethod, which means you can call subsidizeAccount.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it


unfreezeSecondaryAccounts()

unfreezeSecondaryAccounts(opts?: ProcedureOpts): Promise<GenericPolymeshTransaction<void, void>>

Defined in: src/api/client/AccountManagement.ts:182

Unfreeze all of the secondary Accounts in the signing Identity. This will restore their permissions as they were before being frozen

Parameters

ParameterType

opts?

ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

this method is of type NoArgsProcedureMethod, which means you can call unfreezeSecondaryAccounts.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it