Skip to content

Commit 87b9554

Browse files
committed
feat: pause all pod actions
1 parent 35b879b commit 87b9554

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

script/releases/v1.2.0-slashing/4-pause.s.sol

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ contract Pause is MultisigBuilder, EigenPodPausingConstants {
1515

1616
function _runAsMultisig() prank(Env.pauserMultisig()) internal virtual override {
1717
uint mask = 2 ** PAUSED_START_CHECKPOINT |
18-
2 ** PAUSED_EIGENPODS_VERIFY_CREDENTIALS;
18+
2 ** PAUSED_EIGENPODS_VERIFY_CREDENTIALS |
19+
2 ** PAUSED_VERIFY_STALE_BALANCE |
20+
2 ** PAUSED_EIGENPODS_VERIFY_CHECKPOINT_PROOFS;
1921

2022
Env.proxy.eigenPodManager().pause(mask);
2123
}
@@ -25,10 +27,13 @@ contract Pause is MultisigBuilder, EigenPodPausingConstants {
2527

2628
assertTrue(Env.proxy.eigenPodManager().paused(PAUSED_START_CHECKPOINT), "Not paused!");
2729
assertTrue(Env.proxy.eigenPodManager().paused(PAUSED_EIGENPODS_VERIFY_CREDENTIALS), "Not paused!");
30+
assertTrue(Env.proxy.eigenPodManager().paused(PAUSED_VERIFY_STALE_BALANCE), "Not paused!");
31+
assertTrue(Env.proxy.eigenPodManager().paused(PAUSED_EIGENPODS_VERIFY_CHECKPOINT_PROOFS), "Not paused!");
2832

2933
// Create a new pod and try to verify credentials + start checkpoint
3034
EigenPod pod = EigenPod(payable(Env.proxy.eigenPodManager().createPod()));
3135

36+
// Revert verifying withdrawal credentials
3237
vm.expectRevert(IEigenPodErrors.CurrentlyPaused.selector);
3338
BeaconChainProofs.StateRootProof memory emptyProof;
3439
pod.verifyWithdrawalCredentials(
@@ -38,7 +43,24 @@ contract Pause is MultisigBuilder, EigenPodPausingConstants {
3843
new bytes[](0),
3944
new bytes32[][](0)
4045
);
46+
47+
// Revert starting checkpoint
4148
vm.expectRevert(IEigenPodErrors.CurrentlyPaused.selector);
4249
pod.startCheckpoint(false);
50+
51+
// Revert verifying stale balance
52+
BeaconChainProofs.ValidatorProof memory validatorProof;
53+
vm.expectRevert(IEigenPodErrors.CurrentlyPaused.selector);
54+
pod.verifyStaleBalance(
55+
0,
56+
emptyProof,
57+
validatorProof
58+
);
59+
60+
// Revert completing checkpoint
61+
BeaconChainProofs.BalanceContainerProof memory balanceContainerProof;
62+
BeaconChainProofs.BalanceProof[] memory proofs;
63+
vm.expectRevert(IEigenPodErrors.CurrentlyPaused.selector);
64+
pod.verifyCheckpointProofs(balanceContainerProof, proofs);
4365
}
4466
}

script/releases/v1.2.0-slashing/8-executeUnpause.s.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,7 @@ contract ExecuteUnpause is SetProofTimestamp {
5656
assertEq(Env.proxy.eigenPodManager().paused(), 0, "Not unpaused!");
5757
assertEq(Env.proxy.eigenPodManager().paused(PAUSED_START_CHECKPOINT), false, "Not unpaused!");
5858
assertEq(Env.proxy.eigenPodManager().paused(PAUSED_EIGENPODS_VERIFY_CREDENTIALS), false, "Not unpaused!");
59+
assertEq(Env.proxy.eigenPodManager().paused(PAUSED_VERIFY_STALE_BALANCE), false, "Not unpaused!");
60+
assertEq(Env.proxy.eigenPodManager().paused(PAUSED_EIGENPODS_VERIFY_CHECKPOINT_PROOFS), false, "Not unpaused!");
5961
}
6062
}

0 commit comments

Comments
 (0)