Skip to content

Add transaction simulator, webhook dedup, security checklist, and campaign archive - #558

Merged
ayshadogo merged 2 commits into
Dfunder:mainfrom
snowrugar-beep:fix/issue-539-deterministic-tx
Jul 30, 2026
Merged

Add transaction simulator, webhook dedup, security checklist, and campaign archive#558
ayshadogo merged 2 commits into
Dfunder:mainfrom
snowrugar-beep:fix/issue-539-deterministic-tx

Conversation

@snowrugar-beep

Copy link
Copy Markdown
Contributor

Summary

Added deterministic transaction building, webhook replay protection, security documentation, and campaign lifecycle management.

Changes

  • Created TransactionSimulator SDK module with simulate_contract_call, build_tx_envelope, and estimate_resources helpers
  • Added webhook deduplication using idempotency_key or composite event:campaign:tx_hash:amount key
  • Added HMAC-SHA256 verify_signature function for webhook payload integrity and replay protection
  • Created docs/SECURITY_REVIEW_CHECKLIST.md documenting threat model, contract controls, and deployment checklist
  • Added archive_campaign to CampaignContract for admin cleanup of completed/rejected/suspended campaigns
  • Emits campaign_archived event on successful archive

Closes #539
Closes #540
Closes #541
Closes #542

…ampaign archive

- Add transaction_simulator module to SDK with simulate_contract_call, build_tx_envelope, and estimate_resources
- Add webhook dedup by idempotency_key or event:campaign:tx_hash:amount composite key
- Add HMAC-SHA256 webhook signature verification (verify_signature)
- Create docs/SECURITY_REVIEW_CHECKLIST.md with threat model and deployment checklist
- Add archive_campaign to CampaignContract for admin cleanup of completed/rejected campaigns
- Add campaign_archived event emission

Closes Dfunder#539
Closes Dfunder#540
Closes Dfunder#541
Closes Dfunder#542
@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@snowrugar-beep Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@ayshadogo ayshadogo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ayshadogo
ayshadogo merged commit f798b50 into Dfunder:main Jul 30, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants