INNER CODE UNIT · Rust
get_block_explorers
gemwalletcom/wallet · core/crates/block_explorers/src/lib.rs:53
pub fn get_block_explorers(chain: Chain) -> Vec<Box<dyn BlockExplorer>> {
match chain {
Chain::Bitcoin => vec![blockchair::new_bitcoin(), mempool::new(), threexpl::new_bitcoin()],
Chain::BitcoinCash => vec![blockchair::new_bitcoin_cash(), threexpl::new_bitcoin_cash()],
Chain::Litecoin => vec![blockchair::new_litecoin(), threexpl::new_litecoin()],
Chain::Doge => vec![blockchair::new_doge(), threexpl::new_doge()],
Chain::Dash => vec![blockchair::new_dash(), Explorer::boxed(Metadata::new("Dash Explorer", "https://explorer.dash.org/insight"))],
Chain::Zcash => vec![threexpl::new_zcash(), blockchair::new_zcash(), Explorer::boxed(Metadata::new("ZecBlock", "https://zecblock.com"))],
Chain::Ethereum => vec![EtherScan::boxed(EVMChain::Ethereum), blockchair::new_ethereum(), Blocksec::new_ethereum()],
Chain::SmartChain => vec![EtherScan::boxed(EVMChain::SmartChain), blockchair::new_bnb(), Blocksec::new_bsc()],
Chain::Polygon => vec![EtherScan::boxed(EVMChain::Polygon), blockchair::new_polygon(), Blocksec::new_polygon()],
Chain::Arbitrum => vec![EtherScan::boxed(EVMChain::Arbitrum), blockchair::new_arbitrum(), Blocksec::new_arbitrum()],
Chain::Optimism => vec![EtherScan::boxed(EVMChain::Optimism), blockchair::new_optimism(), Blocksec::new_optimism()],
Chain::Base => vec![EtherScan::boxed(EVMChain::Base), blockchair::new_base(), Blocksec::new_base()],
Chain::AvalancheC => vec![EtherScan::boxed(EVMChain::AvalancheC), RouteScan::new_avax(), blockchair::new_avalanche()],
Chain::OpBNB => vec![EtherScan::boxed(EVMChain::OpBNB), blockchair::new_opbnb()],
Chain::Fantom => vec![EtherScan::boxed(EVMChain::Fantom), blockchair::new_fantom()],