Skip to content

Feat/safety quarantine#16

Merged
jayeshy14 merged 2 commits into
mainfrom
feat/safety-quarantine
Jun 28, 2026
Merged

Feat/safety quarantine#16
jayeshy14 merged 2 commits into
mainfrom
feat/safety-quarantine

Conversation

@jayeshy14

Copy link
Copy Markdown
Owner

No description provided.

The per-feed staleness checks catch a single bad feed; this is the backstop
for a collective mispricing that passes every per-feed check (a compromised
constituent token, a correlated oracle failure).

- Guardian role and pause state: the guardian or owner can pause, the owner
  unpauses after review. whenNotPaused gates the value-moving entry points
  (settle, both request lanes, sync deposit and redeem) and isValidSignature,
  while already-settled claims stay open since their value was fixed at a prior
  validated settlement. Pause stops execution, not clocks.
- NAV-per-share circuit breaker at settle: compares the share price
  (convertToAssets(1e18)) to the last-settled reference and, on a move beyond
  maxNavDeviationBps, auto-pauses before any pending membership change can run.
  The reference resets on unpause so a resolved deviation cannot re-trip.

Two decisions: the breaker pauses and returns rather than reverting, because a
revert would roll back the pause (the pattern BoringVault's Accountant uses);
and the default band is 50%, sized to catch an implausible jump (a constituent
doubling) while tolerating severe real volatility so it does not false-trip and
train operators to reflexively unpause. 10 new tests, 159 total green.
feat(vault): NAV circuit breaker and guardian pause (Section 4)
@jayeshy14 jayeshy14 merged commit 291b264 into main Jun 28, 2026
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.

1 participant