IMultisigCommittee
Namespace: IotaSdk
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
public interface IMultisigCommittee : System.IEquatable`1[[IotaSdk.MultisigCommittee, IotaSdk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Implements IEquatable<MultisigCommittee>
Attributes NullableContextAttribute
Methods
DeriveAddress()
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).
Address DeriveAddress()
Returns
Members()
The members of the committee
MultisigMember[] Members()
Returns
Scheme()
Return the flag for this signature scheme
SignatureScheme Scheme()
Returns
Threshold()
The total signature weight required to authorize a transaction for the
address corresponding to this MultisigCommittee.
ushort Threshold()
Returns
Validate()
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
void Validate()