@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.
- package/dist/evaa-bridge.cjs +3 -1
- package/dist/evaa-bridge.cjs.map +1 -1
- package/dist/evaa-bridge.mjs +25 -23
- package/dist/{index-BKyBBUlY.js → index-B9_Kn_rc.js} +2 -2
- package/dist/{index-BKyBBUlY.js.map → index-B9_Kn_rc.js.map} +1 -1
- package/dist/{index-BdfMMh_j.cjs → index-BSfpUPGz.cjs} +2 -2
- package/dist/{index-BdfMMh_j.cjs.map → index-BSfpUPGz.cjs.map} +1 -1
- package/dist/{index-BDGHvxEQ.cjs → index-DUoTGuFx.cjs} +161 -55
- package/dist/index-DUoTGuFx.cjs.map +1 -0
- package/dist/{index-B5QQQ8Nj.js → index-UBA5Oxdc.js} +183 -77
- package/dist/index-UBA5Oxdc.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/package.json +1 -1
- package/dist/index-B5QQQ8Nj.js.map +0 -1
- package/dist/index-BDGHvxEQ.cjs.map +0 -1
|
@@ -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
|
|
1225
|
-
|
|
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) =>
|
|
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
|
-
|
|
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
|
-
()
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
)
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
selectedAssetSymbol,
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
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 (
|
|
2648
|
-
|
|
2649
|
-
|
|
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
|
|
2802
|
-
|
|
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
|
|
2820
|
-
|
|
2821
|
-
|
|
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
|
-
|
|
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
|
|
3663
|
-
|
|
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 =
|
|
3911
|
+
const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
|
|
3820
3912
|
assetMatrix,
|
|
3821
3913
|
selectedAssetSymbol,
|
|
3822
3914
|
fromChain?.chainKey
|
|
3823
3915
|
);
|
|
3824
|
-
const dstToken =
|
|
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 =
|
|
3993
|
+
const sourceToken = resolveBridgeSourceTokenOnChainFromMatrix(
|
|
3902
3994
|
assetMatrix,
|
|
3903
3995
|
selectedAssetSymbol,
|
|
3904
3996
|
fromChain?.chainKey
|
|
3905
3997
|
);
|
|
3906
|
-
const destinationToken =
|
|
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
|
-
() =>
|
|
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
|
-
() =>
|
|
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() ===
|
|
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
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
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-
|
|
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 =
|
|
27365
|
+
const srcToken = resolveBridgeSourceTokenOnChainFromMatrix(
|
|
27262
27366
|
assetMatrix,
|
|
27263
27367
|
selectedAssetSymbol,
|
|
27264
27368
|
fromChain?.chainKey
|
|
27265
27369
|
);
|
|
27266
|
-
const dstToken =
|
|
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
|
-
|
|
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
|
-
|
|
27505
|
+
resolveBridgeSourceTokenOnChainFromMatrix as L,
|
|
27402
27506
|
ModalCtrl as M,
|
|
27403
|
-
|
|
27507
|
+
resolveBridgeDestinationTokenOnChainFromMatrix as N,
|
|
27404
27508
|
OptionsCtrl as O,
|
|
27405
|
-
|
|
27406
|
-
|
|
27509
|
+
DEFAULT_SLIPPAGE_BPS as P,
|
|
27510
|
+
tonNorm as Q,
|
|
27407
27511
|
RouterCtrl as R,
|
|
27408
|
-
|
|
27512
|
+
isZeroAddr as S,
|
|
27409
27513
|
ToastCtrl as T,
|
|
27410
|
-
|
|
27411
|
-
|
|
27412
|
-
|
|
27413
|
-
|
|
27414
|
-
|
|
27415
|
-
|
|
27416
|
-
|
|
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
|
-
|
|
27419
|
-
|
|
27420
|
-
|
|
27421
|
-
|
|
27422
|
-
|
|
27423
|
-
|
|
27424
|
-
|
|
27425
|
-
|
|
27426
|
-
|
|
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-
|
|
27559
|
+
//# sourceMappingURL=index-UBA5Oxdc.js.map
|