Skip to content

feat(contracts): emit ProposalApproved event on each signer approval in MultisigGovernance #485

@Akpolo

Description

@Akpolo

💬 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:

  1. proposal_id
  2. signer address
  3. Current approval count
  4. 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

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions