You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add dividend accrual ledger so unclaimed revenue compounds per-holder until claim
Why this matters
Today, unclaimed revenue sits in the contract without per-holder accrual state. Introduce an accrual ledger that records pending dividend per holder after each report_revenue so partial claims and re-claims compute against an immutable accrual baseline rather than rederiving from periods every time.
Scope
Implement the requested behavior across Revora-Contracts/src/lib.rs. The solution must preserve existing compatibility, authorization, and production safeguards.
Priority
High
Acceptance criteria
The requested behavior is implemented across Revora-Contracts/src/lib.rs with a clear, reviewable contract.
Security, authorization, validation, and data-integrity requirements in the repository context are enforced and covered by tests.
Failure, retry, timeout, concurrency, and boundary behavior is explicit and produces safe, diagnosable outcomes where applicable.
Regression coverage includes empty, invalid, duplicate, and boundary inputs relevant to this flow.
Existing API, storage, and deployment compatibility is preserved unless a migration is explicitly documented.
Validation
Include focused tests for:
happy paths;
invalid input and authorization boundaries;
concurrency, retries, or failure recovery;
backward compatibility;
relevant integration or contract behavior.
The implementation must pass the repository’s existing build, lint, test, and formatting checks (use cargo test --all where applicable).
Non-goals
Typo-only, formatting-only, or documentation-only changes.
Unrelated refactors or dependency upgrades.
Weakening security, authorization, CI, or production safeguards.
Changing public behavior outside this issue’s scope.
Contributor application
Before implementation, comment with:
relevant experience;
a concise implementation approach;
expected files or modules affected;
an estimate for opening the first PR.
Wait for maintainer assignment before coding.
PR requirements
Use a feature branch and include Closes #.
The PR must:
address every acceptance criterion;
link each criterion to code and tests;
explain security and failure-mode handling;
include meaningful regression coverage;
document compatibility or migration considerations;
pass the repository checks.
Reward-readiness
This is a substantive quality issue. Merge status does not guarantee reward eligibility; final evaluation is determined separately.
Implementation context
Description
Today, unclaimed revenue sits in the contract without per-holder accrual state. Introduce an accrual ledger that records pending dividend per holder after each report_revenue so partial claims and re-claims compute against an immutable accrual baseline rather than rederiving from periods every time.
Requirements and context
Must be secure, tested, and documented
Should be efficient and easy to review
Relevant code: Revora-Contracts/src/lib.rs
Accrual updates must be O(1) per holder at report time using a global index pattern
Suggested execution
Fork the repo and create a branch
git checkout -b feat/dividend-accrual-ledger
Implement changes
Track global_acc_per_share_e18: i128 updated on each report_revenue
Store per-holder (last_acc_per_share, accrued_owed) and settle on claim
Emit acc_upd events for indexer reconciliation
Validate security and correctness assumptions
Test and commit
Run tests
cargo test --all
Cover edge cases
Holder share changes mid-period: claim must reflect pre-change accrual only
Include test output and security notes
Example commit message
feat: add per-holder dividend accrual ledger with global index
Summary
Add dividend accrual ledger so unclaimed revenue compounds per-holder until claim
Why this matters
Today, unclaimed revenue sits in the contract without per-holder accrual state. Introduce an accrual ledger that records pending dividend per holder after each
report_revenueso partial claims and re-claims compute against an immutable accrual baseline rather than rederiving from periods every time.Scope
Implement the requested behavior across Revora-Contracts/src/lib.rs. The solution must preserve existing compatibility, authorization, and production safeguards.
Priority
High
Acceptance criteria
Validation
Include focused tests for:
The implementation must pass the repository’s existing build, lint, test, and formatting checks (use cargo test --all where applicable).
Non-goals
Contributor application
Before implementation, comment with:
Wait for maintainer assignment before coding.
PR requirements
Use a feature branch and include Closes #.
The PR must:
Reward-readiness
This is a substantive quality issue. Merge status does not guarantee reward eligibility; final evaluation is determined separately.
Implementation context
Description
Today, unclaimed revenue sits in the contract without per-holder accrual state. Introduce an accrual ledger that records pending dividend per holder after each
report_revenueso partial claims and re-claims compute against an immutable accrual baseline rather than rederiving from periods every time.Requirements and context
Revora-Contracts/src/lib.rsSuggested execution
git checkout -b feat/dividend-accrual-ledgerglobal_acc_per_share_e18: i128updated on each report_revenue(last_acc_per_share, accrued_owed)and settle on claimacc_updevents for indexer reconciliationTest and commit
cargo test --allExample commit message
feat: add per-holder dividend accrual ledger with global indexGuidelines