UNPKG

@xlink-network/xlink-sdk

Version:
76 lines (74 loc) 2.55 kB
import { fromCorrespondingStacksToken } from "./chunk-COUTRDKA.mjs"; import { getEVMTokenContractInfo } from "./chunk-UJDCORME.mjs"; import { getBRC20SupportedRoutes, getRunesSupportedRoutes } from "./chunk-BNOOAGFD.mjs"; import { KnownChainId, KnownTokenId, _allNoLongerSupportedEVMChains } from "./chunk-GZDQGY7B.mjs"; import { checkNever } from "./chunk-E5Y3FGR6.mjs"; import { hasAny } from "./chunk-PRLWYSC3.mjs"; // src/stacksUtils/peggingHelpers.ts var isSupportedStacksRoute = async (ctx, route) => { const { fromChain, toChain, fromToken, toToken } = route; if (fromChain === toChain && fromToken === toToken) { return false; } if (KnownChainId.isEVMChain(fromChain) && _allNoLongerSupportedEVMChains.includes(fromChain)) { return false; } if (KnownChainId.isEVMChain(toChain) && _allNoLongerSupportedEVMChains.includes(toChain)) { return false; } if (!KnownChainId.isStacksChain(fromChain) || !KnownTokenId.isStacksToken(fromToken)) { return false; } if (!KnownChainId.isKnownChain(toChain)) return false; if (KnownChainId.isStacksChain(toChain)) { return false; } if (KnownChainId.isBitcoinChain(toChain)) { if (!KnownTokenId.isBitcoinToken(toToken)) return false; return fromToken === KnownTokenId.Stacks.aBTC && toToken === KnownTokenId.Bitcoin.BTC; } if (KnownChainId.isRunesChain(toChain)) { if (!KnownTokenId.isRunesToken(toToken)) return false; const supportedRoutes = await getRunesSupportedRoutes(ctx, toChain); if (supportedRoutes == null || !hasAny(supportedRoutes)) return false; return supportedRoutes.some( (route2) => route2.stacksToken === fromToken && route2.runesToken === toToken ); } if (KnownChainId.isBRC20Chain(toChain)) { if (!KnownTokenId.isBRC20Token(toToken)) return false; const supportedRoutes = await getBRC20SupportedRoutes(ctx, toChain); if (supportedRoutes == null || !hasAny(supportedRoutes)) return false; return supportedRoutes.some( (route2) => route2.stacksToken === fromToken && route2.brc20Token === toToken ); } if (KnownChainId.isEVMChain(toChain)) { if (!KnownTokenId.isEVMToken(toToken)) return false; const info = await getEVMTokenContractInfo(ctx, toChain, toToken); if (info == null) return false; const toEVMTokens = await fromCorrespondingStacksToken(toChain, fromToken); return toEVMTokens.includes(toToken); } checkNever(toChain); return false; }; export { isSupportedStacksRoute }; //# sourceMappingURL=chunk-56RIW7A5.mjs.map