-
Notifications
You must be signed in to change notification settings - Fork 163
Rewards Eligibility Oracle (REO) (rebased) #1256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Cherry-picked from ec0c984 (issuance-baseline-2/3) Rebased onto main with regenerated lockfile
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Rewards Eligibility Oracle (REO) (rebased)
🚨 Report Summary
For more details view the full report in OpenZeppelin Code Inspector |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1256 +/- ##
==========================================
+ Coverage 84.05% 85.07% +1.02%
==========================================
Files 42 44 +2
Lines 2070 2178 +108
Branches 615 649 +34
==========================================
+ Hits 1740 1853 +113
+ Misses 330 325 -5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Addresses audit finding TRST-L-1 by documenting the behavior when eligibility period is set to an extremely large value. For never- registered indexers with zero timestamp, when eligibilityPeriod is large enough that (block.timestamp < 0 + eligibilityPeriod) evaluates to true, all indexers become eligible. - Added NatSpec documentation to isEligible() function - Updated contract-level documentation - Added detailed edge case section to RewardsEligibilityOracle.md - Added comprehensive test validating the edge case behavior
…s (TRST-L-2) Add comprehensive documentation for TRST-L-2 race condition where configuration changes (reducing eligibility period or enabling validation) can cause indexers to permanently lose rewards if their claim transactions are in-flight when the change occurs. Changes include: - NatSpec warnings on setEligibilityPeriod() and setEligibilityValidation() - Contract-level security warning in RewardsEligibilityOracle - Operational considerations section in documentation with mitigation strategies - Monitoring guidance for operators and indexers No code changes - mitigation relies on operational practices.
…wing (#1268) Replace vm.assume with bounded inputs to fix "vm.assume rejected too many inputs" error. The previous implementation used overly restrictive constraints that caused the fuzzer to reject most random inputs. Now limits amountThawing and amountCollected to half of MAX_STAKING_TOKENS, guaranteeing valid deposit ranges while maintaining test coverage.
- Change 'eligible period' to 'eligibility period' for consistency - Fix 'have confidence is being able' to 'have confidence in being able' - Fix 'have a good transparency' to 'have good transparency' - Change 'Reward Manager' to 'RewardsManager' for correct contract naming
…e-4-fix REO: Documentation fixes for audit issues TRST-L-1 and TRST-L-2 Updated audit confirms issues addressed (via documentation) and audit is complete.
Rebase of #1244.
Rewards Eligibility Oracle contracts, see: packages/issuance/contracts/eligibility/RewardsEligibilityOracle.md