UNPKG

@lido-sdk/helpers

Version:

This project is being slowly deprecated and may not receive further updates. Check out [modern Lido SDK](https://github.com/lidofinance/lido-ethereum-sdk/pulls) to access latest functionality. It is actively maintained and is built for interacting with Li

55 lines (48 loc) 2.32 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var invariant = require('tiny-invariant'); var constants = require('@lido-sdk/constants'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant); exports.ETHERSCAN_ENTITIES = void 0; (function (ETHERSCAN_ENTITIES) { ETHERSCAN_ENTITIES["Tx"] = "tx"; ETHERSCAN_ENTITIES["Token"] = "token"; ETHERSCAN_ENTITIES["Address"] = "address"; })(exports.ETHERSCAN_ENTITIES || (exports.ETHERSCAN_ENTITIES = {})); const ETHERSCAN_PREFIX_BY_NETWORK = { [constants.CHAINS.Mainnet]: '', [constants.CHAINS.Ropsten]: 'ropsten.', [constants.CHAINS.Rinkeby]: 'rinkeby.', [constants.CHAINS.Goerli]: 'goerli.', [constants.CHAINS.Kovan]: 'kovan.', [constants.CHAINS.Holesky]: 'holesky.', [constants.CHAINS.Sepolia]: 'sepolia.', [constants.CHAINS.Hoodi]: 'hoodi.', }; const getEtherscanPrefix = (chainId) => { const prefix = ETHERSCAN_PREFIX_BY_NETWORK[chainId]; invariant__default["default"](prefix != null, 'Chain is not supported'); return prefix; }; const getEtherscanLink = (chainId, hash, entity) => { const prefix = getEtherscanPrefix(chainId); invariant__default["default"](hash && typeof hash === 'string', 'Hash should be a string'); invariant__default["default"](entity && typeof entity === 'string', 'Entity should be a string'); return `https://${prefix}etherscan.io/${entity}/${hash}`; }; const getEtherscanTxLink = (chainId, hash) => { return getEtherscanLink(chainId, hash, exports.ETHERSCAN_ENTITIES.Tx); }; const getEtherscanTokenLink = (chainId, hash) => { return getEtherscanLink(chainId, hash, exports.ETHERSCAN_ENTITIES.Token); }; const getEtherscanAddressLink = (chainId, hash) => { return getEtherscanLink(chainId, hash, exports.ETHERSCAN_ENTITIES.Address); }; exports.ETHERSCAN_PREFIX_BY_NETWORK = ETHERSCAN_PREFIX_BY_NETWORK; exports.getEtherscanAddressLink = getEtherscanAddressLink; exports.getEtherscanLink = getEtherscanLink; exports.getEtherscanPrefix = getEtherscanPrefix; exports.getEtherscanTokenLink = getEtherscanTokenLink; exports.getEtherscanTxLink = getEtherscanTxLink;