@rash2x/bridge-widget 0.8.5 → 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.
@@ -1351,9 +1351,14 @@ const ChainSelectModal = ({
1351
1351
  const switchToEquivalentIfNeeded = React.useCallback(
1352
1352
  (chainKey) => {
1353
1353
  if (!selectedAssetSymbol || !assetMatrix) return;
1354
- const effectiveSym = getBridgeTokenSymbol(selectedAssetSymbol, assetMatrix, chainKey);
1355
- if (effectiveSym !== selectedAssetSymbol.toUpperCase()) {
1356
- setSelectedAssetSymbol(effectiveSym);
1354
+ const hasDirectToken = !!assetMatrix[selectedAssetSymbol.toUpperCase()]?.[chainKey];
1355
+ if (!hasDirectToken) {
1356
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
1357
+ if (assetMatrix[eq]?.[chainKey]) {
1358
+ setSelectedAssetSymbol(eq);
1359
+ break;
1360
+ }
1361
+ }
1357
1362
  }
1358
1363
  },
1359
1364
  [selectedAssetSymbol, assetMatrix, setSelectedAssetSymbol]
@@ -2320,6 +2325,21 @@ function resolveTokenOnChainFromMatrix$1(assetMatrix, assetSymbol, chainKey) {
2320
2325
  const byChain = assetMatrix[assetSymbol.toUpperCase()];
2321
2326
  return byChain?.[chainKey];
2322
2327
  }
2328
+ function resolveBridgeSourceTokenOnChainFromMatrix(assetMatrix, assetSymbol, chainKey) {
2329
+ if (!assetMatrix || !assetSymbol || !chainKey) return void 0;
2330
+ const resolvedSymbol = getBridgeTokenSymbol(assetSymbol, assetMatrix, chainKey);
2331
+ return resolveTokenOnChainFromMatrix$1(assetMatrix, resolvedSymbol, chainKey);
2332
+ }
2333
+ function resolveBridgeDestinationTokenOnChainFromMatrix(assetMatrix, assetSymbol, chainKey) {
2334
+ if (!assetMatrix || !assetSymbol || !chainKey) return void 0;
2335
+ const direct = resolveTokenOnChainFromMatrix$1(assetMatrix, assetSymbol, chainKey);
2336
+ if (direct) return direct;
2337
+ for (const eq of getEquivalentSymbols(assetSymbol)) {
2338
+ const eqToken = resolveTokenOnChainFromMatrix$1(assetMatrix, eq, chainKey);
2339
+ if (eqToken) return eqToken;
2340
+ }
2341
+ return void 0;
2342
+ }
2323
2343
  const DEFAULT_SLIPPAGE_BPS = 50;
2324
2344
  const lower = (s2) => (s2 ?? "").toLowerCase();
2325
2345
  const normSym = (s2) => (s2 ?? "").toUpperCase().replace(/₮/g, "T").replace(/[^A-Z0-9]/g, "");
@@ -2666,12 +2686,25 @@ function useBridgeQuote() {
2666
2686
  const srcTokenOnFrom = React.useMemo(() => {
2667
2687
  if (!assetMatrix || !selectedAssetSymbol || !fromChain?.chainKey) return void 0;
2668
2688
  const sym = getBridgeTokenSymbol(selectedAssetSymbol, assetMatrix, fromChain.chainKey);
2669
- return resolveTokenOnChainFromMatrix$1(assetMatrix, sym, fromChain.chainKey);
2689
+ const token = resolveTokenOnChainFromMatrix$1(assetMatrix, sym, fromChain.chainKey);
2690
+ console.log("[quote] srcToken", { selected: selectedAssetSymbol, resolved: sym, chain: fromChain.chainKey, addr: token?.address });
2691
+ return token;
2670
2692
  }, [assetMatrix, selectedAssetSymbol, fromChain?.chainKey]);
2671
2693
  const dstTokenOnTo = React.useMemo(() => {
2672
2694
  if (!assetMatrix || !selectedAssetSymbol || !toChain?.chainKey) return void 0;
2673
- const sym = getBridgeTokenSymbol(selectedAssetSymbol, assetMatrix, toChain.chainKey);
2674
- return resolveTokenOnChainFromMatrix$1(assetMatrix, sym, toChain.chainKey);
2695
+ const direct = resolveTokenOnChainFromMatrix$1(assetMatrix, selectedAssetSymbol, toChain.chainKey);
2696
+ if (direct) {
2697
+ console.log("[quote] dstToken", { selected: selectedAssetSymbol, resolved: selectedAssetSymbol, chain: toChain.chainKey, addr: direct.address });
2698
+ return direct;
2699
+ }
2700
+ for (const eq of getEquivalentSymbols(selectedAssetSymbol)) {
2701
+ const eqToken = resolveTokenOnChainFromMatrix$1(assetMatrix, eq, toChain.chainKey);
2702
+ if (eqToken) {
2703
+ console.log("[quote] dstToken", { selected: selectedAssetSymbol, resolved: eq, chain: toChain.chainKey, addr: eqToken.address });
2704
+ return eqToken;
2705
+ }
2706
+ }
2707
+ return void 0;
2675
2708
  }, [assetMatrix, selectedAssetSymbol, toChain?.chainKey]);
2676
2709
  const [loading, setLoading] = React.useState(false);
2677
2710
  React.useEffect(() => {
@@ -3892,12 +3925,12 @@ function useFeeBreakdown() {
3892
3925
  const { tokens, allTokens, selectedAssetSymbol, assetMatrix } = useTokensStore();
3893
3926
  const { fromChain, toChain, chains } = useChainsStore();
3894
3927
  return React.useMemo(() => {
3895
- const srcToken = resolveTokenOnChainFromMatrix$1(
3928
+ const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
3896
3929
  assetMatrix,
3897
3930
  selectedAssetSymbol,
3898
3931
  fromChain?.chainKey
3899
3932
  );
3900
- const dstToken = resolveTokenOnChainFromMatrix$1(
3933
+ const dstToken = resolveBridgeDestinationTokenOnChainFromMatrix(
3901
3934
  assetMatrix,
3902
3935
  selectedAssetSymbol,
3903
3936
  toChain?.chainKey
@@ -3974,12 +4007,12 @@ function buildBridgeExternalData({
3974
4007
  dstChain: toChain?.chainKey,
3975
4008
  amount: normalizedAmount || void 0
3976
4009
  };
3977
- const sourceToken = resolveTokenOnChainFromMatrix$1(
4010
+ const sourceToken = resolveBridgeSourceTokenOnChainFromMatrix(
3978
4011
  assetMatrix,
3979
4012
  selectedAssetSymbol,
3980
4013
  fromChain?.chainKey
3981
4014
  );
3982
- const destinationToken = resolveTokenOnChainFromMatrix$1(
4015
+ const destinationToken = resolveBridgeDestinationTokenOnChainFromMatrix(
3983
4016
  assetMatrix,
3984
4017
  selectedAssetSymbol,
3985
4018
  toChain?.chainKey
@@ -4607,7 +4640,7 @@ function useBridgeTransaction() {
4607
4640
  const txStore = useTransactionStore();
4608
4641
  const gas = useGasEstimate();
4609
4642
  const srcToken = React.useMemo(
4610
- () => resolveTokenOnChainFromMatrix$1(
4643
+ () => resolveBridgeSourceTokenOnChainFromMatrix(
4611
4644
  assetMatrix,
4612
4645
  selectedAssetSymbol,
4613
4646
  quote?.srcChainKey
@@ -4615,7 +4648,7 @@ function useBridgeTransaction() {
4615
4648
  [assetMatrix, selectedAssetSymbol, quote?.srcChainKey]
4616
4649
  );
4617
4650
  const dstToken = React.useMemo(
4618
- () => resolveTokenOnChainFromMatrix$1(
4651
+ () => resolveBridgeDestinationTokenOnChainFromMatrix(
4619
4652
  assetMatrix,
4620
4653
  selectedAssetSymbol,
4621
4654
  quote?.dstChainKey
@@ -4913,8 +4946,13 @@ function useSilentValidations(amountString) {
4913
4946
  const hasTooManyDecimals = (() => {
4914
4947
  if (!amountString || !fromChain?.chainKey || !selectedAssetSymbol)
4915
4948
  return false;
4949
+ const resolvedSym = getBridgeTokenSymbol(
4950
+ selectedAssetSymbol,
4951
+ assetMatrix,
4952
+ fromChain.chainKey
4953
+ );
4916
4954
  const sourceToken = tokens?.find(
4917
- (t2) => t2.chainKey === fromChain.chainKey && (t2.symbol ?? "").toUpperCase() === (selectedAssetSymbol ?? "").toUpperCase()
4955
+ (t2) => t2.chainKey === fromChain.chainKey && (t2.symbol ?? "").toUpperCase() === resolvedSym
4918
4956
  );
4919
4957
  if (!sourceToken) return false;
4920
4958
  const decimalPart = amountString.split(".")[1];
@@ -4925,11 +4963,18 @@ function useSilentValidations(amountString) {
4925
4963
  if (!selectedAssetSymbol || !fromChain?.chainKey || !toChain?.chainKey)
4926
4964
  return false;
4927
4965
  if (!assetMatrix) return false;
4928
- const normalizedSymbol = selectedAssetSymbol.toUpperCase();
4929
- const tokenMatrix = assetMatrix[normalizedSymbol];
4930
- if (!tokenMatrix) return true;
4931
- const existsOnSource = !!tokenMatrix[fromChain.chainKey];
4932
- const existsOnDestination = !!tokenMatrix[toChain.chainKey];
4966
+ const allSymbols = [
4967
+ selectedAssetSymbol.toUpperCase(),
4968
+ ...getEquivalentSymbols(selectedAssetSymbol).map(
4969
+ (s2) => s2.toUpperCase()
4970
+ )
4971
+ ];
4972
+ const existsOnSource = allSymbols.some(
4973
+ (sym) => !!assetMatrix[sym]?.[fromChain.chainKey]
4974
+ );
4975
+ const existsOnDestination = allSymbols.some(
4976
+ (sym) => !!assetMatrix[sym]?.[toChain.chainKey]
4977
+ );
4933
4978
  return !existsOnSource || !existsOnDestination;
4934
4979
  })();
4935
4980
  const hasInsufficientLiquidity = (() => {
@@ -26621,7 +26666,7 @@ class WalletConnectModal {
26621
26666
  }
26622
26667
  async initUi() {
26623
26668
  if (typeof window !== "undefined") {
26624
- await Promise.resolve().then(() => require("./index-DiFbb5zn.cjs"));
26669
+ await Promise.resolve().then(() => require("./index-BSfpUPGz.cjs"));
26625
26670
  const modal = document.createElement("wcm-modal");
26626
26671
  document.body.insertAdjacentElement("beforeend", modal);
26627
26672
  OptionsCtrl.setIsUiLoaded(true);
@@ -27334,12 +27379,12 @@ const EvaaBridgeContent = ({
27334
27379
  );
27335
27380
  const outputAmount = React.useMemo(() => {
27336
27381
  if (!quote || loading) return "";
27337
- const srcToken = resolveTokenOnChainFromMatrix$1(
27382
+ const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
27338
27383
  assetMatrix,
27339
27384
  selectedAssetSymbol,
27340
27385
  fromChain?.chainKey
27341
27386
  );
27342
- const dstToken = resolveTokenOnChainFromMatrix$1(
27387
+ const dstToken = resolveBridgeDestinationTokenOnChainFromMatrix(
27343
27388
  assetMatrix,
27344
27389
  selectedAssetSymbol,
27345
27390
  toChain?.chainKey
@@ -27510,6 +27555,8 @@ exports.makeTokenBalanceKey = makeTokenBalanceKey;
27510
27555
  exports.normalizeTickerSymbol = normalizeTickerSymbol;
27511
27556
  exports.pollUntilDelivered = pollUntilDelivered;
27512
27557
  exports.reportBridgeTransaction = reportBridgeTransaction;
27558
+ exports.resolveBridgeDestinationTokenOnChainFromMatrix = resolveBridgeDestinationTokenOnChainFromMatrix;
27559
+ exports.resolveBridgeSourceTokenOnChainFromMatrix = resolveBridgeSourceTokenOnChainFromMatrix;
27513
27560
  exports.resolveTokenOnChain = resolveTokenOnChain;
27514
27561
  exports.resolveTokenOnChainFromMatrix = resolveTokenOnChainFromMatrix$1;
27515
27562
  exports.toLD = toLD;
@@ -27524,4 +27571,4 @@ exports.useSettingsStore = useSettingsStore;
27524
27571
  exports.useSwapModel = useSwapModel;
27525
27572
  exports.useTokensStore = useTokensStore;
27526
27573
  exports.useTransactionStore = useTransactionStore;
27527
- //# sourceMappingURL=index-CytmPXNr.cjs.map
27574
+ //# sourceMappingURL=index-DUoTGuFx.cjs.map