From 34a93322d7b4a1b36d6e02a4479ebdc2575cdd28 Mon Sep 17 00:00:00 2001 From: Michalina Date: Wed, 10 Jan 2024 16:50:42 +0100 Subject: [PATCH] Restore Goerli conficuration for cross-chain projects As Wormhole does not support Sepolia-base L2 chains yet, we decided to still use Goerli for the cross-chainprojects (it's still live, despite EOL planned for 2023 EOY). So we're restoring the Goerli config in those projecst and we will remove it once Wormhole supports Sepolia L2s (or Goerli becomes unusable). --- cross-chain/arbitrum/.gitignore | 1 + cross-chain/arbitrum/hardhat.config.ts | 31 ++ cross-chain/arbitrum/package.json | 1 + cross-chain/base/.gitignore | 1 + cross-chain/base/hardhat.config.ts | 42 ++ cross-chain/base/package.json | 1 + cross-chain/optimism/.gitignore | 1 + .../.openzeppelin/optimism-goerli.json | 458 ++++++++++++++++++ cross-chain/optimism/hardhat.config.ts | 31 ++ cross-chain/optimism/package.json | 1 + cross-chain/polygon/hardhat.config.ts | 31 ++ cross-chain/polygon/package.json | 1 + 12 files changed, 600 insertions(+) create mode 100644 cross-chain/optimism/.openzeppelin/optimism-goerli.json diff --git a/cross-chain/arbitrum/.gitignore b/cross-chain/arbitrum/.gitignore index e8eb9bf7f..24d77a6b9 100644 --- a/cross-chain/arbitrum/.gitignore +++ b/cross-chain/arbitrum/.gitignore @@ -9,6 +9,7 @@ /deployments/* !/deployments/mainnet/ !/deployments/arbitrumOne/ +!/deployments/arbitrumGoerli/ !/deployments/arbitrumSepolia/ # OZ diff --git a/cross-chain/arbitrum/hardhat.config.ts b/cross-chain/arbitrum/hardhat.config.ts index 1fa2dd77f..cd1cc255e 100644 --- a/cross-chain/arbitrum/hardhat.config.ts +++ b/cross-chain/arbitrum/hardhat.config.ts @@ -35,6 +35,15 @@ const config: HardhatUserConfig = { "deploy_l2", ], }, + goerli: { + url: process.env.L1_CHAIN_API_URL || "", + chainId: 5, + deploy: ["deploy_l1"], + accounts: process.env.L1_ACCOUNTS_PRIVATE_KEYS + ? process.env.L1_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["etherscan"], + }, mainnet: { url: process.env.L1_CHAIN_API_URL || "", chainId: 1, @@ -44,6 +53,18 @@ const config: HardhatUserConfig = { : undefined, tags: ["etherscan"], }, + arbitrumGoerli: { + url: process.env.L2_CHAIN_API_URL || "", + chainId: 421613, + deploy: ["deploy_l2"], + accounts: process.env.L2_ACCOUNTS_PRIVATE_KEYS + ? process.env.L2_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["arbiscan"], + // companionNetworks: { + // l1: "goerli", + // }, + }, arbitrumOne: { url: process.env.L2_CHAIN_API_URL || "", chainId: 42161, @@ -60,19 +81,25 @@ const config: HardhatUserConfig = { external: { deployments: { + goerli: ["./external/goerli"], mainnet: ["./external/mainnet"], + arbitrumGoerli: ["./external/arbitrumGoerli"], arbitrumOne: ["./external/arbitrumOne"], }, }, deploymentArtifactsExport: { + goerli: "artifacts/l1", mainnet: "artifacts/l1", + arbitrumGoerli: "artifacts/l2", arbitrumOne: "artifacts/l2", }, etherscan: { apiKey: { + goerli: process.env.ETHERSCAN_API_KEY, mainnet: process.env.ETHERSCAN_API_KEY, + arbitrumGoerli: process.env.ARBISCAN_API_KEY, arbitrumOne: process.env.ARBISCAN_API_KEY, }, }, @@ -80,11 +107,15 @@ const config: HardhatUserConfig = { namedAccounts: { deployer: { default: 1, + goerli: 0, + arbitrumGoerli: 0, mainnet: "0x123694886DBf5Ac94DDA07135349534536D14cAf", arbitrumOne: "0x123694886DBf5Ac94DDA07135349534536D14cAf", }, governance: { default: 2, + goerli: 0, + arbitrumGoerli: 0, mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", arbitrumOne: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", }, diff --git a/cross-chain/arbitrum/package.json b/cross-chain/arbitrum/package.json index 56ab18360..4a4d91ddd 100644 --- a/cross-chain/arbitrum/package.json +++ b/cross-chain/arbitrum/package.json @@ -30,6 +30,7 @@ "lint:config": "prettier --check '**/*.@(json|yaml)'", "lint:config:fix": "prettier --write '**/*.@(json|yaml)'", "prepack": "tsc -p tsconfig.export.json && hardhat export-artifacts export/artifacts", + "export-artifacts:goerli": "yarn hardhat export-deployment-artifacts --network arbitrumGoerli", "export-artifacts:mainnet": "yarn hardhat export-deployment-artifacts --network arbitrumOne", "prepublishOnly": "npm run export-artifacts:$npm_config_network", "test": "hardhat test" diff --git a/cross-chain/base/.gitignore b/cross-chain/base/.gitignore index 110bf8798..656127c19 100644 --- a/cross-chain/base/.gitignore +++ b/cross-chain/base/.gitignore @@ -9,6 +9,7 @@ /deployments/* !/deployments/mainnet/ !/deployments/base/ +!/deployments/baseGoerli/ # OZ /.openzeppelin/unknown-*.json diff --git a/cross-chain/base/hardhat.config.ts b/cross-chain/base/hardhat.config.ts index 2963783af..f7dada54c 100644 --- a/cross-chain/base/hardhat.config.ts +++ b/cross-chain/base/hardhat.config.ts @@ -35,6 +35,15 @@ const config: HardhatUserConfig = { "deploy_l2", ], }, + goerli: { + url: process.env.L1_CHAIN_API_URL || "", + chainId: 5, + deploy: ["deploy_l1"], + accounts: process.env.L1_ACCOUNTS_PRIVATE_KEYS + ? process.env.L1_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["etherscan"], + }, mainnet: { url: process.env.L1_CHAIN_API_URL || "", chainId: 1, @@ -44,6 +53,21 @@ const config: HardhatUserConfig = { : undefined, tags: ["etherscan"], }, + baseGoerli: { + url: process.env.L2_CHAIN_API_URL || "", + chainId: 84531, + deploy: ["deploy_l2"], + accounts: process.env.L2_ACCOUNTS_PRIVATE_KEYS + ? process.env.L2_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["basescan"], + // In case of deployment failing with underpriced transaction error set + // the `gasPrice` parameter. + // gasPrice: 1000000000, + // companionNetworks: { + // l1: "goerli", + // }, + }, base: { url: process.env.L2_CHAIN_API_URL || "", chainId: 8453, @@ -63,22 +87,36 @@ const config: HardhatUserConfig = { external: { deployments: { + goerli: ["./external/goerli"], mainnet: ["./external/mainnet"], + baseGoerli: ["./external/baseGoerli"], base: ["./external/base"], }, }, deploymentArtifactsExport: { + goerli: "artifacts/l1", mainnet: "artifacts/l1", + baseGoerli: "artifacts/l2", base: "artifacts/l2", }, etherscan: { apiKey: { + goerli: process.env.ETHERSCAN_API_KEY, mainnet: process.env.ETHERSCAN_API_KEY, + "base-goerli": process.env.BASESCAN_API_KEY, "base-mainnet": process.env.BASESCAN_API_KEY, }, customChains: [ + { + network: "base-goerli", + chainId: 84531, + urls: { + apiURL: "https://api-goerli.basescan.org/api", + browserURL: "https://goerli.basescan.org", + }, + }, { network: "base-mainnet", chainId: 8453, @@ -93,11 +131,15 @@ const config: HardhatUserConfig = { namedAccounts: { deployer: { default: 1, + goerli: 0, + baseGoerli: 0, mainnet: "0x123694886DBf5Ac94DDA07135349534536D14cAf", base: "0x123694886DBf5Ac94DDA07135349534536D14cAf", }, governance: { default: 2, + goerli: 0, + baseGoerli: 0, mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", // Threshold Council base: "0x518385dd31289F1000fE6382b0C65df4d1Cd3bfC", // Threshold Council }, diff --git a/cross-chain/base/package.json b/cross-chain/base/package.json index 9cc7b228e..300f085ba 100644 --- a/cross-chain/base/package.json +++ b/cross-chain/base/package.json @@ -30,6 +30,7 @@ "lint:config": "prettier --check '**/*.@(json|yaml)'", "lint:config:fix": "prettier --write '**/*.@(json|yaml)'", "prepack": "tsc -p tsconfig.export.json && hardhat export-artifacts export/artifacts", + "export-artifacts:goerli": "yarn hardhat export-deployment-artifacts --network baseGoerli", "export-artifacts:mainnet": "yarn hardhat export-deployment-artifacts --network base", "prepublishOnly": "npm run export-artifacts:$npm_config_network", "test": "hardhat test" diff --git a/cross-chain/optimism/.gitignore b/cross-chain/optimism/.gitignore index 9f67dca5f..64240eb35 100644 --- a/cross-chain/optimism/.gitignore +++ b/cross-chain/optimism/.gitignore @@ -9,6 +9,7 @@ /deployments/* !/deployments/mainnet/ !/deployments/optimism/ +!/deployments/optimismGoerli/ # OZ /.openzeppelin/unknown-*.json diff --git a/cross-chain/optimism/.openzeppelin/optimism-goerli.json b/cross-chain/optimism/.openzeppelin/optimism-goerli.json new file mode 100644 index 000000000..9564ecd39 --- /dev/null +++ b/cross-chain/optimism/.openzeppelin/optimism-goerli.json @@ -0,0 +1,458 @@ +{ + "manifestVersion": "3.2", + "admin": { + "address": "0x91Fe7128f74dBd4F031ea3D90FC5Ea4DCfD81818", + "txHash": "0x0d7e2a225846fc0d467b6487c0eb724266fbee2b959fbbe1325269f43a454339" + }, + "proxies": [ + { + "address": "0x1a53759DE2eADf73bd0b05c07a4F1F5B7912dA3d", + "txHash": "0xdd6d13c09c3045099e9d6066cd1ebc1353714aee8d39a54599ab15a402854008", + "kind": "transparent" + }, + { + "address": "0x6449F4381f3d63bDfb36B3bDc375724aD3cD4621", + "txHash": "0x805d4430b11c0de578b14b17a0c92305d5f9bd158819e15c8969a12477861d41", + "kind": "transparent" + } + ], + "impls": { + "1eca3b29684e1fcc811e32be6ee7e72cd846a93f69838508595506ae72555f18": { + "address": "0x5D8e618f44A59dd528cce58d00801F4C8e5cfa8D", + "txHash": "0x12984eeac49aaf61b2c7195c37966d3124654fbc1974d2beec80e951ee8c7085", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_balances", + "offset": 0, + "slot": "51", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:37" + }, + { + "label": "_allowances", + "offset": 0, + "slot": "52", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:39" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "53", + "type": "t_uint256", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "54", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:43" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "55", + "type": "t_string_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:44" + }, + { + "label": "__gap", + "offset": 0, + "slot": "56", + "type": "t_array(t_uint256)45_storage", + "contract": "ERC20Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol:400" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC20BurnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol:51" + }, + { + "label": "_HASHED_NAME", + "offset": 0, + "slot": "151", + "type": "t_bytes32", + "contract": "EIP712Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:32" + }, + { + "label": "_HASHED_VERSION", + "offset": 0, + "slot": "152", + "type": "t_bytes32", + "contract": "EIP712Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:33" + }, + { + "label": "__gap", + "offset": 0, + "slot": "153", + "type": "t_array(t_uint256)50_storage", + "contract": "EIP712Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol:120" + }, + { + "label": "_nonces", + "offset": 0, + "slot": "203", + "type": "t_mapping(t_address,t_struct(Counter)3297_storage)", + "contract": "ERC20PermitUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol:28" + }, + { + "label": "_PERMIT_TYPEHASH_DEPRECATED_SLOT", + "offset": 0, + "slot": "204", + "type": "t_bytes32", + "contract": "ERC20PermitUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol:40", + "renamedFrom": "_PERMIT_TYPEHASH" + }, + { + "label": "__gap", + "offset": 0, + "slot": "205", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC20PermitUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol:108" + }, + { + "label": "_owner", + "offset": 0, + "slot": "254", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "255", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_paused", + "offset": 0, + "slot": "304", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "305", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116" + }, + { + "label": "isMinter", + "offset": 0, + "slot": "354", + "type": "t_mapping(t_address,t_bool)", + "contract": "L2TBTC", + "src": "@keep-network/tbtc-v2/contracts/l2/L2TBTC.sol:76" + }, + { + "label": "minters", + "offset": 0, + "slot": "355", + "type": "t_array(t_address)dyn_storage", + "contract": "L2TBTC", + "src": "@keep-network/tbtc-v2/contracts/l2/L2TBTC.sol:77" + }, + { + "label": "isGuardian", + "offset": 0, + "slot": "356", + "type": "t_mapping(t_address,t_bool)", + "contract": "L2TBTC", + "src": "@keep-network/tbtc-v2/contracts/l2/L2TBTC.sol:85" + }, + { + "label": "guardians", + "offset": 0, + "slot": "357", + "type": "t_array(t_address)dyn_storage", + "contract": "L2TBTC", + "src": "@keep-network/tbtc-v2/contracts/l2/L2TBTC.sol:89" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)45_storage": { + "label": "uint256[45]", + "numberOfBytes": "1440" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(Counter)3297_storage)": { + "label": "mapping(address => struct CountersUpgradeable.Counter)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Counter)3297_storage": { + "label": "struct CountersUpgradeable.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "70974f3ab30d1010f875de7eebcbde08a1b6c71845f5272c23be8f95af866a64": { + "address": "0x73A63e2Be2D911dc7eFAc189Bfdf48FbB6532B5b", + "txHash": "0x4d3bdde5365c63cceb585fc671be3d7ef92ef1b67a83dbb61440999515084659", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "_status", + "offset": 0, + "slot": "101", + "type": "t_uint256", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "ReentrancyGuardUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "label": "bridge", + "offset": 0, + "slot": "151", + "type": "t_contract(IWormholeTokenBridge)518", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:122" + }, + { + "label": "bridgeToken", + "offset": 0, + "slot": "152", + "type": "t_contract(IERC20Upgradeable)2252", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:123" + }, + { + "label": "tbtc", + "offset": 0, + "slot": "153", + "type": "t_contract(L2TBTC)443", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:124" + }, + { + "label": "gateways", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_uint16,t_bytes32)", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:136" + }, + { + "label": "mintingLimit", + "offset": 0, + "slot": "155", + "type": "t_uint256", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:147" + }, + { + "label": "mintedAmount", + "offset": 0, + "slot": "156", + "type": "t_uint256", + "contract": "L2WormholeGateway", + "src": "@keep-network/tbtc-v2/contracts/l2/L2WormholeGateway.sol:151" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IERC20Upgradeable)2252": { + "label": "contract IERC20Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(IWormholeTokenBridge)518": { + "label": "contract IWormholeTokenBridge", + "numberOfBytes": "20" + }, + "t_contract(L2TBTC)443": { + "label": "contract L2TBTC", + "numberOfBytes": "20" + }, + "t_mapping(t_uint16,t_bytes32)": { + "label": "mapping(uint16 => bytes32)", + "numberOfBytes": "32" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + } + } +} diff --git a/cross-chain/optimism/hardhat.config.ts b/cross-chain/optimism/hardhat.config.ts index 6c430a786..62fd7f58f 100644 --- a/cross-chain/optimism/hardhat.config.ts +++ b/cross-chain/optimism/hardhat.config.ts @@ -35,6 +35,15 @@ const config: HardhatUserConfig = { "deploy_l2", ], }, + goerli: { + url: process.env.L1_CHAIN_API_URL || "", + chainId: 5, + deploy: ["deploy_l1"], + accounts: process.env.L1_ACCOUNTS_PRIVATE_KEYS + ? process.env.L1_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["etherscan"], + }, mainnet: { url: process.env.L1_CHAIN_API_URL || "", chainId: 1, @@ -44,6 +53,18 @@ const config: HardhatUserConfig = { : undefined, tags: ["etherscan"], }, + optimismGoerli: { + url: process.env.L2_CHAIN_API_URL || "", + chainId: 420, + deploy: ["deploy_l2"], + accounts: process.env.L2_ACCOUNTS_PRIVATE_KEYS + ? process.env.L2_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["optimism_etherscan"], + // companionNetworks: { + // l1: "goerli", + // }, + }, optimism: { url: process.env.L2_CHAIN_API_URL || "", chainId: 10, @@ -60,19 +81,25 @@ const config: HardhatUserConfig = { external: { deployments: { + goerli: ["./external/goerli"], mainnet: ["./external/mainnet"], + optimismGoerli: ["./external/optimismGoerli"], optimism: ["./external/optimism"], }, }, deploymentArtifactsExport: { + goerli: "artifacts/l1", mainnet: "artifacts/l1", + optimismGoerli: "artifacts/l2", optimism: "artifacts/l2", }, etherscan: { apiKey: { + goerli: process.env.ETHERSCAN_API_KEY, mainnet: process.env.ETHERSCAN_API_KEY, + optimisticGoerli: process.env.OPTIMISM_ETHERSCAN_API_KEY, optimisticEthereum: process.env.OPTIMISM_ETHERSCAN_API_KEY, }, }, @@ -80,11 +107,15 @@ const config: HardhatUserConfig = { namedAccounts: { deployer: { default: 1, + goerli: 0, + optimismGoerli: 0, mainnet: "0x123694886DBf5Ac94DDA07135349534536D14cAf", optimism: "0x123694886DBf5Ac94DDA07135349534536D14cAf", }, governance: { default: 2, + goerli: 0, + optimismGoerli: 0, mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", optimism: "0x7fB50BBabeDEE52b8760Ba15c0c199aF33Fc2EfA", }, diff --git a/cross-chain/optimism/package.json b/cross-chain/optimism/package.json index 8ef85b05c..6d1c8e009 100644 --- a/cross-chain/optimism/package.json +++ b/cross-chain/optimism/package.json @@ -30,6 +30,7 @@ "lint:config": "prettier --check '**/*.@(json|yaml)'", "lint:config:fix": "prettier --write '**/*.@(json|yaml)'", "prepack": "tsc -p tsconfig.export.json && hardhat export-artifacts export/artifacts", + "export-artifacts:goerli": "yarn hardhat export-deployment-artifacts --network optimismGoerli", "export-artifacts:mainnet": "yarn hardhat export-deployment-artifacts --network optimism", "prepublishOnly": "npm run export-artifacts:$npm_config_network", "test": "hardhat test" diff --git a/cross-chain/polygon/hardhat.config.ts b/cross-chain/polygon/hardhat.config.ts index ff3c48427..77b469ecf 100644 --- a/cross-chain/polygon/hardhat.config.ts +++ b/cross-chain/polygon/hardhat.config.ts @@ -35,6 +35,15 @@ const config: HardhatUserConfig = { "deploy_sidechain", ], }, + goerli: { + url: process.env.PARENTCHAIN_API_URL || "", + chainId: 5, + deploy: ["deploy_parentchain"], + accounts: process.env.PARENTCHAIN_ACCOUNTS_PRIVATE_KEYS + ? process.env.PARENTCHAIN_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["etherscan"], + }, mainnet: { url: process.env.PARENTCHAIN_API_URL || "", chainId: 1, @@ -44,6 +53,18 @@ const config: HardhatUserConfig = { : undefined, tags: ["etherscan"], }, + mumbai: { + url: process.env.SIDECHAIN_API_URL || "", + chainId: 80001, + deploy: ["deploy_sidechain"], + accounts: process.env.SIDECHAIN_ACCOUNTS_PRIVATE_KEYS + ? process.env.SIDECHAIN_ACCOUNTS_PRIVATE_KEYS.split(",") + : undefined, + tags: ["polygonscan"], + // companionNetworks: { + // parentchain: "goerli", + // }, + }, polygon: { url: process.env.SIDECHAIN_API_URL || "", chainId: 137, @@ -60,19 +81,25 @@ const config: HardhatUserConfig = { external: { deployments: { + goerli: ["./external/goerli"], mainnet: ["./external/mainnet"], + mumbai: ["./external/mumbai"], polygon: ["./external/polygon"], }, }, deploymentArtifactsExport: { + goerli: "artifacts/parentchain", mainnet: "artifacts/parentchain", + mumbai: "artifacts/sidechain", polygon: "artifacts/sidechain", }, etherscan: { apiKey: { + goerli: process.env.ETHERSCAN_API_KEY, mainnet: process.env.ETHERSCAN_API_KEY, + polygonMumbai: process.env.POLYGONSCAN_API_KEY, polygon: process.env.POLYGONSCAN_API_KEY, }, }, @@ -80,11 +107,15 @@ const config: HardhatUserConfig = { namedAccounts: { deployer: { default: 1, + goerli: 0, + mumbai: 0, mainnet: "0x123694886DBf5Ac94DDA07135349534536D14cAf", polygon: "0x123694886DBf5Ac94DDA07135349534536D14cAf", }, governance: { default: 2, + goerli: 0, + mumbai: 0, mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", polygon: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", }, diff --git a/cross-chain/polygon/package.json b/cross-chain/polygon/package.json index f911670a6..e815eda85 100644 --- a/cross-chain/polygon/package.json +++ b/cross-chain/polygon/package.json @@ -30,6 +30,7 @@ "lint:config": "prettier --check '**/*.@(json|yaml)'", "lint:config:fix": "prettier --write '**/*.@(json|yaml)'", "prepack": "tsc -p tsconfig.export.json && hardhat export-artifacts export/artifacts", + "export-artifacts:goerli": "yarn hardhat export-deployment-artifacts --network mumbai", "export-artifacts:mainnet": "yarn hardhat export-deployment-artifacts --network polygon", "prepublishOnly": "npm run export-artifacts:$npm_config_network", "test": "hardhat test"