Skip to content

Commit d64bb5a

Browse files
Merge pull request #189 from BitGo/WIN-4355-flr-sgb
chore(eth-multisig-v4): flr,sgb config
2 parents 07b84ff + 0b5b708 commit d64bb5a

5 files changed

Lines changed: 135 additions & 43 deletions

File tree

.github/workflows/deploy_and_release.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ jobs:
4141
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
4242
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
4343
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
44+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
45+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
4446
get-network:
4547
runs-on: ubuntu-latest
4648
needs: [lint-and-test]
@@ -55,13 +57,13 @@ jobs:
5557
result-encoding: string
5658
script: |
5759
const tag = process.env.GITHUB_REF_NAME;
58-
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao)$/;
60+
const regex = /v.*\-(eth|hteth|matic|tmatic|bsc|tbsc|arbeth|tarbeth|opeth|topeth|zketh|tzketh|baseeth|tbaseeth|tbera|tavaxc|avaxc|toas|oas|tcoredao|coredao|tflr|flr|tsgb|sgb)$/;
5961
const network = tag.match(regex);
6062
return network ? network[1] : "hteth";
6163
deploy-to-test:
6264
runs-on: ubuntu-latest
6365
needs: [lint-and-test, get-network]
64-
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' ) }}
66+
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' )}}
6567
environment: testnet
6668
steps:
6769
- uses: actions/checkout@v2
@@ -98,6 +100,8 @@ jobs:
98100
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
99101
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
100102
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
103+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
104+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
101105
- name: Update release notes
102106
uses: actions/github-script@v6
103107
with:
@@ -129,7 +133,7 @@ jobs:
129133
deploy-to-prod:
130134
runs-on: ubuntu-latest
131135
needs: [lint-and-test, get-network]
132-
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' ) }}
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 == 'flr' ) || (needs.get-network.outputs.network == 'sgb' ) }}
133137
environment: mainnet
134138
steps:
135139
- uses: actions/checkout@v2
@@ -166,6 +170,8 @@ jobs:
166170
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
167171
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
168172
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
173+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
174+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
169175
- name: Update release notes
170176
uses: actions/github-script@v6
171177
with:

.github/workflows/deploy_batcher_contract.yml

