Skip to content

Commit 28318d3

Browse files
committed
➕ Add Etherlink and Abstract Deployments
Signed-off-by: Pascal Marco Caversaccio <pascal.caversaccio@hotmail.ch>
1 parent 76a7887 commit 28318d3

8 files changed

Lines changed: 310 additions & 177 deletions

File tree

.github/workflows/checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
os:
1515
- ubuntu-latest
1616
node_version:
17-
- 22
17+
- 24
1818

1919
steps:
2020
- name: Checkout

.github/workflows/test-contracts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
os:
1818
- ubuntu-latest
1919
node_version:
20-
- 22
20+
- 24
2121

2222
steps:
2323
- name: Checkout

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ All files | 100 | 100 | 100 | 100 |
9696
- Unichain: [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://uniscan.xyz/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
9797
- Arena-Z: [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://explorer.arena-z.gg/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
9898
- ZKsync Era: [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://era.zksync.network/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
99+
- Abstract: [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://abscan.org/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
100+
- Etherlink: [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://explorer.etherlink.com/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
99101
- **Ethereum Test Networks:**
100102
- Rinkeby (⚠️ Deprecated): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://rinkeby.etherscan.io/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
101103
- Ropsten (⚠️ Deprecated): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://ropsten.etherscan.io/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
@@ -161,3 +163,5 @@ All files | 100 | 100 | 100 | 100 |
161163
- Unichain Testnet (Sepolia): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://sepolia.uniscan.xyz/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
162164
- Arena-Z Testnet (Sepolia): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://arena-z.blockscout.com/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
163165
- ZKsync Era Testnet (Sepolia): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://sepolia-era.zksync.network/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
166+
- Abstract Testnet (Sepolia): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://sepolia.abscan.org/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)
167+
- Etherlink Testnet (Ghostnet): [`0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2`](https://testnet.explorer.etherlink.com/address/0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2)

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const tseslint = require("typescript-eslint");
44
const eslintConfigPrettier = require("eslint-config-prettier");
55
/* eslint-enable @typescript-eslint/no-require-imports */
66

7+
/** @type {import('typescript-eslint').TSESLint.FlatConfig.ConfigArray} */
78
module.exports = tseslint.config(
89
{
910
files: ["**/*.{js,ts}"],

hardhat.config.ts

Lines changed: 122 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,6 @@ const config: HardhatUserConfig = {
8585
localhost: {
8686
url: "http://127.0.0.1:8545",
8787
},
88-
"truffle-dashboard": {
89-
url: "http://localhost:24012/rpc",
90-
},
9188
tenderly: {
9289
url: `https://rpc.tenderly.co/fork/${process.env.TENDERLY_FORK_ID}`,
9390
},
@@ -1077,6 +1074,60 @@ const config: HardhatUserConfig = {
10771074
accounts:
10781075
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
10791076
},
1077+
immutableZkEVMTestnet: {
1078+
chainId: 13473,
1079+
url: process.env.IMMUTABLEZKEVM_TESTNET_URL || "",
1080+
accounts:
1081+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1082+
},
1083+
immutableZkEVMMain: {
1084+
chainId: 13371,
1085+
url: process.env.IMMUTABLEZKEVM_MAINNET_URL || "",
1086+
accounts:
1087+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1088+
},
1089+
abstractTestnet: {
1090+
chainId: 11124,
1091+
url: process.env.ABSTRACT_TESTNET_URL || "",
1092+
accounts:
1093+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1094+
},
1095+
abstractMain: {
1096+
chainId: 2741,
1097+
url: process.env.ABSTRACT_MAINNET_URL || "",
1098+
accounts:
1099+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1100+
},
1101+
hyperevmTestnet: {
1102+
chainId: 998,
1103+
url: process.env.HYPEREVM_TESTNET_URL || "",
1104+
accounts:
1105+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1106+
},
1107+
hyperevmMain: {
1108+
chainId: 999,
1109+
url: process.env.HYPEREVM_MAINNET_URL || "",
1110+
accounts:
1111+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1112+
},
1113+
kaiaMain: {
1114+
chainId: 8217,
1115+
url: process.env.KAIA_MAINNET_URL || "",
1116+
accounts:
1117+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1118+
},
1119+
apeChainTestnet: {
1120+
chainId: 33111,
1121+
url: process.env.APECHAIN_TESTNET_URL || "",
1122+
accounts:
1123+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1124+
},
1125+
apeChainMain: {
1126+
chainId: 33139,
1127+
url: process.env.APECHAIN_MAINNET_URL || "",
1128+
accounts:
1129+
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
1130+
},
10801131
},
10811132
gasReporter: {
10821133
enabled: process.env.REPORT_GAS !== undefined,
@@ -1326,6 +1377,17 @@ const config: HardhatUserConfig = {
13261377
// For Bitlayer testnet & mainnet
13271378
bitlayer: process.env.BITLAYER_API_KEY || "",
13281379
bitlayerTestnet: process.env.BITLAYER_API_KEY || "",
1380+
// For Immutable zkEVM testnet & mainnet
1381+
immutableZkEVM: process.env.IMMUTABLEZKEVM_API_KEY || "",
1382+
immutableZkEVMTestnet: process.env.IMMUTABLEZKEVM_API_KEY || "",
1383+
// For Abstract testnet & mainnet
1384+
abstract: process.env.ABSTRACT_API_KEY || "",
1385+
abstractTestnet: process.env.ABSTRACT_API_KEY || "",
1386+
// For Kaia mainnet
1387+
kaia: process.env.OKLINK_API_KEY || "",
1388+
// For ApeChain testnet & mainnet
1389+
apeChain: process.env.APECHAIN_API_KEY || "",
1390+
apeChainTestnet: process.env.APECHAIN_API_KEY || "",
13291391
},
13301392
customChains: [
13311393
{
@@ -2394,6 +2456,63 @@ const config: HardhatUserConfig = {
23942456
browserURL: "https://testnet.btrscan.com",
23952457
},
23962458
},
2459+
{
2460+
network: "immutableZkEVM",
2461+
chainId: 13371,
2462+
urls: {
2463+
apiURL: "https://explorer.immutable.com/api",
2464+
browserURL: "https://explorer.immutable.com",
2465+
},
2466+
},
2467+
{
2468+
network: "immutableZkEVMTestnet",
2469+
chainId: 13473,
2470+
urls: {
2471+
apiURL: "https://explorer.testnet.immutable.com/api",
2472+
browserURL: "https://explorer.testnet.immutable.com",
2473+
},
2474+
},
2475+
{
2476+
network: "abstract",
2477+
chainId: 2741,
2478+
urls: {
2479+
apiURL: "https://api.abscan.org/api",
2480+
browserURL: "https://abscan.org",
2481+
},
2482+
},
2483+
{
2484+
network: "abstractTestnet",
2485+
chainId: 11124,
2486+
urls: {
2487+
apiURL: "https://api-sepolia.abscan.org/api",
2488+
browserURL: "https://sepolia.abscan.org",
2489+
},
2490+
},
2491+
{
2492+
network: "kaia",
2493+
chainId: 8217,
2494+
urls: {
2495+
apiURL:
2496+
"https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/KAIA",
2497+
browserURL: "https://www.oklink.com/kaia",
2498+
},
2499+
},
2500+
{
2501+
network: "apeChain",
2502+
chainId: 33139,
2503+
urls: {
2504+
apiURL: "https://api.apescan.io/api",
2505+
browserURL: "https://apescan.io",
2506+
},
2507+
},
2508+
{
2509+
network: "apeChainTestnet",
2510+
chainId: 33111,
2511+
urls: {
2512+
apiURL: "https://api-curtis.apescan.io/api",
2513+
browserURL: "https://curtis.apescan.io",
2514+
},
2515+
},
23972516
],
23982517
},
23992518
};

package.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,15 @@
195195
"deploy:bitlayermain": "npx hardhat run --network bitlayerMain scripts/deploy.ts",
196196
"deploy:ronintestnet": "npx hardhat run --network roninTestnet scripts/deploy.ts",
197197
"deploy:roninmain": "npx hardhat run --network roninMain scripts/deploy.ts",
198+
"deploy:immutablezkevmtestnet": "npx hardhat run --network immutableZkEVMTestnet scripts/deploy.ts",
199+
"deploy:immutablezkevmmain": "npx hardhat run --network immutableZkEVMMain scripts/deploy.ts",
200+
"deploy:abstracttestnet": "npx hardhat run --network abstractTestnet scripts/deploy.ts",
201+
"deploy:abstractmain": "npx hardhat run --network abstractMain scripts/deploy.ts",
202+
"deploy:hyperevmtestnet": "npx hardhat run --network hyperevmTestnet scripts/deploy.ts",
203+
"deploy:hyperevmmain": "npx hardhat run --network hyperevmMain scripts/deploy.ts",
204+
"deploy:kaiamain": "npx hardhat run --network kaiaMain scripts/deploy.ts",
205+
"deploy:apechaintestnet": "npx hardhat run --network apeChainTestnet scripts/deploy.ts",
206+
"deploy:apechainmain": "npx hardhat run --network apeChainMain scripts/deploy.ts",
198207
"prettier:check": "npx prettier -c \"**/*.{js,ts,md,sol,json,yml,yaml}\"",
199208
"prettier:fix": "npx prettier -w \"**/*.{js,ts,md,sol,json,yml,yaml}\"",
200209
"solhint:check": "npx solhint \"contracts/**/*.sol\"",
@@ -217,7 +226,7 @@
217226
"@typechain/hardhat": "^9.1.0",
218227
"@types/chai": "^4.3.20",
219228
"@types/mocha": "^10.0.10",
220-
"@types/node": "^22.15.30",
229+
"@types/node": "^24.0.0",
221230
"chai": "^4.5.0",
222231
"dotenv": "^16.5.0",
223232
"eslint": "^9.28.0",
@@ -234,7 +243,7 @@
234243
"ts-node": "^10.9.2",
235244
"typechain": "^8.3.2",
236245
"typescript": "^5.8.3",
237-
"typescript-eslint": "^8.33.1",
246+
"typescript-eslint": "^8.34.0",
238247
"zksync-ethers": "^6.17.0"
239248
},
240249
"pnpm": {

0 commit comments

Comments
 (0)