Skip to main content
Version: 25.1.x

Class: AccountManagement

api/client/AccountManagement.AccountManagement

Handles functionality related to Account Management

Methods

acceptPrimaryKey

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

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

NameType
argsAcceptPrimaryKeyRotationParams
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

Defined in

api/client/AccountManagement.ts:373


addSecondaryAccounts

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

Adds a list of secondary Accounts to the signing Identity

Parameters

NameType
argsAddSecondaryAccountsParams
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

Defined in

api/client/AccountManagement.ts:163


createMultiSigAccount

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

Create a MultiSig Account

Parameters

NameType
argsCreateMultiSigParams
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

Defined in

api/client/AccountManagement.ts:249


freezeSecondaryAccounts

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

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

NameType
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

Defined in

api/client/AccountManagement.ts:211


generateOffChainAuthSignature

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

Generate an offchain authorization signature with a specified signer

Parameters

NameTypeDescription
argsObject-
args.expiryDatedate after which the authorization expires
args.signerstring | AccountSigner to be used to generate the off chain auth signature
args.targetstring | IdentityDID of the identity to which signer is targeting the authorization

Returns

Promise<`0x${string}`>

Defined in

api/client/AccountManagement.ts:384


getAccount

getAccount(args): Promise<Account | MultiSig>

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

Parameters

NameType
argsObject
args.addressstring

Returns

Promise<Account | MultiSig>

Defined in

api/client/AccountManagement.ts:308


getAccountBalance

getAccountBalance(args?): Promise<Balance>

Get the free/locked POLYX balance of an Account

Parameters

NameTypeDescription
args?Object-
args.accountstring | Accountdefaults to the signing Account

Returns

Promise<Balance>

Note

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

Defined in

api/client/AccountManagement.ts:260

getAccountBalance(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>

Defined in

api/client/AccountManagement.ts:261

getAccountBalance(args, callback): Promise<UnsubCallback>

Parameters

NameType
argsObject
args.accountstring | Account
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>

Defined in

api/client/AccountManagement.ts:262


getSigningAccount

getSigningAccount(): null | Account

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

Returns

null | Account

Defined in

api/client/AccountManagement.ts:315


getSigningAccounts

getSigningAccounts(): Promise<Account[]>

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

Defined in

api/client/AccountManagement.ts:328


getSubsidy

getSubsidy(args): Subsidy

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

Parameters

NameType
argsObject
args.beneficiarystring | Account
args.subsidizerstring | Account

Returns

Subsidy

Defined in

api/client/AccountManagement.ts:335


inviteAccount

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

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

Parameters

NameType
argsInviteAccountParams
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

Defined in

api/client/AccountManagement.ts:201


isValidAddress

isValidAddress(args): boolean

Returns true

Parameters

NameTypeDescription
argsObject-
args.addressstringis a valid ss58 address for the connected network

Returns

boolean

Defined in

api/client/AccountManagement.ts:352


leaveIdentity

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

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

Parameters

NameType
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

Defined in

api/client/AccountManagement.ts:141


modifyPermissions

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

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

Parameters

NameType
argsModifySignerPermissionsParams
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

Defined in

api/client/AccountManagement.ts:187


removeSecondaryAccounts

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

Remove a list of secondary Accounts associated with the signing Identity

Parameters

NameType
argsRemoveSecondaryAccountsParams
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

Defined in

api/client/AccountManagement.ts:151


revokePermissions

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

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

Parameters

NameType
argsObject
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

Defined in

api/client/AccountManagement.ts:175


subsidizeAccount

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

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

Parameters

NameType
argsSubsidizeAccountParams
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

Defined in

api/client/AccountManagement.ts:235


unfreezeSecondaryAccounts

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

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

Parameters

NameType
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

Defined in

api/client/AccountManagement.ts:221