Lines changed: 45 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,48 @@
11
name: Deploy Batcher Contract and Update Release
22
on:
3-
release:
4-
types: [published]
3+
release:
4+
types: [published]
55
jobs:
66
lint-and-test:
77
environment: dev
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v4
11-
- name: Use Node.js
12-
uses: actions/setup-node@v4
13-
with:
14-
cache: 'npm'
15-
- run: npm install
16-
- run: npm run lint
17-
- run: npm run test
18-
env:
19-
MAINNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT: ${{ secrets.MAINNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT }}
20-
TESTNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT: ${{ secrets.TESTNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT }}
21-
PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT }}
22-
PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT_BACKUP: ${{ secrets.PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT_BACKUP }}
23-
PRIVATE_KEY_FOR_V1_WALLET_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_V1_WALLET_CONTRACT_DEPLOYMENT }}
24-
PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT }}
25-
QUICKNODE_ETH_MAINNET_API_KEY: ${{ secrets.QUICKNODE_ETH_MAINNET_API_KEY }}
26-
QUICKNODE_ETH_HOLESKY_API_KEY: ${{ secrets.QUICKNODE_ETH_HOLESKY_API_KEY }}
27-
QUICKNODE_ARBITRUM_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_ARBITRUM_SEPOLIA_API_KEY }}
28-
QUICKNODE_ARBITRUM_ONE_API_KEY: ${{ secrets.QUICKNODE_ARBITRUM_ONE_API_KEY }}
29-
QUICKNODE_OPTIMISM_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_OPTIMISM_SEPOLIA_API_KEY }}
30-
QUICKNODE_OPTIMISM_API_KEY: ${{ secrets.QUICKNODE_OPTIMISM_API_KEY }}
31-
QUICKNODE_ZKSYNC_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_ZKSYNC_SEPOLIA_API_KEY }}
32-
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
33-
ALCHEMY_POLYGON_API_KEY: ${{ secrets.ALCHEMY_POLYGON_API_KEY }}
34-
POLYGONSCAN_API_KEY: ${{ secrets.POLYGONSCAN_API_KEY }}
35-
BSCSCAN_API_KEY: ${{ secrets.BSCSCAN_API_KEY }}
36-
ARBISCAN_API_KEY: ${{ secrets.ARBISCAN_API_KEY }}
37-
OPTIMISTIC_ETHERSCAN_API_KEY: ${{ secrets.OPTIMISTIC_ETHERSCAN_API_KEY }}
38-
ZKSYNC_EXPLORER_API_KEY: ${{ secrets.ZKSYNC_EXPLORER_API_KEY }}
39-
BASESCAN_API_KEY: ${{ secrets.BASESCAN_API_KEY }}
40-
BARTIO_BERA_EXPLORER_API_KEY: ${{ secrets.BARTIO_BERA_EXPLORER_API_KEY }}
41-
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
42-
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
43-
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
10+
- uses: actions/checkout@v4
11+
- name: Use Node.js
12+
uses: actions/setup-node@v4
13+
with:
14+
cache: 'npm'
15+
- run: npm install
16+
- run: npm run lint
17+
- run: npm run test
18+
env:
19+
MAINNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT: ${{ secrets.MAINNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT }}
20+
TESTNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT: ${{ secrets.TESTNET_PRIVATE_KEY_FOR_CONTRACT_DEPLOYMENT }}
21+
PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT }}
22+
PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT_BACKUP: ${{ secrets.PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT_BACKUP }}
23+
PRIVATE_KEY_FOR_V1_WALLET_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_V1_WALLET_CONTRACT_DEPLOYMENT }}
24+
PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT: ${{ secrets.PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT }}
25+
QUICKNODE_ETH_MAINNET_API_KEY: ${{ secrets.QUICKNODE_ETH_MAINNET_API_KEY }}
26+
QUICKNODE_ETH_HOLESKY_API_KEY: ${{ secrets.QUICKNODE_ETH_HOLESKY_API_KEY }}
27+
QUICKNODE_ARBITRUM_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_ARBITRUM_SEPOLIA_API_KEY }}
28+
QUICKNODE_ARBITRUM_ONE_API_KEY: ${{ secrets.QUICKNODE_ARBITRUM_ONE_API_KEY }}
29+
QUICKNODE_OPTIMISM_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_OPTIMISM_SEPOLIA_API_KEY }}
30+
QUICKNODE_OPTIMISM_API_KEY: ${{ secrets.QUICKNODE_OPTIMISM_API_KEY }}
31+
QUICKNODE_ZKSYNC_SEPOLIA_API_KEY: ${{ secrets.QUICKNODE_ZKSYNC_SEPOLIA_API_KEY }}
32+
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
33+
ALCHEMY_POLYGON_API_KEY: ${{ secrets.ALCHEMY_POLYGON_API_KEY }}
34+
POLYGONSCAN_API_KEY: ${{ secrets.POLYGONSCAN_API_KEY }}
35+
BSCSCAN_API_KEY: ${{ secrets.BSCSCAN_API_KEY }}
36+
ARBISCAN_API_KEY: ${{ secrets.ARBISCAN_API_KEY }}
37+
OPTIMISTIC_ETHERSCAN_API_KEY: ${{ secrets.OPTIMISTIC_ETHERSCAN_API_KEY }}
38+
ZKSYNC_EXPLORER_API_KEY: ${{ secrets.ZKSYNC_EXPLORER_API_KEY }}
39+
BASESCAN_API_KEY: ${{ secrets.BASESCAN_API_KEY }}
40+
BARTIO_BERA_EXPLORER_API_KEY: ${{ secrets.BARTIO_BERA_EXPLORER_API_KEY }}
41+
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
42+
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
43+
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
44+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
45+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
4446
get-network:
4547
runs-on: ubuntu-latest
4648
needs: [lint-and-test]
@@ -55,7 +57,7 @@ jobs:
5557
result-encoding: string
5658
script: |
5759
const tag = process.env.GITHUB_REF_NAME;
58-
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)$/;
60+
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)$/;
5961
const matchedNetwork = tag.match(regex);
6062
if (!matchedNetwork) {
6163
console.log("No match found for the network name, defaulting to 'hteth'.");
@@ -65,7 +67,7 @@ jobs:
6567
deploy-batcher-contract-to-test:
6668
runs-on: ubuntu-latest
6769
needs: [lint-and-test, get-network]
68-
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' ) }}
70+
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' ) }}
6971
environment: testnet
7072
steps:
7173
- uses: actions/checkout@v4
@@ -99,6 +101,8 @@ jobs:
99101
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
100102
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
101103
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
104+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
105+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
102106
- name: Update release notes
103107
uses: actions/github-script@v7
104108
with:
@@ -110,7 +114,7 @@ jobs:
110114
deploy-batcher-contract-to-prod:
111115
runs-on: ubuntu-latest
112116
needs: [lint-and-test, get-network]
113-
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' ) }}
117+
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' ) }}
114118
environment: mainnet
115119
steps:
116120
- uses: actions/checkout@v4
@@ -144,6 +148,8 @@ jobs:
144148
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
145149
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
146150
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
151+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
152+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
147153
- name: Update release notes
148154
uses: actions/github-script@v7
149155
with:

.github/workflows/push.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,6 @@ jobs:
4949
OAS_EXPLORER_API_KEY: ${{ secrets.OAS_EXPLORER_API_KEY }}
5050
CORE_DAO_TESTNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_TESTNET_EXPLORER_API_KEY }}
5151
CORE_DAO_MAINNET_EXPLORER_API_KEY: ${{ secrets.CORE_DAO_MAINNET_EXPLORER_API_KEY }}
52+
FLARE_EXPLORER_API_KEY: ${{ secrets.FLARE_EXPLORER_API_KEY }}
53+
SONGBIRD_EXPLORER_API_KEY: ${{ secrets.SONGBIRD_EXPLORER_API_KEY }}
5254
- run: npm run lint

