Skip to main content
Version: 26.2.x

Class: MultiSig

api/entities/Account/MultiSig.MultiSig

Represents a MultiSig Account. A MultiSig Account is composed of one or more signing Accounts. In order to submit a transaction, a specific amount of those signing Accounts must approve it first

Hierarchy

Properties

address

address: string

Polymesh-specific address of the Account. Serves as an identifier

Inherited from

Account.address

Defined in

api/entities/Account/index.ts:89


authorizations

authorizations: Authorizations<Account>

Inherited from

Account.authorizations

Defined in

api/entities/Account/index.ts:98


key

key: string

A hex representation of the cryptographic public key of the Account. This is consistent across Substrate chains, while the address depends on the chain as well.

Inherited from

Account.key

Defined in

api/entities/Account/index.ts:95


subsidies

subsidies: Subsidies

Inherited from

Account.subsidies

Defined in

api/entities/Account/index.ts:99


uuid

uuid: string

Inherited from

Account.uuid

Defined in

api/entities/Entity.ts:46

Methods

checkPermissions

checkPermissions(permissions): Promise<CheckPermissionsResult<Account>>

Check if this Account possesses certain Permissions to act on behalf of its corresponding Identity

Parameters

NameType
permissionsSimplePermissions

Returns

Promise<CheckPermissionsResult<Account>>

which permissions the Account is missing (if any) and the final result

Inherited from

Account.checkPermissions

Defined in

api/entities/Account/index.ts:393


details

details(): Promise<MultiSigDetails>

Return details about this MultiSig such as the signing Accounts and the required number of signatures to execute a MultiSigProposal

Returns

Promise<MultiSigDetails>

Defined in

api/entities/Account/MultiSig/index.ts:87


exists

exists(): Promise<boolean>

Determine whether this Account exists on chain

Returns

Promise<boolean>

Inherited from

Account.exists

Defined in

api/entities/Account/index.ts:476


getAdmin

getAdmin(): Promise<null | Identity>

Returns the Identity of the MultiSig admin. This Identity can add or remove signers directly without creating a MultiSigProposal first.

Returns

Promise<null | Identity>

Defined in

api/entities/Account/MultiSig/index.ts:251


getBalance

getBalance(): Promise<Balance>

Get the free/locked POLYX balance of the Account

Returns

Promise<Balance>

Note

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

Inherited from

Account.getBalance

Defined in

api/entities/Account/index.ts:122

