← All decisions
ADR-010
Uniform pause(string) ABI accepting multisig OR timelock callers
- Decision
- Every pausable Atrium contract exposes function pause(string reason) that accepts msg.sender in {praetor_multisig, praetor_timelock}. The multisig path is instant; the timelock path goes through PraetorTimelock.emergencyPause(target, reason) which forwards IPausable(target).pause(reason).
- Reasoning
- PraetorTimelock is the canonical pause helper; without the timelock as an accepted caller, the helper would forever revert. Resume is asymmetric, multisig-only with no timelock, because re-enabling money flow deserves the 3-of-5 governance check.