Skip to content

Commit 91040df

Browse files
chore(eth-multisig-v4): add apechain config for contract deployment
Ticket: WIN-5778
1 parent 13a640d commit 91040df

File tree

5 files changed

+55
-9
lines changed

5 files changed

+55
-9
lines changed

.github/workflows/deploy_and_release.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ jobs:
5151
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
5252
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
5353
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
54+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
5455

5556
get-network:
5657
runs-on: ubuntu-latest
@@ -66,13 +67,13 @@ jobs:
6667
result-encoding: string
6768
script: |
6869
const tag = process.env.GITHUB_REF_NAME;
69-
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|bera|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao|tflr|flr|tsgb|sgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|world|tworld)$/;
70+
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|bera|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao|tflr|flr|tsgb|sgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|world|tworld|tapechain|apechain)$/;
7071
const network = tag.match(regex);
7172
return network ? network[1] : "hteth";
7273
deploy-to-test:
7374
runs-on: ubuntu-latest
7475
needs: [lint-and-test, get-network]
75-
if: ${{ (needs.get-network.outputs.network == 'hteth' ) || (needs.get-network.outputs.network == 'tmatic' ) || (needs.get-network.outputs.network == 'tbsc' ) || (needs.get-network.outputs.network == 'tarbeth' ) || (needs.get-network.outputs.network == 'topeth' ) || (needs.get-network.outputs.network == 'tzketh' ) || (needs.get-network.outputs.network == 'tbaseeth' ) || (needs.get-network.outputs.network == 'tbera' ) || (needs.get-network.outputs.network == 'tavaxc' ) || (needs.get-network.outputs.network == 'toas' ) || (needs.get-network.outputs.network == 'tcoredao' ) || (needs.get-network.outputs.network == 'tflr' ) || (needs.get-network.outputs.network == 'tsgb' ) || (needs.get-network.outputs.network == 'txdc' ) || (needs.get-network.outputs.network == 'twemix' ) || (needs.get-network.outputs.network == 'tmon' ) || (needs.get-network.outputs.network == 'tstt' ) || (needs.get-network.outputs.network == 'tsoneium' ) || (needs.get-network.outputs.network == 'tworld' ) }}
76+
if: ${{ (needs.get-network.outputs.network == 'hteth' ) || (needs.get-network.outputs.network == 'tmatic' ) || (needs.get-network.outputs.network == 'tbsc' ) || (needs.get-network.outputs.network == 'tarbeth' ) || (needs.get-network.outputs.network == 'topeth' ) || (needs.get-network.outputs.network == 'tzketh' ) || (needs.get-network.outputs.network == 'tbaseeth' ) || (needs.get-network.outputs.network == 'tbera' ) || (needs.get-network.outputs.network == 'tavaxc' ) || (needs.get-network.outputs.network == 'toas' ) || (needs.get-network.outputs.network == 'tcoredao' ) || (needs.get-network.outputs.network == 'tflr' ) || (needs.get-network.outputs.network == 'tsgb' ) || (needs.get-network.outputs.network == 'txdc' ) || (needs.get-network.outputs.network == 'twemix' ) || (needs.get-network.outputs.network == 'tmon' ) || (needs.get-network.outputs.network == 'tstt' ) || (needs.get-network.outputs.network == 'tsoneium' ) || (needs.get-network.outputs.network == 'tworld' ) || (needs.get-network.outputs.network == 'tapechain' ) }}
7677
environment: testnet
7778
steps:
7879
- uses: actions/checkout@v2
@@ -119,6 +120,7 @@ jobs:
119120
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
120121
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
121122
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
123+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
122124
- name: Update release notes
123125
uses: actions/github-script@v6
124126
with:
@@ -150,7 +152,7 @@ jobs:
150152
deploy-to-prod:
151153
runs-on: ubuntu-latest
152154
needs: [lint-and-test, get-network]
153-
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' ) }}
155+
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' ) || (needs.get-network.outputs.network == 'apechain' ) }}
154156
environment: mainnet
155157
steps:
156158
- uses: actions/checkout@v2
@@ -197,6 +199,7 @@ jobs:
197199
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
198200
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
199201
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
202+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
200203
- name: Update release notes
201204
uses: actions/github-script@v6
202205
with:

