Socket
Socket
Sign inDemoInstall

@swapkit/helpers

Package Overview
Dependencies
Maintainers
1
Versions
203
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@swapkit/helpers - npm Package Compare versions

Comparing version 1.0.0-rc.67 to 1.0.0-rc.68

3

dist/index.d.ts
import { Chain } from '@swapkit/types';
import type { ChainflipList } from '@swapkit/tokens';
import { ChainId } from '@swapkit/types';

@@ -354,3 +355,3 @@ import type { CoinGeckoList } from '@swapkit/tokens';

declare type TokenNames = (typeof ThorchainList)['tokens'][number]['identifier'] | (typeof CoinGeckoList)['tokens'][number]['identifier'] | (typeof MayaList)['tokens'][number]['identifier'] | (typeof PancakeswapETHList)['tokens'][number]['identifier'] | (typeof PancakeswapList)['tokens'][number]['identifier'] | (typeof PangolinList)['tokens'][number]['identifier'] | (typeof StargateARBList)['tokens'][number]['identifier'] | (typeof SushiswapList)['tokens'][number]['identifier'] | (typeof TraderjoeList)['tokens'][number]['identifier'] | (typeof WoofiList)['tokens'][number]['identifier'] | (typeof UniswapList)['tokens'][number]['identifier'];
declare type TokenNames = (typeof ThorchainList)['tokens'][number]['identifier'] | (typeof CoinGeckoList)['tokens'][number]['identifier'] | (typeof MayaList)['tokens'][number]['identifier'] | (typeof PancakeswapETHList)['tokens'][number]['identifier'] | (typeof PancakeswapList)['tokens'][number]['identifier'] | (typeof PangolinList)['tokens'][number]['identifier'] | (typeof StargateARBList)['tokens'][number]['identifier'] | (typeof SushiswapList)['tokens'][number]['identifier'] | (typeof TraderjoeList)['tokens'][number]['identifier'] | (typeof WoofiList)['tokens'][number]['identifier'] | (typeof UniswapList)['tokens'][number]['identifier'] | (typeof ChainflipList)['tokens'][number]['identifier'];

