Skip to content

Commit 861b87c

Browse files
Merge pull request #222 from BitGo/WIN-5780-pharos-contracts-testnet
Win 5780 pharos contracts testnet
2 parents 63d6beb + 869fc58 commit 861b87c

File tree

5 files changed

+55
-8
lines changed

5 files changed

+55
-8
lines changed

.github/workflows/deploy_and_release.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
5353
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
5454
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
55+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
5556

5657
get-network:
5758
runs-on: ubuntu-latest
@@ -67,13 +68,13 @@ jobs:
6768
result-encoding: string
6869
script: |
6970
const tag = process.env.GITHUB_REF_NAME;
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)$/;
71+
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|tphrs|phrs)$/;
7172
const network = tag.match(regex);
7273
return network ? network[1] : "hteth";
7374
deploy-to-test:
7475
runs-on: ubuntu-latest
7576
needs: [lint-and-test, get-network]
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' ) }}
77+
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' ) || (needs.get-network.outputs.network == 'tphrs' ) }}
7778
environment: testnet
7879
steps:
7980
- uses: actions/checkout@v2
@@ -121,6 +122,7 @@ jobs:
121122
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
122123
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
123124
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
125+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
124126
- name: Update release notes
125127
uses: actions/github-script@v6
126128
with:
@@ -152,7 +154,7 @@ jobs:
152154
deploy-to-prod:
153155
runs-on: ubuntu-latest
154156
needs: [lint-and-test, get-network]
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' ) }}
157+
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' ) || (needs.get-network.outputs.network == 'phrs' ) }}
156158
environment: mainnet
157159
steps:
158160
- uses: actions/checkout@v2
@@ -200,6 +202,7 @@ jobs:
200202
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
201203
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
202204
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
205+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
203206
- name: Update release notes
204207
uses: actions/github-script@v6
205208
with:

.github/workflows/deploy_batcher_contract.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ jobs:
5252
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
5353
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
5454
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
55+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
5556
get-network:
5657
runs-on: ubuntu-latest
5758
needs: [lint-and-test]
@@ -66,7 +67,7 @@ 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|flr|tflr|sgb|tsgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|tworld|world|tapechain|apechain)$/;
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|flr|tflr|sgb|tsgb|txdc|xdc|twemix|wemix|tmon|mon|tstt|stt|tsoneium|soneium|tworld|world|tapechain|apechain|tphrs|phrs)$/;
7071
const matchedNetwork = tag.match(regex);
7172
if (!matchedNetwork) {
7273
console.log("No match found for the network name, defaulting to 'hteth'.");
@@ -76,7 +77,7 @@ jobs:
7677
deploy-batcher-contract-to-test:
7778
runs-on: ubuntu-latest
7879
needs: [lint-and-test, get-network]
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' ) }}
80+
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' ) || (needs.get-network.outputs.network == 'tphrs' )}}
8081
environment: testnet
8182
steps:
8283
- uses: actions/checkout@v4
@@ -122,6 +123,7 @@ jobs:
122123
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
123124
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
124125
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
126+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
125127
- name: Update release notes
126128
uses: actions/github-script@v7
127129
with:
@@ -133,7 +135,7 @@ jobs:
133135
deploy-batcher-contract-to-prod:
134136
runs-on: ubuntu-latest
135137
needs: [lint-and-test, get-network]
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' ) }}
138+
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' ) || (needs.get-network.outputs.network == 'phrs' )}}
137139
environment: mainnet
138140
steps:
139141
- uses: actions/checkout@v4
@@ -179,6 +181,7 @@ jobs:
179181
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
180182
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
181183
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
184+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
182185
- name: Update release notes
183186
uses: actions/github-script@v7
184187
with:

.github/workflows/push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,5 @@ jobs:
6060
SONEIUM_EXPLORER_API_KEY: ${{ secrets.SONEIUM_EXPLORER_API_KEY }}
6161
WORLD_EXPLORER_API_KEY: ${{ secrets.WORLD_EXPLORER_API_KEY }}
6262
APECHAIN_EXPLORER_API_KEY: ${{ secrets.APECHAIN_EXPLORER_API_KEY }}
63+
PHAROS_EXPLORER_API_KEY: ${{ secrets.PHAROS_EXPLORER_API_KEY }}
6364
- run: npm run lint

hardhat.config.ts

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ const {
4444
SOMNIA_EXPLORER_API_KEY,
4545
SONEIUM_EXPLORER_API_KEY,
4646
WORLD_EXPLORER_API_KEY,
47-
APECHAIN_EXPLORER_API_KEY
47+
APECHAIN_EXPLORER_API_KEY,
48+
PHAROS_EXPLORER_API_KEY
4849
} = process.env;
4950

5051
const PLACEHOLDER_KEY: string =
@@ -417,6 +418,22 @@ const config: HardhatUserConfig = {
417418
`${PLACEHOLDER_KEY}`,
418419
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
419420
]
421+
},
422+
tphrs: {
423+
url: `https://testnet.dplabs-internal.com`,
424+
accounts: [
425+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
426+
`${PLACEHOLDER_KEY}`,
427+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
428+
]
429+
},
430+
phrs: {
431+
url: `https://testnet.dplabs-internal.com`, // TODO: WIN-5781: change with mainnet url when its available
432+
accounts: [
433+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
434+
`${PLACEHOLDER_KEY}`,
435+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
436+
]
420437
}
421438
},
422439
gasReporter: {
@@ -484,7 +501,10 @@ const config: HardhatUserConfig = {
484501
worldMainnet: `${WORLD_EXPLORER_API_KEY}`,
485502
//Apechain
486503
apechainTestnet: `${APECHAIN_EXPLORER_API_KEY}`,
487-
apechainMainnet: `${APECHAIN_EXPLORER_API_KEY}`
504+
apechainMainnet: `${APECHAIN_EXPLORER_API_KEY}`,
505+
//Pharos
506+
pharosTestnet: `${PHAROS_EXPLORER_API_KEY}`,
507+
pharosMainnet: `${PHAROS_EXPLORER_API_KEY}`
488508
},
489509
customChains: [
490510
{
@@ -651,6 +671,23 @@ const config: HardhatUserConfig = {
651671
browserURL: 'https://apescan.io/'
652672
}
653673
},
674+
{
675+
network: 'pharosTestnet',
676+
chainId: 688688,
677+
urls: {
678+
apiURL:
679+
'https://api.socialscan.io/pharos-testnet/v1/explorer/command_api/contract',
680+
browserURL: 'https://testnet.pharosscan.xyz'
681+
}
682+
},
683+
{
684+
network: 'pharosMainnet',
685+
chainId: 688688, // TODO: WIN-5781: change it with mainnet details, when its available
686+
urls: {
687+
apiURL: '', // TODO: WIN-5781: change it with mainnet details, when its available
688+
browserURL: '' // TODO: WIN-5781: change it with mainnet details, when its available
689+
}
690+
},
654691
{
655692
network: 'soneiumTestnet',
656693
chainId: 1946,

scripts/deploy.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ async function main() {
132132
// Apechain
133133
case 33111:
134134
case 33139:
135+
// Pharos
136+
case 688688:
137+
// TODO: WIN-5781: add chain id once pharos mainnet is release
135138
// coredao
136139
case 1114:
137140
case 1116:

0 commit comments

Comments
 (0)