From 628a986903426bb0dae7ce6bc4821e4e7d6e3b62 Mon Sep 17 00:00:00 2001 From: Alec DiFederico Date: Tue, 26 Mar 2024 12:13:53 -0400 Subject: [PATCH] added configurations to prepare for mainnet deployments --- .env.example | 4 +++- foundry.toml | 9 +++++++-- scripts/base/BaseDeploy.sol | 9 +++++++-- scripts/base/Config.sol | 4 ++-- scripts/config/mainnet.json | 25 +++++++++++++++++++++++++ scripts/config/polygon.json | 25 +++++++++++++++++++++++++ 6 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 scripts/config/mainnet.json create mode 100644 scripts/config/polygon.json diff --git a/.env.example b/.env.example index fd68ad4..eabd128 100644 --- a/.env.example +++ b/.env.example @@ -3,8 +3,10 @@ ETHERSCAN_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx POLYGONSCAN_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # RPC endpoint API keys -API_KEY_RPC_MUMBAI=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +API_KEY_RPC_MAINNET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx API_KEY_RPC_SEPOLIA=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +API_KEY_RPC_POLYGON=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +API_KEY_RPC_MUMBAI=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Block explorer API keys API_KEY_POLYGONSCAN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx diff --git a/foundry.toml b/foundry.toml index f84340a..4771c88 100644 --- a/foundry.toml +++ b/foundry.toml @@ -30,9 +30,14 @@ remappings = [ fs_permissions = [{ access = 'read', path = './scripts/config/' }] [etherscan] -mumbai = { key = "${API_KEY_POLYGONSCAN}" } +mainnet = { key = "$API_KEY_ETHERSCAN" } sepolia = { key = "${API_KEY_ETHERSCAN}" } +polygon = { key = "${API_KEY_POLYGONSCAN}" } +mumbai = { key = "${API_KEY_POLYGONSCAN}" } + [rpc_endpoints] -mumbai = "https://polygon-mumbai.g.alchemy.com/v2/${API_KEY_RPC_MUMBAI}" +mainnet = "https://eth-mainnet.g.alchemy.com/v2/${API_KEY_RPC_MAINNET}" sepolia = "https://eth-sepolia.g.alchemy.com/v2/${API_KEY_RPC_SEPOLIA}" +polygon = "https://polygon-mainnet.g.alchemy.com/v2/${API_KEY_RPC_POLYGON}" +mumbai = "https://polygon-mumbai.g.alchemy.com/v2/${API_KEY_RPC_MUMBAI}" diff --git a/scripts/base/BaseDeploy.sol b/scripts/base/BaseDeploy.sol index dfda850..c0648c0 100644 --- a/scripts/base/BaseDeploy.sol +++ b/scripts/base/BaseDeploy.sol @@ -85,6 +85,7 @@ contract BaseDeploy is Deployer { console2.log(""); console2.log("Chain: %s", chain); console2.log("Deployer: %s", deployer); + console2.log("Server signer %s", config.serverSideSigner()); console2.log("Version: %s.%s", config.majorVersion(), config.minorVersion()); console2.log(""); } @@ -640,7 +641,9 @@ contract BaseDeploy is Deployer { console2.log("Total asset whitelist entries changes: %s", assets.length); console2.log(""); - } else { + } + + if (assets.length == 0 && whitelist.length != 0) { revert("No changes to the whitelist were specified."); } } @@ -698,7 +701,9 @@ contract BaseDeploy is Deployer { console2.log("Total payment whitelist entries changes: %s", assets.length); console2.log(""); - } else { + } + + if (assets.length == 0 && whitelist.length != 0) { revert("No changes to the whitelist were specified."); } } diff --git a/scripts/base/Config.sol b/scripts/base/Config.sol index 6801a0f..d44888b 100644 --- a/scripts/base/Config.sol +++ b/scripts/base/Config.sol @@ -85,8 +85,8 @@ contract Config is Script { conduitKey = _parseBytes32("$.conduitKey"); // load the whitelists - _parseAssetWhitelistArray("$.assetWhitelist[*]~"); - _parsePaymentWhitelistArray("$.paymentWhitelist[*]~"); + _parseAssetWhitelistArray("$.assetWhitelist"); + _parsePaymentWhitelistArray("$.paymentWhitelist"); } function assetWhitelist() external view returns (AssetWhitelist[] memory) { diff --git a/scripts/config/mainnet.json b/scripts/config/mainnet.json new file mode 100644 index 0000000..35bcf6e --- /dev/null +++ b/scripts/config/mainnet.json @@ -0,0 +1,25 @@ +{ + "majorVersion": 1, + "minorVersion": 0, + "safeSingleton": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "safeProxyFactory": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serverSideSigner": "0x000000195c8902cd111fd87627A38cE0cbA22B94", + "create2Deployer": "0x0000000000000000000000000000000000000000", + "kernel": "0x0000000000000000000000000000000000000000", + "storeModuleProxy": "0x0000000000000000000000000000000000000000", + "storeModuleImpl": "0x0000000000000000000000000000000000000000", + "escrwModuleProxy": "0x0000000000000000000000000000000000000000", + "escrwModuleImpl": "0x0000000000000000000000000000000000000000", + "createPolicy": "0x0000000000000000000000000000000000000000", + "stopPolicy": "0x0000000000000000000000000000000000000000", + "factoryPolicy": "0x0000000000000000000000000000000000000000", + "adminPolicy": "0x0000000000000000000000000000000000000000", + "guardPolicy": "0x0000000000000000000000000000000000000000", + "fallbackPolicy": "0x0000000000000000000000000000000000000000", + "seaport": "0x0000000000000000000000000000000000000000", + "conduitController": "0x0000000000000000000000000000000000000000", + "conduit": "0x0000000000000000000000000000000000000000", + "conduitKey": "0x0000000000000000000000000000000000000000000000000000000000000000", + "assetWhitelist": [], + "paymentWhitelist": [] +} diff --git a/scripts/config/polygon.json b/scripts/config/polygon.json new file mode 100644 index 0000000..35bcf6e --- /dev/null +++ b/scripts/config/polygon.json @@ -0,0 +1,25 @@ +{ + "majorVersion": 1, + "minorVersion": 0, + "safeSingleton": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "safeProxyFactory": "0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serverSideSigner": "0x000000195c8902cd111fd87627A38cE0cbA22B94", + "create2Deployer": "0x0000000000000000000000000000000000000000", + "kernel": "0x0000000000000000000000000000000000000000", + "storeModuleProxy": "0x0000000000000000000000000000000000000000", + "storeModuleImpl": "0x0000000000000000000000000000000000000000", + "escrwModuleProxy": "0x0000000000000000000000000000000000000000", + "escrwModuleImpl": "0x0000000000000000000000000000000000000000", + "createPolicy": "0x0000000000000000000000000000000000000000", + "stopPolicy": "0x0000000000000000000000000000000000000000", + "factoryPolicy": "0x0000000000000000000000000000000000000000", + "adminPolicy": "0x0000000000000000000000000000000000000000", + "guardPolicy": "0x0000000000000000000000000000000000000000", + "fallbackPolicy": "0x0000000000000000000000000000000000000000", + "seaport": "0x0000000000000000000000000000000000000000", + "conduitController": "0x0000000000000000000000000000000000000000", + "conduit": "0x0000000000000000000000000000000000000000", + "conduitKey": "0x0000000000000000000000000000000000000000000000000000000000000000", + "assetWhitelist": [], + "paymentWhitelist": [] +}