Skip to content

Commit 74413db

Browse files
Zygimantasssrdtrk
andauthoredMar 10, 2025··
feat(sec): add pausing and unpausing scripts (#380)
Co-authored-by: srdtrk <[email protected]>
1 parent 99575b3 commit 74413db

File tree

6 files changed

+59
-5
lines changed

6 files changed

+59
-5
lines changed
 

‎.github/workflows/deploy.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ jobs:
2525
forge script scripts/deployments/DeployProxiedICS26Router.sol -vvv --broadcast --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
2626
forge script scripts/deployments/DeployProxiedICS20Transfer.sol -vvv --broadcast --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
2727
forge script scripts/deployments/DeploySP1ICS07Tendermint.sol -vvv --broadcast --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
28+
forge script scripts/deployments/PauseTransfers.sol -vvv --broadcast --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
29+
forge script scripts/deployments/UnpauseTransfers.sol -vvv --broadcast --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
2830
- name: Show final result
2931
run: |
3032
cat deployments/local/31337.json
@@ -59,4 +61,4 @@ jobs:
5961
run: |
6062
forge script scripts/deployments/DeployProxiedICS26Router.sol -vvv
6163
forge script scripts/deployments/DeployProxiedICS20Transfer.sol -vvv
62-
forge script scripts/deployments/DeploySP1ICS07Tendermint.sol -vvv
64+
forge script scripts/deployments/DeploySP1ICS07Tendermint.sol -vvv

‎deployments/devnet/11155111.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"ics26Router": "0x15cB0fC94d072B367a1A2D7f0c8fF9792aB9f546",
1313
"implementation": "0x23A45521Dda9ed9C47F4C8cf44282544FdAdF6D9",
1414
"pauser": "0x0000000000000000000000000000000000000000",
15+
"unpauser": "0x0000000000000000000000000000000000000000",
1516
"permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
1617
"proxy": "0xbb87C1ACc6306ad2233a4c7BBE75a1230409b358"
1718
},
@@ -33,4 +34,4 @@
3334
"misbehaviourVkey": "0x006148f483660a624bb96f3e6a6d1c555c0c776cf50848c6e56c0369a165235f"
3435
}
3536
}
36-
}
37+
}

‎deployments/local/31337.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"ibcERC20Implementation": "0x0000000000000000000000000000000000000000",
1111
"ics26Router": "0x0000000000000000000000000000000000000000",
1212
"implementation": "0x0000000000000000000000000000000000000000",
13-
"pauser": "0x0000000000000000000000000000000000000004",
14-
"permit2": "0x0000000000000000000000000000000000000003",
13+
"pauser": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
14+
"permit2": "0x0000000000000000000000000000000000000000",
1515
"proxy": "0x0000000000000000000000000000000000000000"
1616
},
1717
"light_clients": {

‎deployments/testnet-staging/11155111.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"ics26Router": "0x718AbdD2f29A6aC1a34A3e20Dae378B5d3d2B0E9",
1313
"implementation": "0xa453828f345b85520444C6B4b23c8bA9F6A46fe6",
1414
"pauser": "0xAe3E5CCaF3216de61090E68Cf5a191f3b75CaAd3",
15+
"unpauser": "0x0000000000000000000000000000000000000000",
1516
"permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
1617
"proxy": "0xE80DC519EE86146057B9dBEfBa900Edd7a2385e4"
1718
},
@@ -49,4 +50,4 @@
4950
"misbehaviourVkey": "0x000e1a9c2163445551834af245691be8da2904381df4381afa7e5454080b3dfc"
5051
}
5152
}
52-
}
53+
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// SPDX-License-Identifier: UNLICENSED
2+
pragma solidity ^0.8.28;
3+
4+
import { Deployments } from "../helpers/Deployments.sol";
5+
import { Strings } from "@openzeppelin-contracts/utils/Strings.sol";
6+
import { Script } from "forge-std/Script.sol";
7+
import { ICS20Transfer } from "../../contracts/ICS20Transfer.sol";
8+
9+
contract PauseTransfers is Script, Deployments {
10+
function run() public {
11+
string memory root = vm.projectRoot();
12+
string memory deployEnv = vm.envString("DEPLOYMENT_ENV");
13+
string memory path = string.concat(root, DEPLOYMENT_DIR, "/", deployEnv, "/", Strings.toString(block.chainid), ".json");
14+
string memory json = vm.readFile(path);
15+
16+
ProxiedICS20TransferDeployment memory deployment = loadProxiedICS20TransferDeployment(vm, json);
17+
18+
ICS20Transfer ics20Transfer = ICS20Transfer(deployment.proxy);
19+
20+
vm.broadcast();
21+
ics20Transfer.pause();
22+
23+
vm.assertTrue(ics20Transfer.paused(), "ICS20Transfer should be paused");
24+
}
25+
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// SPDX-License-Identifier: UNLICENSED
2+
pragma solidity ^0.8.28;
3+
4+
import { Deployments } from "../helpers/Deployments.sol";
5+
import { Strings } from "@openzeppelin-contracts/utils/Strings.sol";
6+
import { Script } from "forge-std/Script.sol";
7+
import { ICS20Transfer } from "../../contracts/ICS20Transfer.sol";
8+
9+
contract UnpauseTransfers is Script, Deployments {
10+
function run() public {
11+
string memory root = vm.projectRoot();
12+
string memory deployEnv = vm.envString("DEPLOYMENT_ENV");
13+
string memory path = string.concat(root, DEPLOYMENT_DIR, "/", deployEnv, "/", Strings.toString(block.chainid), ".json");
14+
string memory json = vm.readFile(path);
15+
16+
ProxiedICS20TransferDeployment memory deployment = loadProxiedICS20TransferDeployment(vm, json);
17+
18+
ICS20Transfer ics20Transfer = ICS20Transfer(deployment.proxy);
19+
20+
vm.broadcast();
21+
ics20Transfer.unpause();
22+
23+
vm.assertFalse(ics20Transfer.paused(), "ICS20Transfer should not be paused");
24+
}
25+
}

0 commit comments

Comments
 (0)
Please sign in to comment.