Problem
If a critical vulnerability is discovered in the escrow contract after deployment, there is no way to stop new funds from being deposited while a patch is prepared. All in-flight escrow funding operations remain exposed to the vulnerability with no emergency stop.
Proposed Solution
Implement an admin-controlled pause mechanism in a new escrow contract inside contracts/package/escrow-pausable/ that halts new deposits while preserving the ability to release or refund existing funds.
Note: All work must be done inside the contracts/package/ directory. Do not modify any existing contract files outside this folder.
Acceptance Criteria
Problem
If a critical vulnerability is discovered in the escrow contract after deployment, there is no way to stop new funds from being deposited while a patch is prepared. All in-flight escrow funding operations remain exposed to the vulnerability with no emergency stop.
Proposed Solution
Implement an admin-controlled pause mechanism in a new escrow contract inside
contracts/package/escrow-pausable/that halts new deposits while preserving the ability to release or refund existing funds.Acceptance Criteria
pause()andunpause()functions are admin-onlyfund_escrow()returnsContractPausederroropen_dispute()returnsContractPausederrorrelease_funds()andrefund()continue to work (existing funds can always exit)is_paused()is a publicly callable read-only functionContractPausedevent is emitted with the admin address and timestamp when paused