Skip to content

πŸ›οΈ Multi-Sig-Governance | Quorum Threshold Checker for WASM Code Upgrades - #707

Merged
Sadeequ merged 1 commit into
StellarFlow-Network:mainfrom
ayandipe:feat/multi-sig-governance-quorum
Jul 30, 2026
Merged

πŸ›οΈ Multi-Sig-Governance | Quorum Threshold Checker for WASM Code Upgrades#707
Sadeequ merged 1 commit into
StellarFlow-Network:mainfrom
ayandipe:feat/multi-sig-governance-quorum

Conversation

@ayandipe

Copy link
Copy Markdown
Contributor

Description

Implements N-of-M multi-sig authorization for WASM code upgrade proposals to prevent single-key compromise exploits.

Changes

  • Track threshold weight and registered administrative signers β€” MultiSigConfig (required_weight, max_signer_weight) and per-signer weights stored in instance storage
  • Abort upgrade if below quorum β€” propose_upgrade now accepts signers: Vec<Address> and returns ThresholdNotReached when collected weight < configured threshold
  • Emit GovernanceUpgradeProposed event β€” published via emit_simple2 with EV_UPGRADE_PROPOSED topic, includes new_wasm_hash, proposer, signers, staged_at, required_weight, and collected_weight
  • Default required_weight set to 1 for backward compatibility; production deployments configure via set_multisig_config

Files Changed

File Change
src/governance.rs Default required_weight 3β†’1; cleaned dead code in verify_upgrade_quorum
src/lib.rs New imports; propose_upgrade accepts signers, verifies quorum, stores proposal, emits event
src/test.rs Updated propose_upgrade call with signers param
tests/unit.rs Updated propose_upgrade calls with signers param

Closes #595

Implements N-of-M multi-sig authorization for WASM code upgrade proposals:

- Verify collected signature weight against configured threshold in propose_upgrade
- Store GovernanceUpgradeProposal with full signers list alongside StagedUpgrade
- Emit GovernanceUpgradeProposed event with weight details upon proposal
- Default required_weight to 1 for backward compatibility
- Clean up dead code in verify_upgrade_quorum

Closes StellarFlow-Network#595
@ayandipe

Copy link
Copy Markdown
Contributor Author

remaining errors are pre-existing cascade failures in other modules ( consensus.rs , staging.rs , settlement/ , router/ , etc.) from ongoing development work β€” none related to #595.

@Sadeequ
Sadeequ merged commit 48fa933 into StellarFlow-Network:main Jul 30, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

πŸ›οΈ Multi-Sig-Governance | Quorum Threshold Checker for WASM Code Upgrades

2 participants