sgns::multisig::MultiSig¶
Configured N-of-M signature evaluator. More...
#include <MultiSig.hpp>
Public Functions¶
| Name | |
|---|---|
| MultiSig(const std::vector< std::string > & signer_set, uint64_t required_signatures) | |
| bool | IsValid() const |
| uint64_t | RequiredSignatures() const |
| size_t | AuthorizedSignerCount() const |
| QuorumResult | EvaluateQuorum(const CollectedSignatures & collected_signatures, const std::vector< uint8_t > & payload) const Evaluates collected signatures against this instance's N-of-M policy. |
Detailed Description¶
Configured N-of-M signature evaluator.
The constructor fixes the quorum policy for the evaluator's lifetime: required_signatures is N and the number of unique addresses in signer_set is M. A configuration is valid only when 1 <= N <= M.
Public Functions Documentation¶
function MultiSig¶
function IsValid¶
function RequiredSignatures¶
function AuthorizedSignerCount¶
function EvaluateQuorum¶
QuorumResult EvaluateQuorum(
const CollectedSignatures & collected_signatures,
const std::vector< uint8_t > & payload
) const
Evaluates collected signatures against this instance's N-of-M policy.
For each (address, signature) pair, in order:
- skip an address already counted
- skip an address outside the configured signer set
- skip an invalid signature
- otherwise count the address as one valid unique signer
Invalid N-of-M configurations always fail closed with has_quorum == false.
Updated on 2026-08-06 at 13:59:18 +0000