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


authorizations

authorizations: Authorizations<Account>

Inherited from

Account.authorizations

Defined in

api/entities/Account/index.ts:91


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:88


subsidies

subsidies: Subsidies

Inherited from

Account.subsidies

Defined in

api/entities/Account/index.ts:92


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:372


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:50


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:455


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:115

getBalance(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<Balance>

Returns

Promise<UnsubCallback>

Inherited from

Account.getBalance

Defined in

api/entities/Account/index.ts:116


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>

Defined in

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


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:469


getHistoricalProposals

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

Return all MultiSigProposal for this MultiSig Account

Parameters

NameType
optsObject
opts.size?BigNumber
opts.start?BigNumber

Returns

Promise<ResultSet<MultiSigProposal>>

Note

uses the middlewareV2

Defined in

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


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:160


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:427


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:571


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:333


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:553


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:85


getProposals

getProposals(): Promise<MultiSigProposal[]>

Return all active MultiSigProposal for this MultiSig Account

Returns

Promise<MultiSigProposal[]>

Defined in

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


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:140

getSubsidy(callback): Promise<UnsubCallback>

Parameters

NameType
callbackSubCallback<null | SubsidyWithAllowance>

Returns

Promise<UnsubCallback>

Inherited from

Account.getSubsidy

Defined in

api/entities/Account/index.ts:141


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:196


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:490


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:312


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">
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:225


toHuman

toHuman(): string

Return the Account's address

Returns

string

Inherited from

Account.toHuman

Defined in

api/entities/Account/index.ts:462


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