UNPKG

@xspswap/smart-order-router

Version:
128 lines 9.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.nativeOnChain = exports.ExtendedEther = exports.WRAPPED_NATIVE_CURRENCY = exports.ID_TO_PROVIDER = exports.CHAIN_IDS_LIST = exports.ID_TO_NETWORK_NAME = exports.NATIVE_CURRENCY = exports.NATIVE_NAMES_BY_ID = exports.NativeCurrencyName = exports.ChainName = exports.ID_TO_CHAIN_ID = exports.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES = exports.V2_SUPPORTED = exports.SUPPORTED_CHAINS = exports.ChainId = void 0; const sdk_core_1 = require("@x-swap-protocol/sdk-core"); var ChainId; (function (ChainId) { ChainId[ChainId["XDC"] = 50] = "XDC"; ChainId[ChainId["XDC_APOTHEM"] = 51] = "XDC_APOTHEM"; })(ChainId = exports.ChainId || (exports.ChainId = {})); // WIP: Gnosis, Moonbeam exports.SUPPORTED_CHAINS = [ ChainId.XDC, ChainId.XDC_APOTHEM, // Gnosis and Moonbeam don't yet have contracts deployed yet ]; exports.V2_SUPPORTED = [ChainId.XDC_APOTHEM, ChainId.XDC]; exports.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES = [ ChainId.XDC, ChainId.XDC_APOTHEM, ]; const ID_TO_CHAIN_ID = (id) => { switch (id) { case 50: return ChainId.XDC; case 51: return ChainId.XDC_APOTHEM; default: throw new Error(`Unknown chain id: ${id}`); } }; exports.ID_TO_CHAIN_ID = ID_TO_CHAIN_ID; var ChainName; (function (ChainName) { ChainName["XDC"] = "xdc-mainnet"; ChainName["XDC_APOTHEM"] = "xdc-apothem"; })(ChainName = exports.ChainName || (exports.ChainName = {})); var NativeCurrencyName; (function (NativeCurrencyName) { // Strings match input for CLI NativeCurrencyName["XDC"] = "XDC"; })(NativeCurrencyName = exports.NativeCurrencyName || (exports.NativeCurrencyName = {})); exports.NATIVE_NAMES_BY_ID = { [ChainId.XDC]: ['XDC', 'XDC', '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'], [ChainId.XDC_APOTHEM]: [ 'XDC', 'XDC', '0x0000000000000000000000000000000000001010', ], }; exports.NATIVE_CURRENCY = { [ChainId.XDC]: NativeCurrencyName.XDC, [ChainId.XDC_APOTHEM]: NativeCurrencyName.XDC, }; const ID_TO_NETWORK_NAME = (id) => { switch (id) { case 50: return ChainName.XDC; case 51: return ChainName.XDC_APOTHEM; default: throw new Error(`Unknown chain id: ${id}`); } }; exports.ID_TO_NETWORK_NAME = ID_TO_NETWORK_NAME; exports.CHAIN_IDS_LIST = Object.values(ChainId).map((c) => c.toString()); const ID_TO_PROVIDER = (id) => { var _a; switch (id) { case ChainId.XDC: return (_a = process.env.RPC_URL) !== null && _a !== void 0 ? _a : ''; case ChainId.XDC_APOTHEM: return 'https://erpc.apothem.network'; default: throw new Error(`Chain id: ${id} not supported`); } }; exports.ID_TO_PROVIDER = ID_TO_PROVIDER; exports.WRAPPED_NATIVE_CURRENCY = { [ChainId.XDC]: new sdk_core_1.Token(ChainId.XDC, '0x951857744785e80e2de051c32ee7b25f9c458c42', 18, 'WXDC', 'Wrapped XDC'), [ChainId.XDC_APOTHEM]: new sdk_core_1.Token(ChainId.XDC_APOTHEM, '0x2a5c77b016Df1b3b0AE4E79a68F8adF64Ee741ba', 18, 'WXDC', 'Wrapped XDC'), }; function isXdc(chainId) { return chainId === ChainId.XDC_APOTHEM || chainId === ChainId.XDC; } class XDCNativeCurrency extends sdk_core_1.NativeCurrency { equals(other) { return other.isNative && other.chainId === this.chainId; } get wrapped() { if (!isXdc(this.chainId)) throw new Error('Not XDC'); const nativeCurrency = exports.WRAPPED_NATIVE_CURRENCY[this.chainId]; if (nativeCurrency) { return nativeCurrency; } throw new Error(`Does not support this chain ${this.chainId}`); } constructor(chainId) { if (!isXdc(chainId)) throw new Error('Not XDC'); super(chainId, 18, 'XDC', 'XinFin'); } } class ExtendedEther extends sdk_core_1.Ether { get wrapped() { if (this.chainId in exports.WRAPPED_NATIVE_CURRENCY) return exports.WRAPPED_NATIVE_CURRENCY[this.chainId]; throw new Error('Unsupported chain ID'); } static onChain(chainId) { var _a; return ((_a = this._cachedExtendedEther[chainId]) !== null && _a !== void 0 ? _a : (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId))); } } exports.ExtendedEther = ExtendedEther; ExtendedEther._cachedExtendedEther = {}; const cachedNativeCurrency = {}; function nativeOnChain(chainId) { if (cachedNativeCurrency[chainId] != undefined) return cachedNativeCurrency[chainId]; else if (isXdc(chainId)) cachedNativeCurrency[chainId] = new XDCNativeCurrency(chainId); else cachedNativeCurrency[chainId] = ExtendedEther.onChain(chainId); return cachedNativeCurrency[chainId]; } exports.nativeOnChain = nativeOnChain; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvY2hhaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUFtRjtBQUVuRixJQUFZLE9BR1g7QUFIRCxXQUFZLE9BQU87SUFDakIsb0NBQVEsQ0FBQTtJQUNSLG9EQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFIVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFHbEI7QUFFRCx3QkFBd0I7QUFDWCxRQUFBLGdCQUFnQixHQUFjO0lBQ3pDLE9BQU8sQ0FBQyxHQUFHO0lBQ1gsT0FBTyxDQUFDLFdBQVc7SUFDbkIsNERBQTREO0NBQzdELENBQUM7QUFFVyxRQUFBLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRWxELFFBQUEsb0NBQW9DLEdBQUc7SUFDbEQsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsV0FBVztDQUNwQixDQUFDO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUFVLEVBQVcsRUFBRTtJQUNwRCxRQUFRLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRTtZQUNMLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNyQixLQUFLLEVBQUU7WUFDTCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDN0I7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlDO0FBQ0gsQ0FBQyxDQUFDO0FBVFcsUUFBQSxjQUFjLGtCQVN6QjtBQUVGLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQixnQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFHcEI7QUFFRCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsOEJBQThCO0lB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