From 375ed5f3954a9a919f9bd85bc2dba91508e1123a Mon Sep 17 00:00:00 2001 From: Pascal Marco Caversaccio Date: Mon, 13 Jan 2025 14:57:38 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Add=20Shape/Etherlink=20Test=20and?= =?UTF-8?q?=20Main=20Network=20Deployments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pascal Marco Caversaccio --- README.md | 4 +++ deployments/deployments.json | 28 ++++++++++++++++ hardhat.config.ts | 64 ++++++++++++++++++++++++++++++++++++ interface/package.json | 4 +-- lib/solady | 2 +- package.json | 4 +++ pnpm-lock.yaml | 28 ++++++++-------- 7 files changed, 117 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 33684b8..f025c7c 100644 --- a/README.md +++ b/README.md @@ -2235,6 +2235,8 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer - [EVM on Flow](https://evm.flowscan.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Ink](https://explorer.inkonchain.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Morph](https://explorer.morphl2.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Shape](https://shapescan.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Etherlink](https://explorer.etherlink.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) #### Ethereum Test Networks @@ -2298,6 +2300,8 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer - [EVM on Flow Testnet](https://evm-testnet.flowscan.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Ink Sepolia Testnet](https://explorer-sepolia.inkonchain.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) - [Morph Holešky Testnet](https://explorer-holesky.morphl2.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Shape Sepolia Testnet](https://explorer-sepolia.shape.network/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) +- [Etherlink Testnet (Ghostnet)](https://testnet.explorer.etherlink.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed) ## Integration With External Tooling diff --git a/deployments/deployments.json b/deployments/deployments.json index 0b35f9f..c21d8a8 100644 --- a/deployments/deployments.json +++ b/deployments/deployments.json @@ -438,6 +438,20 @@ "https://explorer.morphl2.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" ] }, + { + "name": "Shape", + "chainId": 360, + "urls": [ + "https://shapescan.xyz/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" + ] + }, + { + "name": "Etherlink", + "chainId": 42793, + "urls": [ + "https://explorer.etherlink.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" + ] + }, { "name": "Sepolia", "chainId": 11155111, @@ -860,5 +874,19 @@ "urls": [ "https://explorer-holesky.morphl2.io/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" ] + }, + { + "name": "Shape Sepolia Testnet", + "chainId": 11011, + "urls": [ + "https://explorer-sepolia.shape.network/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" + ] + }, + { + "name": "Etherlink Testnet (Ghostnet)", + "chainId": 128123, + "urls": [ + "https://testnet.explorer.etherlink.com/address/0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed" + ] } ] diff --git a/hardhat.config.ts b/hardhat.config.ts index 26d9dd7..12e5e0f 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -799,6 +799,32 @@ const config: HardhatUserConfig = { url: vars.get("MORPH_MAINNET_URL", "https://rpc-quicknode.morphl2.io"), accounts, }, + shapeTestnet: { + chainId: 11011, + url: vars.get("SHAPE_TESTNET_URL", "https://sepolia.shape.network"), + accounts, + }, + shapeMain: { + chainId: 360, + url: vars.get("SHAPE_MAINNET_URL", "https://mainnet.shape.network"), + accounts, + }, + etherlinkTestnet: { + chainId: 128123, + url: vars.get( + "ETHERLINK_TESTNET_URL", + "https://node.ghostnet.etherlink.com", + ), + accounts, + }, + etherlinkMain: { + chainId: 42793, + url: vars.get( + "ETHERLINK_MAINNET_URL", + "https://node.mainnet.etherlink.com", + ), + accounts, + }, }, contractSizer: { alphaSort: true, @@ -1012,6 +1038,12 @@ const config: HardhatUserConfig = { // For Morph testnet & mainnet morph: vars.get("MORPH_API_KEY", ""), morphTestnet: vars.get("MORPH_API_KEY", ""), + // For Shape testnet & mainnet + shape: vars.get("SHAPE_API_KEY", ""), + shapeTestnet: vars.get("SHAPE_API_KEY", ""), + // For Etherlink testnet & mainnet + etherlink: vars.get("ETHERLINK_API_KEY", ""), + etherlinkTestnet: vars.get("ETHERLINK_API_KEY", ""), }, customChains: [ { @@ -1844,6 +1876,38 @@ const config: HardhatUserConfig = { browserURL: "https://explorer-holesky.morphl2.io", }, }, + { + network: "shape", + chainId: 360, + urls: { + apiURL: "https://shapescan.xyz/api", + browserURL: "https://shapescan.xyz", + }, + }, + { + network: "shapeTestnet", + chainId: 11011, + urls: { + apiURL: "https://explorer-sepolia.shape.network/api", + browserURL: "https://explorer-sepolia.shape.network", + }, + }, + { + network: "etherlink", + chainId: 42793, + urls: { + apiURL: "https://explorer.etherlink.com/api", + browserURL: "https://explorer.etherlink.com", + }, + }, + { + network: "etherlinkTestnet", + chainId: 128123, + urls: { + apiURL: "https://testnet.explorer.etherlink.com/api", + browserURL: "https://testnet.explorer.etherlink.com", + }, + }, ], }, }; diff --git a/interface/package.json b/interface/package.json index f842243..18cecf8 100644 --- a/interface/package.json +++ b/interface/package.json @@ -44,12 +44,12 @@ "@next/eslint-plugin-next": "^15.1.4", "@trivago/prettier-plugin-sort-imports": "^5.2.1", "@types/node": "^22.10.5", - "@types/react": "^19.0.5", + "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "autoprefixer": "^10.4.20", "eslint": "^9.18.0", "eslint-config-next": "^15.1.4", - "eslint-plugin-react": "^7.37.3", + "eslint-plugin-react": "^7.37.4", "eslint-plugin-react-hooks": "^5.1.0", "next-seo": "^6.6.0", "postcss": "^8.4.49", diff --git a/lib/solady b/lib/solady index 908472a..98c4d06 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit 908472a02139e04e4c25280daca82e6c754204e8 +Subproject commit 98c4d06ad47909be5c8d3bd90a157671bf028479 diff --git a/package.json b/package.json index ee09cbb..e573db0 100644 --- a/package.json +++ b/package.json @@ -167,6 +167,10 @@ "deploy:inkmain": "npx hardhat run --no-compile --network inkMain scripts/deploy.ts", "deploy:morphtestnet": "npx hardhat run --no-compile --network morphTestnet scripts/deploy.ts", "deploy:morphmain": "npx hardhat run --no-compile --network morphMain scripts/deploy.ts", + "deploy:shapetestnet": "npx hardhat run --no-compile --network shapeTestnet scripts/deploy.ts", + "deploy:shapemain": "npx hardhat run --no-compile --network shapeMain scripts/deploy.ts", + "deploy:etherlinktestnet": "npx hardhat run --no-compile --network etherlinkTestnet scripts/deploy.ts", + "deploy:etherlinkmain": "npx hardhat run --no-compile --network etherlinkMain scripts/deploy.ts", "prettier:check": "npx prettier -c \"**/*.{js,ts,md,sol,json,yml,yaml}\"", "prettier:check:interface": "pnpm -C interface prettier:check", "prettier:fix": "npx prettier -w \"**/*.{js,ts,md,sol,json,yml,yaml}\"", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c835a2b..7a779b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -106,11 +106,11 @@ importers: specifier: ^22.10.5 version: 22.10.5 '@types/react': - specifier: ^19.0.5 - version: 19.0.5 + specifier: ^19.0.6 + version: 19.0.6 '@types/react-dom': specifier: ^19.0.3 - version: 19.0.3(@types/react@19.0.5) + version: 19.0.3(@types/react@19.0.6) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -121,8 +121,8 @@ importers: specifier: ^15.1.4 version: 15.1.4(eslint@9.18.0(jiti@2.4.0))(typescript@5.7.3) eslint-plugin-react: - specifier: ^7.37.3 - version: 7.37.3(eslint@9.18.0(jiti@2.4.0)) + specifier: ^7.37.4 + version: 7.37.4(eslint@9.18.0(jiti@2.4.0)) eslint-plugin-react-hooks: specifier: ^5.1.0 version: 5.1.0(eslint@9.18.0(jiti@2.4.0)) @@ -890,8 +890,8 @@ packages: peerDependencies: '@types/react': ^19.0.0 - '@types/react@19.0.5': - resolution: {integrity: sha512-i4OQzFiqsUCfoBns/KHpz+4QcvfjoCsTUi+mugo3lrSRA3+x0gJVvhZhAJrwLGEqz4EXiFVP4hPnOugx+m2uhg==} + '@types/react@19.0.6': + resolution: {integrity: sha512-gIlMztcTeDgXCUj0vCBOqEuSEhX//63fW9SZtCJ+agxoQTOklwDfiEMlTWn4mR/C/UK5VHlpwsCsOyf7/hc4lw==} '@types/secp256k1@4.0.6': resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} @@ -1625,8 +1625,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react@7.37.3: - resolution: {integrity: sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==} + eslint-plugin-react@7.37.4: + resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -4245,11 +4245,11 @@ snapshots: '@types/prettier@2.7.3': {} - '@types/react-dom@19.0.3(@types/react@19.0.5)': + '@types/react-dom@19.0.3(@types/react@19.0.6)': dependencies: - '@types/react': 19.0.5 + '@types/react': 19.0.6 - '@types/react@19.0.5': + '@types/react@19.0.6': dependencies: csstype: 3.1.3 @@ -5055,7 +5055,7 @@ snapshots: eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.18.0(jiti@2.4.0)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.1(eslint@9.18.0(jiti@2.4.0))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.18.0(jiti@2.4.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.18.0(jiti@2.4.0)) - eslint-plugin-react: 7.37.3(eslint@9.18.0(jiti@2.4.0)) + eslint-plugin-react: 7.37.4(eslint@9.18.0(jiti@2.4.0)) eslint-plugin-react-hooks: 5.1.0(eslint@9.18.0(jiti@2.4.0)) optionalDependencies: typescript: 5.7.3 @@ -5155,7 +5155,7 @@ snapshots: dependencies: eslint: 9.18.0(jiti@2.4.0) - eslint-plugin-react@7.37.3(eslint@9.18.0(jiti@2.4.0)): + eslint-plugin-react@7.37.4(eslint@9.18.0(jiti@2.4.0)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5