hardhat.config.ts

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ const {
3333
BARTIO_BERA_EXPLORER_API_KEY,
3434
OAS_EXPLORER_API_KEY,
3535
CORE_DAO_TESTNET_EXPLORER_API_KEY,
36-
CORE_DAO_MAINNET_EXPLORER_API_KEY
36+
CORE_DAO_MAINNET_EXPLORER_API_KEY,
37+
FLARE_EXPLORER_API_KEY,
38+
SONGBIRD_EXPLORER_API_KEY
3739
} = process.env;
3840

3941
const config: HardhatUserConfig = {
@@ -169,6 +171,38 @@ const config: HardhatUserConfig = {
169171
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
170172
]
171173
},
174+
tflare: {
175+
url: `https://coston2-api.flare.network/ext/C/rpc`,
176+
accounts: [
177+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
178+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
179+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
180+
]
181+
},
182+
tsongbird: {
183+
url: `https://coston-api.flare.network/ext/C/rpc`,
184+
accounts: [
185+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
186+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
187+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
188+
]
189+
},
190+
flare: {
191+
url: `https://flare-api.flare.network/ext/C/rpc`,
192+
accounts: [
193+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
194+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
195+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
196+
]
197+
},
198+
songbird: {
199+
url: `https://songbird-api.flare.network/ext/C/rpc`,
200+
accounts: [
201+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
202+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
203+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
204+
]
205+
},
172206
tavaxc: {
173207
url: 'https://api.avax-test.network/ext/C/rpc',
174208
accounts: [`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`]
@@ -213,6 +247,12 @@ const config: HardhatUserConfig = {
213247
//Core Dao
214248
coredaoTestnet: `${CORE_DAO_TESTNET_EXPLORER_API_KEY}`,
215249
coredaoMainnet: `${CORE_DAO_MAINNET_EXPLORER_API_KEY}`,
250+
//Flare
251+
flareTestnet: `${FLARE_EXPLORER_API_KEY}`,
252+
flareMainnet: `${FLARE_EXPLORER_API_KEY}`,
253+
//Songbird
254+
songbirdTestnet: `${SONGBIRD_EXPLORER_API_KEY}`,
255+
songbirdMainnet: `${SONGBIRD_EXPLORER_API_KEY}`,
216256
//avaxc
217257
// there is free api key for avaxc, so make use of 2 req/sec
218258
avaxc: 'sampleapikey',
@@ -341,6 +381,38 @@ const config: HardhatUserConfig = {
341381
'https://api.routescan.io/v2/network/testnet/evm/43113/etherscan/api',
342382
browserURL: 'https://testnet.snowtrace.io/'
343383
}
384+
},
385+
{
386+
network: 'flareTestnet',
387+
chainId: 114,
388+
urls: {
389+
apiURL: 'https://coston2-explorer.flare.network/api',
390+
browserURL: 'https://coston2-explorer.flare.network'
391+
}
392+
},
393+
{
394+
network: 'flareMainnet',
395+
chainId: 14,
396+
urls: {
397+
apiURL: 'https://flare-explorer.flare.network/api',
398+
browserURL: 'https://flare-explorer.flare.network'
399+
}
400+
},
401+
{
402+
network: 'songbirdTestnet',
403+
chainId: 16,
404+
urls: {
405+
apiURL: 'https://coston-explorer.flare.network/api',
406+
browserURL: 'https://coston-explorer.flare.network'
407+
}
408+
},
409+
{
410+
network: 'songbirdMainnet',
411+
chainId: 19,
412+
urls: {
413+
apiURL: 'https://songbird-explorer.flare.network/api ',
414+
browserURL: 'https://songbird.flarescan.com'
415+
}
344416
}
345417
]
346418
},

scripts/deploy.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ async function main() {
123123
forwarderFactoryContractName = 'ForwarderFactoryV4';
124124
contractPath = `contracts/${walletImplementationContractName}.sol:${walletImplementationContractName}`;
125125
break;
126+
//Flare
127+
case 14:
128+
case 114:
129+
//Songbird
130+
case 19:
131+
case 16:
126132
// oas
127133
case 9372:
128134
case 248:

0 commit comments

Comments
 (0)