@rash2x/bridge-widget 0.8.4 → 0.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1194,6 +1194,25 @@ const SearchInput = ({
1194
1194
  ) })
1195
1195
  ] });
1196
1196
  };
1197
+ const TOKEN_EQUIVALENTS = {
1198
+ USDT: ["USDT0"],
1199
+ USDT0: ["USDT"]
1200
+ };
1201
+ function getEquivalentSymbols(symbol) {
1202
+ return TOKEN_EQUIVALENTS[symbol.toUpperCase()] ?? [];
1203
+ }
1204
+ const BRIDGE_PREFERRED_TOKENS = /* @__PURE__ */ new Set(["USDT0"]);
1205
+ function getBridgeTokenSymbol(symbol, assetMatrix, chainKey) {
1206
+ if (!assetMatrix || !chainKey) return symbol.toUpperCase();
1207
+ const candidates = [symbol.toUpperCase(), ...getEquivalentSymbols(symbol)];
1208
+ for (const sym of candidates) {
1209
+ if (BRIDGE_PREFERRED_TOKENS.has(sym) && assetMatrix[sym]?.[chainKey]) return sym;
1210
+ }
1211
+ for (const sym of candidates) {
1212
+ if (assetMatrix[sym]?.[chainKey]) return sym;
1213
+ }
1214
+ return symbol.toUpperCase();
1215
+ }
1197
1216
  const ChainSelectModal = ({
1198
1217
  isOpen,
1199
1218
  onClose,
@@ -1221,10 +1240,14 @@ const ChainSelectModal = ({
1221
1240
  "optimism",
1222
1241
  "base"
1223
1242
  ];
1224
- const assetByChain = assetMatrix[selectedAssetSymbol.toUpperCase()];
1225
- if (!assetByChain) return void 0;
1243
+ const allSymbols = [
1244
+ selectedAssetSymbol.toUpperCase(),
1245
+ ...getEquivalentSymbols(selectedAssetSymbol).map((s2) => s2.toUpperCase())
1246
+ ];
1247
+ const hasTokenOrEquiv = (chainKey) => allSymbols.some((sym) => !!assetMatrix[sym]?.[chainKey]);
1248
+ if (!hasTokenOrEquiv(dstChain.chainKey)) return void 0;
1226
1249
  const availableChains = chains.filter(
1227
- (c2) => assetByChain[c2.chainKey] && assetByChain[dstChain.chainKey] && c2.chainKey !== fromChain?.chainKey && c2.chainKey !== dstChain.chainKey
1250
+ (c2) => hasTokenOrEquiv(c2.chainKey) && c2.chainKey !== fromChain?.chainKey && c2.chainKey !== dstChain.chainKey
1228
1251
  );
1229
1252
  for (const chainKey of PRIORITY_CHAINS2) {
1230
1253
  const chain2 = availableChains.find((c2) => c2.chainKey === chainKey);
@@ -1308,9 +1331,25 @@ const ChainSelectModal = ({
1308
1331
  []
1309
1332
  );
1310
1333
  const [isPickLoading, setIsPickLoading] = useState(false);
1334
+ const switchToEquivalentIfNeeded = useCallback(
1335
+ (chainKey) => {
1336
+ if (!selectedAssetSymbol || !assetMatrix) return;
1337
+ const hasDirectToken = !!assetMatrix[selectedAssetSymbol.toUpperCase()]?.[chainKey];
1338
+ if (!hasDirectToken) {
1339
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
1340
+ if (assetMatrix[eq]?.[chainKey]) {
1341
+ setSelectedAssetSymbol(eq);
1342
+ break;
1343
+ }
1344
+ }
1345
+ }
1346
+ },
1347
+ [selectedAssetSymbol, assetMatrix, setSelectedAssetSymbol]
1348
+ );
1311
1349
  const onChainPick = useCallback(
1312
1350
  async (chain2, willChangeSrc = false, willChangeTokenAndSrc = false) => {
1313
1351
  if (!willChangeSrc && !willChangeTokenAndSrc) {
1352
+ switchToEquivalentIfNeeded(chain2.chainKey);
1314
1353
  onChangeChain(chain2);
1315
1354
  handleClose();
1316
1355
  return;
@@ -1342,7 +1381,18 @@ const ChainSelectModal = ({
1342
1381
  onChangeChain(chain2);
1343
1382
  }
1344
1383
  } else if (willChangeSrc && selectedAssetSymbol) {
1345
- const dstToken = assetMatrix?.[selectedAssetSymbol.toUpperCase()]?.[chain2.chainKey];
1384
+ let dstToken = assetMatrix?.[selectedAssetSymbol.toUpperCase()]?.[chain2.chainKey];
1385
+ let resolvedSym = selectedAssetSymbol;
1386
+ if (!dstToken?.address) {
1387
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
1388
+ const eqToken = assetMatrix?.[eq]?.[chain2.chainKey];
1389
+ if (eqToken?.address) {
1390
+ dstToken = eqToken;
1391
+ resolvedSym = eq;
1392
+ break;
1393
+ }
1394
+ }
1395
+ }
1346
1396
  if (!dstToken?.address) return;
1347
1397
  const availableSources = await getDestTokens(chain2.chainKey, dstToken.address);
1348
1398
  const sourceChainKeys = new Set(availableSources.map((t22) => t22.chainKey ?? ""));
@@ -1359,6 +1409,9 @@ const ChainSelectModal = ({
1359
1409
  );
1360
1410
  }
1361
1411
  if (validSrc) {
1412
+ if (resolvedSym.toUpperCase() !== selectedAssetSymbol.toUpperCase()) {
1413
+ setSelectedAssetSymbol(resolvedSym);
1414
+ }
1362
1415
  setFromChain(validSrc);
1363
1416
  onChangeChain(chain2);
1364
1417
  }
@@ -1376,6 +1429,7 @@ const ChainSelectModal = ({
1376
1429
  selectedAssetSymbol,
1377
1430
  assetMatrix,
1378
1431
  findCompatibleTokenAndSrcChain,
1432
+ switchToEquivalentIfNeeded,
1379
1433
  setSelectedAssetSymbol,
1380
1434
  setFromChain,
1381
1435
  onChangeChain,
@@ -2254,6 +2308,21 @@ function resolveTokenOnChainFromMatrix$1(assetMatrix, assetSymbol, chainKey) {
2254
2308
  const byChain = assetMatrix[assetSymbol.toUpperCase()];
2255
2309
  return byChain?.[chainKey];
2256
2310
  }
2311
+ function resolveBridgeSourceTokenOnChainFromMatrix(assetMatrix, assetSymbol, chainKey) {
2312
+ if (!assetMatrix || !assetSymbol || !chainKey) return void 0;
2313
+ const resolvedSymbol = getBridgeTokenSymbol(assetSymbol, assetMatrix, chainKey);
2314
+ return resolveTokenOnChainFromMatrix$1(assetMatrix, resolvedSymbol, chainKey);
2315
+ }
2316
+ function resolveBridgeDestinationTokenOnChainFromMatrix(assetMatrix, assetSymbol, chainKey) {
2317
+ if (!assetMatrix || !assetSymbol || !chainKey) return void 0;
2318
+ const direct = resolveTokenOnChainFromMatrix$1(assetMatrix, assetSymbol, chainKey);
2319
+ if (direct) return direct;
2320
+ for (const eq of getEquivalentSymbols(assetSymbol)) {
2321
+ const eqToken = resolveTokenOnChainFromMatrix$1(assetMatrix, eq, chainKey);
2322
+ if (eqToken) return eqToken;
2323
+ }
2324
+ return void 0;
2325
+ }
2257
2326
  const DEFAULT_SLIPPAGE_BPS = 50;
2258
2327
  const lower = (s2) => (s2 ?? "").toLowerCase();
2259
2328
  const normSym = (s2) => (s2 ?? "").toUpperCase().replace(/₮/g, "T").replace(/[^A-Z0-9]/g, "");
@@ -2597,22 +2666,29 @@ function useBridgeQuote() {
2597
2666
  const { chainRegistry } = useChainStrategies();
2598
2667
  const publicClient = usePublicClient();
2599
2668
  const input = inputAmount;
2600
- const srcTokenOnFrom = useMemo(
2601
- () => resolveTokenOnChainFromMatrix$1(
2602
- assetMatrix,
2603
- selectedAssetSymbol,
2604
- fromChain?.chainKey
2605
- ),
2606
- [assetMatrix, selectedAssetSymbol, fromChain?.chainKey]
2607
- );
2608
- const dstTokenOnTo = useMemo(
2609
- () => resolveTokenOnChainFromMatrix$1(
2610
- assetMatrix,
2611
- selectedAssetSymbol,
2612
- toChain?.chainKey
2613
- ),
2614
- [assetMatrix, selectedAssetSymbol, toChain?.chainKey]
2615
- );
2669
+ const srcTokenOnFrom = useMemo(() => {
2670
+ if (!assetMatrix || !selectedAssetSymbol || !fromChain?.chainKey) return void 0;
2671
+ const sym = getBridgeTokenSymbol(selectedAssetSymbol, assetMatrix, fromChain.chainKey);
2672
+ const token = resolveTokenOnChainFromMatrix$1(assetMatrix, sym, fromChain.chainKey);
2673
+ console.log("[quote] srcToken", { selected: selectedAssetSymbol, resolved: sym, chain: fromChain.chainKey, addr: token?.address });
2674
+ return token;
2675
+ }, [assetMatrix, selectedAssetSymbol, fromChain?.chainKey]);
2676
+ const dstTokenOnTo = useMemo(() => {
2677
+ if (!assetMatrix || !selectedAssetSymbol || !toChain?.chainKey) return void 0;
2678
+ const direct = resolveTokenOnChainFromMatrix$1(assetMatrix, selectedAssetSymbol, toChain.chainKey);
2679
+ if (direct) {
2680
+ console.log("[quote] dstToken", { selected: selectedAssetSymbol, resolved: selectedAssetSymbol, chain: toChain.chainKey, addr: direct.address });
2681
+ return direct;
2682
+ }
2683
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
2684
+ const eqToken = resolveTokenOnChainFromMatrix$1(assetMatrix, eq, toChain.chainKey);
2685
+ if (eqToken) {
2686
+ console.log("[quote] dstToken", { selected: selectedAssetSymbol, resolved: eq, chain: toChain.chainKey, addr: eqToken.address });
2687
+ return eqToken;
2688
+ }
2689
+ }
2690
+ return void 0;
2691
+ }, [assetMatrix, selectedAssetSymbol, toChain?.chainKey]);
2616
2692
  const [loading, setLoading] = useState(false);
2617
2693
  useEffect(() => {
2618
2694
  if (!input || input === "") {
@@ -2644,14 +2720,9 @@ function useBridgeQuote() {
2644
2720
  try {
2645
2721
  setLoading(true);
2646
2722
  setQuoteLoading?.();
2647
- if (assetMatrix && selectedAssetSymbol) {
2648
- const tokenMatrix = assetMatrix[selectedAssetSymbol.toUpperCase()];
2649
- if (!tokenMatrix || !tokenMatrix[fromChain.chainKey] || !tokenMatrix[toChain.chainKey]) {
2650
- if (!cancelled) {
2651
- resetUi();
2652
- }
2653
- return;
2654
- }
2723
+ if (!srcTokenOnFrom || !dstTokenOnTo) {
2724
+ if (!cancelled) resetUi();
2725
+ return;
2655
2726
  }
2656
2727
  const srcAmountLD = toLD(input, srcTokenOnFrom.decimals);
2657
2728
  const srcAddrApi = addrForApi(fromChain.chainKey, srcAddress);
@@ -2757,6 +2828,11 @@ const useChainDerivations = () => {
2757
2828
  return [];
2758
2829
  const byChain = assetMatrix[selectedAssetSymbol.toUpperCase()];
2759
2830
  const keys2 = new Set(Object.keys(byChain ?? {}));
2831
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
2832
+ for (const ck of Object.keys(assetMatrix[eq] ?? {})) {
2833
+ keys2.add(ck);
2834
+ }
2835
+ }
2760
2836
  const result = chains.filter((c2) => keys2.has(c2.chainKey) && isAllowedFromChain(c2.chainKey));
2761
2837
  return result;
2762
2838
  }, [selectedAssetSymbol, assetMatrix, chains]);
@@ -2798,11 +2874,8 @@ const useChainDerivations = () => {
2798
2874
  setAllowedToChains([]);
2799
2875
  return;
2800
2876
  }
2801
- const srcToken = resolveTokenOnChainFromMatrix(
2802
- assetMatrix,
2803
- selectedAssetSymbol,
2804
- fromChain.chainKey
2805
- );
2877
+ const srcSym = getBridgeTokenSymbol(selectedAssetSymbol, assetMatrix, fromChain.chainKey);
2878
+ const srcToken = resolveTokenOnChainFromMatrix(assetMatrix, srcSym, fromChain.chainKey);
2806
2879
  const srcAddr = srcToken?.address;
2807
2880
  if (!srcAddr) {
2808
2881
  setAllowedToChains([]);
@@ -2814,11 +2887,18 @@ const useChainDerivations = () => {
2814
2887
  const dest = await getDestTokens(fromChain.chainKey, srcAddr);
2815
2888
  if (ignore) return;
2816
2889
  const byChainSameSymbol = assetMatrix?.[selectedAssetSymbol.toUpperCase()] ?? {};
2890
+ const equivalentSymbols = /* @__PURE__ */ new Set([
2891
+ selectedAssetSymbol.toUpperCase(),
2892
+ ...getEquivalentSymbols(selectedAssetSymbol).map((s2) => s2.toUpperCase())
2893
+ ]);
2817
2894
  const filteredDest = dest.filter((t2) => {
2818
2895
  const ck = t2.chainKey ?? t2.dstChainKey ?? "";
2819
- const matrixToken = byChainSameSymbol[ck];
2820
- const symbolMatch = matrixToken && (t2.symbol ?? "").toUpperCase() === selectedAssetSymbol.toUpperCase();
2821
- return !!symbolMatch;
2896
+ const destSymbol = (t2.symbol ?? "").toUpperCase();
2897
+ if (!equivalentSymbols.has(destSymbol)) return false;
2898
+ const hasInMatrix = !!byChainSameSymbol[ck] || getEquivalentSymbols(selectedAssetSymbol).some(
2899
+ (eq) => !!assetMatrix?.[eq.toUpperCase()]?.[ck]
2900
+ );
2901
+ return hasInMatrix;
2822
2902
  });
2823
2903
  const keys2 = new Set(filteredDest.map((t2) => t2.chainKey));
2824
2904
  let list = chains.filter((c2) => keys2.has(c2.chainKey) && isAllowedToChain(c2.chainKey));
@@ -3593,7 +3673,18 @@ function useBalances(chainKey, address) {
3593
3673
  );
3594
3674
  if (typeof byAddress === "number") return byAddress;
3595
3675
  }
3596
- return balanceBySymbol.get(symbolUpper) ?? 0;
3676
+ const directBalance = balanceBySymbol.get(symbolUpper) ?? 0;
3677
+ if (directBalance > 0) return directBalance;
3678
+ for (const eq of getEquivalentSymbols(symbolUpper)) {
3679
+ const eqToken = chainKey ? assetMatrix?.[eq]?.[chainKey] : void 0;
3680
+ if (eqToken?.address) {
3681
+ const b2 = balanceByTokenKey.get(makeTokenBalanceKey(eqToken.address));
3682
+ if (typeof b2 === "number" && b2 > 0) return b2;
3683
+ }
3684
+ const eqBalance = balanceBySymbol.get(eq) ?? 0;
3685
+ if (eqBalance > 0) return eqBalance;
3686
+ }
3687
+ return directBalance;
3597
3688
  },
3598
3689
  [assetMatrix, balanceBySymbol, balanceByTokenKey, chainKey]
3599
3690
  );
@@ -3659,8 +3750,9 @@ function useSwapModel() {
3659
3750
  if (!isAllowedFromChain(toChain.chainKey)) return;
3660
3751
  chainsStore.setAllowedToChains([]);
3661
3752
  chainsStore.setFromChain(toChain);
3662
- const tokenOnNewFrom = tokensStore.assetMatrix?.[sym]?.[toChain.chainKey];
3663
- if (tokenOnNewFrom) {
3753
+ const matrix = tokensStore.assetMatrix;
3754
+ const hasTokenOnNewFrom = !!matrix?.[sym]?.[toChain.chainKey] || getEquivalentSymbols(sym).some((eq) => !!matrix?.[eq]?.[toChain.chainKey]);
3755
+ if (hasTokenOnNewFrom) {
3664
3756
  chainsStore.setToChain(fromChain);
3665
3757
  } else {
3666
3758
  chainsStore.setToChain(void 0);
@@ -3816,12 +3908,12 @@ function useFeeBreakdown() {
3816
3908
  const { tokens, allTokens, selectedAssetSymbol, assetMatrix } = useTokensStore();
3817
3909
  const { fromChain, toChain, chains } = useChainsStore();
3818
3910
  return useMemo(() => {
3819
- const srcToken = resolveTokenOnChainFromMatrix$1(
3911
+ const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
3820
3912
  assetMatrix,
3821
3913
  selectedAssetSymbol,
3822
3914
  fromChain?.chainKey
3823
3915
  );
3824
- const dstToken = resolveTokenOnChainFromMatrix$1(
3916
+ const dstToken = resolveBridgeDestinationTokenOnChainFromMatrix(
3825
3917
  assetMatrix,
3826
3918
  selectedAssetSymbol,
3827
3919
  toChain?.chainKey
@@ -3898,12 +3990,12 @@ function buildBridgeExternalData({
3898
3990
  dstChain: toChain?.chainKey,
3899
3991
  amount: normalizedAmount || void 0
3900
3992
  };
3901
- const sourceToken = resolveTokenOnChainFromMatrix$1(
3993
+ const sourceToken = resolveBridgeSourceTokenOnChainFromMatrix(
3902
3994
  assetMatrix,
3903
3995
  selectedAssetSymbol,
3904
3996
  fromChain?.chainKey
3905
3997
  );
3906
- const destinationToken = resolveTokenOnChainFromMatrix$1(
3998
+ const destinationToken = resolveBridgeDestinationTokenOnChainFromMatrix(
3907
3999
  assetMatrix,
3908
4000
  selectedAssetSymbol,
3909
4001
  toChain?.chainKey
@@ -4531,7 +4623,7 @@ function useBridgeTransaction() {
4531
4623
  const txStore = useTransactionStore();
4532
4624
  const gas = useGasEstimate();
4533
4625
  const srcToken = useMemo(
4534
- () => resolveTokenOnChainFromMatrix$1(
4626
+ () => resolveBridgeSourceTokenOnChainFromMatrix(
4535
4627
  assetMatrix,
4536
4628
  selectedAssetSymbol,
4537
4629
  quote?.srcChainKey
@@ -4539,7 +4631,7 @@ function useBridgeTransaction() {
4539
4631
  [assetMatrix, selectedAssetSymbol, quote?.srcChainKey]
4540
4632
  );
4541
4633
  const dstToken = useMemo(
4542
- () => resolveTokenOnChainFromMatrix$1(
4634
+ () => resolveBridgeDestinationTokenOnChainFromMatrix(
4543
4635
  assetMatrix,
4544
4636
  selectedAssetSymbol,
4545
4637
  quote?.dstChainKey
@@ -4837,8 +4929,13 @@ function useSilentValidations(amountString) {
4837
4929
  const hasTooManyDecimals = (() => {
4838
4930
  if (!amountString || !fromChain?.chainKey || !selectedAssetSymbol)
4839
4931
  return false;
4932
+ const resolvedSym = getBridgeTokenSymbol(
4933
+ selectedAssetSymbol,
4934
+ assetMatrix,
4935
+ fromChain.chainKey
4936
+ );
4840
4937
  const sourceToken = tokens?.find(
4841
- (t2) => t2.chainKey === fromChain.chainKey && (t2.symbol ?? "").toUpperCase() === (selectedAssetSymbol ?? "").toUpperCase()
4938
+ (t2) => t2.chainKey === fromChain.chainKey && (t2.symbol ?? "").toUpperCase() === resolvedSym
4842
4939
  );
4843
4940
  if (!sourceToken) return false;
4844
4941
  const decimalPart = amountString.split(".")[1];
@@ -4849,11 +4946,18 @@ function useSilentValidations(amountString) {
4849
4946
  if (!selectedAssetSymbol || !fromChain?.chainKey || !toChain?.chainKey)
4850
4947
  return false;
4851
4948
  if (!assetMatrix) return false;
4852
- const normalizedSymbol = selectedAssetSymbol.toUpperCase();
4853
- const tokenMatrix = assetMatrix[normalizedSymbol];
4854
- if (!tokenMatrix) return true;
4855
- const existsOnSource = !!tokenMatrix[fromChain.chainKey];
4856
- const existsOnDestination = !!tokenMatrix[toChain.chainKey];
4949
+ const allSymbols = [
4950
+ selectedAssetSymbol.toUpperCase(),
4951
+ ...getEquivalentSymbols(selectedAssetSymbol).map(
4952
+ (s2) => s2.toUpperCase()
4953
+ )
4954
+ ];
4955
+ const existsOnSource = allSymbols.some(
4956
+ (sym) => !!assetMatrix[sym]?.[fromChain.chainKey]
4957
+ );
4958
+ const existsOnDestination = allSymbols.some(
4959
+ (sym) => !!assetMatrix[sym]?.[toChain.chainKey]
4960
+ );
4857
4961
  return !existsOnSource || !existsOnDestination;
4858
4962
  })();
4859
4963
  const hasInsufficientLiquidity = (() => {
@@ -26545,7 +26649,7 @@ class WalletConnectModal {
26545
26649
  }
26546
26650
  async initUi() {
26547
26651
  if (typeof window !== "undefined") {
26548
- await import("./index-BKyBBUlY.js");
26652
+ await import("./index-B9_Kn_rc.js");
26549
26653
  const modal = document.createElement("wcm-modal");
26550
26654
  document.body.insertAdjacentElement("beforeend", modal);
26551
26655
  OptionsCtrl.setIsUiLoaded(true);
@@ -27258,12 +27362,12 @@ const EvaaBridgeContent = ({
27258
27362
  );
27259
27363
  const outputAmount = useMemo(() => {
27260
27364
  if (!quote || loading) return "";
27261
- const srcToken = resolveTokenOnChainFromMatrix$1(
27365
+ const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
27262
27366
  assetMatrix,
27263
27367
  selectedAssetSymbol,
27264
27368
  fromChain?.chainKey
27265
27369
  );
27266
- const dstToken = resolveTokenOnChainFromMatrix$1(
27370
+ const dstToken = resolveBridgeDestinationTokenOnChainFromMatrix(
27267
27371
  assetMatrix,
27268
27372
  selectedAssetSymbol,
27269
27373
  toChain?.chainKey
@@ -27386,7 +27490,7 @@ const EvaaBridgeContent = ({
27386
27490
  };
27387
27491
  const EvaaBridge = EvaaBridgeWithProviders;
27388
27492
  export {
27389
- getDestTokens as $,
27493
+ getChains as $,
27390
27494
  getRouteDisplayName as A,
27391
27495
  computeFeeBreakdownUsd as B,
27392
27496
  ConfigCtrl as C,
@@ -27398,32 +27502,34 @@ export {
27398
27502
  listAssetsForSelect as I,
27399
27503
  resolveTokenOnChain as J,
27400
27504
  resolveTokenOnChainFromMatrix$1 as K,
27401
- DEFAULT_SLIPPAGE_BPS as L,
27505
+ resolveBridgeSourceTokenOnChainFromMatrix as L,
27402
27506
  ModalCtrl as M,
27403
- tonNorm as N,
27507
+ resolveBridgeDestinationTokenOnChainFromMatrix as N,
27404
27508
  OptionsCtrl as O,
27405
- isZeroAddr as P,
27406
- addrForApi as Q,
27509
+ DEFAULT_SLIPPAGE_BPS as P,
27510
+ tonNorm as Q,
27407
27511
  RouterCtrl as R,
27408
- isNativeAddrEqual as S,
27512
+ isZeroAddr as S,
27409
27513
  ToastCtrl as T,
27410
- findNativeMeta as U,
27411
- lookupTokenMeta as V,
27412
- normalizeTickerSymbol as W,
27413
- isAllowedFromChain as X,
27414
- isAllowedToChain as Y,
27415
- getChains as Z,
27416
- getTokens as _,
27514
+ addrForApi as U,
27515
+ isNativeAddrEqual as V,
27516
+ findNativeMeta as W,
27517
+ lookupTokenMeta as X,
27518
+ normalizeTickerSymbol as Y,
27519
+ isAllowedFromChain as Z,
27520
+ isAllowedToChain as _,
27417
27521
  ThemeCtrl as a,
27418
- getQuotesByPriority as a0,
27419
- isNativeAddress as a1,
27420
- makeTokenBalanceKey as a2,
27421
- getEvmBalances as a3,
27422
- getTonBalances as a4,
27423
- getTronBalances as a5,
27424
- getDeliveryStatus as a6,
27425
- pollUntilDelivered as a7,
27426
- reportBridgeTransaction as a8,
27522
+ getTokens as a0,
27523
+ getDestTokens as a1,
27524
+ getQuotesByPriority as a2,
27525
+ isNativeAddress as a3,
27526
+ makeTokenBalanceKey as a4,
27527
+ getEvmBalances as a5,
27528
+ getTonBalances as a6,
27529
+ getTronBalances as a7,
27530
+ getDeliveryStatus as a8,
27531
+ pollUntilDelivered as a9,
27532
+ reportBridgeTransaction as aa,
27427
27533
  ExplorerCtrl as b,
27428
27534
  CoreUtil as c,
27429
27535
  EvaaBridge as d,
@@ -27450,4 +27556,4 @@ export {
27450
27556
  calculateMinReceived as y,
27451
27557
  getQuoteDetails as z
27452
27558
  };
27453
- //# sourceMappingURL=index-B5QQQ8Nj.js.map
27559
+ //# sourceMappingURL=index-UBA5Oxdc.js.map