Skip to content

Commit 37d4b65

Browse files
committed
add explorer configs
1 parent f3aea08 commit 37d4b65

File tree

1 file changed

+186
-56
lines changed

1 file changed

+186
-56
lines changed

packages/app/src/utils/explorers.ts

Lines changed: 186 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ interface ExplorerData {
66
networkExplorerApiUrl: string
77
safeTransactionApi: string
88
safeUrl: string
9-
explorerApiKey?: string
109
verifyContractUrl: string
1110
}
1211

12+
const ETHERSCAN_API_KEY = '6RJ8KT4B1S9V7E3CIYECNY7HFW8IPWQ3C4'
13+
1314
export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
1415
[NETWORK.MAINNET]: {
1516
networkExplorerName: 'Etherscan',
@@ -18,7 +19,6 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
1819
safeTransactionApi: 'https://safe-transaction-mainnet.safe.global/',
1920
safeUrl: 'https://app.safe.global/eth:',
2021
verifyContractUrl: 'https://etherscan.io/verifyContract',
21-
explorerApiKey: '6RJ8KT4B1S9V7E3CIYECNY7HFW8IPWQ3C4',
2222
},
2323
[NETWORK.GNOSIS_CHAIN]: {
2424
networkExplorerName: 'GnosisScan',
@@ -27,7 +27,30 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
2727
safeUrl: 'https://app.safe.global/gno:',
2828
safeTransactionApi: 'https://safe-transaction-gnosis-chain.safe.global/',
2929
verifyContractUrl: 'https://gnosisscan.io/verifyContract',
30-
explorerApiKey: 'ZWZWSHX4X7K8G1ZFRETI4DERP2ZI5Y2QGF',
30+
},
31+
[NETWORK.GOERLI]: {
32+
networkExplorerName: 'Etherscan',
33+
networkExplorerUrl: 'https://goerli.etherscan.io',
34+
networkExplorerApiUrl: 'https://api-goerli.etherscan.io/api',
35+
safeTransactionApi: 'https://safe-transaction-goerli.safe.global/',
36+
safeUrl: 'https://app.safe.global/gor:',
37+
verifyContractUrl: 'https://goerli.etherscan.io/verifyContract',
38+
},
39+
[NETWORK.ARBITRUM]: {
40+
networkExplorerName: 'Arbiscan',
41+
networkExplorerUrl: 'https://arbiscan.io/',
42+
networkExplorerApiUrl: 'https://api.arbiscan.io/api',
43+
safeTransactionApi: 'https://safe-transaction-arbitrum.safe.global/',
44+
safeUrl: 'https://app.safe.global/arb1:',
45+
verifyContractUrl: 'https://arbiscan.io/verifyContract',
46+
},
47+
[NETWORK.OPTIMISM]: {
48+
networkExplorerName: 'Optimism',
49+
networkExplorerUrl: 'https://optimistic.etherscan.io/',
50+
networkExplorerApiUrl: 'https://api-optimistic.etherscan.io/api',
51+
safeTransactionApi: 'https://safe-transaction-optimism.safe.global/',
52+
safeUrl: 'https://app.safe.global/oeth:',
53+
verifyContractUrl: 'https://optimistic.etherscan.io/verifyContract',
3154
},
3255
[NETWORK.POLYGON]: {
3356
networkExplorerName: 'Polygonscan',
@@ -36,7 +59,6 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
3659
safeUrl: 'https://app.safe.global/matic:',
3760
safeTransactionApi: 'https://safe-transaction-polygon.safe.global/',
3861
verifyContractUrl: 'https://polygonscan.com/verifyContract',
39-
explorerApiKey: 'NM937M1IZXVQ6QVDXS73XMF8JSAB677JWQ',
4062
},
4163
[NETWORK.ZKEVM]: {
4264
networkExplorerName: 'Polygonscan',
@@ -45,7 +67,14 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
4567
safeTransactionApi: 'https://safe-transaction-zkevm.safe.global/',
4668
safeUrl: 'https://app.safe.global/zkevm:',
4769
verifyContractUrl: 'https://zkevm.polygonscan.com/verifyContract',
48-
explorerApiKey: 'NM937M1IZXVQ6QVDXS73XMF8JSAB677JWQ',
70+
},
71+
[NETWORK.AVALANCHE]: {
72+
networkExplorerName: 'Snowtrace',
73+
networkExplorerUrl: 'https://snowtrace.io/',
74+
networkExplorerApiUrl: 'https://api.snowtrace.io/api',
75+
safeTransactionApi: 'https://safe-transaction-avalanche.safe.global/',
76+
safeUrl: 'https://app.safe.global/avax:',
77+
verifyContractUrl: 'https://snowtrace.io/verifyContract',
4978
},
5079
[NETWORK.BSC]: {
5180
networkExplorerName: 'BscScan',
@@ -54,34 +83,30 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
5483
safeUrl: 'https://app.safe.global/bsc:',
5584
safeTransactionApi: 'https://safe-transaction-bsc.safe.global/',
5685
verifyContractUrl: 'https://bscscan.com/verifyContract',
57-
explorerApiKey: 'AMXEAU3N9P7RJHFSZ7KAJDRY5MFJ1N29D6',
5886
},
59-
[NETWORK.OPTIMISM]: {
60-
networkExplorerName: 'Optimism',
61-
networkExplorerUrl: 'https://optimistic.etherscan.io/',
62-
networkExplorerApiUrl: 'https://api-optimistic.etherscan.io/api',
63-
safeTransactionApi: 'https://safe-transaction-optimism.safe.global/',
64-
safeUrl: 'https://app.safe.global/oeth:',
65-
verifyContractUrl: 'https://optimistic.etherscan.io/verifyContract',
66-
explorerApiKey: 'IG8IW3N3CKCZPV5U14HQ56K9TEPX9SWXX4',
87+
[NETWORK.HARDHAT_NETWORK]: {
88+
networkExplorerName: 'Hardhat',
89+
networkExplorerUrl: 'http://localhost:8545',
90+
networkExplorerApiUrl: 'http://localhost:8545',
91+
safeTransactionApi: 'http://localhost:8545',
92+
safeUrl: 'http://localhost:8545',
93+
verifyContractUrl: 'http://localhost:8545',
6794
},
68-
[NETWORK.ARBITRUM]: {
69-
networkExplorerName: 'Arbiscan',
70-
networkExplorerUrl: 'https://arbiscan.io/',
71-
networkExplorerApiUrl: 'https://api.arbiscan.io/api',
72-
safeTransactionApi: 'https://safe-transaction-arbitrum.safe.global/',
73-
safeUrl: 'https://app.safe.global/arb1:',
74-
verifyContractUrl: 'https://arbiscan.io/verifyContract',
75-
explorerApiKey: 'CSITWCYI9UDAJ7QS92FNVJ2XQP5B23P4J9',
95+
[NETWORK.LINEA]: {
96+
networkExplorerName: 'Lineascan',
97+
networkExplorerUrl: 'https://lineascan.build',
98+
networkExplorerApiUrl: 'https://api.lineascan.build/api',
99+
safeTransactionApi: 'https://safe-transaction-linea.safe.global/',
100+
safeUrl: 'https://app.safe.global/linea:',
101+
verifyContractUrl: 'https://lineascan.build/verifyContract',
76102
},
77-
[NETWORK.AVALANCHE]: {
78-
networkExplorerName: 'Snowtrace',
79-
networkExplorerUrl: 'https://snowtrace.io/',
80-
networkExplorerApiUrl: 'https://api.snowtrace.io/api',
81-
safeTransactionApi: 'https://safe-transaction-avalanche.safe.global/',
82-
safeUrl: 'https://app.safe.global/avax:',
83-
verifyContractUrl: 'https://snowtrace.io/verifyContract',
84-
explorerApiKey: 'IAST9REKWMIW1QSE2M7K2IKKAZVNQPHC1U',
103+
[NETWORK.LINEA_GOERLI]: {
104+
networkExplorerName: 'Lineascan',
105+
networkExplorerUrl: 'https://goerli.lineascan.build',
106+
networkExplorerApiUrl: 'https://api-testnet.lineascan.build/api',
107+
safeTransactionApi: 'https://safe-transaction-linea-goerli.safe.global/',
108+
safeUrl: 'https://app.safe.global/linea-goerli:',
109+
verifyContractUrl: 'https://goerli.lineascan.build/verifyContract',
85110
},
86111
[NETWORK.SEPOLIA]: {
87112
networkExplorerName: 'Etherscan',
@@ -90,7 +115,14 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
90115
safeTransactionApi: 'https://safe-transaction-sepolia.safe.global/',
91116
safeUrl: 'https://app.safe.global/sep:',
92117
verifyContractUrl: 'https://sepolia.etherscan.io/verifyContract',
93-
explorerApiKey: '6RJ8KT4B1S9V7E3CIYECNY7HFW8IPWQ3C4',
118+
},
119+
[NETWORK.BASE]: {
120+
networkExplorerName: 'Basescan',
121+
networkExplorerUrl: 'https://basescan.org',
122+
networkExplorerApiUrl: 'https://api.basescan.org/api',
123+
safeTransactionApi: 'https://safe-transaction-base.safe.global',
124+
safeUrl: 'https://app.safe.global/base:',
125+
verifyContractUrl: 'https://basescan.org/verifyContract',
94126
},
95127
[NETWORK.BASE_SEPOLIA]: {
96128
networkExplorerName: 'BaseScan',
@@ -99,43 +131,30 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
99131
safeTransactionApi: 'https://safe-transaction-base-sepolia.safe.global/',
100132
safeUrl: 'https://app.safe.global/basesep:',
101133
verifyContractUrl: 'https://sepolia.basescan.org/verifyContract',
102-
explorerApiKey: 'ZSBW5JZVFZIB19V7YBG14KQFTUXFT8BDNS',
103134
},
104-
[NETWORK.BASE]: {
105-
networkExplorerName: 'Basescan',
106-
networkExplorerUrl: 'https://basescan.org',
107-
networkExplorerApiUrl: 'https://api.basescan.org/api',
108-
safeTransactionApi: 'https://safe-transaction-base.safe.global',
109-
safeUrl: 'https://app.safe.global/base:',
110-
verifyContractUrl: 'https://basescan.org/verifyContract',
111-
explorerApiKey: 'ZSBW5JZVFZIB19V7YBG14KQFTUXFT8BDNS',
112-
},
113-
// [NETWORK.MANTLE]: {
114-
// networkExplorerName: 'Mantlescan',
115-
// networkExplorerUrl: 'https://mantlescan.xyz',
116-
// networkExplorerApiUrl: 'https://api.mantlescan.xyz/api',
117-
// safeTransactionApi: 'https://safe-transaction-mantle.safe.global/',
118-
// safeUrl: 'https://app.safe.global/mantle:',
119-
// verifyContractUrl: 'https://mantlescan.xyz/verifyContract',
120-
// explorerApiKey: 'XGKTSFD523UP64KEFWD5EDA5W1N6BBXZFT',
121-
// },
135+
[NETWORK.MANTLE]: {
136+
networkExplorerName: 'Mantlescan',
137+
networkExplorerUrl: 'https://mantlescan.xyz',
138+
networkExplorerApiUrl: 'https://api.mantlescan.xyz/api',
139+
safeTransactionApi: 'https://safe-transaction-mantle.safe.global/',
140+
safeUrl: 'https://app.safe.global/mantle:',
141+
verifyContractUrl: 'https://mantlescan.xyz/verifyContract',
142+
},
122143
[NETWORK.BERACHAIN]: {
123144
networkExplorerName: 'Berascan',
124145
networkExplorerUrl: 'https://berascan.com',
125146
networkExplorerApiUrl: 'https://api.berascan.com/api',
126147
safeTransactionApi: 'https://safe-transaction-berachain.safe.global/',
127148
safeUrl: 'https://app.safe.global/berachain:',
128149
verifyContractUrl: 'https://berascan.com/verifyContract',
129-
explorerApiKey: 'X39RQV6MWGUB3W4NC4VI6YM4MTYMCFN8Y9',
130150
},
131151
[NETWORK.SONIC]: {
132152
networkExplorerName: 'Sonicscan',
133-
networkExplorerUrl: 'https://sonicscan.org',
153+
networkExplorerUrl: 'https://explorer.soniclabs.com',
134154
networkExplorerApiUrl: 'https://api.sonicscan.org/api',
135155
safeTransactionApi: 'https://safe-transaction-sonic.safe.global/',
136156
safeUrl: 'https://app.safe.global/sonic:',
137-
verifyContractUrl: 'https://sonicscan.org/verifyContract',
138-
explorerApiKey: '4PKXQYT2DGQXHSINRFY4UM8RUFJHR9V1TX',
157+
verifyContractUrl: 'https://explorer.soniclabs.com/verifyContract',
139158
},
140159
[NETWORK.CELO]: {
141160
networkExplorerName: 'Celoscan',
@@ -144,7 +163,118 @@ export const EXPLORERS_CONFIG: Record<NETWORK, ExplorerData> = {
144163
safeTransactionApi: 'https://safe-transaction-celo.safe.global/',
145164
safeUrl: 'https://app.safe.global/celo:',
146165
verifyContractUrl: 'https://celoscan.io/verifyContract',
147-
explorerApiKey: '8ME8R1XQAGXK15UXPAFI46JTPP5NQ7WEMC',
166+
},
167+
[NETWORK.BOB]: {
168+
networkExplorerName: 'Bobscout',
169+
networkExplorerUrl: 'https://explorer.gobob.xyz',
170+
networkExplorerApiUrl: 'https://api.gobob.xyz/api',
171+
safeTransactionApi: 'https://safe-transaction-bob.safe.global/',
172+
safeUrl: 'https://app.safe.global/bob:',
173+
verifyContractUrl: 'https://explorer.gobob.xyz/verifyContract',
174+
},
175+
[NETWORK.HYPER_EVM]: {
176+
networkExplorerName: 'Wanscan',
177+
networkExplorerUrl: 'https://purrsec.com',
178+
networkExplorerApiUrl: 'https://api.purrsec.com/api',
179+
safeTransactionApi: 'https://safe-transaction-hyper-evm.safe.global/',
180+
safeUrl: 'https://app.safe.global/hyperevm:',
181+
verifyContractUrl: '',
182+
},
183+
[NETWORK.WORLD_CHAIN]: {
184+
networkExplorerName: 'Worldscan',
185+
networkExplorerUrl: 'https://explorer.worldcoin.org',
186+
networkExplorerApiUrl: 'https://api.worldcoin.org/api',
187+
safeTransactionApi: 'https://safe-transaction-world-chain.safe.global/',
188+
safeUrl: 'https://app.safe.global/wc:',
189+
verifyContractUrl: 'https://explorer.worldcoin.org/verifyContract',
190+
},
191+
[NETWORK.FLARE]: {
192+
networkExplorerName: 'Flare Explorer',
193+
networkExplorerUrl: 'https://flare-explorer.flare.network',
194+
networkExplorerApiUrl: 'https://api.flare.network/api',
195+
safeTransactionApi: 'https://safe-transaction-flare.safe.global/',
196+
safeUrl: 'https://app.safe.global/flr:',
197+
verifyContractUrl: 'https://flare-explorer.flare.network/verifyContract',
198+
},
199+
[NETWORK.INK]: {
200+
networkExplorerName: 'Ink Explorer',
201+
networkExplorerUrl: 'https://explorer.ink',
202+
networkExplorerApiUrl: 'https://api.ink/api',
203+
safeTransactionApi: 'https://safe-transaction-ink.safe.global/',
204+
safeUrl: 'https://app.safe.global/ink:',
205+
verifyContractUrl: 'https://explorer.ink/verifyContract',
206+
},
207+
[NETWORK.HEMI]: {
208+
networkExplorerName: 'Hemi Explorer',
209+
networkExplorerUrl: 'https://explorer.hemi.network',
210+
networkExplorerApiUrl: 'https://api.hemi.network/api',
211+
safeTransactionApi: 'https://safe-transaction-hemi.safe.global/',
212+
safeUrl: 'https://app.safe.global/hemi:',
213+
verifyContractUrl: 'https://explorer.hemi.network/verifyContract',
214+
},
215+
[NETWORK.KATANA]: {
216+
networkExplorerName: 'Katana Explorer',
217+
networkExplorerUrl: 'https://explorer.katana.network',
218+
networkExplorerApiUrl: 'https://api.katana.network/api',
219+
safeTransactionApi: 'https://safe-transaction-katana.safe.global/',
220+
safeUrl: 'https://app.safe.global/katana:',
221+
verifyContractUrl: 'https://explorer.katana.network/verifyContract',
222+
},
223+
[NETWORK.LENS]: {
224+
networkExplorerName: 'Lens Explorer',
225+
networkExplorerUrl: 'https://explorer.lens.xyz',
226+
networkExplorerApiUrl: 'https://api.lens.xyz/api',
227+
safeTransactionApi: 'https://safe-transaction-lens.safe.global/',
228+
safeUrl: 'https://app.safe.global/lens:',
229+
verifyContractUrl: 'https://explorer.lens.xyz/verifyContract',
230+
},
231+
[NETWORK.PEAQ]: {
232+
networkExplorerName: 'Peaq Explorer',
233+
networkExplorerUrl: 'https://explorer.peaq.network',
234+
networkExplorerApiUrl: 'https://api.peaq.network/api',
235+
safeTransactionApi: 'https://safe-transaction-peaq.safe.global/',
236+
safeUrl: 'https://app.safe.global/PEAQ:',
237+
verifyContractUrl: 'https://explorer.peaq.network/verifyContract',
238+
},
239+
[NETWORK.UNICHAIN]: {
240+
networkExplorerName: 'Unichain Explorer',
241+
networkExplorerUrl: 'https://explorer.unichain.world',
242+
networkExplorerApiUrl: 'https://api.unichain.world/api',
243+
safeTransactionApi: 'https://safe-transaction-unichain.safe.global/',
244+
safeUrl: 'https://app.safe.global/unichain:',
245+
verifyContractUrl: 'https://explorer.unichain.world/verifyContract',
246+
},
247+
[NETWORK.ZKSYNC]: {
248+
networkExplorerName: 'zkScan',
249+
networkExplorerUrl: 'https://explorer.zksync.io',
250+
networkExplorerApiUrl: 'https://api.zksync.io/api',
251+
safeTransactionApi: 'https://safe-transaction-zksync.safe.global/',
252+
safeUrl: 'https://app.safe.global/zksync:',
253+
verifyContractUrl: 'https://explorer.zksync.io/verifyContract',
254+
},
255+
[NETWORK.SCROLL]: {
256+
networkExplorerName: 'Scrollscan',
257+
networkExplorerUrl: 'https://scrollscan.com',
258+
networkExplorerApiUrl: 'https://api.scrollscan.com/api',
259+
safeTransactionApi: 'https://safe-transaction-scroll.safe.global/',
260+
safeUrl: 'https://app.safe.global/scroll:',
261+
verifyContractUrl: 'https://scrollscan.com/verifyContract',
262+
},
263+
[NETWORK.AURORA]: {
264+
networkExplorerName: 'Aurorascan',
265+
networkExplorerUrl: 'https://aurorascan.dev',
266+
networkExplorerApiUrl: 'https://api.aurorascan.dev/api',
267+
safeTransactionApi: 'https://safe-transaction-aurora.safe.global/',
268+
safeUrl: 'https://app.safe.global/aurora:',
269+
verifyContractUrl: 'https://aurorascan.dev/verifyContract',
270+
},
271+
[NETWORK.GNOSIS_CHIADO]: {
272+
networkExplorerName: 'Chiado Explorer',
273+
networkExplorerUrl: 'https://blockscout.chiadochain.net',
274+
networkExplorerApiUrl: 'https://blockscout.chiadochain.net/api',
275+
safeTransactionApi: 'https://safe-transaction-gnosis-chiado.safe.global/',
276+
safeUrl: 'https://app.safe.global/chi:',
277+
verifyContractUrl: 'https://blockscout.chiadochain.net/verifyContract',
148278
},
149279
}
150280

@@ -155,7 +285,7 @@ export const getNetworkExplorerInfo = (chainId: number) => {
155285
name: networkBaseConfig.networkExplorerName,
156286
url: networkBaseConfig.networkExplorerUrl,
157287
apiUrl: networkBaseConfig.networkExplorerApiUrl,
158-
apiKey: networkBaseConfig.explorerApiKey,
288+
apiKey: ETHERSCAN_API_KEY,
159289
safeTransactionApi: networkBaseConfig.safeTransactionApi,
160290
safeUrl: networkBaseConfig.safeUrl,
161291
verifyUrl: networkBaseConfig.verifyContractUrl,

0 commit comments

Comments
 (0)