Skip to content

docs(campaign): add campaign contract architecture system design doc - #819

Merged
Utilitycoder merged 2 commits into
Fundable-Protocol:mainfrom
devNuel:security/issue-744-docs-campaign-campaign-contract-architecture
Sep 1, 2026
Merged

docs(campaign): add campaign contract architecture system design doc#819
Utilitycoder merged 2 commits into
Fundable-Protocol:mainfrom
devNuel:security/issue-744-docs-campaign-campaign-contract-architecture

Conversation

@devNuel

@devNuel devNuel commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR adds a Campaign Contract Architecture & System Design document that captures the campaign contract's state machine, security model, and scalability design, and links it from the README so contributors and auditors have a single source of truth for the contract's expected behavior and evolution.

Related Issue

Closes the issue: docs(campaign): Campaign contract architecture - system design doc

Changes

📐 Campaign Contract Architecture Design Doc

  • [ADD] CAMPAIGN_CONTRACT_ARCHITECTURE.md

    • Documents the campaign lifecycle state machine (Draft, Active, Paused, Canceled, Expired, Settled) with transition rules, guards, and invariants.
    • Details the security model: roles and permissions, owner/operator actions, escrow and payment safety, reentrancy safeguards, emergency pause/refund paths, and key threat mitigations.
    • Describes the scalability design: on-chain vs. off-chain data strategy, pagination and read patterns, batching campaign operations, event indexing, and growth limits.
  • [MODIFY] README.md

    • Adds an Architecture section with a brief summary of the campaign contract design doc and a direct link to CAMPAIGN_CONTRACT_ARCHITECTURE.md.

Verification Results

npx markdownlint README.md CAMPAIGN_CONTRACT_ARCHITECTURE.md
✅ 2/2 files passed

Docs acceptance check:
✅ State machine covers all campaign states and transitions
✅ Security model includes roles, threats, and mitigations
✅ Scalability section documents storage, batching, and read patterns
✅ README link to architecture doc resolves
Acceptance Criteria Status
Campaign contract state machine is documented ✅ All states, transition rules, and invariants defined
Security model is documented ✅ Roles, permissions, escrow, and threat mitigations covered
Scalability design is documented ✅ Storage, batching, pagination, and indexing patterns described
README links to the architecture doc ✅ Link added in README and verified in docs check

Closes #744

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@devNuel 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

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2235eda3-2f84-49cd-b35b-f50cb8882d09


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Utilitycoder

Copy link
Copy Markdown
Contributor

Thanks for the work. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp

@Utilitycoder
Utilitycoder merged commit 5010916 into Fundable-Protocol:main Sep 1, 2026
1 check 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

Development

Successfully merging this pull request may close these issues.

docs(campaign): Campaign contract architecture - system design doc

2 participants