Skip to content

WIP Added pause and unpause#226

Draft
naddison36 wants to merge 1 commit into
nicka/withdraw-on-swapfrom
nicka/pause
Draft

WIP Added pause and unpause#226
naddison36 wants to merge 1 commit into
nicka/withdraw-on-swapfrom
nicka/pause

Conversation

@naddison36
Copy link
Copy Markdown
Collaborator

Summary

  • Added a shared ARM pause circuit breaker in AbstractARM.
  • Operator or owner can call pause().
  • Only owner/governor can call unpause().
  • Paused state blocks user-facing flows: swaps, deposits, and new LP redeem requests.
  • Operational/recovery flows remain available while paused, including claims, allocation, price/buffer updates, fee collection, and base-asset redeem/claim.

Tests

  • forge inspect src/contracts/AbstractARM.sol:AbstractARM storage-layout
  • forge test --match-path test/unit/OriginARM/Pause.sol -vvv
    • 17 passed
  • forge test --match-path 'test/unit/OriginARM/*.sol' -vvv
    • 130 passed
  • forge build
    • Passed with existing unused-variable warnings in script/deploy/mainnet/000_Example.s.sol
    • Non-fatal Foundry signature cache permission warning

Contract Sizes

From forge build --sizes:

Contract Runtime Size Runtime Margin
OriginARM 24,185 B +391 B
EthenaARM 24,514 B +62 B
LidoARM 25,073 B -497 B
EtherFiARM 25,165 B -589 B

Note: forge build --sizes exits non-zero because LidoARM and EtherFiARM exceed the EIP-170 runtime size limit.

@naddison36 naddison36 mentioned this pull request May 14, 2026
@naddison36 naddison36 changed the title Added pause and unpause WIP Added pause and unpause May 14, 2026
@naddison36 naddison36 marked this pull request as draft May 14, 2026 09:34
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