Skip to content

feat: implement treasury contract (#994) - #1012

Open
Tekprecious wants to merge 3 commits into
accesslayerorg:mainfrom
Tekprecious:feat/treasury-contract
Open

Tekprecious wants to merge 3 commits into
accesslayerorg:mainfrom
Tekprecious:feat/treasury-contract

Conversation

@Tekprecious

Copy link
Copy Markdown

Summary

Closes #994

  • Implements the treasury-contract for handling protocol fee collection and scheduled distributions.
  • Exposes collect_fee(key_id, amount) for bonding curve trades.
  • Exposes distribute(recipients, amounts) as an admin-only method to manage batch payouts.
  • Introduces state storage for tracking treasury balances and preserving distribution history per epoch.
  • Emits FeeCollected and FeeDistributed events during trade and payout operations respectively.

Testing

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace

Checklist

  • Linked issue or backlog item
  • Added or updated treasury-contract unit/integration tests for every changed contract behavior, including failure paths for new or reachable ContractError variants
  • Ran cargo fmt --all -- --check, cargo clippy --workspace --all-targets -- -D warnings, and cargo test --workspace, or explained exactly why a command was not run
  • Reviewed persistent storage changes against docs/storage-key-invariants.md; any storage layout change includes a migration/backward-compatibility note
  • Confirmed event names, topic order, payload field order, and field meanings remain compatible with docs/contract-event-conventions.md, or documented the breaking change and versioning plan
  • Updated docs for any changed public contract interface, read-only method, event schema, storage behavior, fee logic, or deployment workflow
  • Scope stays limited to one contract concern and does not include unrelated formatting, lockfile, generated artifact, or dependency changes

@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

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

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.

Implement protocol fee collection and treasury distribution contract

1 participant