Context
Time-sensitive operations (flash loans, auctions, proposals) need expiry enforcement to prevent stale execution.
Current Limitation/Problem
Some time-sensitive operations lack deadline enforcement. Stale transactions can be executed at unfavorable times.
Expected Outcome
All time-sensitive contract functions enforce deadlines/expiry with clear error messages on expiry.
Acceptance Criteria
- Flash loans: execute within 1 block or revert
- Auctions: bids accepted only during auction period
- Governance proposals: voting period enforced, execution window enforced
- Timelock operations: enforce delay and execution window
- Liquidation: ensure liquidation uses current (not stale) prices
- Signature-based operations: enforce expiry timestamp
- Common pattern: reusable deadline modifier/library
- Gas overhead: < 1000 gas per deadline check
- Test suite: all deadline scenarios tested
Technical Scope
- Files: contracts/shared-deadline/, contracts/*/src/operations.rs
- Impact: Flash loan, auction, governance, liquidation contracts
- Testing: Time manipulation tests for deadline enforcement
Context
Time-sensitive operations (flash loans, auctions, proposals) need expiry enforcement to prevent stale execution.
Current Limitation/Problem
Some time-sensitive operations lack deadline enforcement. Stale transactions can be executed at unfavorable times.
Expected Outcome
All time-sensitive contract functions enforce deadlines/expiry with clear error messages on expiry.
Acceptance Criteria
Technical Scope