UNPKG

@knine-sdk/helpers

Version:

Helpers for Knine projects. Part of Knine JS SDK

51 lines (44 loc) 2.18 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var invariant = require('tiny-invariant'); var constants = require('@knine-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]: 'etherscan.io', [constants.CHAINS.Sepolia]: 'sepolia.etherscan.io', [constants.CHAINS.Puppynet]: 'puppyscan.shib.io', [constants.CHAINS.Shibarium]: 'shibariumscan.io', }; 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}/${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;