Skip to content

Commit eb1453d

Browse files
authored
refactor: script utils + deployments (#13)
## Changes - Move token address constants to ScriptUtils for better reusability - Reorganize deployment scripts for cleaner structure - Deployed contract addresses on Gnosis Chain updated
1 parent 206051b commit eb1453d

File tree

8 files changed

+49
-56
lines changed

8 files changed

+49
-56
lines changed

cow-trader/bot.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
REASONING_FILEPATH = os.environ.get("REASONING_FILEPATH", ".db/reasoning.csv")
2929

3030
# Addresses
31-
SAFE_ADDRESS = "0xE1eB9cF168DB37c31B4bDf73511Bf44E2B8027Ef" # PLACEHOLDER
31+
SAFE_ADDRESS = "0xbc3c7818177dA740292659b574D48B699Fdf0816"
3232
TOKEN_ALLOWLIST_ADDRESS = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
3333
GPV2_SETTLEMENT_ADDRESS = "0x9008D19f58AAbD9eD0D60971565AA8510560ab41"
3434

smart-contract-infra/deployments/contracts.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
"tradingModuleProxy": "0x0000000000000000000000000000000000000000"
99
},
1010
"100": {
11-
"allowlist": "0x0000000000000000000000000000000000000000",
12-
"guard": "0x0000000000000000000000000000000000000000",
13-
"tradingModuleMasterCopy": "0x0000000000000000000000000000000000000000",
14-
"tradingModuleProxy": "0x0000000000000000000000000000000000000000"
11+
"allowlist": "0x98a4351d926e6274829c3807f39D9a7037462589",
12+
"guard": "0xcab68170145d593F15BF398670876CcCBFe173e2",
13+
"tradingModuleMasterCopy": "0xE0e75802Fb63B1a3b55862D9e217f902bd4e33f8",
14+
"tradingModuleProxy": "0x920b3D833E5663CF700B17DcF119Ac697E340621"
1515
},
1616
"8453": {
1717
"allowlist": "0x0000000000000000000000000000000000000000",

smart-contract-infra/script/03_Deploy_MasterCopy.s.sol

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,11 @@ interface ISingletonFactory {
2727
*/
2828

2929
contract DeployMasterCopy is ScriptUtils {
30-
address internal constant SINGLETON_FACTORY = 0xce0042B868300000d44A59004Da54A005ffdcf9f;
31-
address internal constant ZERO_ADDRESS = address(0);
32-
3330
function run() external {
3431
uint256 pk = vm.envUint("PRIVATE_KEY");
3532

3633
bytes memory creationCode = type(TradingModule).creationCode;
37-
bytes memory constructorArgs = abi.encode(ZERO_ADDRESS, ZERO_ADDRESS, ZERO_ADDRESS);
34+
bytes memory constructorArgs = abi.encode(vm.addr(pk), ZERO_ADDRESS, ZERO_ADDRESS);
3835
bytes memory initCode = abi.encodePacked(creationCode, constructorArgs);
3936

4037
bytes32 salt = keccak256(abi.encodePacked("TradingModuleV1"));

smart-contract-infra/script/04_Deploy_TradingModuleProxy.s.sol

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ interface IModuleProxyFactory {
2626
--broadcast -vvvv
2727
*/
2828
contract DeployTradingModuleProxy is ScriptUtils {
29-
address internal constant MODULE_PROXY_FACTORY = 0x000000000000aDdB49795b0f9bA5BC298cDda236;
30-
address internal constant SAFE = 0x5aFE3855358E112B5647B952709E6165e1c1eEEe;
31-
3229
function run() external {
3330
uint256 pk = vm.envUint("PRIVATE_KEY");
3431

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity 0.8.28;
3+
4+
import { console2 } from "forge-std/Script.sol";
5+
import { ScriptUtils } from "script/ScriptUtils.sol";
6+
import { TokenAllowlist } from "src/TokenAllowlist.sol";
7+
8+
// Without verification:
9+
/*
10+
forge script script/05_AddTokens_Allowlist.s.sol \
11+
--rpc-url gnosis \
12+
--private-key $PRIVATE_KEY \
13+
--broadcast -vvvv
14+
*/
15+
16+
contract AddTokensScript is ScriptUtils {
17+
function run() external {
18+
uint256 pk = vm.envUint("PRIVATE_KEY");
19+
20+
vm.startBroadcast(pk);
21+
22+
TokenAllowlist allowlist = TokenAllowlist(_getDeploymentAddress(".allowlist"));
23+
24+
address[] memory tokens = new address[](3);
25+
tokens[0] = GNO;
26+
tokens[1] = COW;
27+
tokens[2] = WXDAI;
28+
29+
allowlist.addTokensBatch(tokens);
30+
31+
vm.stopBroadcast();
32+
}
33+
}

smart-contract-infra/script/05_Enable_TradingModule.s.sol

Lines changed: 0 additions & 41 deletions
This file was deleted.

smart-contract-infra/script/ScriptUtils.sol

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ contract ScriptUtils is Script {
99

1010
error AddressNotFound(string key);
1111

12+
address internal constant SAFE = 0xbc3c7818177dA740292659b574D48B699Fdf0816;
13+
14+
address internal constant SINGLETON_FACTORY = 0xce0042B868300000d44A59004Da54A005ffdcf9f;
15+
address internal constant MODULE_PROXY_FACTORY = 0x000000000000aDdB49795b0f9bA5BC298cDda236;
16+
address internal constant ZERO_ADDRESS = address(0);
17+
18+
address internal constant GNO = 0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb;
19+
address internal constant COW = 0x177127622c4A00F3d409B75571e12cB3c8973d3c;
20+
address internal constant WXDAI = 0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d;
21+
1222
function _writeDeploymentAddress(address addr, string memory key) internal {
1323
string memory root = vm.projectRoot();
1424
string memory path = string.concat(root, "/deployments/contracts.json");

smart-contract-infra/src/TradingModule.sol

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ contract TradingModule is Module, Guardable {
4040
function setUp(bytes memory initParams) public override initializer {
4141
(address _owner, address _avatar, address _target) = abi.decode(initParams, (address, address, address));
4242

43-
require(_avatar != address(0));
44-
require(_target != address(0));
45-
4643
__Ownable_init(msg.sender);
4744

4845
setAvatar(_avatar);

0 commit comments

Comments
 (0)