Skip to content

Commit b262d58

Browse files
committed
feat: pause and unpause make targets
1 parent df0f069 commit b262d58

File tree

4 files changed

+90
-8
lines changed

4 files changed

+90
-8
lines changed

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ anvil_add_type_hash_to_batcher_payment_service:
8383
@echo "Adding Type Hash to Batcher Payment Service..."
8484
. contracts/scripts/anvil/upgrade_add_type_hash_to_batcher_payment_service.sh
8585

86+
anvil_pause_all_aligned_service_manager:
87+
@echo "Pausing all contracts..."
88+
. contracts/scripts/pause.sh all
89+
90+
anvil_unpause_all_aligned_service_manager:
91+
@echo "Pausing all contracts..."
92+
. contracts/scripts/unpause.sh all
93+
8694
lint_contracts:
8795
@cd contracts && npm run lint:sol
8896

contracts/scripts/pause.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
if [ -z "$1" ]; then
4+
echo "Usage: $0 <num> [<num> ...]"
5+
echo "or"
6+
echo "Usage: $0 all"
7+
exit 1
8+
fi
9+
10+
if [[ "$1" == "all" ]]; then
11+
echo "Pausing whole contract"
12+
cast send $ALIGNED_SERVICE_MANAGER \
13+
"pauseAll()()" \
14+
--rpc-url $RPC_URL \
15+
--private-key $PRIVATE_KEY
16+
return
17+
fi
18+
19+
20+
result=0
21+
22+
for num in "$@"; do
23+
result=$((result | (1 << (num - 1))))
24+
done
25+
26+
echo "New pause state: $result"
27+
28+
cast send $ALIGNED_SERVICE_MANAGER \
29+
"pause(uint256)()" "$result" \
30+
--rpc-url $RPC_URL \
31+
--private-key $PRIVATE_KEY

contracts/scripts/unpause.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
if [ -z "$1" ]; then
4+
echo "Usage: $0 <num> [<num> ...]"
5+
echo "or"
6+
echo "Usage: $0 all"
7+
exit 1
8+
fi
9+
10+
if [[ "$1" == "all" ]]; then
11+
echo "Unpausing whole contract"
12+
cast send $ALIGNED_SERVICE_MANAGER \
13+
"unpause(uint256)()" 0 \
14+
--rpc-url $RPC_URL \
15+
--private-key $PRIVATE_KEY
16+
return
17+
fi
18+
19+
20+
result=0
21+
22+
for num in "$@"; do
23+
result=$((result | (1 << (num - 1))))
24+
done
25+
26+
echo "New pause state: $result"
27+
28+
cast send $ALIGNED_SERVICE_MANAGER \
29+
"unpause(uint256)()" "$result" \
30+
--rpc-url $RPC_URL \
31+
--private-key $PRIVATE_KEY
32+
33+

contracts/src/core/AlignedLayerServiceManager.sol

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,21 @@ contract AlignedLayerServiceManager is
8181
_initializePauser(_pauserRegistry, _initialPausedStatus);
8282
}
8383

84+
// function test0() public onlyWhenNotPaused(0) returns(bool){
85+
// return true;
86+
// }
87+
// function test1() public onlyWhenNotPaused(1) returns(bool){
88+
// return true;
89+
// }
90+
// function test2() public onlyWhenNotPaused(2) returns(bool){
91+
// return true;
92+
// }
93+
8494
function createNewTask(
8595
bytes32 batchMerkleRoot,
8696
string calldata batchDataPointer,
8797
uint256 respondToTaskFeeLimit
88-
) external payable whenNotPaused {
98+
) external payable onlyWhenNotPaused(0) {
8999
bytes32 batchIdentifier = keccak256(
90100
abi.encodePacked(batchMerkleRoot, msg.sender)
91101
);
@@ -133,7 +143,7 @@ contract AlignedLayerServiceManager is
133143
bytes32 batchMerkleRoot,
134144
address senderAddress,
135145
NonSignerStakesAndSignature memory nonSignerStakesAndSignature
136-
) external onlyAggregator whenNotPaused {
146+
) external onlyAggregator onlyWhenNotPaused(1) {
137147
uint256 initialGasLeft = gasleft();
138148

139149
bytes32 batchIdentifierHash = keccak256(
@@ -217,7 +227,7 @@ contract AlignedLayerServiceManager is
217227
bytes memory merkleProof,
218228
uint256 verificationDataBatchIndex,
219229
address senderAddress
220-
) external view returns (bool) {
230+
) external view onlyWhenNotPaused(2) returns (bool) {
221231
bytes32 batchIdentifier;
222232
if (senderAddress == address(0)) {
223233
batchIdentifier = batchMerkleRoot;
@@ -262,7 +272,7 @@ contract AlignedLayerServiceManager is
262272
bytes32 batchMerkleRoot,
263273
bytes memory merkleProof,
264274
uint256 verificationDataBatchIndex
265-
) external view returns (bool) {
275+
) external view onlyWhenNotPaused(3) returns (bool) {
266276
return this.verifyBatchInclusion(
267277
proofCommitment,
268278
pubInputCommitment,
@@ -275,11 +285,11 @@ contract AlignedLayerServiceManager is
275285
);
276286
}
277287

278-
function setAggregator(address _alignedAggregator) public onlyOwner {
288+
function setAggregator(address _alignedAggregator) public onlyOwner onlyWhenNotPaused(4) {
279289
alignedAggregator = _alignedAggregator;
280290
}
281291

282-
function withdraw(uint256 amount) external {
292+
function withdraw(uint256 amount) external onlyWhenNotPaused(5) {
283293
if (batchersBalances[msg.sender] < amount) {
284294
revert InsufficientFunds(
285295
msg.sender,
@@ -298,7 +308,7 @@ contract AlignedLayerServiceManager is
298308
return batchersBalances[account];
299309
}
300310

301-
function depositToBatcher(address account) external payable {
311+
function depositToBatcher(address account) external payable onlyWhenNotPaused(6) {
302312
_depositToBatcher(account, msg.value);
303313
}
304314

@@ -310,7 +320,7 @@ contract AlignedLayerServiceManager is
310320
emit BatcherBalanceUpdated(account, batchersBalances[account]);
311321
}
312322

313-
receive() external payable {
323+
receive() external payable onlyWhenNotPaused(7) {
314324
_depositToBatcher(msg.sender, msg.value);
315325
}
316326

0 commit comments

Comments
 (0)