💬 Want to contribute? Join us on Telegram: https://t.me/+DOylgFv1jyJlNzM0
Problem
The MultisigGovernance contract does not emit events when individual signers approve a proposal. The only event is at finalization. Off-chain monitoring has no way to track approval progress, detect suspicious voting patterns, or alert stakeholders when their approval is needed.
Expected Behavior
Emit a ProposalApproved event each time approve_proposal() is called successfully with:
proposal_id
signer address
- Current approval count
- Threshold required
Suggested Fix
In contracts/multisig_governance/src/lib.rs inside approve_proposal():
env.events().publish(
(Symbol::new(&env, "ProposalApproved"),),
(proposal_id, signer.clone(), current_approvals, threshold),
);
Location
contracts/multisig_governance/src/lib.rs
Problem
The
MultisigGovernancecontract does not emit events when individual signers approve a proposal. The only event is at finalization. Off-chain monitoring has no way to track approval progress, detect suspicious voting patterns, or alert stakeholders when their approval is needed.Expected Behavior
Emit a
ProposalApprovedevent each timeapprove_proposal()is called successfully with:proposal_idsigneraddressSuggested Fix
In
contracts/multisig_governance/src/lib.rsinsideapprove_proposal():Location
contracts/multisig_governance/src/lib.rs