@@ -357,0 +358,0 @@ declare type TokenTax = {

@@ -13,9 +13,9 @@ var ye = Object.defineProperty;

var T = (e, t, n) => (Ve(e, t, "access private method"), n);
import { FeeOption as Y, BaseDecimal as d, Chain as a, EVMChainList as Be, ChainToRPC as Ue, MemoType as E, ChainToChainId as Le } from "@swapkit/types";
var l = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = "1000", e.UNKNOWN_PROVIDERS = "1001", e.CANNOT_FIND_INBOUND_ADDRESS = "1002", e.NO_INBOUND_ADDRESSES = "1003", e.CHAIN_HALTED_OR_UNSUPPORTED = "1004", e.MISSING_INPUT_PARAMETER = "1005", e.INVALID_TYPE_GENERIC = "1100", e.INVALID_NUMBER_STRING = "1101", e.INVALID_NUMBER = "1102", e.INVALID_BOOLEAN = "1103", e.INVALID_OBJECT = "1104", e.INVALID_ARRAY = "1105", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2000", e.SELL_BUY_ASSETS_ARE_THE_SAME = "2001", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = "2002", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = "2003", e.AFF_ADDRESS_TOO_LONG = "2004", e.AFF_BPS_INTEGER_MAX_500 = "2005", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = "2006", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = "2007", e.PREFERRED_PROVIDER_NOT_SUPPORTED = "2008", e.DESTINATION_ADDRESS_SMART_CONTRACT = "2009", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2010", e.SOURCE_ADDRESS_SMART_CONTRACT = "2011", e.SWAP_AMOUNT_TOO_LOW = "2012", e.INVALID_PROVIDER = "2100", e.MISSING_CROSS_CHAIN_PROVIDER = "2101", e.MISSING_AVAX_PROVIDER = "2102", e.MISSING_BSC_PROVIDER = "2103", e.MISSING_ETH_PROVIDER = "2104", e.INVALID_PROVIDER_FOR_SWAP_OUT = "2105", e.MISSING_ARB_PROVIDER = "2106", e.INVALID_CHAIN = "2200", e.INVALID_ASSET = "2201", e.INVALID_ASSET_IDENTIFIER = "2202", e.UNSUPPORTED_CHAIN = "2204", e.UNSUPPORTED_ASSET = "2203", e.UNSUPPORTED_ASSET_FOR_SWAPOUT = "2205", e.INVALID_SOURCE_ADDRESS = "2300", e.INVALID_DESTINATION_ADDRESS = "2301", e.THORNODE_QUOTE_GENERIC_ERROR = "3000", e.NOT_ENOUGH_SYNTH_BALANCE = "3001", e.SYNTH_MINTING_CAP_REACHED = "3002", e.INVALID_QUOTE_MODE = "4000", e.NO_QUOTES = "4001", e.SERVICE_UNAVAILABLE_GENERIC = "5000", e.MISSING_GAS_DATA_GENERIC = "5100", e.MISSING_TOKEN_INFO_GENERIC = "5200", e.CANT_FIND_TOKEN_LIST = "5201", e.NO_PRICE = "5202", e.PRICE_IS_STALE = "5203", e.ADDRESS_NOT_WHITELISTED = "6000", e.ADDRESS_ALREADY_CLAIMED = "6001", e.TEMPORARY_ERROR = "9999", e))(l || {});
l.INVALID_INPUT_PARAMETERS + "", l.UNKNOWN_PROVIDERS + "", l.CANNOT_FIND_INBOUND_ADDRESS + "", l.NO_INBOUND_ADDRESSES + "", l.CHAIN_HALTED_OR_UNSUPPORTED + "", l.MISSING_INPUT_PARAMETER + "", l.INVALID_TYPE_GENERIC + "", l.INVALID_NUMBER_STRING + "", l.INVALID_NUMBER + "", l.INVALID_BOOLEAN + "", l.INVALID_OBJECT + "", l.INVALID_ARRAY + "", l.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER + "", l.SELL_BUY_ASSETS_ARE_THE_SAME + "", l.MISSING_SOURCE_ADDRESS_FOR_SYNTH + "", l.AFF_ADDRESS_AND_BPS_OR_NEITHER + "", l.AFF_ADDRESS_TOO_LONG + "", l.AFF_BPS_INTEGER_MAX_500 + "", l.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN + "", l.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN + "", l.PREFERRED_PROVIDER_NOT_SUPPORTED + "", l.SOURCE_ADDRESS_SMART_CONTRACT + "", l.SWAP_AMOUNT_TOO_LOW + "", l.DESTINATION_ADDRESS_SMART_CONTRACT + "", l.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER + "", l.INVALID_PROVIDER + "", l.MISSING_CROSS_CHAIN_PROVIDER + "", l.MISSING_AVAX_PROVIDER + "", l.MISSING_BSC_PROVIDER + "", l.MISSING_ETH_PROVIDER + "", l.MISSING_ARB_PROVIDER + "", l.INVALID_PROVIDER_FOR_SWAP_OUT + "", l.INVALID_CHAIN + "", l.INVALID_ASSET + "", l.UNSUPPORTED_CHAIN + "", l.UNSUPPORTED_ASSET + "", l.UNSUPPORTED_ASSET_FOR_SWAPOUT + "", l.THORNODE_QUOTE_GENERIC_ERROR + "", l.INVALID_SOURCE_ADDRESS + "", l.INVALID_DESTINATION_ADDRESS + "", l.NOT_ENOUGH_SYNTH_BALANCE + "", l.SYNTH_MINTING_CAP_REACHED + "", l.INVALID_QUOTE_MODE + "", l.NO_QUOTES + "", l.SERVICE_UNAVAILABLE_GENERIC + "", l.MISSING_GAS_DATA_GENERIC + "", l.MISSING_TOKEN_INFO_GENERIC + "", l.CANT_FIND_TOKEN_LIST + "", l.NO_PRICE + "", l.PRICE_IS_STALE + "", l.ADDRESS_NOT_WHITELISTED + "", l.ADDRESS_ALREADY_CLAIMED + "";
var k = /* @__PURE__ */ ((e) => (e.Arbitrum = "ARB", e.Avalanche = "AVAX", e.Binance = "BNB", e.BinanceSmartChain = "BSC", e.Bitcoin = "BTC", e.BitcoinCash = "BCH", e.Cosmos = "GAIA", e.Dogecoin = "DOGE", e.Ethereum = "ETH", e.Kujira = "KUJI", e.Litecoin = "LTC", e.Maya = "MAYA", e.Optimism = "OP", e.Polygon = "MATIC", e.THORChain = "THOR", e))(k || {}), te = /* @__PURE__ */ ((e) => (e.Arbitrum = "42161", e.ArbitrumHex = "0xa4b1", e.Avalanche = "43114", e.AvalancheHex = "0xa86a", e.Binance = "Binance-Chain-Tigris", e.BinanceSmartChain = "56", e.BinanceSmartChainHex = "0x38", e.Bitcoin = "bitcoin", e.BitcoinCash = "bitcoincash", e.Cosmos = "cosmoshub-4", e.Dogecoin = "dogecoin", e.Kujira = "kaiyo-1", e.Ethereum = "1", e.EthereumHex = "0x1", e.Litecoin = "litecoin", e.Maya = "mayachain-mainnet-v1", e.MayaStagenet = "mayachain-stagenet-v1", e.Optimism = "10", e.OptimismHex = "0xa", e.Polygon = "137", e.PolygonHex = "0x89", e.THORChain = "thorchain-mainnet-v1", e.THORChainStagenet = "thorchain-stagenet-v2", e))(te || {}), de = /* @__PURE__ */ ((e) => (e.Arbitrum = "https://arb1.arbitrum.io/rpc", e.Avalanche = "https://node-router.thorswap.net/avalanche-c", e.Binance = "", e.BinanceSmartChain = "https://bsc-dataseed.binance.org", e.Bitcoin = "https://node-router.thorswap.net/bitcoin", e.BitcoinCash = "https://node-router.thorswap.net/bitcoin-cash", e.Cosmos = "https://node-router.thorswap.net/cosmos/rpc", e.Kujira = "https://rpc-kujira.synergynodes.com/", e.Dogecoin = "https://node-router.thorswap.net/dogecoin", e.Ethereum = "https://node-router.thorswap.net/ethereum", e.Litecoin = "https://node-router.thorswap.net/litecoin", e.Maya = "https://tendermint.mayachain.info", e.MayaStagenet = "https://stagenet.tendermint.mayachain.info", e.Optimism = "https://mainnet.optimism.io", e.Polygon = "https://polygon-rpc.com", e.THORChain = "https://rpc.thorswap.net", e.THORChainStagenet = "https://stagenet-rpc.ninerealms.com", e))(de || {}), R = /* @__PURE__ */ ((e) => (e.Cosmos = "https://node-router.thorswap.net/cosmos/rest", e.Kujira = "https://lcd-kujira.synergynodes.com/", e.MayanodeMainnet = "https://mayanode.mayachain.info", e.MayanodeStagenet = "https://stagenet.mayanode.mayachain.info", e.ThornodeMainnet = "https://thornode.thorswap.net", e.ThornodeStagenet = "https://stagenet-thornode.ninerealms.com", e.ThorswapApi = "https://api.thorswap.net", e.ThorswapStatic = "https://static.thorswap.net", e))(R || {});
const q = Object.values(k), ve = Object.keys(k), ne = q.reduce(
import { FeeOption as Y, BaseDecimal as d, Chain as a, EVMChainList as Be, ChainToRPC as Le, MemoType as E, ChainToChainId as Ue } from "@swapkit/types";
var u = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = "1000", e.UNKNOWN_PROVIDERS = "1001", e.CANNOT_FIND_INBOUND_ADDRESS = "1002", e.NO_INBOUND_ADDRESSES = "1003", e.CHAIN_HALTED_OR_UNSUPPORTED = "1004", e.MISSING_INPUT_PARAMETER = "1005", e.INVALID_TYPE_GENERIC = "1100", e.INVALID_NUMBER_STRING = "1101", e.INVALID_NUMBER = "1102", e.INVALID_BOOLEAN = "1103", e.INVALID_OBJECT = "1104", e.INVALID_ARRAY = "1105", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2000", e.SELL_BUY_ASSETS_ARE_THE_SAME = "2001", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = "2002", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = "2003", e.AFF_ADDRESS_TOO_LONG = "2004", e.AFF_BPS_INTEGER_MAX_500 = "2005", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = "2006", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = "2007", e.PREFERRED_PROVIDER_NOT_SUPPORTED = "2008", e.DESTINATION_ADDRESS_SMART_CONTRACT = "2009", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2010", e.SOURCE_ADDRESS_SMART_CONTRACT = "2011", e.SWAP_AMOUNT_TOO_LOW = "2012", e.INVALID_PROVIDER = "2100", e.MISSING_CROSS_CHAIN_PROVIDER = "2101", e.MISSING_AVAX_PROVIDER = "2102", e.MISSING_BSC_PROVIDER = "2103", e.MISSING_ETH_PROVIDER = "2104", e.INVALID_PROVIDER_FOR_SWAP_OUT = "2105", e.MISSING_ARB_PROVIDER = "2106", e.INVALID_CHAIN = "2200", e.INVALID_ASSET = "2201", e.INVALID_ASSET_IDENTIFIER = "2202", e.UNSUPPORTED_CHAIN = "2204", e.UNSUPPORTED_ASSET = "2203", e.UNSUPPORTED_ASSET_FOR_SWAPOUT = "2205", e.INVALID_SOURCE_ADDRESS = "2300", e.INVALID_DESTINATION_ADDRESS = "2301", e.THORNODE_QUOTE_GENERIC_ERROR = "3000", e.NOT_ENOUGH_SYNTH_BALANCE = "3001", e.SYNTH_MINTING_CAP_REACHED = "3002", e.INVALID_QUOTE_MODE = "4000", e.NO_QUOTES = "4001", e.SERVICE_UNAVAILABLE_GENERIC = "5000", e.MISSING_GAS_DATA_GENERIC = "5100", e.MISSING_TOKEN_INFO_GENERIC = "5200", e.CANT_FIND_TOKEN_LIST = "5201", e.NO_PRICE = "5202", e.PRICE_IS_STALE = "5203", e.ADDRESS_NOT_WHITELISTED = "6000", e.ADDRESS_ALREADY_CLAIMED = "6001", e.TEMPORARY_ERROR = "9999", e))(u || {});
u.INVALID_INPUT_PARAMETERS + "", u.UNKNOWN_PROVIDERS + "", u.CANNOT_FIND_INBOUND_ADDRESS + "", u.NO_INBOUND_ADDRESSES + "", u.CHAIN_HALTED_OR_UNSUPPORTED + "", u.MISSING_INPUT_PARAMETER + "", u.INVALID_TYPE_GENERIC + "", u.INVALID_NUMBER_STRING + "", u.INVALID_NUMBER + "", u.INVALID_BOOLEAN + "", u.INVALID_OBJECT + "", u.INVALID_ARRAY + "", u.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER + "", u.SELL_BUY_ASSETS_ARE_THE_SAME + "", u.MISSING_SOURCE_ADDRESS_FOR_SYNTH + "", u.AFF_ADDRESS_AND_BPS_OR_NEITHER + "", u.AFF_ADDRESS_TOO_LONG + "", u.AFF_BPS_INTEGER_MAX_500 + "", u.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN + "", u.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN + "", u.PREFERRED_PROVIDER_NOT_SUPPORTED + "", u.SOURCE_ADDRESS_SMART_CONTRACT + "", u.SWAP_AMOUNT_TOO_LOW + "", u.DESTINATION_ADDRESS_SMART_CONTRACT + "", u.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER + "", u.INVALID_PROVIDER + "", u.MISSING_CROSS_CHAIN_PROVIDER + "", u.MISSING_AVAX_PROVIDER + "", u.MISSING_BSC_PROVIDER + "", u.MISSING_ETH_PROVIDER + "", u.MISSING_ARB_PROVIDER + "", u.INVALID_PROVIDER_FOR_SWAP_OUT + "", u.INVALID_CHAIN + "", u.INVALID_ASSET + "", u.UNSUPPORTED_CHAIN + "", u.UNSUPPORTED_ASSET + "", u.UNSUPPORTED_ASSET_FOR_SWAPOUT + "", u.THORNODE_QUOTE_GENERIC_ERROR + "", u.INVALID_SOURCE_ADDRESS + "", u.INVALID_DESTINATION_ADDRESS + "", u.NOT_ENOUGH_SYNTH_BALANCE + "", u.SYNTH_MINTING_CAP_REACHED + "", u.INVALID_QUOTE_MODE + "", u.NO_QUOTES + "", u.SERVICE_UNAVAILABLE_GENERIC + "", u.MISSING_GAS_DATA_GENERIC + "", u.MISSING_TOKEN_INFO_GENERIC + "", u.CANT_FIND_TOKEN_LIST + "", u.NO_PRICE + "", u.PRICE_IS_STALE + "", u.ADDRESS_NOT_WHITELISTED + "", u.ADDRESS_ALREADY_CLAIMED + "";
var j = /* @__PURE__ */ ((e) => (e.Arbitrum = "ARB", e.Avalanche = "AVAX", e.Binance = "BNB", e.BinanceSmartChain = "BSC", e.Bitcoin = "BTC", e.BitcoinCash = "BCH", e.Cosmos = "GAIA", e.Dogecoin = "DOGE", e.Ethereum = "ETH", e.Kujira = "KUJI", e.Litecoin = "LTC", e.Maya = "MAYA", e.Optimism = "OP", e.Polkadot = "DOT", e.Chainflip = "FLIP", e.Polygon = "MATIC", e.THORChain = "THOR", e))(j || {}), te = /* @__PURE__ */ ((e) => (e.Arbitrum = "42161", e.ArbitrumHex = "0xa4b1", e.Avalanche = "43114", e.AvalancheHex = "0xa86a", e.Binance = "Binance-Chain-Tigris", e.BinanceSmartChain = "56", e.BinanceSmartChainHex = "0x38", e.Bitcoin = "bitcoin", e.BitcoinCash = "bitcoincash", e.Chainflip = "chainflip", e.Cosmos = "cosmoshub-4", e.Dogecoin = "dogecoin", e.Kujira = "kaiyo-1", e.Ethereum = "1", e.EthereumHex = "0x1", e.Litecoin = "litecoin", e.Maya = "mayachain-mainnet-v1", e.MayaStagenet = "mayachain-stagenet-v1", e.Optimism = "10", e.OptimismHex = "0xa", e.Polkadot = "polkadot", e.Polygon = "137", e.PolygonHex = "0x89", e.THORChain = "thorchain-mainnet-v1", e.THORChainStagenet = "thorchain-stagenet-v2", e))(te || {}), de = /* @__PURE__ */ ((e) => (e.Arbitrum = "https://arb1.arbitrum.io/rpc", e.Avalanche = "https://node-router.thorswap.net/avalanche-c", e.Binance = "", e.BinanceSmartChain = "https://bsc-dataseed.binance.org", e.Bitcoin = "https://node-router.thorswap.net/bitcoin", e.BitcoinCash = "https://node-router.thorswap.net/bitcoin-cash", e.Chainflip = "wss://mainnet-archive.chainflip.io", e.Cosmos = "https://node-router.thorswap.net/cosmos/rpc", e.Kujira = "https://rpc-kujira.synergynodes.com/", e.Dogecoin = "https://node-router.thorswap.net/dogecoin", e.Ethereum = "https://node-router.thorswap.net/ethereum", e.Litecoin = "https://node-router.thorswap.net/litecoin", e.Maya = "https://tendermint.mayachain.info", e.MayaStagenet = "https://stagenet.tendermint.mayachain.info", e.Optimism = "https://mainnet.optimism.io", e.Polkadot = "wss://rpc.polkadot.io", e.Polygon = "https://polygon-rpc.com", e.THORChain = "https://rpc.thorswap.net", e.THORChainStagenet = "https://stagenet-rpc.ninerealms.com", e))(de || {}), R = /* @__PURE__ */ ((e) => (e.Cosmos = "https://node-router.thorswap.net/cosmos/rest", e.Kujira = "https://lcd-kujira.synergynodes.com/", e.MayanodeMainnet = "https://mayanode.mayachain.info", e.MayanodeStagenet = "https://stagenet.mayanode.mayachain.info", e.ThornodeMainnet = "https://thornode.thorswap.net", e.ThornodeStagenet = "https://stagenet-thornode.ninerealms.com", e.ThorswapApi = "https://api.thorswap.net", e.ThorswapStatic = "https://static.thorswap.net", e))(R || {});
const q = Object.values(j), ve = Object.keys(j), ne = q.reduce(
(e, t) => {
const n = ve.find((r) => k[r] === t);
const n = ve.find((s) => j[s] === t);
return n && (e[t] = n), e;

@@ -41,5 +41,5 @@ },

class oe extends Error {
constructor(t, n, r) {
const s = t.status || t.status === 0 ? t.status : "", i = t.statusText || "", o = `${s} ${i}`.trim(), u = o ? `status code ${o}` : "an unknown error";
super(`Request failed with ${u}`), Object.defineProperty(this, "response", {
constructor(t, n, s) {
const r = t.status || t.status === 0 ? t.status : "", i = t.statusText || "", o = `${r} ${i}`.trim(), l = o ? `status code ${o}` : "an unknown error";
super(`Request failed with ${l}`), Object.defineProperty(this, "response", {
enumerable: !0,

@@ -59,3 +59,3 @@ configurable: !0,

value: void 0
}), this.name = "HTTPError", this.response = t, this.request = n, this.options = r;
}), this.name = "HTTPError", this.response = t, this.request = n, this.options = s;
}

@@ -77,17 +77,17 @@ }

throw new TypeError("The `options` argument must be an object");
return re({}, ...e);
return se({}, ...e);
}, Ae = (e = {}, t = {}) => {
const n = new globalThis.Headers(e), r = t instanceof globalThis.Headers, s = new globalThis.Headers(t);
for (const [i, o] of s.entries())
r && o === "undefined" || o === void 0 ? n.delete(i) : n.set(i, o);
const n = new globalThis.Headers(e), s = t instanceof globalThis.Headers, r = new globalThis.Headers(t);
for (const [i, o] of r.entries())
s && o === "undefined" || o === void 0 ? n.delete(i) : n.set(i, o);
return n;
}, re = (...e) => {
}, se = (...e) => {
let t = {}, n = {};
for (const r of e)
if (Array.isArray(r))
Array.isArray(t) || (t = []), t = [...t, ...r];
else if (M(r)) {
for (let [s, i] of Object.entries(r))
M(i) && s in t && (i = re(t[s], i)), t = { ...t, [s]: i };
M(r.headers) && (n = Ae(n, r.headers), t.headers = n);
for (const s of e)
if (Array.isArray(s))
Array.isArray(t) || (t = []), t = [...t, ...s];
else if (M(s)) {
for (let [r, i] of Object.entries(s))
M(i) && r in t && (i = se(t[r], i)), t = { ...t, [r]: i };
M(s.headers) && (n = Ae(n, s.headers), t.headers = n);
}

@@ -97,4 +97,4 @@ return t;

let e = !1, t = !1;
const n = typeof globalThis.ReadableStream == "function", r = typeof globalThis.Request == "function";
return n && r && (t = new globalThis.Request("https://empty.invalid", {
const n = typeof globalThis.ReadableStream == "function", s = typeof globalThis.Request == "function";
return n && s && (t = new globalThis.Request("https://empty.invalid", {
body: new globalThis.ReadableStream(),

@@ -107,3 +107,3 @@ method: "POST",

}).headers.has("Content-Type")), e && !t;
})(), Me = typeof globalThis.AbortController == "function", He = typeof globalThis.ReadableStream == "function", xe = typeof globalThis.FormData == "function", pe = ["get", "post", "put", "patch", "head", "delete"], Fe = {
})(), Me = typeof globalThis.AbortController == "function", He = typeof globalThis.ReadableStream == "function", Fe = typeof globalThis.FormData == "function", pe = ["get", "post", "put", "patch", "head", "delete"], xe = {
json: "application/json",

@@ -141,5 +141,5 @@ text: "text/*",

duplex: !0
}, je = (e) => pe.includes(e) ? e.toUpperCase() : e, ke = ["get", "put", "head", "delete", "options", "trace"], qe = [408, 413, 429, 500, 502, 503, 504], me = [413, 429, 503], ce = {
}, ke = (e) => pe.includes(e) ? e.toUpperCase() : e, je = ["get", "put", "head", "delete", "options", "trace"], qe = [408, 413, 429, 500, 502, 503, 504], me = [413, 429, 503], ce = {
limit: 2,
methods: ke,
methods: je,
statusCodes: qe,

@@ -166,8 +166,8 @@ afterStatusCodes: me,

};
async function Ye(e, t, n, r) {
return new Promise((s, i) => {
async function Ye(e, t, n, s) {
return new Promise((r, i) => {
const o = setTimeout(() => {
n && n.abort(), i(new Te(e));
}, r.timeout);
r.fetch(e, t).then(s).catch(i).then(() => {
}, s.timeout);
s.fetch(e, t).then(r).catch(i).then(() => {
clearTimeout(o);

@@ -178,9 +178,9 @@ });

async function Ke(e, { signal: t }) {
return new Promise((n, r) => {
t && (t.throwIfAborted(), t.addEventListener("abort", s, { once: !0 }));
function s() {
clearTimeout(i), r(t.reason);
return new Promise((n, s) => {
t && (t.throwIfAborted(), t.addEventListener("abort", r, { once: !0 }));
function r() {
clearTimeout(i), s(t.reason);
}
const i = setTimeout(() => {
t == null || t.removeEventListener("abort", s), n();
t == null || t.removeEventListener("abort", r), n();
}, e);

@@ -191,35 +191,35 @@ });

const n = {};
for (const r in t)
!(r in We) && !(r in Ge) && !(r in e) && (n[r] = t[r]);
for (const s in t)
!(s in We) && !(s in Ge) && !(s in e) && (n[s] = t[s]);
return n;
};
class F {
class x {
static create(t, n) {
const r = new F(t, n), s = async () => {
if (typeof r._options.timeout == "number" && r._options.timeout > K)
const s = new x(t, n), r = async () => {
if (typeof s._options.timeout == "number" && s._options.timeout > K)
throw new RangeError(`The \`timeout\` option cannot be greater than ${K}`);
await Promise.resolve();
let o = await r._fetch();
for (const u of r._options.hooks.afterResponse) {
const c = await u(r.request, r._options, r._decorateResponse(o.clone()));
let o = await s._fetch();
for (const l of s._options.hooks.afterResponse) {
const c = await l(s.request, s._options, s._decorateResponse(o.clone()));
c instanceof globalThis.Response && (o = c);
}
if (r._decorateResponse(o), !o.ok && r._options.throwHttpErrors) {
let u = new oe(o, r.request, r._options);
for (const c of r._options.hooks.beforeError)
u = await c(u);
throw u;
if (s._decorateResponse(o), !o.ok && s._options.throwHttpErrors) {
let l = new oe(o, s.request, s._options);
for (const c of s._options.hooks.beforeError)
l = await c(l);
throw l;
}
if (r._options.onDownloadProgress) {
if (typeof r._options.onDownloadProgress != "function")
if (s._options.onDownloadProgress) {
if (typeof s._options.onDownloadProgress != "function")
throw new TypeError("The `onDownloadProgress` option must be a function");
if (!He)
throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
return r._stream(o.clone(), r._options.onDownloadProgress);
return s._stream(o.clone(), s._options.onDownloadProgress);
}
return o;
}, i = r._options.retry.methods.includes(r.request.method.toLowerCase()) ? r._retry(s) : s();
for (const [o, u] of Object.entries(Fe))
}, i = s._options.retry.methods.includes(s.request.method.toLowerCase()) ? s._retry(r) : r();
for (const [o, l] of Object.entries(xe))
i[o] = async () => {
r.request.headers.set("accept", r.request.headers.get("accept") || u);
s.request.headers.set("accept", s.request.headers.get("accept") || l);
const c = (await i).clone();

@@ -268,3 +268,3 @@ if (o === "json") {

headers: Ae(this._input.headers, n.headers),
hooks: re({
hooks: se({
beforeRequest: [],

@@ -275,3 +275,3 @@ beforeRetry: [],

}, n.hooks),
method: je(n.method ?? this._input.method),
method: ke(n.method ?? this._input.method),
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing

@@ -292,5 +292,5 @@ prefixUrl: String(n.prefixUrl || ""),

if (this.abortController = new globalThis.AbortController(), this._options.signal) {
const r = this._options.signal;
const s = this._options.signal;
this._options.signal.addEventListener("abort", () => {
this.abortController.abort(r.reason);
this.abortController.abort(s.reason);
});

@@ -301,4 +301,4 @@ }

if ($e && (this._options.duplex = "half"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
const r = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), s = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
(xe && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(s, { ...this.request }), this._options);
const s = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), r = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, s);
(Fe && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(r, { ...this.request }), this._options);
}

@@ -312,6 +312,6 @@ this._options.json !== void 0 && (this._options.body = JSON.stringify(this._options.json), this.request.headers.set("content-type", this._options.headers.get("content-type") ?? "application/json"), this.request = new globalThis.Request(this.request, { body: this._options.body }));

return 0;
const r = t.response.headers.get("Retry-After");
if (r && this._options.retry.afterStatusCodes.includes(t.response.status)) {
let s = Number(r);
return Number.isNaN(s) ? s = Date.parse(r) - Date.now() : s *= 1e3, this._options.retry.maxRetryAfter !== void 0 && s > this._options.retry.maxRetryAfter ? 0 : s;
const s = t.response.headers.get("Retry-After");
if (s && this._options.retry.afterStatusCodes.includes(t.response.status)) {
let r = Number(s);
return Number.isNaN(r) ? r = Date.parse(s) - Date.now() : r *= 1e3, this._options.retry.maxRetryAfter !== void 0 && r > this._options.retry.maxRetryAfter ? 0 : r;
}

@@ -333,7 +333,7 @@ if (t.response.status === 413)

} catch (n) {
const r = Math.min(this._calculateRetryDelay(n), K);
if (r !== 0 && this._retryCount > 0) {
await Ke(r, { signal: this._options.signal });
for (const s of this._options.hooks.beforeRetry)
if (await s({
const s = Math.min(this._calculateRetryDelay(n), K);
if (s !== 0 && this._retryCount > 0) {
await Ke(s, { signal: this._options.signal });
for (const r of this._options.hooks.beforeRetry)
if (await r({
request: this.request,

@@ -352,9 +352,9 @@ options: this._options,

for (const n of this._options.hooks.beforeRequest) {
const r = await n(this.request, this._options);
if (r instanceof Request) {
this.request = r;
const s = await n(this.request, this._options);
if (s instanceof Request) {
this.request = s;
break;
}
if (r instanceof Response)
return r;
if (s instanceof Response)
return s;
}

@@ -366,5 +366,5 @@ const t = Je(this.request, this._options);

_stream(t, n) {
const r = Number(t.headers.get("content-length")) || 0;
let s = 0;
return t.status === 204 ? (n && n({ percent: 1, totalBytes: r, transferredBytes: s }, new Uint8Array()), new globalThis.Response(null, {
const s = Number(t.headers.get("content-length")) || 0;
let r = 0;
return t.status === 204 ? (n && n({ percent: 1, totalBytes: s, transferredBytes: r }, new Uint8Array()), new globalThis.Response(null, {
status: t.status,

@@ -376,4 +376,4 @@ statusText: t.statusText,

const o = t.body.getReader();
n && n({ percent: 0, transferredBytes: 0, totalBytes: r }, new Uint8Array());
async function u() {
n && n({ percent: 0, transferredBytes: 0, totalBytes: s }, new Uint8Array());
async function l() {
const { done: c, value: _ } = await o.read();

@@ -385,9 +385,9 @@ if (c) {

if (n) {
s += _.byteLength;
const h = r === 0 ? 0 : s / r;
n({ percent: h, transferredBytes: s, totalBytes: r }, _);
r += _.byteLength;
const h = s === 0 ? 0 : r / s;
n({ percent: h, transferredBytes: r, totalBytes: s }, _);
}
i.enqueue(_), await u();
i.enqueue(_), await l();
}
await u();
await l();
}

@@ -403,5 +403,5 @@ }), {

const Q = (e) => {
const t = (n, r) => F.create(n, v(e, r));
const t = (n, s) => x.create(n, v(e, s));
for (const n of pe)
t[n] = (r, s) => F.create(r, v(e, s, { method: n }));
t[n] = (s, r) => x.create(s, v(e, r, { method: n }));
return t.create = (n) => Q(v(n)), t.extend = (n) => Q(v(e, n)), t.stop = Se, t;

@@ -418,3 +418,3 @@ }, Ee = Q();

Thorname: `${R.ThorswapApi}/thorname`
}, Re = typeof window < "u" ? {} : { referrer: "https://sk.thorswap.net", referer: "https://sk.thorswap.net" }, ue = () => H || (H = Ee.create({ headers: Re }), H), mt = ({ apiKey: e, ...t }) => {
}, Re = typeof window < "u" ? {} : { referrer: "https://sk.thorswap.net", referer: "https://sk.thorswap.net" }, le = () => H || (H = Ee.create({ headers: Re }), H), mt = ({ apiKey: e, ...t }) => {
H = Ee.create({

@@ -425,7 +425,7 @@ ...t,

}, S = {
get: (e, t) => ue().get(e, t).json(),
post: (e, t) => ue().post(e, t).json()
get: (e, t) => le().get(e, t).json(),
post: (e, t) => le().post(e, t).json()
}, Qe = ({ tokens: e, ...t }) => {
const n = new URLSearchParams();
return e.filter((r, s, i) => i.findIndex((o) => o === r) === s).forEach((r) => n.append("tokens", JSON.stringify(r))), t.metadata && n.append("metadata", "true"), t.lookup && n.append("lookup", "true"), t.sparkline && n.append("sparkline", "true"), S.post(m.CachedPrices, {
return e.filter((s, r, i) => i.findIndex((o) => o === s) === r).forEach((s) => n.append("tokens", JSON.stringify(s))), t.metadata && n.append("metadata", "true"), t.lookup && n.append("lookup", "true"), t.sparkline && n.append("sparkline", "true"), S.post(m.CachedPrices, {
body: n.toString(),

@@ -448,3 +448,3 @@ headers: { "Content-Type": "application/x-www-form-urlencoded" }

try {
const { result: n } = await S.post(Ue[e], {
const { result: n } = await S.post(Le[e], {
headers: {

@@ -471,6 +471,6 @@ accept: "*/*",

return t != null && t.startsWith("0x") ? Ie({ chain: a.Ethereum, to: t }) : d.ETH;
}, rt = async (e) => {
}, st = async (e) => {
const [, t] = e.split("-");
return t != null && t.startsWith("0x") ? Ie({ chain: a.Avalanche, to: t.toLowerCase() }) : d.AVAX;
}, st = async (e) => e === a.BinanceSmartChain ? d.BSC : d.BSC, it = async ({ chain: e, symbol: t }) => {
}, rt = async (e) => e === a.BinanceSmartChain ? d.BSC : d.BSC, it = async ({ chain: e, symbol: t }) => {
switch (e) {

@@ -480,5 +480,5 @@ case a.Ethereum:

case a.Avalanche:
return st(t);
case a.BinanceSmartChain:
return rt(t);
case a.BinanceSmartChain:
return st(t);
default:

@@ -500,2 +500,4 @@ return d[e];

case a.Avalanche:
case a.Polkadot:
case a.Chainflip:
return t === e;

@@ -544,3 +546,5 @@ case a.Arbitrum:

case a.Avalanche:
case a.Chainflip:
case a.Polygon:
case a.Polkadot:
case a.Bitcoin:

@@ -560,2 +564,4 @@ case a.Ethereum:

case a.THORChain:
case a.Polkadot:
case a.Chainflip:
return "Native";

@@ -583,18 +589,18 @@ case a.Cosmos:

var o;
const [t, ...n] = e.split("."), r = e.includes("/"), s = n.join("."), i = (o = s == null ? void 0 : s.split("-")) == null ? void 0 : o[0];
return { chain: t, symbol: s, ticker: i, synth: r };
const [t, ...n] = e.split("."), s = e.includes("/"), r = n.join("."), i = (o = r == null ? void 0 : r.split("-")) == null ? void 0 : o[0];
return { chain: t, symbol: r, ticker: i, synth: s };
}, ct = new RegExp(
/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,
"gmi"
), ut = (e) => {
), lt = (e) => {
const [t, n] = e.split(".");
if (!Be.includes(t))
return !0;
const [, r] = n.split("-");
return fe({ chain: t, symbol: n }) || !!r;
const [, s] = n.split("-");
return fe({ chain: t, symbol: n }) || !!s;
}, ft = (e) => e.filter((t) => {
const n = `${t.chain}.${t.symbol}`;
return !ct.test(n) && ut(n) && t.value !== "0";
return !ct.test(n) && lt(n) && t.value !== "0";
});
function lt({
function ut({
liquidityUnits: e,

@@ -604,4 +610,4 @@ poolUnits: t,

}) {
const r = A(e), s = A(t), i = A(n), o = r.mul(i), u = s.mul(s).mul(2), c = s.mul(r).mul(2), _ = r.mul(r), h = s.mul(s).mul(s);
return o.mul(u.sub(c).add(_)).div(h);
const s = A(e), r = A(t), i = A(n), o = s.mul(i), l = r.mul(r).mul(2), c = r.mul(s).mul(2), _ = s.mul(s), h = r.mul(r).mul(r);
return o.mul(l.sub(c).add(_)).div(h);
}

@@ -613,20 +619,20 @@ function _t({

}) {
const r = A(e), s = A(t), i = A(n), o = r.mul(i), u = s.mul(s).mul(2), c = s.mul(r).mul(2), _ = r.mul(r), h = o.mul(u.sub(c).add(_)), P = s.mul(s).mul(s);
const s = A(e), r = A(t), i = A(n), o = s.mul(i), l = r.mul(r).mul(2), c = r.mul(s).mul(2), _ = s.mul(s), h = o.mul(l.sub(c).add(_)), P = r.mul(r).mul(r);
return h.div(P);
}
function Nt({
function Ct({
percent: e,
runeDepth: t,
liquidityUnits: n,
poolUnits: r
poolUnits: s
}) {
return lt({ runeDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);
return ut({ runeDepth: t, liquidityUnits: n, poolUnits: s }).mul(e);
}
function Ct({
function Nt({
percent: e,
assetDepth: t,
liquidityUnits: n,
poolUnits: r
poolUnits: s
}) {
return _t({ assetDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);
return _t({ assetDepth: t, liquidityUnits: n, poolUnits: s }).mul(e);
}

@@ -640,6 +646,6 @@ function A(e) {

runeDepth: n,
assetDepth: r
assetDepth: s
}) {
return {
assetAmount: A(r).mul(e).div(t),
assetAmount: A(s).mul(e).div(t),
runeAmount: A(n).mul(e).div(t)

@@ -652,8 +658,8 @@ };

runeDepth: n,
assetDepth: r,
percent: s
assetDepth: s,
percent: r
}) {
return Object.fromEntries(
Object.entries(ht({ liquidityUnits: e, poolUnits: t, runeDepth: n, assetDepth: r })).map(
([i, o]) => [i, o.mul(s)]
Object.entries(ht({ liquidityUnits: e, poolUnits: t, runeDepth: n, assetDepth: s })).map(
([i, o]) => [i, o.mul(r)]
)

@@ -666,7 +672,7 @@ );

assetDepth: n,
liquidityUnits: r,
runeAmount: s,
liquidityUnits: s,
runeAmount: r,
assetAmount: i
}) {
const o = new I({ value: e, decimal: 8 }), u = new I({ value: n, decimal: 8 }), c = new I({ value: t, decimal: 8 }), _ = new I({ value: s, decimal: 8 }), h = new I({ value: i, decimal: 8 }), P = _.mul(u), ie = h.mul(o), ge = _.mul(h), Oe = o.mul(u), De = c.mul(P.add(ie.add(ge.mul(2)))), Pe = P.add(ie.add(Oe.mul(2))), ae = De.div(Pe), X = A(r).add(ae);
const o = new I({ value: e, decimal: 8 }), l = new I({ value: n, decimal: 8 }), c = new I({ value: t, decimal: 8 }), _ = new I({ value: r, decimal: 8 }), h = new I({ value: i, decimal: 8 }), P = _.mul(l), ie = h.mul(o), ge = _.mul(h), Oe = o.mul(l), De = c.mul(P.add(ie.add(ge.mul(2)))), Pe = P.add(ie.add(Oe.mul(2))), ae = De.div(Pe), X = A(s).add(ae);
if (ae.getBaseValue("number") === 0)

@@ -681,7 +687,7 @@ return X.div(c).getBaseValue("number");

runeDepth: n,
assetDepth: r
assetDepth: s
}) {
if (e === "0" || t === "0" || n === "0" || r === "0")
if (e === "0" || t === "0" || n === "0" || s === "0")
return 0;
const s = A(n), i = A(r), o = A(t), u = A(e), c = o.mul(s).sub(i.mul(u)), _ = i.mul(u).add(s.mul(i));
const r = A(n), i = A(s), o = A(t), l = A(e), c = o.mul(r).sub(i.mul(l)), _ = i.mul(l).add(r.mul(i));
return Math.abs(c.div(_).getBaseValue("number"));

@@ -697,13 +703,13 @@ }

case E.UNBOND: {
const { address: n, unbondAmount: r } = t;
return `${e}:${n}:${r}`;
const { address: n, unbondAmount: s } = t;
return `${e}:${n}:${s}`;
}
case E.THORNAME_REGISTER: {
const { name: n, chain: r, address: s, owner: i } = t;
return `${e}:${n}:${r}:${s}${i ? `:${i}` : ""}`;
const { name: n, chain: s, address: r, owner: i } = t;
return `${e}:${n}:${s}:${r}${i ? `:${i}` : ""}`;
}
case E.DEPOSIT: {
const { chain: n, symbol: r, address: s, singleSide: i } = t;
return i ? `${e}:${n}/${r}::t:0` : `${e}:${((u, c) => {
switch (u) {
const { chain: n, symbol: s, address: r, singleSide: i } = t;
return i ? `${e}:${n}/${s}::t:0` : `${e}:${((l, c) => {
switch (l) {
case a.Litecoin:

@@ -716,14 +722,14 @@ return "l";

default:
return `${u}.${c}`;
return `${l}.${c}`;
}
})(n, r)}:${s || ""}:t:0`;
})(n, s)}:${r || ""}:t:0`;
}
case E.WITHDRAW: {
const { chain: n, ticker: r, symbol: s, basisPoints: i, targetAssetString: o, singleSide: u } = t, c = n === "ETH" && r !== "ETH" ? `${r}-${s.slice(-3)}` : s, _ = !u && o ? `:${o}` : "";
return `${e}:${n}${u ? "/" : "."}${c}:${i}${_}`;
const { chain: n, ticker: s, symbol: r, basisPoints: i, targetAssetString: o, singleSide: l } = t, c = n === "ETH" && s !== "ETH" ? `${s}-${r.slice(-3)}` : r, _ = !l && o ? `:${o}` : "";
return `${e}:${n}${l ? "/" : "."}${c}:${i}${_}`;
}
case E.OPEN_LOAN:
case E.CLOSE_LOAN: {
const { asset: n, address: r } = t;
return `${e}:${n}:${r}`;
const { asset: n, address: s } = t;
return `${e}:${n}:${s}`;
}

@@ -745,12 +751,12 @@ default:

}
function wt([e, t, n, r, s]) {
return `${e}'/${t}'/${n}'/${r}${typeof s != "number" ? "" : `/${s}`}`;
function wt([e, t, n, s, r]) {
return `${e}'/${t}'/${n}'/${s}${typeof r != "number" ? "" : `/${r}`}`;
}
const le = [...Object.values(a), "TERRA"];
const ue = [...Object.values(a), "TERRA"];
function dt(e = "") {
const t = e.toUpperCase(), [n] = t.split(".");
if (le.includes(n))
if (ue.includes(n))
return !0;
const [r] = t.split("/");
if (le.includes(r))
const [s] = t.split("/");
if (ue.includes(s))
return !0;

@@ -761,3 +767,3 @@ throw new Error(

}
const B = 8, N = (e) => 10n ** BigInt(e), b = (e) => Math.log10(parseFloat(e.toString()));
const B = 8, C = (e) => 10n ** BigInt(e), b = (e) => Math.log10(parseFloat(e.toString()));
function G({

@@ -770,9 +776,9 @@ value: e,

return e.toString();
const r = e < 0n;
let s = e.toString().substring(r ? 1 : 0);
const i = n - (s.length - 1);
i > 0 && (s = "0".repeat(i) + s);
const o = s.length - n;
let u = s.slice(-n);
return parseInt(u[t]) >= 5 ? u = `${u.substring(0, t - 1)}${(parseInt(u[t - 1]) + 1).toString()}` : u = u.substring(0, t), `${r ? "-" : ""}${s.slice(0, o)}.${u}`.replace(
const s = e < 0n;
let r = e.toString().substring(s ? 1 : 0);
const i = n - (r.length - 1);
i > 0 && (r = "0".repeat(i) + r);
const o = r.length - n;
let l = r.slice(-n);
return parseInt(l[t]) >= 5 ? l = `${l.substring(0, t - 1)}${(parseInt(l[t - 1]) + 1).toString()}` : l = l.substring(0, t), `${s ? "-" : ""}${r.slice(0, o)}.${l}`.replace(
/\.?0*$/,

@@ -782,18 +788,18 @@ ""

}
var C, y, f, D, j, Ne, U, z, L, Z;
const se = class se {
var N, y, f, D, k, Ce, L, z, U, Z;
const re = class re {
constructor(t) {
O(this, C);
O(this, N);
O(this, f);
O(this, j);
O(this, k);
O(this, L);
O(this, U);
O(this, L);
p(this, "decimalMultiplier", 10n ** 8n);
p(this, "bigIntValue", 0n);
p(this, "decimal");
const n = ee(t), r = typeof t == "object";
this.decimal = r ? t.decimal : void 0, this.decimalMultiplier = r && "decimalMultiplier" in t ? t.decimalMultiplier : N(Math.max(_e($(n)), this.decimal || 0)), T(this, j, Ne).call(this, n);
const n = ee(t), s = typeof t == "object";
this.decimal = s ? t.decimal : void 0, this.decimalMultiplier = s && "decimalMultiplier" in t ? t.decimalMultiplier : C(Math.max(_e($(n)), this.decimal || 0)), T(this, k, Ce).call(this, n);
}
static fromBigInt(t, n) {
return new se({
return new re({
decimal: n,

@@ -806,7 +812,7 @@ value: G({ value: t, bigIntDecimal: n, decimal: n })

from: n,
to: r
to: s
}) {
return this.fromBigInt(
t.getBaseValue("bigint") * N(r) / N(n),
r
t.getBaseValue("bigint") * C(s) / C(n),
s
);

@@ -818,12 +824,12 @@ }

add(...t) {
return T(this, C, y).call(this, "add", ...t);
return T(this, N, y).call(this, "add", ...t);
}
sub(...t) {
return T(this, C, y).call(this, "sub", ...t);
return T(this, N, y).call(this, "sub", ...t);
}
mul(...t) {
return T(this, C, y).call(this, "mul", ...t);
return T(this, N, y).call(this, "mul", ...t);
}
div(...t) {
return T(this, C, y).call(this, "div", ...t);
return T(this, N, y).call(this, "div", ...t);
}

@@ -862,10 +868,10 @@ gt(t) {

getBaseValue(t) {
const n = this.decimalMultiplier / N(this.decimal || d.THOR), r = this.bigIntValue / n;
const n = this.decimalMultiplier / C(this.decimal || d.THOR), s = this.bigIntValue / n;
switch (t) {
case "number":
return Number(r);
return Number(s);
case "string":
return r.toString();
return s.toString();
case "bigint":
return r;
return s;
}

@@ -876,19 +882,19 @@ }

return t.bigIntValue;
const r = ee(t), s = $(r);
return s === "0" || s === "undefined" ? 0n : T(this, L, Z).call(this, s, n);
const s = ee(t), r = $(s);
return r === "0" || r === "undefined" ? 0n : T(this, U, Z).call(this, r, n);
}
toSignificant(t = 6) {
const [n, r] = this.getValue("string").split("."), s = n || "", i = r || "";
if ((parseInt(s) ? s.length + i.length : i.length) <= t)
const [n, s] = this.getValue("string").split("."), r = n || "", i = s || "";
if ((parseInt(r) ? r.length + i.length : i.length) <= t)
return this.getValue("string");
if (s.length >= t)
return s.slice(0, t).padEnd(s.length, "0");
if (parseInt(s))
return `${s}.${i.slice(0, t - s.length)}`.padEnd(
t - s.length,
if (r.length >= t)
return r.slice(0, t).padEnd(r.length, "0");
if (parseInt(r))
return `${r}.${i.slice(0, t - r.length)}`.padEnd(
t - r.length,
"0"
);
const u = parseInt(i), c = `${u}`.slice(0, t);
const l = parseInt(i), c = `${l}`.slice(0, t);
return `0.${c.padStart(
i.length - `${u}`.length + c.length,
i.length - `${l}`.length + c.length,
"0"

@@ -898,8 +904,8 @@ )}`;

toFixed(t = 6) {
const [n, r] = this.getValue("string").split("."), s = n || "", i = r || "";
if (parseInt(s))
return `${s}.${i.slice(0, t)}`.padEnd(t, "0");
const o = parseInt(i), u = `${o}`.slice(0, t);
return `0.${u.padStart(
i.length - `${o}`.length + u.length,
const [n, s] = this.getValue("string").split("."), r = n || "", i = s || "";
if (parseInt(r))
return `${r}.${i.slice(0, t)}`.padEnd(t, "0");
const o = parseInt(i), l = `${o}`.slice(0, t);
return `0.${l.padStart(
i.length - `${o}`.length + l.length,
"0"

@@ -909,6 +915,6 @@ )}`;

toAbbreviation(t = 2) {
const n = this.getValue("number"), r = ["", "K", "M", "B", "T", "Q", "Qi", "S"], s = Math.floor(Math.log10(Math.abs(n)) / 3), i = r[s];
const n = this.getValue("number"), s = ["", "K", "M", "B", "T", "Q", "Qi", "S"], r = Math.floor(Math.log10(Math.abs(n)) / 3), i = s[r];
if (!i)
return this.getValue("string");
const o = 10 ** (s * 3);
const o = 10 ** (r * 3);
return `${(n / o).toFixed(t)}${i}`;

@@ -918,16 +924,16 @@ }

currencyPosition: n = "start",
decimal: r = 2,
decimalSeparator: s = ".",
decimal: s = 2,
decimalSeparator: r = ".",
thousandSeparator: i = ","
} = {}) {
const o = this.getValue("number"), [u, c = ""] = o.toFixed(6).split("."), _ = u.replace(/\B(?=(\d{3})+(?!\d))/g, i), h = !u && !c ? "0.00" : u === "0" ? `${parseFloat(`0.${c}`)}`.replace(".", s) : `${_}${parseInt(c) ? `${s}${c.slice(0, r)}` : ""}`;
const o = this.getValue("number"), [l, c = ""] = o.toFixed(6).split("."), _ = l.replace(/\B(?=(\d{3})+(?!\d))/g, i), h = !l && !c ? "0.00" : l === "0" ? `${parseFloat(`0.${c}`)}`.replace(".", r) : `${_}${parseInt(c) ? `${r}${c.slice(0, s)}` : ""}`;
return `${n === "start" ? t : ""}${h}${n === "end" ? t : ""}`;
}
formatBigIntToSafeValue(t, n) {
const r = n || this.decimal || B, s = Math.max(
r,
const s = n || this.decimal || B, r = Math.max(
s,
b(this.decimalMultiplier)
), i = t < 0n, o = t.toString().substring(i ? 1 : 0), u = s - (o.length - 1), c = u > 0 ? "0".repeat(u) + o : o, _ = c.length - s;
let h = c.slice(-s);
return parseInt(h[r]) >= 5 ? h = `${h.substring(0, r - 1)}${(parseInt(h[r - 1]) + 1).toString()}` : h = h.substring(0, r), `${i ? "-" : ""}${c.slice(
), i = t < 0n, o = t.toString().substring(i ? 1 : 0), l = r - (o.length - 1), c = l > 0 ? "0".repeat(l) + o : o, _ = c.length - r;
let h = c.slice(-r);
return parseInt(h[s]) >= 5 ? h = `${h.substring(0, s - 1)}${(parseInt(h[s - 1]) + 1).toString()}` : h = h.substring(0, s), `${i ? "-" : ""}${c.slice(
0,

@@ -938,6 +944,6 @@ _

};
C = new WeakSet(), y = function(t, ...n) {
const r = T(this, U, z).call(this, this, ...n), s = Math.max(r, b(this.decimalMultiplier)), i = N(s), o = n.reduce(
N = new WeakSet(), y = function(t, ...n) {
const s = T(this, L, z).call(this, this, ...n), r = Math.max(s, b(this.decimalMultiplier)), i = C(r), o = n.reduce(
(c, _) => {
const h = this.getBigIntValue(_, s);
const h = this.getBigIntValue(_, r);
switch (t) {

@@ -961,38 +967,38 @@ case "add":

this.bigIntValue * i / this.decimalMultiplier
), u = G({
bigIntDecimal: s,
decimal: s,
), l = G({
bigIntDecimal: r,
decimal: r,
value: o
});
return new this.constructor({
decimalMultiplier: N(s),
decimalMultiplier: C(r),
decimal: this.decimal,
value: u,
value: l,
identifier: this.toString()
});
}, f = new WeakSet(), D = function(t, ...n) {
const r = T(this, U, z).call(this, this, ...n), s = this.getBigIntValue(n[0], r), i = this.getBigIntValue(this, r);
const s = T(this, L, z).call(this, this, ...n), r = this.getBigIntValue(n[0], s), i = this.getBigIntValue(this, s);
switch (t) {
case "gt":
return i > s;
return i > r;
case "gte":
return i >= s;
return i >= r;
case "lt":
return i < s;
return i < r;
case "lte":
return i <= s;
return i <= r;
case "eqValue":
return i === s;
return i === r;
}
}, j = new WeakSet(), Ne = function(t) {
}, k = new WeakSet(), Ce = function(t) {
const n = $(t) || "0";
this.bigIntValue = T(this, L, Z).call(this, n);
}, U = new WeakSet(), z = function(...t) {
const n = t.map((r) => typeof r == "object" ? r.decimal || b(r.decimalMultiplier) : _e($(r))).filter(Boolean);
this.bigIntValue = T(this, U, Z).call(this, n);
}, L = new WeakSet(), z = function(...t) {
const n = t.map((s) => typeof s == "object" ? s.decimal || b(s.decimalMultiplier) : _e($(s))).filter(Boolean);
return Math.max(...n, B);
}, L = new WeakSet(), Z = function(t, n) {
const r = n ? N(n) : this.decimalMultiplier, s = b(r), [i = "", o = ""] = t.split(".");
return BigInt(`${i}${o.padEnd(s, "0")}`);
}, U = new WeakSet(), Z = function(t, n) {
const s = n ? C(n) : this.decimalMultiplier, r = b(s), [i = "", o = ""] = t.split(".");
return BigInt(`${i}${o.padEnd(r, "0")}`);
};
let W = se;
let W = re;
const Tt = Intl.NumberFormat("fullwide", {

@@ -1018,9 +1024,9 @@ useGrouping: !1,

value: n,
decimal: r,
tax: s,
decimal: s,
tax: r,
chain: i,
symbol: o,
identifier: u
identifier: l
}) {
super(typeof n == "object" ? n : { decimal: r, value: n });
super(typeof n == "object" ? n : { decimal: s, value: n });
p(this, "address");

@@ -1034,4 +1040,4 @@ p(this, "chain");

p(this, "type");
const c = x(u || `${i}.${o}`);
this.type = ot(c), this.tax = s, this.chain = c.chain, this.ticker = c.ticker, this.symbol = c.symbol, this.address = c.address, this.isSynthetic = c.isSynthetic, this.isGasAsset = c.isGasAsset;
const c = F(l || `${i}.${o}`);
this.type = ot(c), this.tax = r, this.chain = c.chain, this.ticker = c.ticker, this.symbol = c.symbol, this.address = c.address, this.isSynthetic = c.isSynthetic, this.isGasAsset = c.isGasAsset;
}

@@ -1044,7 +1050,7 @@ toString() {

}
eq({ chain: n, symbol: r }) {
return this.chain === n && this.symbol === r;
eq({ chain: n, symbol: s }) {
return this.chain === n && this.symbol === s;
}
chainId() {
return Le[this.chain];
return Ue[this.chain];
}

@@ -1054,26 +1060,26 @@ // THOR.RUNE

// ETH.THOR-0x1234567890
static fromUrl(n, r = 0) {
const [s, i, o] = n.split(".");
if (!s || !i)
static fromUrl(n, s = 0) {
const [r, i, o] = n.split(".");
if (!r || !i)
throw new Error("Invalid asset url");
const u = s === a.THORChain && o ? `${s}.${i}/${o}` : n;
return J(u, r);
const l = r === a.THORChain && o ? `${r}.${i}/${o}` : n;
return J(l, s);
}
static fromString(n, r = 0) {
return J(n, r);
static fromString(n, s = 0) {
return J(n, s);
}
static fromIdentifier(n, r = 0) {
return J(n, r);
static fromIdentifier(n, s = 0) {
return J(n, s);
}
static fromStringSync(n, r = 0) {
const { chain: s, isSynthetic: i } = x(n), o = w.get(n.toUpperCase());
static fromStringSync(n, s = 0) {
const { chain: r, isSynthetic: i } = F(n), o = w.get(n.toUpperCase());
if (i)
return he(n, r);
const { tax: u, decimal: c, identifier: _ } = o || {
decimal: d[s],
return he(n, s);
const { tax: l, decimal: c, identifier: _ } = o || {
decimal: d[r],
identifier: n
};
return new g({
tax: u,
value: V(r, c),
tax: l,
value: V(s, c),
identifier: i ? n : _,

@@ -1083,26 +1089,26 @@ decimal: i ? 8 : c

}
static fromIdentifierSync(n, r = 0) {
const { chain: s, isSynthetic: i } = x(n), o = w.get(n);
static fromIdentifierSync(n, s = 0) {
const { chain: r, isSynthetic: i } = F(n), o = w.get(n);
if (i)
return he(n, r);
const { tax: u, decimal: c, identifier: _ } = o || {
decimal: d[s],
return he(n, s);
const { tax: l, decimal: c, identifier: _ } = o || {
decimal: d[r],
identifier: n
};
return new g({ tax: u, decimal: c, identifier: _, value: V(r, c) });
return new g({ tax: l, decimal: c, identifier: _, value: V(s, c) });
}
static fromChainOrSignature(n, r = 0) {
const { decimal: s, identifier: i } = at(n);
return new g({ value: V(r, s), decimal: s, identifier: i });
static fromChainOrSignature(n, s = 0) {
const { decimal: r, identifier: i } = at(n);
return new g({ value: V(s, r), decimal: r, identifier: i });
}
static loadStaticAssets() {
return new Promise(
async (n, r) => {
async (n, s) => {
try {
const s = await import("@swapkit/tokens");
Object.values(s).forEach((i) => {
const r = await import("@swapkit/tokens");
Object.values(r).forEach((i) => {
var o;
(o = i == null ? void 0 : i.tokens) == null || o.forEach(({ identifier: u, chain: c, ..._ }) => {
w.set(u.toUpperCase(), {
identifier: u,
(o = i == null ? void 0 : i.tokens) == null || o.forEach(({ identifier: l, chain: c, ..._ }) => {
w.set(l.toUpperCase(), {
identifier: l,
decimal: "decimals" in _ ? _.decimals : d[c]

@@ -1112,6 +1118,6 @@ });

}), n({ ok: !0 });
} catch (s) {
console.error(s), r({
} catch (r) {
console.error(r), s({
ok: !1,
error: s,
error: r,
message: "Couldn't load static assets. Ensure you have installed @swapkit/tokens package"

@@ -1147,8 +1153,8 @@ });

dt(e);
const n = w.get(e.toUpperCase()), r = (n == null ? void 0 : n.decimal) || await it(x(e));
return n || w.set(e.toUpperCase(), { identifier: e, decimal: r }), new g({ decimal: r, value: V(t, r), identifier: e });
const n = w.get(e.toUpperCase()), s = (n == null ? void 0 : n.decimal) || await it(F(e));
return n || w.set(e.toUpperCase(), { identifier: e, decimal: s }), new g({ decimal: s, value: V(t, s), identifier: e });
}
function he(e, t = 0) {
const [n, r] = e.split(".")[0].toUpperCase() === a.THORChain ? e.split(".").slice(1).join().split("/") : e.split("/");
if (!n || !r)
const [n, s] = e.split(".")[0].toUpperCase() === a.THORChain ? e.split(".").slice(1).join().split("/") : e.split("/");
if (!n || !s)
throw new Error("Invalid asset identifier");

@@ -1158,3 +1164,3 @@ return new g({

value: V(t, 8),
identifier: `${a.THORChain}.${n}/${r}`
identifier: `${a.THORChain}.${n}/${s}`
});

@@ -1165,7 +1171,7 @@ }

}
function x(e) {
const t = e.slice(0, 14).includes("/"), [n, r] = e.split(".")[0].toUpperCase() === a.THORChain ? e.split(".").slice(1).join().split("/") : e.split("/");
if (t && (!n || !r))
function F(e) {
const t = e.slice(0, 14).includes("/"), [n, s] = e.split(".")[0].toUpperCase() === a.THORChain ? e.split(".").slice(1).join().split("/") : e.split("/");
if (t && (!n || !s))
throw new Error("Invalid asset identifier");
const s = e.includes(".") && !t ? e : `${a.THORChain}.${r}`, [i, ...o] = s.split("."), [u, c] = (t ? r : o.join(".")).split("-"), _ = t ? r : o.join(".");
const r = e.includes(".") && !t ? e : `${a.THORChain}.${s}`, [i, ...o] = r.split("."), [l, c] = (t ? s : o.join(".")).split("-"), _ = t ? s : o.join(".");
return {

@@ -1176,4 +1182,4 @@ address: c == null ? void 0 : c.toLowerCase(),

isSynthetic: t,
symbol: (t ? `${n}/` : "") + (c ? `${u}-${(c == null ? void 0 : c.toLowerCase()) ?? ""}` : _),
ticker: u
symbol: (t ? `${n}/` : "") + (c ? `${l}-${(c == null ? void 0 : c.toLowerCase()) ?? ""}` : _),
ticker: l
};

@@ -1245,5 +1251,5 @@ }

};
class Ce extends Error {
class Ne extends Error {
constructor(t, n) {
n && console.error(n, { stack: n == null ? void 0 : n.stack, message: n == null ? void 0 : n.message }), super(t, { cause: { code: At[t], message: t } }), Object.setPrototypeOf(this, Ce.prototype);
n && console.error(n, { stack: n == null ? void 0 : n.stack, message: n == null ? void 0 : n.message }), super(t, { cause: { code: At[t], message: t } }), Object.setPrototypeOf(this, Ne.prototype);
}

@@ -1269,3 +1275,3 @@ }

Et as SwapKitApi,
Ce as SwapKitError,
Ne as SwapKitError,
I as SwapKitNumber,

@@ -1282,5 +1288,5 @@ ze as TransactionType,

_t as getAsymmetricAssetShare,
Ct as getAsymmetricAssetWithdrawAmount,
lt as getAsymmetricRuneShare,
Nt as getAsymmetricRuneWithdrawAmount,
Nt as getAsymmetricAssetWithdrawAmount,
ut as getAsymmetricRuneShare,
Ct as getAsymmetricRuneWithdrawAmount,
at as getCommonAssetInfo,

@@ -1287,0 +1293,0 @@ it as getDecimal,

@@ -5,3 +5,3 @@ {

"dependencies": {
"@swapkit/api": "1.0.0-rc.36"
"@swapkit/api": "1.0.0-rc.37"
},

@@ -13,4 +13,4 @@ "devDependencies": {

"@internal/config": "0.0.2-rc.0",
"@swapkit/tokens": "1.0.0-rc.33",
"@swapkit/types": "1.0.0-rc.35"
"@swapkit/tokens": "1.0.0-rc.34",
"@swapkit/types": "1.0.0-rc.36"
},

@@ -21,4 +21,4 @@ "eslintConfig": {

"peerDependencies": {
"@swapkit/tokens": "1.0.0-rc.33",
"@swapkit/types": "1.0.0-rc.35"
"@swapkit/tokens": "1.0.0-rc.34",
"@swapkit/types": "1.0.0-rc.36"
},

@@ -48,3 +48,3 @@ "exports": {

"types": "./dist/index.d.ts",
"version": "1.0.0-rc.67",
"version": "1.0.0-rc.68",
"scripts": {

@@ -51,0 +51,0 @@ "build": "vite build",

@@ -88,2 +88,4 @@ import { RequestClient } from '@swapkit/api';

case Chain.Avalanche:
case Chain.Polkadot:
case Chain.Chainflip:
return symbol === chain;

@@ -143,3 +145,5 @@

case Chain.Avalanche:
case Chain.Chainflip:
case Chain.Polygon:
case Chain.Polkadot:
case Chain.Bitcoin:

@@ -161,2 +165,4 @@ case Chain.Ethereum:

case Chain.THORChain:
case Chain.Polkadot:
case Chain.Chainflip:
return 'Native';

@@ -163,0 +169,0 @@

import type {
ChainflipList,
CoinGeckoList,

@@ -28,2 +29,3 @@ MayaList,

| (typeof WoofiList)['tokens'][number]['identifier']
| (typeof UniswapList)['tokens'][number]['identifier'];
| (typeof UniswapList)['tokens'][number]['identifier']
| (typeof ChainflipList)['tokens'][number]['identifier'];

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc