WIP: Draft: feat(security): oracle circuit-breaker fails window closed on pause (#22) #39
No reviewers
Labels
No labels
enhancement
governance
QA
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/ust1-window!39
Loading…
Reference in a new issue
No description provided.
Delete branch "22-feat-security-c-2-oracle-circuit-breaker-pause-fails-window-closed-on-vfdusd-collapse"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements only the oracle-level pause / circuit-breaker portion of audit C-2 #1 (issue #22):
Statenow surfacespaused(fromConfig) so window readers see the breaker on the query they already use.ensure_oracle_usablerejects deposit and withdraw withOraclePausedbefore staleness checks (freshlast_update_seccannot bypass).SetPaused/ unpause preserved;UpdateRatestill blocked while paused.UpdateRatewhenstate.paused.skills/oracle-circuit-breaker.Not in this MR (explicitly out of scope): emergency rate reset / monotonic bypass; operator
TripCircuitBreaker; spot-vs-rate alerter.Test plan
cargo test -p ust1-oracle --lib(incl. pause ACL +State.paused)cargo test -p ust1-window --lib(pause→halt→unpause→resume; stale still stale; window pause vs oracle pause)cargo test -p ust1-integration-tests --libset_paused:trueand confirm window swaps revert immediatelyCloses #22
Closes #22
Pull request closed