@@ -196,3 +196,147 @@ func GetCoinExploreURL(c Coin, tokenID, tokenType string) (string, error) {
196196
197197 return "" , errors .New ("no explorer for coin: " + c .Handle )
198198}
199+
200+ // nolint:cyclop
201+ func GetAddressExploreURL (c Coin , address string ) (string , error ) {
202+ switch c .ID {
203+ case ETHEREUM :
204+ return fmt .Sprintf ("https://etherscan.io/address/%s" , address ), nil
205+ case TRON :
206+ return fmt .Sprintf ("https://tronscan.io/#/address/%s" , address ), nil
207+ case BINANCE :
208+ return fmt .Sprintf ("https://explorer.binance.org/address/%s" , address ), nil
209+ case SMARTCHAIN :
210+ return fmt .Sprintf ("https://bscscan.com/address/%s" , address ), nil
211+ case EOS :
212+ return fmt .Sprintf ("https://bloks.io/account/%s" , address ), nil
213+ case NULS :
214+ return fmt .Sprintf ("https://nulscan.io/token/info?address=%s" , address ), nil
215+ case WANCHAIN :
216+ return fmt .Sprintf ("https://www.wanscan.org/address/%s" , address ), nil
217+ case SOLANA :
218+ return fmt .Sprintf ("https://solscan.io/account/%s" , address ), nil
219+ case TOMOCHAIN :
220+ return fmt .Sprintf ("https://tomoscan.io/address/%s" , address ), nil
221+ case KAVA :
222+ return "https://www.mintscan.io/kava" , nil
223+ case ONTOLOGY :
224+ return "https://explorer.ont.io" , nil
225+ case GOCHAIN :
226+ return fmt .Sprintf ("https://explorer.gochain.io/addr/%s" , address ), nil
227+ case THETA :
228+ return "https://explorer.thetatoken.org/" , nil
229+ case THUNDERTOKEN :
230+ return fmt .Sprintf ("https://explorer-mainnet.thundercore.com/address/%s" , address ), nil
231+ case CLASSIC :
232+ return fmt .Sprintf ("https://blockscout.com/etc/mainnet/address/%s" , address ), nil
233+ case VECHAIN :
234+ return fmt .Sprintf ("https://explore.vechain.org/accounts/%s" , address ), nil
235+ case WAVES :
236+ return fmt .Sprintf ("https://wavesexplorer.com/addresses/%s" , address ), nil
237+ case XDAI :
238+ return fmt .Sprintf ("https://blockscout.com/xdai/mainnet/address/%s" , address ), nil
239+ case POLYGON :
240+ return fmt .Sprintf ("https://polygonscan.com/address/%s" , address ), nil
241+ case OPTIMISM :
242+ return fmt .Sprintf ("https://optimistic.etherscan.io/address/%s" , address ), nil
243+ case AVALANCHEC :
244+ return fmt .Sprintf ("https://snowtrace.io/address/%s" , address ), nil
245+ case ARBITRUM :
246+ return fmt .Sprintf ("https://arbiscan.io/address/%s" , address ), nil
247+ case FANTOM :
248+ return fmt .Sprintf ("https://explorer.fantom.network/address/%s" , address ), nil // not working
249+ case TERRA :
250+ return fmt .Sprintf ("https://finder.terra.money/mainnet/address/%s" , address ), nil
251+ case RONIN :
252+ return fmt .Sprintf ("https://explorer.roninchain.com/address/%s" , address ), nil
253+ case CELO :
254+ return fmt .Sprintf ("https://explorer.celo.org/mainnet/address/%s" , address ), nil
255+ case ELROND :
256+ return fmt .Sprintf ("https://explorer.multiversx.com/accounts/%s" , address ), nil
257+ case CRONOS :
258+ return fmt .Sprintf ("https://explorer.cronos.org/address/%s" , address ), nil
259+ case STELLAR :
260+ return fmt .Sprintf ("https://stellar.expert/explorer/public/account/%s" , address ), nil
261+ case KCC :
262+ return fmt .Sprintf ("https://explorer.kcc.io/address/%s" , address ), nil
263+ case AURORA :
264+ return fmt .Sprintf ("https://aurorascan.dev/address/%s" , address ), nil
265+ case KAVAEVM :
266+ return fmt .Sprintf ("https://explorer.kava.io/address/%s" , address ), nil
267+ case METER :
268+ return fmt .Sprintf ("https://scan.meter.io/address/%s" , address ), nil
269+ case APTOS :
270+ return fmt .Sprintf ("https://explorer.aptoslabs.com/account/%s?network=mainnet" , address ), nil
271+ case MOONBEAM :
272+ return fmt .Sprintf ("https://moonscan.io/address/%s" , address ), nil
273+ case KLAYTN :
274+ return fmt .Sprintf ("https://kaiascan.io/address/%s" , address ), nil
275+ case METIS :
276+ return fmt .Sprintf ("https://andromeda-explorer.metis.io/address/%s" , address ), nil
277+ case MOONRIVER :
278+ return fmt .Sprintf ("https://moonriver.moonscan.io/address/%s" , address ), nil
279+ case BOBA :
280+ return fmt .Sprintf ("https://bobascan.com/address/%s" , address ), nil
281+ case TON :
282+ return fmt .Sprintf ("https://tonscan.org/address/%s" , address ), nil
283+ case POLYGONZKEVM :
284+ return fmt .Sprintf ("https://explorer.public.zkevm-test.net/address/%s" , address ), nil
285+ case ZKSYNC :
286+ return fmt .Sprintf ("https://explorer.zksync.io/address/%s" , address ), nil
287+ case SUI :
288+ return fmt .Sprintf ("https://explorer.sui.io/address/%s" , address ), nil
289+ case STRIDE :
290+ return fmt .Sprintf ("https://www.mintscan.io/stride/account/%s" , address ), nil
291+ case NEUTRON :
292+ return fmt .Sprintf ("https://www.mintscan.io/neutron/account/%s" , address ), nil
293+ case IOTEXEVM :
294+ return fmt .Sprintf ("https://iotexscan.io/address/%s#transactions" , address ), nil
295+ case CRYPTOORG :
296+ return fmt .Sprintf ("https://crypto.org/explorer/account/%s" , address ), nil
297+ case TEZOS :
298+ return fmt .Sprintf ("https://tzstats.com/%s" , address ), nil
299+ case CFXEVM :
300+ return fmt .Sprintf ("https://evm.confluxscan.net/address/%s" , address ), nil
301+ case ACALA :
302+ return fmt .Sprintf ("https://acala.subscan.io/account/%s" , address ), nil
303+ case ACALAEVM :
304+ return fmt .Sprintf ("https://blockscout.acala.network/address/%s" , address ), nil
305+ case BASE :
306+ return fmt .Sprintf ("https://basescan.org/address/%s" , address ), nil
307+ case CARDANO :
308+ return fmt .Sprintf ("https://cexplorer.io/address/%s" , address ), nil
309+ case NEON :
310+ return fmt .Sprintf ("https://neonscan.org/address/%s" , address ), nil
311+ case MANTLE :
312+ return fmt .Sprintf ("https://explorer.mantle.xyz/address/%s" , address ), nil
313+ case LINEA :
314+ return fmt .Sprintf ("https://explorer.linea.build/address/%s" , address ), nil
315+ case OPBNB :
316+ return fmt .Sprintf ("https://opbnbscan.com/address/%s" , address ), nil
317+ case MANTA :
318+ return fmt .Sprintf ("https://pacific-explorer.manta.network/address/%s" , address ), nil
319+ case ZETACHAIN :
320+ return fmt .Sprintf ("https://explorer.zetachain.com/address/%s" , address ), nil
321+ case ZETAEVM :
322+ return fmt .Sprintf ("https://explorer.zetachain.com/address/%s" , address ), nil
323+ case BLAST :
324+ return fmt .Sprintf ("https://blastscan.io/address/%s" , address ), nil
325+ case SCROLL :
326+ return fmt .Sprintf ("https://scrollscan.com/address/%s" , address ), nil
327+ case ZKLINKNOVA :
328+ return fmt .Sprintf ("https://explorer.zklink.io/address/%s" , address ), nil
329+ case RIPPLE :
330+ return fmt .Sprintf ("https://xrpscan.com/account/%s" , address ), nil
331+ case SONIC :
332+ return fmt .Sprintf ("https://sonicscan.org/address/%s" , address ), nil
333+ case TIA :
334+ return "https://www.mintscan.io/celestia" , nil
335+ case DYDX :
336+ return "https://www.mintscan.io/dydx" , nil
337+ case PLASMA :
338+ return fmt .Sprintf ("https://plasmascan.to/address/%s" , address ), nil
339+ }
340+
341+ return "" , errors .New ("no explorer for coin: " + c .Handle )
342+ }
0 commit comments