Skip to content

feat: store settlement developer balances in persistent per-address keys - #371

Merged
greatest0fallt1me merged 2 commits into
CalloraOrg:mainfrom
ZuLu0890:feature/settlement-persistent-balances
May 27, 2026
Merged

feat: store settlement developer balances in persistent per-address keys#371
greatest0fallt1me merged 2 commits into
CalloraOrg:mainfrom
ZuLu0890:feature/settlement-persistent-balances

Conversation

@ZuLu0890

Copy link
Copy Markdown
Contributor
  • Introduce StorageKey enum with DeveloperBalance(Address) variant for per-address persistent storage
  • Replace single Map instance storage with per-developer persistent storage keys
  • Add DeveloperIndex Vec to track all developers for get_all_developer_balances
  • Update receive_payment to use O(1) point read/write with automatic TTL extension
  • Update get_developer_balance to O(1) persistent storage lookup
  • Update get_all_developer_balances to iterate index instead of map
  • Add comprehensive migration documentation to SETTLEMENT_IMPLEMENTATION.md
  • Update tests to use new StorageKey enum and persistent storage layout

Benefits:

  • Reduced instance storage pressure as individual balances in persistent storage
  • O(1) operations for individual developer balance queries
  • Automatic TTL extension (1 year) on every credit
  • Improved scalability for 100+ developers

Generated with Devin
closes #327

- Introduce StorageKey enum with DeveloperBalance(Address) variant for per-address persistent storage
- Replace single Map instance storage with per-developer persistent storage keys
- Add DeveloperIndex Vec to track all developers for get_all_developer_balances
- Update receive_payment to use O(1) point read/write with automatic TTL extension
- Update get_developer_balance to O(1) persistent storage lookup
- Update get_all_developer_balances to iterate index instead of map
- Add comprehensive migration documentation to SETTLEMENT_IMPLEMENTATION.md
- Update tests to use new StorageKey enum and persistent storage layout

Benefits:
- Reduced instance storage pressure as individual balances in persistent storage
- O(1) operations for individual developer balance queries
- Automatic TTL extension (1 year) on every credit
- Improved scalability for 100+ developers

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@drips-wave

drips-wave Bot commented May 27, 2026

Copy link
Copy Markdown

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

@greatest0fallt1me
greatest0fallt1me merged commit 6b3b07c into CalloraOrg:main May 27, 2026
0 of 3 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

Development

Successfully merging this pull request may close these issues.

Settlement: migrate developer balances from instance Map to per-address persistent storage with TTL

2 participants