Skip to main content
Version: 23.0.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.

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

Parameters

NameType
argsAcceptPrimaryKeyRotationParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


createMultiSigAccount

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

Create a MultiSig Account

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

Parameters

NameType
argsCreateMultiSigParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<MultiSig, MultiSig>>


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

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

Parameters

NameType
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


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>


getAccountBalance

getAccountBalance(args?): Promise<Balance>

Get the free/locked POLYX balance of an Account

Note

can be subscribed to

Parameters

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

Returns

Promise<Balance>

getAccountBalance(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>

getAccountBalance(args, callback): Promise<UnsubCallback>

Parameters

NameType
argsObject
args.accountstring | Account
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>


getSigningAccount

getSigningAccount(): null | Account

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

Returns

null | Account


getSigningAccounts

getSigningAccounts(): Promise<Account[]>

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

Throws

— if there is no Signing Manager attached to the SDK

Returns

Promise<Account[]>


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


inviteAccount

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

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

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

Parameters

NameType
argsInviteAccountParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>


isValidAddress

isValidAddress(args): boolean

Returns true

Parameters

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

Returns

boolean


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

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

Parameters

NameType
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


modifyPermissions

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

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

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

Parameters

NameType
argsModifySignerPermissionsParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


removeSecondaryAccounts

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

Remove a list of secondary Accounts associated with the signing Identity

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

Parameters

NameType
argsRemoveSecondaryAccountsParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


revokePermissions

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

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

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

Parameters

NameType
argsObject
args.secondaryAccounts(string | Account)[]
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>


subsidizeAccount

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

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

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

Parameters

NameType
argsSubsidizeAccountParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<AuthorizationRequest, AuthorizationRequest>>


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

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

Parameters

NameType
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>