Class: MultisigCommittee
A multisig committee
A MultisigCommittee is a set of members who collectively control a single
Address on the IOTA blockchain. The number of required signatures to
authorize the execution of a transaction is determined by
(signature_0_weight + signature_1_weight ..) >= threshold.
BCS
The BCS serialized form for this type is defined by the following ABNF:
multisig-committee = (vector multisig-member)
u16 ; threshold
There is also a legacy encoding for this type defined as:
legacy-multisig-committee = (vector legacy-multisig-member)
u16 ; threshold
Extends
UniffiAbstractObject
Implements
Constructors
Constructor
new MultisigCommittee(members, threshold): MultisigCommittee;
Construct a MultisigCommittee and verify it via validate.
This rejects committees that:
- have a zero
threshold; - contain zero or more than ten members;
- contain a member with weight 0;
- have a
thresholdgreater than the sum of all member weights; - contain duplicate public keys.
Note that the order of the members is significant towards deriving the
Address governed by this committee.
Parameters
members
threshold
number
Returns
MultisigCommittee
Overrides
UniffiAbstractObject.constructor
Properties
[destructorGuardSymbol]
readonly [destructorGuardSymbol]: UniffiGcObject;
[pointerLiteralSymbol]
readonly [pointerLiteralSymbol]: bigint;
[uniffiTypeNameSymbol]
readonly [uniffiTypeNameSymbol]: "MultisigCommittee" = "MultisigCommittee";
Methods
deriveAddress()
deriveAddress(): AddressLike;
Derive an Address from this MultisigCommittee.
A MultiSig address
is defined as the 32-byte Blake2b hash of serializing the
SignatureScheme flag (0x03), the threshold (in little endian), and
the concatenation of all n flag, public keys and its weight.
hash(0x03 || threshold || flag_1 || pk_1 || weight_1 || ... || flag_n || pk_n || weight_n).
Returns
Implementation of
MultisigCommitteeLike.deriveAddress
equals()
equals(other): boolean;
Parameters
other
MultisigCommittee
Returns
boolean
members()
members(): MultisigMemberLike[];
The members of the committee
Returns
Implementation of
scheme()
scheme(): SignatureScheme;
Return the flag for this signature scheme
Returns
Implementation of
threshold()
threshold(): number;
The total signature weight required to authorize a transaction for the
address corresponding to this MultisigCommittee.
Returns
number
Implementation of
MultisigCommitteeLike.threshold
toDebugString()
toDebugString(): string;
Returns
string
toString()
toString(): string;
Returns a string representation of an object.
Returns
string
uniffiDestroy()
uniffiDestroy(): void;
Explicitly tell Rust to destroy the native peer that backs this object.
Once this method has been called, any following method calls will throw an error.
Can be called more than once.
Returns
void
Overrides
UniffiAbstractObject.uniffiDestroy
uniffiUse()
uniffiUse<T>(block): T;
A convenience method to use this object, then destroy it after its use.
Type Parameters
T
T
Parameters
block
(obj) => T
Returns
T
Inherited from
UniffiAbstractObject.uniffiUse
validate()
validate(): void;
Checks if the Committee is valid.
A valid committee is one that:
- Has a nonzero threshold
- Has at least one member
- Has at most ten members
- No member has weight 0
- the sum of the weights of all members must be at least the threshold
- contains no duplicate members
Returns
void
Implementation of
MultisigCommitteeLike.validate
instanceOf()
static instanceOf(obj_): obj_ is MultisigCommittee;
Parameters
obj_
any
Returns
obj_ is MultisigCommittee