getBalance(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>

Inherited from

Account.getBalance

Defined in

api/entities/Account/index.ts:123


getCreator

getCreator(): Promise<Identity>

Returns the Identity of the MultiSig creator. This Identity can add or remove signers directly without creating a MultiSigProposal first.

Returns

Promise<Identity>

Deprecated

use getAdmin or getPayer instead depending on your need

Defined in

api/entities/Account/MultiSig/index.ts:316


getCurrentNonce

getCurrentNonce(): Promise<BigNumber>

Retrieve the current nonce for this Account

Returns

Promise<BigNumber>

Inherited from

Account.getCurrentNonce

Defined in

api/entities/Account/index.ts:490


getHistoricalProposals

getHistoricalProposals(opts?): Promise<ResultSet<MultiSigProposal>>

Return a set of MultiSigProposal for this MultiSig Account

Parameters

NameType
opts?Object
opts.size?BigNumber
opts.start?BigNumber

Returns

Promise<ResultSet<MultiSigProposal>>

Note

uses the middlewareV2

Defined in

api/entities/Account/MultiSig/index.ts:217


getIdentity

getIdentity(): Promise<null | Identity>

Retrieve the Identity associated to this Account (null if there is none)

Returns

Promise<null | Identity>

Inherited from

Account.getIdentity

Defined in

api/entities/Account/index.ts:167


getMultiSig

getMultiSig(): Promise<null | MultiSig>

Fetch the MultiSig this Account is part of. If this Account is not a signer on any MultiSig, return null

Returns

Promise<null | MultiSig>

Inherited from

Account.getMultiSig

Defined in

api/entities/Account/index.ts:448


getNextAssetId

getNextAssetId(): Promise<string>

Returns next assetID that will be generated for this Identity

Returns

Promise<string>

Inherited from

Account.getNextAssetId

Defined in

api/entities/Account/index.ts:635


getOffChainReceipts

getOffChainReceipts(): Promise<BigNumber[]>

Returns all off chain receipts used by this Account

Returns

Promise<BigNumber[]>

Inherited from

Account.getOffChainReceipts

Defined in

api/entities/Account/index.ts:608


getPayer

getPayer(): Promise<null | Identity>

Returns the payer for the MultiSig, if set the primary account of the identity will pay for any fees the MultiSig may incur

Returns

Promise<null | Identity>

Defined in

api/entities/Account/MultiSig/index.ts:283


getPendingProposals

getPendingProposals(): Promise<MultiSigProposal[]>

Returns pending MultiSig proposals for this Account

Returns

Promise<MultiSigProposal[]>

Note

uses the middleware

Throws

if the Account is not a signer on any MultiSig

Inherited from

Account.getPendingProposals

Defined in

api/entities/Account/index.ts:592


getPermissions

getPermissions(): Promise<Permissions>

Retrieve the Permissions this Account has as a Permissioned Account for its corresponding Identity

Returns

Promise<Permissions>

Throws

if there is no Identity associated with the Account

Inherited from

Account.getPermissions

Defined in

api/entities/Account/index.ts:340


getPolyxTransactions

getPolyxTransactions(filters): Promise<ResultSet<HistoricPolyxTransaction>>

Returns POLYX transactions associated with this account

Parameters

NameTypeDescription
filtersObject-
filters.size?BigNumberpage size
filters.start?BigNumberpage offset

Returns

Promise<ResultSet<HistoricPolyxTransaction>>

Note

uses the middleware

Inherited from

Account.getPolyxTransactions

Defined in

api/entities/Account/index.ts:574


getProposal

getProposal(args): Promise<MultiSigProposal>

Given an ID, fetch a MultiSigProposal for this MultiSig

Parameters

NameType
argsObject
args.idBigNumber

Returns

Promise<MultiSigProposal>

Throws

if the MultiSigProposal is not found

Defined in

api/entities/Account/MultiSig/index.ts:129


getProposals

getProposals(): Promise<MultiSigProposal[]>

Return all active MultiSigProposal for this MultiSig Account

Returns

Promise<MultiSigProposal[]>

Defined in

api/entities/Account/MultiSig/index.ts:149


getSubsidy

getSubsidy(): Promise<null | SubsidyWithAllowance>

Get the subsidized balance of this Account and the subsidizer Account. If this Account isn't being subsidized, return null

Returns

Promise<null | SubsidyWithAllowance>

Note

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

Deprecated

in favour of subsidies.getSubsidizer

Inherited from

Account.getSubsidy

Defined in

api/entities/Account/index.ts:147

getSubsidy(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<null | SubsidyWithAllowance>

Returns

Promise<UnsubCallback>

Inherited from

Account.getSubsidy

Defined in

api/entities/Account/index.ts:148


getTransactionHistory

getTransactionHistory(filters?): Promise<ResultSet<ExtrinsicData>>

Retrieve a list of transactions signed by this Account. Can be filtered using parameters

Parameters

NameTypeDescription
filtersObject-
filters.blockHash?string-
filters.blockNumber?BigNumber-
filters.orderBy?ExtrinsicsOrderBy-
filters.size?BigNumberpage size
filters.start?BigNumberpage offset
filters.success?booleanwhether the transaction was successful or not
filters.tag?TxTagtag associated with the transaction

Returns

Promise<ResultSet<ExtrinsicData>>

Note

if both blockNumber and blockHash are passed, only blockNumber is taken into account. Also, for ordering by block_id, one should pass ExtrinsicsOrderBy.CreatedAtAsc or ExtrinsicsOrderBy.CreatedAtDesc in order of their choice (since block ID is a string field in middleware v2)

Note

uses the middleware v2

Inherited from

Account.getTransactionHistory

Defined in

api/entities/Account/index.ts:203


getTypeInfo

getTypeInfo(): Promise<AccountTypeInfo>

Retrieve the type of Account, and its relation to an Identity, if applicable

Returns

Promise<AccountTypeInfo>

Inherited from

Account.getTypeInfo

Defined in

api/entities/Account/index.ts:511


isEqual

isEqual(entity): boolean

Determine whether this Entity is the same as another one

Parameters

NameType
entityEntity<unknown, unknown>

Returns

boolean

Inherited from

Account.isEqual

Defined in

api/entities/Entity.ts:61


isFrozen

isFrozen(): Promise<boolean>

Check whether this Account is frozen. If frozen, it cannot perform any Identity related action until the primary Account of the Identity unfreezes all secondary Accounts

Returns

Promise<boolean>

Note

returns false if the Account isn't associated to any Identity

Inherited from

Account.isFrozen

Defined in

api/entities/Account/index.ts:319


joinCreator

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

Attach a MultiSig directly to the creator's identity. This method bypasses the usual authorization step to join an identity

Parameters

NameType
args?JoinCreatorParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

the caller should be the MultiSig creator's primary key

Note

To attach the MultiSig to an identity other than the creator's, inviteAccount can be used instead. The MultiSig will then need to accept the created authorization

Deprecated

this method is only available in v6 as in v7 the MultiSig is automatically attached to the creator's identity

Note

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

Defined in

api/entities/Account/MultiSig/index.ts:404


modify

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

Modify the signers for the MultiSig. The signing Account must belong to the Identity of the creator of the MultiSig

Parameters

NameType
argsPick<ModifyMultiSigParams, "signers" | "requiredSignatures">
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

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

Defined in

api/entities/Account/MultiSig/index.ts:364


removePayer

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

A MultiSig's creator is initially responsible for any fees the MultiSig may incur. This method allows for the MultiSig to pay for it's own fees.

Parameters

NameType
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

This method must be called by one of the MultiSig signer's or by the paying identity.

Note

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

Defined in

api/entities/Account/MultiSig/index.ts:388


setAdmin

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

Set an admin for the MultiSig. When setting an admin it must be signed by one of the MultiSig signers and ran as a proposal. When removing an admin it must be called by account belonging to the admin's identity

Parameters

NameType
argsSetMultiSigAdminParams
opts?ProcedureOpts

Returns

Promise<GenericPolymeshTransaction<void, void>>

Note

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

Defined in

api/entities/Account/MultiSig/index.ts:375


toHuman

toHuman(): string

Return the Account's address

Returns

string

Inherited from

Account.toHuman

Defined in

api/entities/Account/index.ts:483


generateUuid

Static generateUuid<Identifiers>(identifiers): string

Generate the Entity's UUID from its identifying properties

Type parameters

Name
Identifiers

Parameters

NameType
identifiersIdentifiers

Returns

string

Inherited from

Account.generateUuid

Defined in

api/entities/Entity.ts:14


unserialize

Static unserialize<Identifiers>(serialized): Identifiers

Unserialize a UUID into its Unique Identifiers

Type parameters

Name
Identifiers

Parameters

NameTypeDescription
serializedstringUUID to unserialize

Returns

Identifiers

Inherited from

Account.unserialize

Defined in

api/entities/Entity.ts:23