.github/workflows/deploy_batcher_contract.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ jobs:
5151
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
5252
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
5353
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
54+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
5455
get-network:
5556
runs-on: ubuntu-latest
5657
needs: [lint-and-test]
@@ -65,7 +66,7 @@ jobs:
6566
result-encoding: string
6667
script: |
6768
const tag = process.env.GITHUB_REF_NAME;
68-
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|bera|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao|flr|tflr|sgb|tsgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|tworld|world)$/;
69+
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|bera|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao|flr|tflr|sgb|tsgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|tworld|world|tapechain|apechain)$/;
6970
const matchedNetwork = tag.match(regex);
7071
if (!matchedNetwork) {
7172
console.log("No match found for the network name, defaulting to 'hteth'.");
@@ -75,7 +76,7 @@ jobs:
7576
deploy-batcher-contract-to-test:
7677
runs-on: ubuntu-latest
7778
needs: [lint-and-test, get-network]
78-
if: ${{ (needs.get-network.outputs.network == 'hteth' ) || (needs.get-network.outputs.network == 'tmatic' ) || (needs.get-network.outputs.network == 'tbsc' ) || (needs.get-network.outputs.network == 'tarbeth' ) || (needs.get-network.outputs.network == 'topeth' ) || (needs.get-network.outputs.network == 'tzketh' ) || (needs.get-network.outputs.network == 'tbaseeth' ) || (needs.get-network.outputs.network == 'tbera' ) || (needs.get-network.outputs.network == 'tavaxc' ) || (needs.get-network.outputs.network == 'tcoredao' ) || (needs.get-network.outputs.network == 'toas' ) || (needs.get-network.outputs.network == 'tflr' ) || (needs.get-network.outputs.network == 'tsgb' ) || (needs.get-network.outputs.network == 'txdc' ) || (needs.get-network.outputs.network == 'twemix' ) || (needs.get-network.outputs.network == 'tmon' ) || (needs.get-network.outputs.network == 'tstt' ) || (needs.get-network.outputs.network == 'tsoneium' ) || (needs.get-network.outputs.network == 'tworld' )}}
79+
if: ${{ (needs.get-network.outputs.network == 'hteth' ) || (needs.get-network.outputs.network == 'tmatic' ) || (needs.get-network.outputs.network == 'tbsc' ) || (needs.get-network.outputs.network == 'tarbeth' ) || (needs.get-network.outputs.network == 'topeth' ) || (needs.get-network.outputs.network == 'tzketh' ) || (needs.get-network.outputs.network == 'tbaseeth' ) || (needs.get-network.outputs.network == 'tbera' ) || (needs.get-network.outputs.network == 'tavaxc' ) || (needs.get-network.outputs.network == 'tcoredao' ) || (needs.get-network.outputs.network == 'toas' ) || (needs.get-network.outputs.network == 'tflr' ) || (needs.get-network.outputs.network == 'tsgb' ) || (needs.get-network.outputs.network == 'txdc' ) || (needs.get-network.outputs.network == 'twemix' ) || (needs.get-network.outputs.network == 'tmon' ) || (needs.get-network.outputs.network == 'tstt' ) || (needs.get-network.outputs.network == 'tsoneium' ) || (needs.get-network.outputs.network == 'tworld' ) || (needs.get-network.outputs.network == 'tapechain' ) }}
7980
environment: testnet
8081
steps:
8182
- uses: actions/checkout@v4
@@ -119,7 +120,8 @@ jobs:
119120
MONAD_EXPLORER_API_KEY: ${{ secrets.MONAD_EXPLORER_API_KEY }}
120121
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
121122
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
122-
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
123+
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
124+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
123125
- name: Update release notes
124126
uses: actions/github-script@v7
125127
with:
@@ -131,7 +133,7 @@ jobs:
131133
deploy-batcher-contract-to-prod:
132134
runs-on: ubuntu-latest
133135
needs: [lint-and-test, get-network]
134-
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' )}}
136+
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' ) || (needs.get-network.outputs.network == 'apechain' ) }}
135137
environment: mainnet
136138
steps:
137139
- uses: actions/checkout@v4
@@ -176,6 +178,7 @@ jobs:
176178
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
177179
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
178180
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
181+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
179182
- name: Update release notes
180183
uses: actions/github-script@v7
181184
with:

.github/workflows/push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,5 @@ jobs:
5959
SOMNIA_EXPLORER_API_KEY: ${{ secrets.SOMNIA_EXPLORER_API_KEY }}
6060
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
6161
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
62+
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
6263
- run: npm run lint

hardhat.config.ts

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ const {
4343
MONAD_EXPLORER_API_KEY,
4444
SOMNIA_EXPLORER_API_KEY,
4545
SONEIUM_EXPLORER_API_KEY,
46-
WORLD_EXPLORER_API_KEY
46+
WORLD_EXPLORER_API_KEY,
47+
APECHAIN_EXPLORER_API_KEY
4748
} = process.env;
4849

4950
const PLACEHOLDER_KEY: string =
@@ -400,6 +401,22 @@ const config: HardhatUserConfig = {
400401
`${PLACEHOLDER_KEY}`,
401402
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
402403
]
404+
},
405+
tapechain: {
406+
url: `https://rpc.curtis.apechain.com`,
407+
accounts: [
408+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
409+
`${PLACEHOLDER_KEY}`,
410+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
411+
]
412+
},
413+
apechain: {
414+
url: `https://apechain.drpc.org`,
415+
accounts: [
416+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
417+
`${PLACEHOLDER_KEY}`,
418+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
419+
]
403420
}
404421
},
405422
gasReporter: {
@@ -464,7 +481,10 @@ const config: HardhatUserConfig = {
464481
soneiumMainnet: `${SONEIUM_EXPLORER_API_KEY}`,
465482
//World
466483
worldTestnet: `${WORLD_EXPLORER_API_KEY}`,
467-
worldMainnet: `${WORLD_EXPLORER_API_KEY}`
484+
worldMainnet: `${WORLD_EXPLORER_API_KEY}`,
485+
//Apechain
486+
apechainTestnet: `${APECHAIN_EXPLORER_API_KEY}`,
487+
apechainMainnet: `${APECHAIN_EXPLORER_API_KEY}`
468488
},
469489
customChains: [
470490
{
@@ -615,6 +635,22 @@ const config: HardhatUserConfig = {
615635
browserURL: 'https://worldscan.org/'
616636
}
617637
},
638+
{
639+
network: 'apechainTestnet',
640+
chainId: 33111,
641+
urls: {
642+
apiURL: 'https://api.etherscan.io/v2/api',
643+
browserURL: 'https://curtis.apescan.io/'
644+
}
645+
},
646+
{
647+
network: 'apechainMainnet',
648+
chainId: 33139,
649+
urls: {
650+
apiURL: 'https://api.apescan.io/api',
651+
browserURL: 'https://apescan.io/'
652+
}
653+
},
618654
{
619655
network: 'soneiumTestnet',
620656
chainId: 1946,

scripts/deploy.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ async function main() {
129129
case 80000:
130130
// bera
131131
case 80094:
132+
// Apechain
133+
case 33111:
134+
case 33139:
132135
// coredao
133136
case 1114:
134137
case 1116:

0 commit comments

Comments
 (0)