@rhinestone/deposit-modal 0.10.0 → 0.11.1
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/{DepositModalReown-MTWT6Y66.mjs → DepositModalReown-MO5QDLIT.mjs} +96 -26
- package/dist/{DepositModalReown-S3DSFXTX.cjs → DepositModalReown-YGB73NMW.cjs} +97 -27
- package/dist/caip-D8aRWdEY.d.cts +40 -0
- package/dist/caip-D8aRWdEY.d.ts +40 -0
- package/dist/{chunk-NF4NBRUP.cjs → chunk-4FTI3GTB.cjs} +1 -1
- package/dist/{chunk-A223BLVC.mjs → chunk-53IFZGSF.mjs} +177 -21
- package/dist/{chunk-VDGT6NZQ.mjs → chunk-5746YXKC.mjs} +14 -31
- package/dist/{chunk-7TV7GLJB.mjs → chunk-CWGUBFJL.mjs} +763 -169
- package/dist/{chunk-LR7MKHYV.mjs → chunk-EIWOVX53.mjs} +27 -25
- package/dist/{chunk-VTVOHNXM.cjs → chunk-FVUXJ3RP.cjs} +3 -3
- package/dist/{chunk-A42XAHIB.cjs → chunk-HUHBNYD3.cjs} +84 -101
- package/dist/{chunk-YEBXUUH3.cjs → chunk-JPRV36DT.cjs} +2 -2
- package/dist/{chunk-UMCDZJMG.cjs → chunk-LQGYPM5B.cjs} +96 -94
- package/dist/{chunk-ILT2PITN.mjs → chunk-MZ53PDIX.mjs} +1 -1
- package/dist/{chunk-5NJYW5FT.mjs → chunk-OWYPKCYD.mjs} +12 -9
- package/dist/{chunk-W4YAOJPG.cjs → chunk-SSQ27YFB.cjs} +625 -568
- package/dist/{chunk-H577RJN5.cjs → chunk-TENL4H64.cjs} +186 -30
- package/dist/{chunk-5OEWGJR4.mjs → chunk-URFSTNRS.mjs} +1 -1
- package/dist/{chunk-KW32UBUQ.mjs → chunk-V6T7LORJ.mjs} +1 -1
- package/dist/{chunk-MHIOMTMM.mjs → chunk-YELNYILK.mjs} +391 -334
- package/dist/{chunk-PUJHXHRA.cjs → chunk-ZQR36NCV.cjs} +845 -251
- package/dist/{chunk-DEF767BA.cjs → chunk-ZRIRCIQM.cjs} +66 -63
- package/dist/claim.cjs +6 -6
- package/dist/claim.d.cts +3 -2
- package/dist/claim.d.ts +3 -2
- package/dist/claim.mjs +5 -5
- package/dist/{caip-523Zrc3r.d.cts → constants-FuzG3h4m.d.cts} +1 -18
- package/dist/{caip-523Zrc3r.d.ts → constants-FuzG3h4m.d.ts} +1 -18
- package/dist/constants.cjs +5 -3
- package/dist/constants.d.cts +3 -2
- package/dist/constants.d.ts +3 -2
- package/dist/constants.mjs +4 -2
- package/dist/deposit.cjs +8 -8
- package/dist/deposit.d.cts +3 -2
- package/dist/deposit.d.ts +3 -2
- package/dist/deposit.mjs +7 -7
- package/dist/index.cjs +12 -10
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.mjs +11 -9
- package/dist/polymarket.cjs +5 -5
- package/dist/polymarket.mjs +2 -2
- package/dist/{types-C0SGf-21.d.cts → types-CsGa-HxD.d.cts} +10 -3
- package/dist/{types-C0SGf-21.d.ts → types-DdS8OySJ.d.ts} +10 -3
- package/dist/withdraw.cjs +6 -6
- package/dist/withdraw.d.cts +3 -2
- package/dist/withdraw.d.ts +3 -2
- package/dist/withdraw.mjs +5 -5
- package/package.json +1 -1
|
@@ -11,17 +11,16 @@ import {
|
|
|
11
11
|
getEventTxHash,
|
|
12
12
|
getExchangeLogo,
|
|
13
13
|
getExchangeLogoSrc,
|
|
14
|
-
getPublicClient,
|
|
15
14
|
isDepositEvent,
|
|
16
15
|
isFailedEvent,
|
|
17
16
|
readDedupedAccountSetupResult,
|
|
18
17
|
runAccountSetupDeduped,
|
|
19
18
|
txRefsMatch,
|
|
20
19
|
warnRemovedProps
|
|
21
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-5746YXKC.mjs";
|
|
22
21
|
import {
|
|
23
22
|
ListRow
|
|
24
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-V6T7LORJ.mjs";
|
|
25
24
|
import {
|
|
26
25
|
AlertTriangleIcon,
|
|
27
26
|
AppleIcon,
|
|
@@ -32,6 +31,7 @@ import {
|
|
|
32
31
|
Callout,
|
|
33
32
|
CardIcon,
|
|
34
33
|
CdnIcon,
|
|
34
|
+
ChainCatalogProvider,
|
|
35
35
|
CheckIcon,
|
|
36
36
|
ChevronDownIcon,
|
|
37
37
|
ChevronLeftIcon,
|
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
PlusCircleIcon,
|
|
49
49
|
PoweredBy,
|
|
50
50
|
RpcUrlsProvider,
|
|
51
|
+
SUPPORTED_CONNECT_EXCHANGE_COUNT,
|
|
51
52
|
Spinner,
|
|
52
53
|
SwappedConnectFeeChangedError,
|
|
53
54
|
TokenIcon,
|
|
@@ -55,6 +56,7 @@ import {
|
|
|
55
56
|
UnplugIcon,
|
|
56
57
|
WalletIcon,
|
|
57
58
|
applyTheme,
|
|
59
|
+
catalogKeyForChain,
|
|
58
60
|
chainIdsByValue,
|
|
59
61
|
checkBackendUrl,
|
|
60
62
|
createDepositService,
|
|
@@ -66,6 +68,7 @@ import {
|
|
|
66
68
|
formatTokenAmount,
|
|
67
69
|
formatUserError,
|
|
68
70
|
getAssetId,
|
|
71
|
+
getPublicClient,
|
|
69
72
|
isDisplayStablecoinSymbol,
|
|
70
73
|
isNativeAsset,
|
|
71
74
|
isRecognizedToken,
|
|
@@ -74,10 +77,16 @@ import {
|
|
|
74
77
|
resolveAppFeeBps,
|
|
75
78
|
rpcUrlFor,
|
|
76
79
|
tokenFormatter,
|
|
80
|
+
useCatalogChain,
|
|
81
|
+
useChainCatalog,
|
|
82
|
+
useChainName,
|
|
83
|
+
useDepositChainIds,
|
|
84
|
+
useExplorerTxUrl,
|
|
85
|
+
useIsDepositChain,
|
|
77
86
|
useLatestRef,
|
|
78
87
|
useRpcUrls,
|
|
79
88
|
useStableRpcUrls
|
|
80
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-CWGUBFJL.mjs";
|
|
81
90
|
import {
|
|
82
91
|
POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS,
|
|
83
92
|
POLYMARKET_ICON_URL,
|
|
@@ -88,21 +97,21 @@ import {
|
|
|
88
97
|
executePolymarketSafeTransfer,
|
|
89
98
|
fetchPolymarketProxyWallet,
|
|
90
99
|
readPolymarketBalances
|
|
91
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-MZ53PDIX.mjs";
|
|
92
101
|
import {
|
|
93
102
|
CHAIN_BY_ID,
|
|
94
103
|
HYPERCORE_CHAIN_ID,
|
|
95
104
|
HYPERCORE_MIN_DEPOSIT_USD,
|
|
105
|
+
HYPERCORE_SPOT_CAIP2,
|
|
96
106
|
NATIVE_TOKEN_ADDRESS,
|
|
97
107
|
SOLANA_TOKENS,
|
|
98
|
-
SOURCE_CHAINS,
|
|
99
108
|
cdnIconUrl,
|
|
100
109
|
findTokenDecimals,
|
|
110
|
+
getBundledTargetTokens,
|
|
101
111
|
getChainBadge,
|
|
102
112
|
getChainIcon,
|
|
103
113
|
getChainId,
|
|
104
114
|
getChainName,
|
|
105
|
-
getExplorerTxUrl,
|
|
106
115
|
getExplorerUrl,
|
|
107
116
|
getNativeSymbol,
|
|
108
117
|
getSupportedChainIds,
|
|
@@ -112,12 +121,16 @@ import {
|
|
|
112
121
|
getTokenDecimalsByAddress,
|
|
113
122
|
getTokenSymbol,
|
|
114
123
|
isHyperCoreCaip2,
|
|
124
|
+
isHyperCoreDestination,
|
|
115
125
|
isNativeSol,
|
|
116
126
|
isSolanaCaip2,
|
|
117
127
|
isStablecoinSymbol,
|
|
118
128
|
isVirtualDestination,
|
|
119
|
-
parseEvmChainId
|
|
120
|
-
|
|
129
|
+
parseEvmChainId,
|
|
130
|
+
publishShortlistTokens,
|
|
131
|
+
targetChainToCaip2,
|
|
132
|
+
targetChainToChainId
|
|
133
|
+
} from "./chunk-53IFZGSF.mjs";
|
|
121
134
|
|
|
122
135
|
// src/DepositModal.tsx
|
|
123
136
|
import {
|
|
@@ -208,11 +221,14 @@ SegmentedToggle.displayName = "SegmentedToggle";
|
|
|
208
221
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
209
222
|
function ChainIcon({ chainId, className, loading }) {
|
|
210
223
|
const badge = getChainBadge(chainId);
|
|
224
|
+
const catalogChain = useCatalogChain(catalogKeyForChain(chainId));
|
|
225
|
+
const name = catalogChain?.name ?? getChainName(chainId);
|
|
226
|
+
const initial = (catalogChain?.name ?? badge.shortLabel).charAt(0);
|
|
211
227
|
return /* @__PURE__ */ jsx2(
|
|
212
228
|
CdnIcon,
|
|
213
229
|
{
|
|
214
|
-
src: getChainIcon(chainId),
|
|
215
|
-
alt:
|
|
230
|
+
src: catalogChain?.iconUrl ?? getChainIcon(chainId),
|
|
231
|
+
alt: name,
|
|
216
232
|
className,
|
|
217
233
|
loading,
|
|
218
234
|
fallback: /* @__PURE__ */ jsx2(
|
|
@@ -220,8 +236,8 @@ function ChainIcon({ chainId, className, loading }) {
|
|
|
220
236
|
{
|
|
221
237
|
className: "rs-chain-badge-fallback",
|
|
222
238
|
style: { backgroundColor: badge.bg, color: badge.color },
|
|
223
|
-
"aria-label":
|
|
224
|
-
children:
|
|
239
|
+
"aria-label": name,
|
|
240
|
+
children: initial
|
|
225
241
|
}
|
|
226
242
|
)
|
|
227
243
|
}
|
|
@@ -283,7 +299,7 @@ var DAPP_IMPORT_CATALOG = [
|
|
|
283
299
|
];
|
|
284
300
|
|
|
285
301
|
// src/components/ui/BrandIcons.tsx
|
|
286
|
-
import { jsx as jsx4
|
|
302
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
287
303
|
function ExchangeBadgeImage({ name }) {
|
|
288
304
|
return /* @__PURE__ */ jsx4(CdnIcon, { src: getExchangeLogoSrc(name) ?? void 0 });
|
|
289
305
|
}
|
|
@@ -299,14 +315,12 @@ function CardNetworkIcons() {
|
|
|
299
315
|
)) });
|
|
300
316
|
}
|
|
301
317
|
CardNetworkIcons.displayName = "CardNetworkIcons";
|
|
318
|
+
var EXCHANGE_BADGE_ORDER = ["Coinbase", "Binance", "Bybit"];
|
|
302
319
|
function ExchangeBadgeIcons() {
|
|
303
|
-
return /* @__PURE__ */
|
|
304
|
-
/* @__PURE__ */ jsx4("span", { children: /* @__PURE__ */ jsx4(ExchangeBadgeImage, { name: "Coinbase" }) }),
|
|
305
|
-
/* @__PURE__ */ jsx4("span", { children: /* @__PURE__ */ jsx4(ExchangeBadgeImage, { name: "Binance" }) }),
|
|
306
|
-
/* @__PURE__ */ jsx4("span", { children: /* @__PURE__ */ jsx4(ExchangeBadgeImage, { name: "Kraken" }) })
|
|
307
|
-
] });
|
|
320
|
+
return /* @__PURE__ */ jsx4("span", { className: "rs-list-row-meta-icons rs-list-row-meta-icons--exchanges", children: EXCHANGE_BADGE_ORDER.map((name) => /* @__PURE__ */ jsx4("span", { children: /* @__PURE__ */ jsx4(ExchangeBadgeImage, { name }) }, name)) });
|
|
308
321
|
}
|
|
309
322
|
ExchangeBadgeIcons.displayName = "ExchangeBadgeIcons";
|
|
323
|
+
var EXCHANGE_BADGE_COUNT = EXCHANGE_BADGE_ORDER.length;
|
|
310
324
|
var DAPP_BADGE_ORDER = ["polymarket", "aave", "hyperliquid"];
|
|
311
325
|
function DappBadgeIcons() {
|
|
312
326
|
const marks = DAPP_BADGE_ORDER.map(
|
|
@@ -320,7 +334,7 @@ DappBadgeIcons.displayName = "DappBadgeIcons";
|
|
|
320
334
|
var DAPP_BADGE_COUNT = DAPP_BADGE_ORDER.length;
|
|
321
335
|
|
|
322
336
|
// src/components/steps/ConnectStep.tsx
|
|
323
|
-
import { Fragment as Fragment2, jsx as jsx5, jsxs as
|
|
337
|
+
import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
324
338
|
function formatBalanceUsd(value) {
|
|
325
339
|
if (!Number.isFinite(value) || value <= 0) return "$0.00";
|
|
326
340
|
return `$${value.toFixed(2)}`;
|
|
@@ -341,7 +355,7 @@ function fiatIcon(name) {
|
|
|
341
355
|
function FiatMethodIcon({ option }) {
|
|
342
356
|
const [remoteFailed, setRemoteFailed] = useState(false);
|
|
343
357
|
if (option.iconUrl && !remoteFailed) {
|
|
344
|
-
return /* @__PURE__ */
|
|
358
|
+
return /* @__PURE__ */ jsxs3(
|
|
345
359
|
"span",
|
|
346
360
|
{
|
|
347
361
|
className: `rs-fiat-remote-icon${option.iconUrlLight ? " rs-fiat-remote-icon--has-dark" : ""}`,
|
|
@@ -426,24 +440,28 @@ var WALLET_LEADING = /* @__PURE__ */ jsx5(WalletIcon, {});
|
|
|
426
440
|
var EXCHANGE_LEADING = /* @__PURE__ */ jsx5(UnplugIcon, {});
|
|
427
441
|
var MIGRATE_ASSETS_LEADING = /* @__PURE__ */ jsx5(MigrateAssetsIcon, {});
|
|
428
442
|
var SMALL_SPINNER = /* @__PURE__ */ jsx5(Spinner, { className: "rs-spinner--sm" });
|
|
429
|
-
var CONNECT_META = /* @__PURE__ */
|
|
443
|
+
var CONNECT_META = /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
430
444
|
/* @__PURE__ */ jsx5(WalletBadgeIcons, {}),
|
|
431
445
|
"+100"
|
|
432
446
|
] });
|
|
433
|
-
var
|
|
447
|
+
var EXTRA_EXCHANGE_COUNT = Math.max(
|
|
448
|
+
0,
|
|
449
|
+
SUPPORTED_CONNECT_EXCHANGE_COUNT - EXCHANGE_BADGE_COUNT
|
|
450
|
+
);
|
|
451
|
+
var EXCHANGE_META = /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
434
452
|
/* @__PURE__ */ jsx5(ExchangeBadgeIcons, {}),
|
|
435
|
-
|
|
453
|
+
EXTRA_EXCHANGE_COUNT > 0 ? `+${EXTRA_EXCHANGE_COUNT}` : null
|
|
436
454
|
] });
|
|
437
455
|
var EXTRA_DAPP_COUNT = Math.max(
|
|
438
456
|
0,
|
|
439
457
|
DAPP_IMPORT_CATALOG.length - DAPP_BADGE_COUNT
|
|
440
458
|
);
|
|
441
|
-
var MIGRATE_ASSETS_META = /* @__PURE__ */
|
|
459
|
+
var MIGRATE_ASSETS_META = /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
442
460
|
/* @__PURE__ */ jsx5(DappBadgeIcons, {}),
|
|
443
461
|
EXTRA_DAPP_COUNT > 0 ? `+${EXTRA_DAPP_COUNT}` : null
|
|
444
462
|
] });
|
|
445
463
|
var EXTRA_CHAIN_COUNT = Math.max(0, getSupportedChainIds().length - 3);
|
|
446
|
-
var CHAIN_BADGE_META = /* @__PURE__ */
|
|
464
|
+
var CHAIN_BADGE_META = /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
447
465
|
/* @__PURE__ */ jsx5(ChainBadgeIcons, {}),
|
|
448
466
|
EXTRA_CHAIN_COUNT > 0 ? `+${EXTRA_CHAIN_COUNT}` : null
|
|
449
467
|
] });
|
|
@@ -616,8 +634,8 @@ function ConnectStep({
|
|
|
616
634
|
}
|
|
617
635
|
onPrefetchFiatMethod(recommendedMethod);
|
|
618
636
|
}, [activeTab, onPrefetchFiatMethod, recommendedMethod]);
|
|
619
|
-
return /* @__PURE__ */
|
|
620
|
-
/* @__PURE__ */
|
|
637
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rs-screen", children: [
|
|
638
|
+
/* @__PURE__ */ jsxs3("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
621
639
|
/* @__PURE__ */ jsx5(
|
|
622
640
|
BodyHeader,
|
|
623
641
|
{
|
|
@@ -665,7 +683,7 @@ ConnectStep.displayName = "ConnectStep";
|
|
|
665
683
|
// src/components/steps/AssetSelectStep.tsx
|
|
666
684
|
import { useEffect as useEffect2, useMemo, useState as useState2 } from "react";
|
|
667
685
|
import { formatUnits } from "viem";
|
|
668
|
-
import { jsx as jsx6, jsxs as
|
|
686
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
669
687
|
function AssetSelectStep({
|
|
670
688
|
address,
|
|
671
689
|
publicClient,
|
|
@@ -680,6 +698,9 @@ function AssetSelectStep({
|
|
|
680
698
|
const [selectedAssetId, setSelectedAssetId] = useState2(null);
|
|
681
699
|
const [loading, setLoading] = useState2(true);
|
|
682
700
|
const [error, setError] = useState2(null);
|
|
701
|
+
const isDepositChain = useIsDepositChain();
|
|
702
|
+
const { catalog } = useChainCatalog();
|
|
703
|
+
const chainName = useChainName();
|
|
683
704
|
const defaultAssetId = useMemo(() => {
|
|
684
705
|
if (!defaultSourceChain || !defaultSourceToken) return null;
|
|
685
706
|
return getAssetId({
|
|
@@ -714,10 +735,13 @@ function AssetSelectStep({
|
|
|
714
735
|
(asset) => asset.token.toLowerCase() === NATIVE_TOKEN_ADDRESS
|
|
715
736
|
);
|
|
716
737
|
if (!hasNative) {
|
|
738
|
+
const connectedChainId = publicClient.chain?.id;
|
|
717
739
|
const nativeAssets = await fetchNativeAssets(
|
|
718
740
|
address,
|
|
719
741
|
publicClient,
|
|
720
|
-
portfolioAssets
|
|
742
|
+
portfolioAssets,
|
|
743
|
+
isDepositChain,
|
|
744
|
+
connectedChainId != null ? catalog?.byChainId.get(connectedChainId) : void 0
|
|
721
745
|
);
|
|
722
746
|
if (!active) return;
|
|
723
747
|
if (nativeAssets.length > 0) {
|
|
@@ -739,9 +763,17 @@ function AssetSelectStep({
|
|
|
739
763
|
return () => {
|
|
740
764
|
active = false;
|
|
741
765
|
};
|
|
742
|
-
}, [
|
|
766
|
+
}, [
|
|
767
|
+
address,
|
|
768
|
+
publicClient,
|
|
769
|
+
service,
|
|
770
|
+
onTotalBalanceComputedRef,
|
|
771
|
+
isDepositChain,
|
|
772
|
+
catalog
|
|
773
|
+
]);
|
|
743
774
|
const rows = useMemo(() => {
|
|
744
775
|
return assets.filter((a) => {
|
|
776
|
+
if (!isDepositChain(a.chainId)) return false;
|
|
745
777
|
try {
|
|
746
778
|
if (BigInt(a.balance ?? "0") <= BigInt(0)) return false;
|
|
747
779
|
} catch {
|
|
@@ -761,7 +793,7 @@ function AssetSelectStep({
|
|
|
761
793
|
if (balB < balA) return -1;
|
|
762
794
|
return 0;
|
|
763
795
|
});
|
|
764
|
-
}, [assets]);
|
|
796
|
+
}, [assets, isDepositChain]);
|
|
765
797
|
useEffect2(() => {
|
|
766
798
|
if (!defaultAssetId || selectedAssetId) return;
|
|
767
799
|
if (rows.some((asset) => asset.id === defaultAssetId)) {
|
|
@@ -780,8 +812,8 @@ function AssetSelectStep({
|
|
|
780
812
|
return asset.balance;
|
|
781
813
|
}
|
|
782
814
|
};
|
|
783
|
-
return /* @__PURE__ */
|
|
784
|
-
/* @__PURE__ */
|
|
815
|
+
return /* @__PURE__ */ jsxs4("div", { className: "rs-screen", children: [
|
|
816
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-screen-body", children: [
|
|
785
817
|
/* @__PURE__ */ jsx6(
|
|
786
818
|
BodyHeader,
|
|
787
819
|
{
|
|
@@ -790,15 +822,15 @@ function AssetSelectStep({
|
|
|
790
822
|
subtitle: "Select source assets to transfer"
|
|
791
823
|
}
|
|
792
824
|
),
|
|
793
|
-
loading && /* @__PURE__ */
|
|
825
|
+
loading && /* @__PURE__ */ jsxs4("div", { className: "rs-loading-state", style: { padding: "40px 12px" }, children: [
|
|
794
826
|
/* @__PURE__ */ jsx6(Spinner, { className: "rs-text-tertiary" }),
|
|
795
827
|
/* @__PURE__ */ jsx6("span", { className: "rs-text-sm rs-text-tertiary", children: "Loading balances" })
|
|
796
828
|
] }),
|
|
797
829
|
error && /* @__PURE__ */ jsx6(Callout, { variant: "error", children: error }),
|
|
798
|
-
!loading && !error && rows.length === 0 && /* @__PURE__ */
|
|
830
|
+
!loading && !error && rows.length === 0 && /* @__PURE__ */ jsxs4("div", { className: "rs-empty-state", children: [
|
|
799
831
|
/* @__PURE__ */ jsx6(WalletIcon, { className: "rs-empty-icon" }),
|
|
800
832
|
/* @__PURE__ */ jsx6("div", { className: "rs-empty-text", children: "No funds in connected wallet" }),
|
|
801
|
-
/* @__PURE__ */
|
|
833
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-empty-address", children: [
|
|
802
834
|
address.slice(0, 6),
|
|
803
835
|
"...",
|
|
804
836
|
address.slice(-4)
|
|
@@ -818,7 +850,7 @@ function AssetSelectStep({
|
|
|
818
850
|
const tokenAmount = formatBalance(asset);
|
|
819
851
|
const badge = getChainBadge(asset.chainId);
|
|
820
852
|
const chainIcon = getChainIcon(asset.chainId);
|
|
821
|
-
return /* @__PURE__ */
|
|
853
|
+
return /* @__PURE__ */ jsxs4(
|
|
822
854
|
"button",
|
|
823
855
|
{
|
|
824
856
|
type: "button",
|
|
@@ -826,8 +858,8 @@ function AssetSelectStep({
|
|
|
826
858
|
className: `rs-asset-row ${isSelected ? "rs-asset-row--selected" : ""}`,
|
|
827
859
|
"aria-pressed": isSelected,
|
|
828
860
|
children: [
|
|
829
|
-
/* @__PURE__ */
|
|
830
|
-
/* @__PURE__ */
|
|
861
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-asset-info", children: [
|
|
862
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-asset-icon-wrapper", children: [
|
|
831
863
|
/* @__PURE__ */ jsx6("span", { className: "rs-asset-icon", children: /* @__PURE__ */ jsx6(
|
|
832
864
|
TokenIcon,
|
|
833
865
|
{
|
|
@@ -835,7 +867,7 @@ function AssetSelectStep({
|
|
|
835
867
|
fallback: asset.symbol.slice(0, 4)
|
|
836
868
|
}
|
|
837
869
|
) }),
|
|
838
|
-
chainIcon ? /* @__PURE__ */ jsx6("span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ jsx6(CdnIcon, { src: chainIcon, alt:
|
|
870
|
+
chainIcon ? /* @__PURE__ */ jsx6("span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ jsx6(CdnIcon, { src: chainIcon, alt: chainName(asset.chainId) }) }) : /* @__PURE__ */ jsx6(
|
|
839
871
|
"span",
|
|
840
872
|
{
|
|
841
873
|
className: "rs-asset-chain-badge",
|
|
@@ -847,15 +879,15 @@ function AssetSelectStep({
|
|
|
847
879
|
}
|
|
848
880
|
)
|
|
849
881
|
] }),
|
|
850
|
-
/* @__PURE__ */
|
|
851
|
-
/* @__PURE__ */
|
|
882
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-asset-text", children: [
|
|
883
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-asset-name-row", children: [
|
|
852
884
|
/* @__PURE__ */ jsx6("span", { className: "rs-asset-name", children: asset.symbol }),
|
|
853
|
-
/* @__PURE__ */
|
|
885
|
+
/* @__PURE__ */ jsxs4("span", { className: "rs-asset-chain", children: [
|
|
854
886
|
"on ",
|
|
855
|
-
|
|
887
|
+
chainName(asset.chainId)
|
|
856
888
|
] })
|
|
857
889
|
] }),
|
|
858
|
-
/* @__PURE__ */
|
|
890
|
+
/* @__PURE__ */ jsxs4("div", { className: "rs-asset-balance-small", children: [
|
|
859
891
|
tokenAmount,
|
|
860
892
|
" ",
|
|
861
893
|
asset.symbol
|
|
@@ -881,11 +913,11 @@ function AssetSelectStep({
|
|
|
881
913
|
/* @__PURE__ */ jsx6(PoweredBy, {})
|
|
882
914
|
] });
|
|
883
915
|
}
|
|
884
|
-
async function fetchNativeAssets(address, publicClient, existing) {
|
|
916
|
+
async function fetchNativeAssets(address, publicClient, existing, isDepositChain, catalogChain) {
|
|
885
917
|
const existingIds = new Set(existing.map((asset) => asset.id));
|
|
886
918
|
const connectedChainId = publicClient.chain?.id;
|
|
887
919
|
if (!connectedChainId) return [];
|
|
888
|
-
if (!
|
|
920
|
+
if (!isDepositChain(connectedChainId)) return [];
|
|
889
921
|
const id = getAssetId({
|
|
890
922
|
chainId: connectedChainId,
|
|
891
923
|
token: NATIVE_TOKEN_ADDRESS
|
|
@@ -893,7 +925,8 @@ async function fetchNativeAssets(address, publicClient, existing) {
|
|
|
893
925
|
if (existingIds.has(id)) return [];
|
|
894
926
|
try {
|
|
895
927
|
const balance = await publicClient.getBalance({ address });
|
|
896
|
-
const nativeSymbol = getNativeSymbol(connectedChainId);
|
|
928
|
+
const nativeSymbol = catalogChain?.nativeToken.symbol ?? getNativeSymbol(connectedChainId);
|
|
929
|
+
const nativeDecimals = catalogChain?.nativeToken.decimals ?? 18;
|
|
897
930
|
return [
|
|
898
931
|
{
|
|
899
932
|
id,
|
|
@@ -901,7 +934,7 @@ async function fetchNativeAssets(address, publicClient, existing) {
|
|
|
901
934
|
token: NATIVE_TOKEN_ADDRESS,
|
|
902
935
|
symbol: nativeSymbol,
|
|
903
936
|
name: nativeSymbol,
|
|
904
|
-
decimals:
|
|
937
|
+
decimals: nativeDecimals,
|
|
905
938
|
balance: balance.toString()
|
|
906
939
|
}
|
|
907
940
|
];
|
|
@@ -927,7 +960,7 @@ import { erc20Abi, formatUnits as formatUnits2, parseUnits } from "viem";
|
|
|
927
960
|
|
|
928
961
|
// src/components/ui/AnimatedAmountInput.tsx
|
|
929
962
|
import { useLayoutEffect, useRef } from "react";
|
|
930
|
-
import { jsx as jsx7, jsxs as
|
|
963
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
931
964
|
var ENTER_TRANSITION = "transform 0.18s cubic-bezier(0.34, 1.2, 0.64, 1), opacity 0.18s ease";
|
|
932
965
|
function prefersReducedMotion() {
|
|
933
966
|
return typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
@@ -978,9 +1011,9 @@ function AnimatedAmountInput({
|
|
|
978
1011
|
onChange(e.target.value);
|
|
979
1012
|
};
|
|
980
1013
|
slotRefs.current = [];
|
|
981
|
-
return /* @__PURE__ */
|
|
1014
|
+
return /* @__PURE__ */ jsxs5("div", { className: "rs-amount-input-row", children: [
|
|
982
1015
|
/* @__PURE__ */ jsx7("span", { className: "rs-amount-prefix", "aria-hidden": "true", children: prefix }),
|
|
983
|
-
/* @__PURE__ */
|
|
1016
|
+
/* @__PURE__ */ jsxs5("span", { className: "rs-amount-number-wrap", children: [
|
|
984
1017
|
/* @__PURE__ */ jsx7(
|
|
985
1018
|
"input",
|
|
986
1019
|
{
|
|
@@ -1016,7 +1049,7 @@ function AnimatedAmountInput({
|
|
|
1016
1049
|
}
|
|
1017
1050
|
|
|
1018
1051
|
// src/components/steps/AmountStep.tsx
|
|
1019
|
-
import { Fragment as Fragment3, jsx as jsx8, jsxs as
|
|
1052
|
+
import { Fragment as Fragment3, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1020
1053
|
var PRESETS = [
|
|
1021
1054
|
{ value: 25, label: "25%" },
|
|
1022
1055
|
{ value: 50, label: "50%" },
|
|
@@ -1058,7 +1091,8 @@ function AmountStep({
|
|
|
1058
1091
|
const chainMismatch = Boolean(
|
|
1059
1092
|
walletClient?.chain?.id && walletClient.chain.id !== asset.chainId
|
|
1060
1093
|
);
|
|
1061
|
-
const
|
|
1094
|
+
const targetChainId = targetChainToChainId(targetChain);
|
|
1095
|
+
const targetSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
1062
1096
|
const isSourceStablecoin = isStablecoinSymbol(asset.symbol);
|
|
1063
1097
|
const tokenPriceUsd = useMemo2(() => {
|
|
1064
1098
|
if (tokenPriceUsdOverride !== void 0 && tokenPriceUsdOverride > 0)
|
|
@@ -1180,7 +1214,7 @@ function AmountStep({
|
|
|
1180
1214
|
return null;
|
|
1181
1215
|
}
|
|
1182
1216
|
}, [numericAmount, isSourceStablecoin, hasPricing, tokenPriceUsd, asset.decimals]);
|
|
1183
|
-
const minDepositUsd = targetChain
|
|
1217
|
+
const minDepositUsd = isHyperCoreDestination(targetChain) ? Math.max(HYPERCORE_MIN_DEPOSIT_USD, uiConfig?.minDepositUsd ?? 0) : uiConfig?.minDepositUsd ?? null;
|
|
1184
1218
|
const maxDepositUsd = uiConfig?.maxDepositUsd ?? null;
|
|
1185
1219
|
const isBelowMin = minDepositUsd !== null && numericAmount > 0 && amountUsd < minDepositUsd;
|
|
1186
1220
|
const isAboveMax = maxDepositUsd !== null && amountUsd > maxDepositUsd;
|
|
@@ -1246,13 +1280,14 @@ function AmountStep({
|
|
|
1246
1280
|
};
|
|
1247
1281
|
const continueLabel = exceedsBalance ? "Insufficient balance" : isAboveMax ? "Continue with max allowed deposit" : isBelowMin ? "Continue with minimum deposit" : "Continue";
|
|
1248
1282
|
const continueDisabled = chainMismatch || exceedsBalance || numericAmount === 0 && !isBelowMin || balance === null;
|
|
1249
|
-
const
|
|
1250
|
-
const
|
|
1251
|
-
|
|
1252
|
-
|
|
1283
|
+
const chainName = useChainName();
|
|
1284
|
+
const sourceChainName = chainName(asset.chainId);
|
|
1285
|
+
const targetChainName = chainName(targetChainId);
|
|
1286
|
+
return /* @__PURE__ */ jsxs6("div", { className: "rs-screen", children: [
|
|
1287
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
1253
1288
|
/* @__PURE__ */ jsx8(BodyHeader, { icon: /* @__PURE__ */ jsx8(WalletIcon, {}), title: "Wallet deposit" }),
|
|
1254
|
-
/* @__PURE__ */
|
|
1255
|
-
/* @__PURE__ */
|
|
1289
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-section", children: [
|
|
1290
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-display", children: [
|
|
1256
1291
|
/* @__PURE__ */ jsx8(
|
|
1257
1292
|
AnimatedAmountInput,
|
|
1258
1293
|
{
|
|
@@ -1262,19 +1297,19 @@ function AmountStep({
|
|
|
1262
1297
|
autoFocus: true
|
|
1263
1298
|
}
|
|
1264
1299
|
),
|
|
1265
|
-
/* @__PURE__ */
|
|
1266
|
-
/* @__PURE__ */
|
|
1300
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-meta", children: [
|
|
1301
|
+
/* @__PURE__ */ jsxs6("span", { className: "rs-amount-meta-balance", children: [
|
|
1267
1302
|
formattedBalance,
|
|
1268
1303
|
" ",
|
|
1269
1304
|
asset.symbol,
|
|
1270
1305
|
" available",
|
|
1271
|
-
balanceUsd !== null && /* @__PURE__ */
|
|
1306
|
+
balanceUsd !== null && /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
1272
1307
|
" (~",
|
|
1273
1308
|
currencyFormatter.format(balanceUsd),
|
|
1274
1309
|
")"
|
|
1275
1310
|
] })
|
|
1276
1311
|
] }),
|
|
1277
|
-
minDepositUsd !== null && /* @__PURE__ */
|
|
1312
|
+
minDepositUsd !== null && /* @__PURE__ */ jsxs6("span", { className: "rs-amount-meta-minimum", children: [
|
|
1278
1313
|
"Min. deposit ",
|
|
1279
1314
|
currencyFormatter.format(minDepositUsd)
|
|
1280
1315
|
] })
|
|
@@ -1292,11 +1327,11 @@ function AmountStep({
|
|
|
1292
1327
|
preset.value
|
|
1293
1328
|
)) })
|
|
1294
1329
|
] }),
|
|
1295
|
-
/* @__PURE__ */
|
|
1296
|
-
/* @__PURE__ */
|
|
1330
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-details", children: [
|
|
1331
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-detail-row", children: [
|
|
1297
1332
|
/* @__PURE__ */ jsx8("span", { children: "You send" }),
|
|
1298
|
-
/* @__PURE__ */
|
|
1299
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsxs6("span", { className: "rs-amount-detail-value", children: [
|
|
1334
|
+
/* @__PURE__ */ jsxs6("span", { children: [
|
|
1300
1335
|
sourceChainName,
|
|
1301
1336
|
" ",
|
|
1302
1337
|
asset.symbol
|
|
@@ -1304,10 +1339,10 @@ function AmountStep({
|
|
|
1304
1339
|
/* @__PURE__ */ jsx8("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx8(TokenIcon, { symbol: asset.symbol }) })
|
|
1305
1340
|
] })
|
|
1306
1341
|
] }),
|
|
1307
|
-
/* @__PURE__ */
|
|
1342
|
+
/* @__PURE__ */ jsxs6("div", { className: "rs-amount-detail-row", children: [
|
|
1308
1343
|
/* @__PURE__ */ jsx8("span", { children: "Receive" }),
|
|
1309
|
-
/* @__PURE__ */
|
|
1310
|
-
/* @__PURE__ */
|
|
1344
|
+
/* @__PURE__ */ jsxs6("span", { className: "rs-amount-detail-value", children: [
|
|
1345
|
+
/* @__PURE__ */ jsxs6("span", { children: [
|
|
1311
1346
|
targetChainName,
|
|
1312
1347
|
" ",
|
|
1313
1348
|
targetSymbol
|
|
@@ -1315,12 +1350,11 @@ function AmountStep({
|
|
|
1315
1350
|
/* @__PURE__ */ jsx8("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx8(TokenIcon, { symbol: targetSymbol }) })
|
|
1316
1351
|
] })
|
|
1317
1352
|
] }),
|
|
1318
|
-
balanceAfterUsd !== null && /* @__PURE__ */
|
|
1353
|
+
balanceAfterUsd !== null && /* @__PURE__ */ jsxs6("div", { className: "rs-amount-detail-row", children: [
|
|
1319
1354
|
/* @__PURE__ */ jsx8("span", { children: "Balance after deposit" }),
|
|
1320
1355
|
/* @__PURE__ */ jsx8("span", { className: "rs-amount-detail-value", children: currencyFormatter.format(balanceAfterUsd) })
|
|
1321
1356
|
] })
|
|
1322
1357
|
] }),
|
|
1323
|
-
targetChain === HYPERCORE_CHAIN_ID && /* @__PURE__ */ jsx8(Callout, { variant: "warning", children: "First deposit to a new HyperCore account includes a ~1 USDC activation fee." }),
|
|
1324
1358
|
error && /* @__PURE__ */ jsx8(Callout, { variant: "error", children: error }),
|
|
1325
1359
|
/* @__PURE__ */ jsx8(
|
|
1326
1360
|
Button,
|
|
@@ -1346,7 +1380,7 @@ function isDappImportAsset(asset) {
|
|
|
1346
1380
|
}
|
|
1347
1381
|
|
|
1348
1382
|
// src/components/steps/ConfirmStep.tsx
|
|
1349
|
-
import { jsx as jsx9, jsxs as
|
|
1383
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1350
1384
|
function ConfirmStep({
|
|
1351
1385
|
walletClient,
|
|
1352
1386
|
address,
|
|
@@ -1395,11 +1429,12 @@ function ConfirmStep({
|
|
|
1395
1429
|
recipient
|
|
1396
1430
|
]);
|
|
1397
1431
|
const quote = setupReady && quoteResult?.requestKey === quoteRequestKey ? quoteResult.quote : null;
|
|
1398
|
-
const
|
|
1432
|
+
const targetChainId = targetChainToChainId(targetChain);
|
|
1433
|
+
const targetSymbol = sameRoute ? asset.symbol : getTargetTokenSymbol(targetToken, targetChainId);
|
|
1399
1434
|
const sourceChainName = getChainName(asset.chainId);
|
|
1400
|
-
const targetChainName = getChainName(
|
|
1435
|
+
const targetChainName = getChainName(targetChainId);
|
|
1401
1436
|
const sourceChainIcon = getChainIcon(asset.chainId);
|
|
1402
|
-
const targetChainIcon = getChainIcon(
|
|
1437
|
+
const targetChainIcon = getChainIcon(targetChainId);
|
|
1403
1438
|
const formattedSendAmount = amount && Number.isFinite(Number(amount)) ? formatTokenAmount(Number(amount), asset.symbol) ?? "0" : "0";
|
|
1404
1439
|
const mustHaveQuote = !appFeesResolved || resolveAppFeeBps(
|
|
1405
1440
|
appFees,
|
|
@@ -1560,37 +1595,37 @@ function ConfirmStep({
|
|
|
1560
1595
|
const raw = err instanceof Error ? err.message : "Transfer failed";
|
|
1561
1596
|
const message = formatUserError(raw);
|
|
1562
1597
|
setError(message);
|
|
1563
|
-
onError?.(message, "TRANSFER_ERROR");
|
|
1598
|
+
onError?.(message, "TRANSFER_ERROR", raw);
|
|
1564
1599
|
} finally {
|
|
1565
1600
|
setIsSubmitting(false);
|
|
1566
1601
|
}
|
|
1567
1602
|
};
|
|
1568
|
-
return /* @__PURE__ */
|
|
1569
|
-
/* @__PURE__ */
|
|
1603
|
+
return /* @__PURE__ */ jsxs7("div", { className: "rs-screen", children: [
|
|
1604
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
1570
1605
|
/* @__PURE__ */ jsx9(BodyHeader, { icon: /* @__PURE__ */ jsx9(WalletIcon, {}), title: "Review deposit" }),
|
|
1571
|
-
/* @__PURE__ */
|
|
1572
|
-
/* @__PURE__ */
|
|
1606
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-details", children: [
|
|
1607
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1573
1608
|
/* @__PURE__ */ jsx9("span", { children: "Source chain" }),
|
|
1574
|
-
/* @__PURE__ */
|
|
1609
|
+
/* @__PURE__ */ jsxs7("span", { className: "rs-review-detail-value", children: [
|
|
1575
1610
|
/* @__PURE__ */ jsx9("span", { children: sourceChainName }),
|
|
1576
1611
|
sourceChainIcon && /* @__PURE__ */ jsx9("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx9(CdnIcon, { src: sourceChainIcon }) })
|
|
1577
1612
|
] })
|
|
1578
1613
|
] }),
|
|
1579
|
-
/* @__PURE__ */
|
|
1614
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1580
1615
|
/* @__PURE__ */ jsx9("span", { children: "Destination chain" }),
|
|
1581
|
-
/* @__PURE__ */
|
|
1616
|
+
/* @__PURE__ */ jsxs7("span", { className: "rs-review-detail-value", children: [
|
|
1582
1617
|
/* @__PURE__ */ jsx9("span", { children: targetChainName }),
|
|
1583
1618
|
targetChainIcon && /* @__PURE__ */ jsx9("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx9(CdnIcon, { src: targetChainIcon }) })
|
|
1584
1619
|
] })
|
|
1585
1620
|
] }),
|
|
1586
|
-
/* @__PURE__ */
|
|
1621
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1587
1622
|
/* @__PURE__ */ jsx9("span", { children: "Estimated time" }),
|
|
1588
1623
|
/* @__PURE__ */ jsx9("span", { className: "rs-review-detail-value", children: estimatedTimeDisplay })
|
|
1589
1624
|
] }),
|
|
1590
|
-
/* @__PURE__ */
|
|
1625
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1591
1626
|
/* @__PURE__ */ jsx9("span", { children: "You send" }),
|
|
1592
|
-
/* @__PURE__ */
|
|
1593
|
-
/* @__PURE__ */
|
|
1627
|
+
/* @__PURE__ */ jsxs7("span", { className: "rs-review-detail-value", children: [
|
|
1628
|
+
/* @__PURE__ */ jsxs7("span", { children: [
|
|
1594
1629
|
formattedSendAmount,
|
|
1595
1630
|
" ",
|
|
1596
1631
|
asset.symbol
|
|
@@ -1598,14 +1633,14 @@ function ConfirmStep({
|
|
|
1598
1633
|
/* @__PURE__ */ jsx9("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx9(TokenIcon, { symbol: asset.symbol }) })
|
|
1599
1634
|
] })
|
|
1600
1635
|
] }),
|
|
1601
|
-
/* @__PURE__ */
|
|
1636
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1602
1637
|
/* @__PURE__ */ jsx9("span", { children: "Receive" }),
|
|
1603
|
-
/* @__PURE__ */
|
|
1638
|
+
/* @__PURE__ */ jsxs7("span", { className: "rs-review-detail-value", children: [
|
|
1604
1639
|
/* @__PURE__ */ jsx9("span", { children: receiveDisplay }),
|
|
1605
1640
|
/* @__PURE__ */ jsx9("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx9(TokenIcon, { symbol: targetSymbol }) })
|
|
1606
1641
|
] })
|
|
1607
1642
|
] }),
|
|
1608
|
-
/* @__PURE__ */
|
|
1643
|
+
/* @__PURE__ */ jsxs7("div", { className: "rs-review-detail-row", children: [
|
|
1609
1644
|
/* @__PURE__ */ jsx9("span", { children: "Fees" }),
|
|
1610
1645
|
/* @__PURE__ */ jsx9("span", { className: "rs-review-detail-value", children: feeDisplay === null ? /* @__PURE__ */ jsx9(
|
|
1611
1646
|
"span",
|
|
@@ -1622,7 +1657,6 @@ function ConfirmStep({
|
|
|
1622
1657
|
) })
|
|
1623
1658
|
] })
|
|
1624
1659
|
] }),
|
|
1625
|
-
targetChain === HYPERCORE_CHAIN_ID && /* @__PURE__ */ jsx9(Callout, { variant: "warning", children: "First deposit to a new HyperCore account includes a ~1 USDC activation fee." }),
|
|
1626
1660
|
error && /* @__PURE__ */ jsx9(Callout, { variant: "error", children: error }),
|
|
1627
1661
|
/* @__PURE__ */ jsx9(
|
|
1628
1662
|
Button,
|
|
@@ -1657,7 +1691,7 @@ import { formatUnits as formatUnits3 } from "viem";
|
|
|
1657
1691
|
|
|
1658
1692
|
// src/components/ui/DepositNotification.tsx
|
|
1659
1693
|
import { useState as useState5, useEffect as useEffect5, useRef as useRef4, useCallback } from "react";
|
|
1660
|
-
import { jsx as jsx10, jsxs as
|
|
1694
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1661
1695
|
var INITIAL_POLL_INTERVAL = 3e3;
|
|
1662
1696
|
var MAX_POLL_INTERVAL = 3e4;
|
|
1663
1697
|
var BACKOFF_MULTIPLIER = 1.5;
|
|
@@ -1848,11 +1882,12 @@ function DepositNotification({
|
|
|
1848
1882
|
status,
|
|
1849
1883
|
txHash
|
|
1850
1884
|
]);
|
|
1851
|
-
const
|
|
1852
|
-
const
|
|
1885
|
+
const explorerTxUrl = useExplorerTxUrl();
|
|
1886
|
+
const sourceExplorerUrl = sourceChain === "unknown" ? void 0 : explorerTxUrl(sourceChain, txHash);
|
|
1887
|
+
const destExplorerUrl = destinationTxHash ? explorerTxUrl(targetChainToChainId(targetChain), destinationTxHash) : null;
|
|
1853
1888
|
const title = status === "complete" ? "Deposit completed" : status === "failed" ? "Deposit failed" : "Deposit received and processing\u2026";
|
|
1854
1889
|
const subtitle = status === "complete" ? "Your deposit has been credited to your account." : status === "failed" ? "Your deposit could not be processed." : "Your deposit will be credited to your account shortly.";
|
|
1855
|
-
const statusIcon = status === "complete" ? /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--complete", children: /* @__PURE__ */ jsx10(CheckIcon, {}) }) : status === "failed" ? /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--failed", children: /* @__PURE__ */ jsx10(CloseIcon, {}) }) : /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--processing", children: /* @__PURE__ */
|
|
1890
|
+
const statusIcon = status === "complete" ? /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--complete", children: /* @__PURE__ */ jsx10(CheckIcon, {}) }) : status === "failed" ? /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--failed", children: /* @__PURE__ */ jsx10(CloseIcon, {}) }) : /* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--processing", children: /* @__PURE__ */ jsxs8(
|
|
1856
1891
|
"svg",
|
|
1857
1892
|
{
|
|
1858
1893
|
className: "rs-deposit-notification-spinner",
|
|
@@ -1885,15 +1920,15 @@ function DepositNotification({
|
|
|
1885
1920
|
}
|
|
1886
1921
|
) });
|
|
1887
1922
|
const showClose = status !== "processing";
|
|
1888
|
-
return /* @__PURE__ */
|
|
1923
|
+
return /* @__PURE__ */ jsxs8(
|
|
1889
1924
|
"div",
|
|
1890
1925
|
{
|
|
1891
1926
|
className: `rs-deposit-notification rs-deposit-notification--${status} ${expanded ? "rs-deposit-notification--expanded" : ""}`,
|
|
1892
1927
|
children: [
|
|
1893
|
-
/* @__PURE__ */
|
|
1928
|
+
/* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-header", children: [
|
|
1894
1929
|
/* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-icon", children: statusIcon }),
|
|
1895
|
-
/* @__PURE__ */
|
|
1896
|
-
/* @__PURE__ */
|
|
1930
|
+
/* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-content", children: [
|
|
1931
|
+
/* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-title-row", children: [
|
|
1897
1932
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-title", children: title }),
|
|
1898
1933
|
showClose && /* @__PURE__ */ jsx10(
|
|
1899
1934
|
"button",
|
|
@@ -1909,7 +1944,7 @@ function DepositNotification({
|
|
|
1909
1944
|
/* @__PURE__ */ jsx10("div", { className: "rs-deposit-notification-subtitle", children: subtitle })
|
|
1910
1945
|
] })
|
|
1911
1946
|
] }),
|
|
1912
|
-
/* @__PURE__ */
|
|
1947
|
+
/* @__PURE__ */ jsxs8(
|
|
1913
1948
|
"button",
|
|
1914
1949
|
{
|
|
1915
1950
|
type: "button",
|
|
@@ -1922,10 +1957,10 @@ function DepositNotification({
|
|
|
1922
1957
|
]
|
|
1923
1958
|
}
|
|
1924
1959
|
),
|
|
1925
|
-
expanded && /* @__PURE__ */
|
|
1926
|
-
/* @__PURE__ */
|
|
1960
|
+
expanded && /* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-details", children: [
|
|
1961
|
+
/* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-row", children: [
|
|
1927
1962
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-label", children: "Deposit tx" }),
|
|
1928
|
-
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: sourceExplorerUrl ? /* @__PURE__ */
|
|
1963
|
+
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: sourceExplorerUrl ? /* @__PURE__ */ jsxs8(
|
|
1929
1964
|
"a",
|
|
1930
1965
|
{
|
|
1931
1966
|
href: sourceExplorerUrl,
|
|
@@ -1939,9 +1974,9 @@ function DepositNotification({
|
|
|
1939
1974
|
}
|
|
1940
1975
|
) : truncateHash(txHash) })
|
|
1941
1976
|
] }),
|
|
1942
|
-
destinationTxHash && /* @__PURE__ */
|
|
1977
|
+
destinationTxHash && /* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-row", children: [
|
|
1943
1978
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-label", children: "Completion tx" }),
|
|
1944
|
-
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: destExplorerUrl ? /* @__PURE__ */
|
|
1979
|
+
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: destExplorerUrl ? /* @__PURE__ */ jsxs8(
|
|
1945
1980
|
"a",
|
|
1946
1981
|
{
|
|
1947
1982
|
href: destExplorerUrl,
|
|
@@ -1955,11 +1990,11 @@ function DepositNotification({
|
|
|
1955
1990
|
}
|
|
1956
1991
|
) : truncateHash(destinationTxHash) })
|
|
1957
1992
|
] }),
|
|
1958
|
-
/* @__PURE__ */
|
|
1993
|
+
/* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-row", children: [
|
|
1959
1994
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-label", children: "Order submitted" }),
|
|
1960
1995
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: formatTimestamp(detectedAt) })
|
|
1961
1996
|
] }),
|
|
1962
|
-
completedAt && /* @__PURE__ */
|
|
1997
|
+
completedAt && /* @__PURE__ */ jsxs8("div", { className: "rs-deposit-notification-row", children: [
|
|
1963
1998
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-label", children: "Order filled" }),
|
|
1964
1999
|
/* @__PURE__ */ jsx10("span", { className: "rs-deposit-notification-value", children: formatTimestamp(completedAt) })
|
|
1965
2000
|
] })
|
|
@@ -1970,7 +2005,7 @@ function DepositNotification({
|
|
|
1970
2005
|
}
|
|
1971
2006
|
|
|
1972
2007
|
// src/components/steps/DepositAddressStep.tsx
|
|
1973
|
-
import { jsx as jsx11, jsxs as
|
|
2008
|
+
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1974
2009
|
var QRCode = lazy(
|
|
1975
2010
|
() => import("./QRCode-WUC652SH.mjs").then((m) => ({ default: m.QRCode }))
|
|
1976
2011
|
);
|
|
@@ -2050,21 +2085,25 @@ function getDepositEventDetails(event) {
|
|
|
2050
2085
|
function isSameRoute(sourceChain, sourceToken, targetChain, targetToken) {
|
|
2051
2086
|
return sourceChain === targetChain && sourceToken.toLowerCase() === targetToken.toLowerCase();
|
|
2052
2087
|
}
|
|
2053
|
-
function chainLabel(chainId) {
|
|
2054
|
-
|
|
2088
|
+
function chainLabel(chainId, catalogChain) {
|
|
2089
|
+
const name = catalogChain?.name ?? getChainName(chainId);
|
|
2090
|
+
return name.replace(/\s+(One|Mainnet|Smart Chain|Chain)$/i, "");
|
|
2055
2091
|
}
|
|
2056
|
-
function computeTokensForChain(chainId, topTokens) {
|
|
2092
|
+
function computeTokensForChain(chainId, topTokens, catalogChain) {
|
|
2057
2093
|
const fromBackend = topTokens?.[String(chainId)]?.map((t) => t.symbol);
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
)
|
|
2063
|
-
return
|
|
2064
|
-
}
|
|
2065
|
-
function resolveSourceTokenAddress(symbol, chainId, topTokens) {
|
|
2094
|
+
if (fromBackend) return fromBackend;
|
|
2095
|
+
if (chainId === "solana") return SOLANA_TOKENS.map((t) => t.symbol);
|
|
2096
|
+
if (chainId === "hypercore") return ["USDC", "USDT0"];
|
|
2097
|
+
const bundled = getBundledTargetTokens(chainId).map((t) => t.symbol);
|
|
2098
|
+
if (bundled.length > 0) return bundled;
|
|
2099
|
+
return Array.isArray(catalogChain?.supportedTokens) ? catalogChain.supportedTokens.map((t) => t.symbol) : [];
|
|
2100
|
+
}
|
|
2101
|
+
function resolveSourceTokenAddress(symbol, chainId, topTokens, catalogChain) {
|
|
2066
2102
|
const top = topTokens?.[String(chainId)]?.find((t) => t.symbol === symbol);
|
|
2067
|
-
|
|
2103
|
+
if (top?.address) return top.address;
|
|
2104
|
+
const fromRegistry = getTokenAddress(symbol, chainId);
|
|
2105
|
+
if (fromRegistry) return fromRegistry;
|
|
2106
|
+
return Array.isArray(catalogChain?.supportedTokens) ? catalogChain.supportedTokens.find((t) => t.symbol === symbol)?.address : void 0;
|
|
2068
2107
|
}
|
|
2069
2108
|
function TokenGlyph({ symbol }) {
|
|
2070
2109
|
return /* @__PURE__ */ jsx11(
|
|
@@ -2098,25 +2137,38 @@ function DepositAddressStep({
|
|
|
2098
2137
|
const [topTokens, setTopTokens] = useState6(null);
|
|
2099
2138
|
useEffect6(() => {
|
|
2100
2139
|
let active = true;
|
|
2140
|
+
setTopTokens(null);
|
|
2101
2141
|
service.getTopTokens().then((t) => {
|
|
2102
|
-
if (active)
|
|
2142
|
+
if (!active) return;
|
|
2143
|
+
setTopTokens(t);
|
|
2144
|
+
if (t) publishShortlistTokens(t);
|
|
2103
2145
|
});
|
|
2104
2146
|
return () => {
|
|
2105
2147
|
active = false;
|
|
2106
2148
|
};
|
|
2107
2149
|
}, [service]);
|
|
2108
2150
|
const BASE_CHAIN_ID2 = 8453;
|
|
2109
|
-
const evmChainIds =
|
|
2151
|
+
const evmChainIds = useDepositChainIds();
|
|
2152
|
+
const { catalog } = useChainCatalog();
|
|
2153
|
+
const catalogFor = useCallback2(
|
|
2154
|
+
(chain) => {
|
|
2155
|
+
if (!catalog) return void 0;
|
|
2156
|
+
const key = catalogKeyForChain(chain);
|
|
2157
|
+
return typeof key === "number" ? catalog.byChainId.get(key) : catalog.byCaip2.get(key);
|
|
2158
|
+
},
|
|
2159
|
+
[catalog]
|
|
2160
|
+
);
|
|
2110
2161
|
const chainOptions = useMemo3(() => {
|
|
2162
|
+
const acceptsDeposits = (chain) => catalogFor(chain)?.deposit !== false;
|
|
2111
2163
|
const options = [...evmChainIds];
|
|
2112
2164
|
const extras = [];
|
|
2113
|
-
if (hasSolana) extras.push("solana");
|
|
2114
|
-
extras.push("hypercore");
|
|
2165
|
+
if (hasSolana && acceptsDeposits("solana")) extras.push("solana");
|
|
2166
|
+
if (acceptsDeposits("hypercore")) extras.push("hypercore");
|
|
2115
2167
|
options.splice(1, 0, ...extras);
|
|
2116
2168
|
return options.filter(
|
|
2117
|
-
(chain) => topTokens?.[String(chain)]?.length !== 0
|
|
2169
|
+
(chain) => topTokens?.[String(chain)]?.length !== 0 && computeTokensForChain(chain, topTokens, catalogFor(chain)).length > 0
|
|
2118
2170
|
);
|
|
2119
|
-
}, [evmChainIds, hasSolana, topTokens]);
|
|
2171
|
+
}, [evmChainIds, hasSolana, topTokens, catalogFor]);
|
|
2120
2172
|
const preferredChainId = (options) => options.includes(BASE_CHAIN_ID2) ? BASE_CHAIN_ID2 : options[0] ?? BASE_CHAIN_ID2;
|
|
2121
2173
|
const [sourceChainId, setSourceChainId] = useState6(() => preferredChainId(chainOptions));
|
|
2122
2174
|
useEffect6(() => {
|
|
@@ -2127,8 +2179,8 @@ function DepositAddressStep({
|
|
|
2127
2179
|
const isSolana = sourceChainId === "solana";
|
|
2128
2180
|
const isHyperCore = sourceChainId === "hypercore";
|
|
2129
2181
|
const tokensForChain = useMemo3(
|
|
2130
|
-
() => computeTokensForChain(sourceChainId, topTokens),
|
|
2131
|
-
[sourceChainId, topTokens]
|
|
2182
|
+
() => computeTokensForChain(sourceChainId, topTokens, catalogFor(sourceChainId)),
|
|
2183
|
+
[sourceChainId, topTokens, catalogFor]
|
|
2132
2184
|
);
|
|
2133
2185
|
const defaultToken = pickFallbackToken(tokensForChain, "USDC");
|
|
2134
2186
|
const [sourceTokenSymbol, setSourceTokenSymbol] = useState6(defaultToken);
|
|
@@ -2159,7 +2211,8 @@ function DepositAddressStep({
|
|
|
2159
2211
|
const sourceTokenAddress = resolveSourceTokenAddress(
|
|
2160
2212
|
sourceTokenSymbol,
|
|
2161
2213
|
sourceChainId,
|
|
2162
|
-
topTokens
|
|
2214
|
+
topTokens,
|
|
2215
|
+
catalogFor(sourceChainId)
|
|
2163
2216
|
);
|
|
2164
2217
|
if (!sourceTokenAddress) {
|
|
2165
2218
|
setLiquidityHelper({ kind: "idle" });
|
|
@@ -2170,7 +2223,7 @@ function DepositAddressStep({
|
|
|
2170
2223
|
service.checkLiquidity({
|
|
2171
2224
|
sourceChainId,
|
|
2172
2225
|
sourceToken: sourceTokenAddress,
|
|
2173
|
-
destinationChainId: targetChain,
|
|
2226
|
+
destinationChainId: targetChainToCaip2(targetChain),
|
|
2174
2227
|
destinationToken: targetToken,
|
|
2175
2228
|
amount: "1"
|
|
2176
2229
|
}).then((result) => {
|
|
@@ -2244,14 +2297,18 @@ function DepositAddressStep({
|
|
|
2244
2297
|
}, [displayAddress, onCopyAddress]);
|
|
2245
2298
|
const handleSelectChain = useCallback2(
|
|
2246
2299
|
(nextChain) => {
|
|
2247
|
-
const nextTokens = computeTokensForChain(
|
|
2300
|
+
const nextTokens = computeTokensForChain(
|
|
2301
|
+
nextChain,
|
|
2302
|
+
topTokens,
|
|
2303
|
+
catalogFor(nextChain)
|
|
2304
|
+
);
|
|
2248
2305
|
setSourceChainId(nextChain);
|
|
2249
2306
|
setSourceTokenSymbol(pickFallbackToken(nextTokens, sourceTokenSymbol));
|
|
2250
2307
|
setChainDropdownOpen(false);
|
|
2251
2308
|
setTokenDropdownOpen(false);
|
|
2252
2309
|
setCopied(false);
|
|
2253
2310
|
},
|
|
2254
|
-
[sourceTokenSymbol, topTokens]
|
|
2311
|
+
[sourceTokenSymbol, topTokens, catalogFor]
|
|
2255
2312
|
);
|
|
2256
2313
|
const onDepositSubmittedRef = useRef5(onDepositSubmitted);
|
|
2257
2314
|
onDepositSubmittedRef.current = onDepositSubmitted;
|
|
@@ -2380,14 +2437,14 @@ function DepositAddressStep({
|
|
|
2380
2437
|
const handleNotificationDismiss = useCallback2((id) => {
|
|
2381
2438
|
setNotifications((prev) => prev.filter((n) => n.id !== id));
|
|
2382
2439
|
}, []);
|
|
2383
|
-
const qrIconSrc = getChainIcon(sourceChainId);
|
|
2384
|
-
return /* @__PURE__ */
|
|
2385
|
-
/* @__PURE__ */
|
|
2440
|
+
const qrIconSrc = catalogFor(sourceChainId)?.iconUrl ?? getChainIcon(sourceChainId);
|
|
2441
|
+
return /* @__PURE__ */ jsxs9("div", { className: "rs-screen rs-step--with-notifications", children: [
|
|
2442
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-screen-body", children: [
|
|
2386
2443
|
/* @__PURE__ */ jsx11(BodyHeader, { icon: /* @__PURE__ */ jsx11(TransferCryptoIcon, {}), title: "Transfer crypto" }),
|
|
2387
|
-
/* @__PURE__ */
|
|
2388
|
-
/* @__PURE__ */
|
|
2444
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-deposit-address-selectors", children: [
|
|
2445
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-deposit-address-dropdown", ref: chainDropdownRef, children: [
|
|
2389
2446
|
/* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-dropdown-label", children: "Supported chain" }),
|
|
2390
|
-
/* @__PURE__ */
|
|
2447
|
+
/* @__PURE__ */ jsxs9(
|
|
2391
2448
|
"button",
|
|
2392
2449
|
{
|
|
2393
2450
|
type: "button",
|
|
@@ -2401,16 +2458,16 @@ function DepositAddressStep({
|
|
|
2401
2458
|
/* @__PURE__ */ jsx11(
|
|
2402
2459
|
CdnIcon,
|
|
2403
2460
|
{
|
|
2404
|
-
src: getChainIcon(sourceChainId),
|
|
2461
|
+
src: catalogFor(sourceChainId)?.iconUrl ?? getChainIcon(sourceChainId),
|
|
2405
2462
|
className: "rs-deposit-address-dropdown-icon"
|
|
2406
2463
|
}
|
|
2407
2464
|
),
|
|
2408
|
-
/* @__PURE__ */ jsx11("span", { children: chainLabel(sourceChainId) }),
|
|
2465
|
+
/* @__PURE__ */ jsx11("span", { children: chainLabel(sourceChainId, catalogFor(sourceChainId)) }),
|
|
2409
2466
|
/* @__PURE__ */ jsx11(ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
|
|
2410
2467
|
]
|
|
2411
2468
|
}
|
|
2412
2469
|
),
|
|
2413
|
-
chainDropdownOpen && /* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-dropdown-menu", children: chainOptions.map((chainId) => /* @__PURE__ */
|
|
2470
|
+
chainDropdownOpen && /* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-dropdown-menu", children: chainOptions.map((chainId) => /* @__PURE__ */ jsxs9(
|
|
2414
2471
|
"button",
|
|
2415
2472
|
{
|
|
2416
2473
|
type: "button",
|
|
@@ -2420,22 +2477,22 @@ function DepositAddressStep({
|
|
|
2420
2477
|
/* @__PURE__ */ jsx11(
|
|
2421
2478
|
CdnIcon,
|
|
2422
2479
|
{
|
|
2423
|
-
src: getChainIcon(chainId),
|
|
2480
|
+
src: catalogFor(chainId)?.iconUrl ?? getChainIcon(chainId),
|
|
2424
2481
|
className: "rs-deposit-address-dropdown-icon"
|
|
2425
2482
|
}
|
|
2426
2483
|
),
|
|
2427
|
-
/* @__PURE__ */ jsx11("span", { children: chainLabel(chainId) })
|
|
2484
|
+
/* @__PURE__ */ jsx11("span", { children: chainLabel(chainId, catalogFor(chainId)) })
|
|
2428
2485
|
]
|
|
2429
2486
|
},
|
|
2430
2487
|
String(chainId)
|
|
2431
2488
|
)) })
|
|
2432
2489
|
] }),
|
|
2433
|
-
/* @__PURE__ */
|
|
2434
|
-
/* @__PURE__ */
|
|
2490
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-deposit-address-dropdown", ref: tokenDropdownRef, children: [
|
|
2491
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-deposit-address-dropdown-label rs-deposit-address-dropdown-label--with-min", children: [
|
|
2435
2492
|
/* @__PURE__ */ jsx11("span", { children: "Supported token" }),
|
|
2436
|
-
/* @__PURE__ */
|
|
2493
|
+
/* @__PURE__ */ jsxs9("span", { className: "rs-deposit-address-min", children: [
|
|
2437
2494
|
"Min.$",
|
|
2438
|
-
(targetChain
|
|
2495
|
+
(isHyperCoreDestination(targetChain) || isHyperCore ? Math.max(HYPERCORE_MIN_DEPOSIT_USD, uiConfig?.minDepositUsd ?? 0) : uiConfig?.minDepositUsd ?? 0.1).toFixed(2),
|
|
2439
2496
|
/* @__PURE__ */ jsx11(Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ jsx11(
|
|
2440
2497
|
InfoIcon,
|
|
2441
2498
|
{
|
|
@@ -2445,7 +2502,7 @@ function DepositAddressStep({
|
|
|
2445
2502
|
) })
|
|
2446
2503
|
] })
|
|
2447
2504
|
] }),
|
|
2448
|
-
/* @__PURE__ */
|
|
2505
|
+
/* @__PURE__ */ jsxs9(
|
|
2449
2506
|
"button",
|
|
2450
2507
|
{
|
|
2451
2508
|
type: "button",
|
|
@@ -2462,7 +2519,7 @@ function DepositAddressStep({
|
|
|
2462
2519
|
]
|
|
2463
2520
|
}
|
|
2464
2521
|
),
|
|
2465
|
-
tokenDropdownOpen && /* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-dropdown-menu", children: tokensForChain.map((symbol) => /* @__PURE__ */
|
|
2522
|
+
tokenDropdownOpen && /* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-dropdown-menu", children: tokensForChain.map((symbol) => /* @__PURE__ */ jsxs9(
|
|
2466
2523
|
"button",
|
|
2467
2524
|
{
|
|
2468
2525
|
type: "button",
|
|
@@ -2480,12 +2537,12 @@ function DepositAddressStep({
|
|
|
2480
2537
|
)) })
|
|
2481
2538
|
] })
|
|
2482
2539
|
] }),
|
|
2483
|
-
/* @__PURE__ */
|
|
2540
|
+
/* @__PURE__ */ jsxs9(
|
|
2484
2541
|
"div",
|
|
2485
2542
|
{
|
|
2486
2543
|
style: { display: "flex", flexDirection: "column", gap: 4, width: "100%" },
|
|
2487
2544
|
children: [
|
|
2488
|
-
/* @__PURE__ */
|
|
2545
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-deposit-address-well", children: [
|
|
2489
2546
|
/* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-qr", children: /* @__PURE__ */ jsx11(
|
|
2490
2547
|
Suspense,
|
|
2491
2548
|
{
|
|
@@ -2495,7 +2552,7 @@ function DepositAddressStep({
|
|
|
2495
2552
|
) }),
|
|
2496
2553
|
/* @__PURE__ */ jsx11("div", { className: "rs-deposit-address-value", children: displayAddress })
|
|
2497
2554
|
] }),
|
|
2498
|
-
/* @__PURE__ */
|
|
2555
|
+
/* @__PURE__ */ jsxs9(
|
|
2499
2556
|
"button",
|
|
2500
2557
|
{
|
|
2501
2558
|
type: "button",
|
|
@@ -2510,13 +2567,12 @@ function DepositAddressStep({
|
|
|
2510
2567
|
]
|
|
2511
2568
|
}
|
|
2512
2569
|
),
|
|
2513
|
-
|
|
2514
|
-
/* @__PURE__ */ jsxs10(
|
|
2570
|
+
/* @__PURE__ */ jsxs9(
|
|
2515
2571
|
"div",
|
|
2516
2572
|
{
|
|
2517
2573
|
className: `rs-price-impact ${priceImpactExpanded ? "rs-price-impact--open" : ""}`,
|
|
2518
2574
|
children: [
|
|
2519
|
-
/* @__PURE__ */
|
|
2575
|
+
/* @__PURE__ */ jsxs9(
|
|
2520
2576
|
"button",
|
|
2521
2577
|
{
|
|
2522
2578
|
type: "button",
|
|
@@ -2524,7 +2580,7 @@ function DepositAddressStep({
|
|
|
2524
2580
|
onClick: () => setPriceImpactExpanded((v) => !v),
|
|
2525
2581
|
"aria-expanded": priceImpactExpanded,
|
|
2526
2582
|
children: [
|
|
2527
|
-
/* @__PURE__ */
|
|
2583
|
+
/* @__PURE__ */ jsxs9("span", { className: "rs-price-impact-header-left", children: [
|
|
2528
2584
|
/* @__PURE__ */ jsx11("span", { className: "rs-price-impact-label", children: "Price impact" }),
|
|
2529
2585
|
/* @__PURE__ */ jsx11("span", { className: "rs-price-impact-label", children: /* @__PURE__ */ jsx11("strong", { children: "0.00%" }) }),
|
|
2530
2586
|
/* @__PURE__ */ jsx11(
|
|
@@ -2546,10 +2602,10 @@ function DepositAddressStep({
|
|
|
2546
2602
|
]
|
|
2547
2603
|
}
|
|
2548
2604
|
),
|
|
2549
|
-
/* @__PURE__ */ jsx11("div", { className: "rs-price-impact-panel", children: /* @__PURE__ */
|
|
2550
|
-
/* @__PURE__ */
|
|
2605
|
+
/* @__PURE__ */ jsx11("div", { className: "rs-price-impact-panel", children: /* @__PURE__ */ jsxs9("div", { className: "rs-price-impact-panel-inner", children: [
|
|
2606
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-price-impact-row", children: [
|
|
2551
2607
|
/* @__PURE__ */ jsx11("span", { className: "rs-price-impact-row-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx11(PercentIcon, {}) }),
|
|
2552
|
-
/* @__PURE__ */
|
|
2608
|
+
/* @__PURE__ */ jsxs9("span", { className: "rs-price-impact-label", children: [
|
|
2553
2609
|
"Max slippage: ",
|
|
2554
2610
|
/* @__PURE__ */ jsx11("strong", { children: "0.2%" })
|
|
2555
2611
|
] }),
|
|
@@ -2562,16 +2618,16 @@ function DepositAddressStep({
|
|
|
2562
2618
|
}
|
|
2563
2619
|
)
|
|
2564
2620
|
] }),
|
|
2565
|
-
/* @__PURE__ */
|
|
2621
|
+
/* @__PURE__ */ jsxs9("div", { className: "rs-price-impact-row", children: [
|
|
2566
2622
|
/* @__PURE__ */ jsx11("span", { className: "rs-price-impact-row-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx11(ClockIcon, {}) }),
|
|
2567
|
-
/* @__PURE__ */
|
|
2623
|
+
/* @__PURE__ */ jsxs9("span", { className: "rs-price-impact-label", children: [
|
|
2568
2624
|
"Processing time: ",
|
|
2569
2625
|
/* @__PURE__ */ jsx11("strong", { children: "< 1 min" })
|
|
2570
2626
|
] })
|
|
2571
2627
|
] }),
|
|
2572
|
-
/* @__PURE__ */
|
|
2628
|
+
liquidityHelper.kind !== "idle" && /* @__PURE__ */ jsxs9("div", { className: "rs-price-impact-row", children: [
|
|
2573
2629
|
/* @__PURE__ */ jsx11("span", { className: "rs-price-impact-row-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx11(PlusCircleIcon, {}) }),
|
|
2574
|
-
/* @__PURE__ */
|
|
2630
|
+
/* @__PURE__ */ jsxs9("span", { className: "rs-price-impact-label", children: [
|
|
2575
2631
|
"Max deposit:",
|
|
2576
2632
|
" ",
|
|
2577
2633
|
/* @__PURE__ */ jsx11("strong", { children: liquidityHelper.kind === "max" ? `${formatUnits3(
|
|
@@ -2627,11 +2683,11 @@ function isSwappedWidgetUrlFresh(res, now = Date.now()) {
|
|
|
2627
2683
|
import { useState as useState7, useEffect as useEffect7, useRef as useRef6, useMemo as useMemo4 } from "react";
|
|
2628
2684
|
|
|
2629
2685
|
// src/components/steps/FinalisingDepositStep.tsx
|
|
2630
|
-
import { jsx as jsx12, jsxs as
|
|
2686
|
+
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2631
2687
|
function FinalisingDepositStep() {
|
|
2632
|
-
return /* @__PURE__ */
|
|
2633
|
-
/* @__PURE__ */
|
|
2634
|
-
/* @__PURE__ */
|
|
2688
|
+
return /* @__PURE__ */ jsxs10("div", { className: "rs-screen rs-finalising", children: [
|
|
2689
|
+
/* @__PURE__ */ jsxs10("div", { className: "rs-screen-body rs-finalising-body", children: [
|
|
2690
|
+
/* @__PURE__ */ jsxs10(
|
|
2635
2691
|
"svg",
|
|
2636
2692
|
{
|
|
2637
2693
|
className: "rs-finalising-spinner",
|
|
@@ -2644,7 +2700,7 @@ function FinalisingDepositStep() {
|
|
|
2644
2700
|
]
|
|
2645
2701
|
}
|
|
2646
2702
|
),
|
|
2647
|
-
/* @__PURE__ */
|
|
2703
|
+
/* @__PURE__ */ jsxs10("div", { className: "rs-finalising-text", children: [
|
|
2648
2704
|
/* @__PURE__ */ jsx12("h2", { className: "rs-finalising-title", children: "Finalising deposit" }),
|
|
2649
2705
|
/* @__PURE__ */ jsx12("p", { className: "rs-finalising-subtitle", children: "We are depositing your funds to the application." })
|
|
2650
2706
|
] })
|
|
@@ -2655,7 +2711,7 @@ function FinalisingDepositStep() {
|
|
|
2655
2711
|
FinalisingDepositStep.displayName = "FinalisingDepositStep";
|
|
2656
2712
|
|
|
2657
2713
|
// src/components/steps/SwappedOrderTracker.tsx
|
|
2658
|
-
import { jsx as jsx13, jsxs as
|
|
2714
|
+
import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2659
2715
|
var STEP_LABELS = [
|
|
2660
2716
|
"Payment received",
|
|
2661
2717
|
null,
|
|
@@ -2677,12 +2733,12 @@ function SwappedOrderTracker({
|
|
|
2677
2733
|
STEP_LABELS[2],
|
|
2678
2734
|
STEP_LABELS[3]
|
|
2679
2735
|
];
|
|
2680
|
-
return /* @__PURE__ */
|
|
2681
|
-
/* @__PURE__ */
|
|
2736
|
+
return /* @__PURE__ */ jsxs11("div", { className: "rs-screen rs-swapped-tracker", children: [
|
|
2737
|
+
/* @__PURE__ */ jsxs11("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
2682
2738
|
/* @__PURE__ */ jsx13(BodyHeader, { icon: /* @__PURE__ */ jsx13(HandCoinsIcon, {}), title }),
|
|
2683
2739
|
/* @__PURE__ */ jsx13("ol", { className: "rs-swapped-tracker-steps", children: labels.map((label, idx) => {
|
|
2684
2740
|
const status = stepStates[idx];
|
|
2685
|
-
return /* @__PURE__ */
|
|
2741
|
+
return /* @__PURE__ */ jsxs11(
|
|
2686
2742
|
"li",
|
|
2687
2743
|
{
|
|
2688
2744
|
className: `rs-swapped-tracker-step rs-swapped-tracker-step--${status}`,
|
|
@@ -2709,7 +2765,7 @@ function SwappedOrderTracker({
|
|
|
2709
2765
|
label
|
|
2710
2766
|
);
|
|
2711
2767
|
}) }),
|
|
2712
|
-
terminal && /* @__PURE__ */
|
|
2768
|
+
terminal && /* @__PURE__ */ jsxs11(
|
|
2713
2769
|
"div",
|
|
2714
2770
|
{
|
|
2715
2771
|
className: `rs-swapped-tracker-terminal rs-swapped-tracker-terminal--${terminal.kind}`,
|
|
@@ -2740,7 +2796,7 @@ function formatTrackerAmount(amount) {
|
|
|
2740
2796
|
SwappedOrderTracker.displayName = "SwappedOrderTracker";
|
|
2741
2797
|
|
|
2742
2798
|
// src/components/steps/SwappedIframeStep.tsx
|
|
2743
|
-
import { jsx as jsx14, jsxs as
|
|
2799
|
+
import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2744
2800
|
var STATUS_POLL_INTERVAL_MS = 2e3;
|
|
2745
2801
|
var DEPOSIT_POLL_INTERVAL_MS = 2e3;
|
|
2746
2802
|
var DEPOSIT_POLL_FAST_INITIAL_DELAY_MS = 1e3;
|
|
@@ -3086,9 +3142,9 @@ function SwappedIframeStep({
|
|
|
3086
3142
|
}
|
|
3087
3143
|
);
|
|
3088
3144
|
}
|
|
3089
|
-
return /* @__PURE__ */
|
|
3090
|
-
/* @__PURE__ */ jsx14("div", { className: "rs-screen-body rs-fiat-onramp-body", children: /* @__PURE__ */
|
|
3091
|
-
loadError && /* @__PURE__ */
|
|
3145
|
+
return /* @__PURE__ */ jsxs12("div", { className: "rs-screen rs-fiat-onramp", "data-variant": variant, children: [
|
|
3146
|
+
/* @__PURE__ */ jsx14("div", { className: "rs-screen-body rs-fiat-onramp-body", children: /* @__PURE__ */ jsxs12("div", { className: "rs-fiat-onramp-iframe-wrap", children: [
|
|
3147
|
+
loadError && /* @__PURE__ */ jsxs12("div", { className: "rs-fiat-onramp-error", children: [
|
|
3092
3148
|
/* @__PURE__ */ jsx14("div", { children: loadError }),
|
|
3093
3149
|
/* @__PURE__ */ jsx14(
|
|
3094
3150
|
"button",
|
|
@@ -3313,7 +3369,7 @@ ExchangeConnectStep.displayName = "ExchangeConnectStep";
|
|
|
3313
3369
|
|
|
3314
3370
|
// src/components/steps/ExchangeSelectStep.tsx
|
|
3315
3371
|
import { useCallback as useCallback5, useEffect as useEffect8, useState as useState8 } from "react";
|
|
3316
|
-
import { jsx as jsx17, jsxs as
|
|
3372
|
+
import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3317
3373
|
function ExchangeLogo({ exchange }) {
|
|
3318
3374
|
const [failed, setFailed] = useState8(false);
|
|
3319
3375
|
if (!exchange.logoUrl || failed) {
|
|
@@ -3395,8 +3451,8 @@ function ExchangeSelectStep({
|
|
|
3395
3451
|
},
|
|
3396
3452
|
[exchangeFeeBps, onError, onSelectExchange]
|
|
3397
3453
|
);
|
|
3398
|
-
return /* @__PURE__ */
|
|
3399
|
-
/* @__PURE__ */
|
|
3454
|
+
return /* @__PURE__ */ jsxs13("div", { className: "rs-screen rs-exchange-select", children: [
|
|
3455
|
+
/* @__PURE__ */ jsxs13("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
3400
3456
|
/* @__PURE__ */ jsx17(
|
|
3401
3457
|
BodyHeader,
|
|
3402
3458
|
{
|
|
@@ -3406,7 +3462,7 @@ function ExchangeSelectStep({
|
|
|
3406
3462
|
}
|
|
3407
3463
|
),
|
|
3408
3464
|
loading && /* @__PURE__ */ jsx17("div", { className: "rs-exchange-select-state", "aria-live": "polite", children: /* @__PURE__ */ jsx17(Spinner, {}) }),
|
|
3409
|
-
!loading && error && /* @__PURE__ */
|
|
3465
|
+
!loading && error && /* @__PURE__ */ jsxs13("div", { className: "rs-exchange-select-state", "aria-live": "polite", children: [
|
|
3410
3466
|
/* @__PURE__ */ jsx17("div", { className: "rs-exchange-select-state-title", children: "Couldn\u2019t load exchanges" }),
|
|
3411
3467
|
/* @__PURE__ */ jsx17(
|
|
3412
3468
|
"button",
|
|
@@ -3418,7 +3474,7 @@ function ExchangeSelectStep({
|
|
|
3418
3474
|
}
|
|
3419
3475
|
)
|
|
3420
3476
|
] }),
|
|
3421
|
-
!loading && !error && exchanges.length === 0 && /* @__PURE__ */
|
|
3477
|
+
!loading && !error && exchanges.length === 0 && /* @__PURE__ */ jsxs13("div", { className: "rs-exchange-select-state", "aria-live": "polite", children: [
|
|
3422
3478
|
/* @__PURE__ */ jsx17("div", { className: "rs-exchange-select-state-title", children: "No exchanges available" }),
|
|
3423
3479
|
/* @__PURE__ */ jsx17(
|
|
3424
3480
|
"button",
|
|
@@ -3432,7 +3488,7 @@ function ExchangeSelectStep({
|
|
|
3432
3488
|
] }),
|
|
3433
3489
|
!loading && !error && exchanges.length > 0 && /* @__PURE__ */ jsx17("div", { className: "rs-exchange-grid", children: exchanges.map((exchange) => {
|
|
3434
3490
|
const brand = getExchangeLogo(exchange.name, exchange.connection);
|
|
3435
|
-
return /* @__PURE__ */
|
|
3491
|
+
return /* @__PURE__ */ jsxs13(
|
|
3436
3492
|
"button",
|
|
3437
3493
|
{
|
|
3438
3494
|
type: "button",
|
|
@@ -3457,7 +3513,7 @@ function ExchangeSelectStep({
|
|
|
3457
3513
|
}) })
|
|
3458
3514
|
] }),
|
|
3459
3515
|
/* @__PURE__ */ jsx17(PoweredBy, {}),
|
|
3460
|
-
exchangeFeeBps > 0 && /* @__PURE__ */
|
|
3516
|
+
exchangeFeeBps > 0 && /* @__PURE__ */ jsxs13("p", { className: "rs-exchange-select-fee-note", children: [
|
|
3461
3517
|
"A ",
|
|
3462
3518
|
formatFeeRate(exchangeFeeBps),
|
|
3463
3519
|
" Exchange Fee applies to your deposit."
|
|
@@ -3468,7 +3524,7 @@ function ExchangeSelectStep({
|
|
|
3468
3524
|
ExchangeSelectStep.displayName = "ExchangeSelectStep";
|
|
3469
3525
|
|
|
3470
3526
|
// src/components/steps/DepositAddressSkeleton.tsx
|
|
3471
|
-
import { jsx as jsx18, jsxs as
|
|
3527
|
+
import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3472
3528
|
var BASE_CHAIN_ID = 8453;
|
|
3473
3529
|
function DepositAddressSkeleton({
|
|
3474
3530
|
uiConfig
|
|
@@ -3479,14 +3535,14 @@ function DepositAddressSkeleton({
|
|
|
3479
3535
|
const defaultToken = tokensForChain.includes("USDC") ? "USDC" : tokensForChain[0] ?? "USDC";
|
|
3480
3536
|
const chainName = getChainName(defaultChainId);
|
|
3481
3537
|
const chainIcon = getChainIcon(defaultChainId);
|
|
3482
|
-
return /* @__PURE__ */
|
|
3538
|
+
return /* @__PURE__ */ jsxs14("div", { className: "rs-screen", "aria-busy": "true", children: [
|
|
3483
3539
|
/* @__PURE__ */ jsx18("span", { className: "rs-sr-only", role: "status", children: "Preparing deposit details\u2026" }),
|
|
3484
|
-
/* @__PURE__ */
|
|
3540
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-screen-body", children: [
|
|
3485
3541
|
/* @__PURE__ */ jsx18(BodyHeader, { icon: /* @__PURE__ */ jsx18(TransferCryptoIcon, {}), title: "Transfer crypto" }),
|
|
3486
|
-
/* @__PURE__ */
|
|
3487
|
-
/* @__PURE__ */
|
|
3542
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-selectors", "aria-hidden": "true", children: [
|
|
3543
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-dropdown", children: [
|
|
3488
3544
|
/* @__PURE__ */ jsx18("div", { className: "rs-deposit-address-dropdown-label", children: "Supported chain" }),
|
|
3489
|
-
/* @__PURE__ */
|
|
3545
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-dropdown-trigger", children: [
|
|
3490
3546
|
/* @__PURE__ */ jsx18(
|
|
3491
3547
|
CdnIcon,
|
|
3492
3548
|
{
|
|
@@ -3498,10 +3554,10 @@ function DepositAddressSkeleton({
|
|
|
3498
3554
|
/* @__PURE__ */ jsx18(ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
|
|
3499
3555
|
] })
|
|
3500
3556
|
] }),
|
|
3501
|
-
/* @__PURE__ */
|
|
3502
|
-
/* @__PURE__ */
|
|
3557
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-dropdown", children: [
|
|
3558
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-dropdown-label rs-deposit-address-dropdown-label--with-min", children: [
|
|
3503
3559
|
/* @__PURE__ */ jsx18("span", { children: "Supported token" }),
|
|
3504
|
-
/* @__PURE__ */
|
|
3560
|
+
/* @__PURE__ */ jsxs14("span", { className: "rs-deposit-address-min", children: [
|
|
3505
3561
|
"Min.$",
|
|
3506
3562
|
(uiConfig?.minDepositUsd ?? 0.1).toFixed(2),
|
|
3507
3563
|
/* @__PURE__ */ jsx18(Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ jsx18(
|
|
@@ -3513,7 +3569,7 @@ function DepositAddressSkeleton({
|
|
|
3513
3569
|
) })
|
|
3514
3570
|
] })
|
|
3515
3571
|
] }),
|
|
3516
|
-
/* @__PURE__ */
|
|
3572
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-dropdown-trigger", children: [
|
|
3517
3573
|
/* @__PURE__ */ jsx18(
|
|
3518
3574
|
TokenIcon,
|
|
3519
3575
|
{
|
|
@@ -3526,16 +3582,16 @@ function DepositAddressSkeleton({
|
|
|
3526
3582
|
] })
|
|
3527
3583
|
] })
|
|
3528
3584
|
] }),
|
|
3529
|
-
/* @__PURE__ */
|
|
3585
|
+
/* @__PURE__ */ jsxs14(
|
|
3530
3586
|
"div",
|
|
3531
3587
|
{
|
|
3532
3588
|
style: { display: "flex", flexDirection: "column", gap: 4, width: "100%" },
|
|
3533
3589
|
children: [
|
|
3534
|
-
/* @__PURE__ */
|
|
3590
|
+
/* @__PURE__ */ jsxs14("div", { className: "rs-deposit-address-well", children: [
|
|
3535
3591
|
/* @__PURE__ */ jsx18("div", { className: "rs-deposit-address-qr", children: /* @__PURE__ */ jsx18("div", { className: "rs-skeleton rs-skeleton-qr", "aria-hidden": "true" }) }),
|
|
3536
3592
|
/* @__PURE__ */ jsx18("div", { className: "rs-skeleton rs-skeleton-address", "aria-hidden": "true" })
|
|
3537
3593
|
] }),
|
|
3538
|
-
/* @__PURE__ */
|
|
3594
|
+
/* @__PURE__ */ jsxs14(
|
|
3539
3595
|
"button",
|
|
3540
3596
|
{
|
|
3541
3597
|
type: "button",
|
|
@@ -3551,8 +3607,8 @@ function DepositAddressSkeleton({
|
|
|
3551
3607
|
]
|
|
3552
3608
|
}
|
|
3553
3609
|
),
|
|
3554
|
-
/* @__PURE__ */ jsx18("div", { className: "rs-price-impact", "aria-hidden": "true", children: /* @__PURE__ */
|
|
3555
|
-
/* @__PURE__ */
|
|
3610
|
+
/* @__PURE__ */ jsx18("div", { className: "rs-price-impact", "aria-hidden": "true", children: /* @__PURE__ */ jsxs14("div", { className: "rs-price-impact-header", children: [
|
|
3611
|
+
/* @__PURE__ */ jsxs14("span", { className: "rs-price-impact-header-left", children: [
|
|
3556
3612
|
/* @__PURE__ */ jsx18("span", { className: "rs-price-impact-label", children: "Price impact" }),
|
|
3557
3613
|
/* @__PURE__ */ jsx18("span", { className: "rs-price-impact-label", children: /* @__PURE__ */ jsx18("strong", { children: "0.00%" }) }),
|
|
3558
3614
|
/* @__PURE__ */ jsx18(
|
|
@@ -3581,7 +3637,7 @@ DepositAddressSkeleton.displayName = "DepositAddressSkeleton";
|
|
|
3581
3637
|
// src/components/steps/SolanaTokenSelectStep.tsx
|
|
3582
3638
|
import { useState as useState9, useEffect as useEffect9, useMemo as useMemo5 } from "react";
|
|
3583
3639
|
import { formatUnits as formatUnits4 } from "viem";
|
|
3584
|
-
import { jsx as jsx19, jsxs as
|
|
3640
|
+
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3585
3641
|
function SolanaTokenSelectStep({
|
|
3586
3642
|
solanaAddress,
|
|
3587
3643
|
service,
|
|
@@ -3687,8 +3743,8 @@ function SolanaTokenSelectStep({
|
|
|
3687
3743
|
};
|
|
3688
3744
|
const chainIcon = getChainIcon("solana");
|
|
3689
3745
|
const chainName = getChainName("solana");
|
|
3690
|
-
return /* @__PURE__ */
|
|
3691
|
-
/* @__PURE__ */
|
|
3746
|
+
return /* @__PURE__ */ jsxs15("div", { className: "rs-screen", children: [
|
|
3747
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-screen-body", children: [
|
|
3692
3748
|
/* @__PURE__ */ jsx19(
|
|
3693
3749
|
BodyHeader,
|
|
3694
3750
|
{
|
|
@@ -3697,15 +3753,15 @@ function SolanaTokenSelectStep({
|
|
|
3697
3753
|
subtitle: "Select source assets to transfer"
|
|
3698
3754
|
}
|
|
3699
3755
|
),
|
|
3700
|
-
loading && /* @__PURE__ */
|
|
3756
|
+
loading && /* @__PURE__ */ jsxs15("div", { className: "rs-loading-state", style: { padding: "40px 12px" }, children: [
|
|
3701
3757
|
/* @__PURE__ */ jsx19(Spinner, { className: "rs-text-tertiary" }),
|
|
3702
3758
|
/* @__PURE__ */ jsx19("span", { className: "rs-text-sm rs-text-tertiary", children: "Loading balances" })
|
|
3703
3759
|
] }),
|
|
3704
3760
|
error && /* @__PURE__ */ jsx19(Callout, { variant: "error", children: error }),
|
|
3705
|
-
!loading && !error && rows.length === 0 && /* @__PURE__ */
|
|
3761
|
+
!loading && !error && rows.length === 0 && /* @__PURE__ */ jsxs15("div", { className: "rs-empty-state", children: [
|
|
3706
3762
|
/* @__PURE__ */ jsx19(WalletIcon, { className: "rs-empty-icon" }),
|
|
3707
3763
|
/* @__PURE__ */ jsx19("div", { className: "rs-empty-text", children: "No funds in connected wallet" }),
|
|
3708
|
-
/* @__PURE__ */
|
|
3764
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-empty-address", children: [
|
|
3709
3765
|
solanaAddress.slice(0, 6),
|
|
3710
3766
|
"...",
|
|
3711
3767
|
solanaAddress.slice(-4)
|
|
@@ -3723,7 +3779,7 @@ function SolanaTokenSelectStep({
|
|
|
3723
3779
|
!loading && !error && rows.length > 0 && /* @__PURE__ */ jsx19("div", { className: "rs-asset-list", children: rows.map((entry) => {
|
|
3724
3780
|
const isSelected = selectedSymbol === entry.token.symbol;
|
|
3725
3781
|
const tokenAmount = formatBalance(entry);
|
|
3726
|
-
return /* @__PURE__ */
|
|
3782
|
+
return /* @__PURE__ */ jsxs15(
|
|
3727
3783
|
"button",
|
|
3728
3784
|
{
|
|
3729
3785
|
type: "button",
|
|
@@ -3731,8 +3787,8 @@ function SolanaTokenSelectStep({
|
|
|
3731
3787
|
className: `rs-asset-row ${isSelected ? "rs-asset-row--selected" : ""}`,
|
|
3732
3788
|
"aria-pressed": isSelected,
|
|
3733
3789
|
children: [
|
|
3734
|
-
/* @__PURE__ */
|
|
3735
|
-
/* @__PURE__ */
|
|
3790
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-asset-info", children: [
|
|
3791
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-asset-icon-wrapper", children: [
|
|
3736
3792
|
/* @__PURE__ */ jsx19("span", { className: "rs-asset-icon", children: /* @__PURE__ */ jsx19(
|
|
3737
3793
|
TokenIcon,
|
|
3738
3794
|
{
|
|
@@ -3742,15 +3798,15 @@ function SolanaTokenSelectStep({
|
|
|
3742
3798
|
) }),
|
|
3743
3799
|
chainIcon && /* @__PURE__ */ jsx19("span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ jsx19(CdnIcon, { src: chainIcon, alt: chainName }) })
|
|
3744
3800
|
] }),
|
|
3745
|
-
/* @__PURE__ */
|
|
3746
|
-
/* @__PURE__ */
|
|
3801
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-asset-text", children: [
|
|
3802
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-asset-name-row", children: [
|
|
3747
3803
|
/* @__PURE__ */ jsx19("span", { className: "rs-asset-name", children: entry.token.symbol }),
|
|
3748
|
-
/* @__PURE__ */
|
|
3804
|
+
/* @__PURE__ */ jsxs15("span", { className: "rs-asset-chain", children: [
|
|
3749
3805
|
"on ",
|
|
3750
3806
|
chainName
|
|
3751
3807
|
] })
|
|
3752
3808
|
] }),
|
|
3753
|
-
/* @__PURE__ */
|
|
3809
|
+
/* @__PURE__ */ jsxs15("div", { className: "rs-asset-balance-small", children: [
|
|
3754
3810
|
tokenAmount,
|
|
3755
3811
|
" ",
|
|
3756
3812
|
entry.token.symbol
|
|
@@ -3784,7 +3840,7 @@ function SolanaTokenSelectStep({
|
|
|
3784
3840
|
// src/components/steps/SolanaAmountStep.tsx
|
|
3785
3841
|
import { useCallback as useCallback6, useEffect as useEffect10, useMemo as useMemo6, useRef as useRef7, useState as useState10 } from "react";
|
|
3786
3842
|
import { formatUnits as formatUnits5, parseUnits as parseUnits3 } from "viem";
|
|
3787
|
-
import { Fragment as Fragment4, jsx as jsx20, jsxs as
|
|
3843
|
+
import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3788
3844
|
var SOL_FEE_RESERVE_LAMPORTS = 1000000n;
|
|
3789
3845
|
var PRESETS2 = [
|
|
3790
3846
|
{ value: 25, label: "25%" },
|
|
@@ -3911,7 +3967,7 @@ function SolanaAmountStep({
|
|
|
3911
3967
|
return null;
|
|
3912
3968
|
}
|
|
3913
3969
|
}, [numericAmount, isSourceStablecoin, hasPricing, tokenPriceUsd, token.decimals]);
|
|
3914
|
-
const minDepositUsd = targetChain
|
|
3970
|
+
const minDepositUsd = isHyperCoreDestination(targetChain) ? Math.max(HYPERCORE_MIN_DEPOSIT_USD, uiConfig?.minDepositUsd ?? 0) : uiConfig?.minDepositUsd ?? null;
|
|
3915
3971
|
const maxDepositUsd = uiConfig?.maxDepositUsd ?? null;
|
|
3916
3972
|
const isBelowMin = minDepositUsd !== null && numericAmount > 0 && numericAmount < minDepositUsd;
|
|
3917
3973
|
const isAboveMax = maxDepositUsd !== null && numericAmount > maxDepositUsd;
|
|
@@ -3983,11 +4039,11 @@ function SolanaAmountStep({
|
|
|
3983
4039
|
};
|
|
3984
4040
|
const continueLabel = exceedsBalance ? "Insufficient balance" : isAboveMax ? "Continue with max allowed deposit" : isBelowMin ? "Continue with minimum deposit" : "Continue";
|
|
3985
4041
|
const continueDisabled = exceedsBalance || numericAmount === 0 && !isBelowMin;
|
|
3986
|
-
return /* @__PURE__ */
|
|
3987
|
-
/* @__PURE__ */
|
|
4042
|
+
return /* @__PURE__ */ jsxs16("div", { className: "rs-screen", children: [
|
|
4043
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
3988
4044
|
/* @__PURE__ */ jsx20(BodyHeader, { icon: /* @__PURE__ */ jsx20(WalletIcon, {}), title: "Wallet deposit" }),
|
|
3989
|
-
/* @__PURE__ */
|
|
3990
|
-
/* @__PURE__ */
|
|
4045
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-amount-section", children: [
|
|
4046
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-amount-display", children: [
|
|
3991
4047
|
/* @__PURE__ */ jsx20(
|
|
3992
4048
|
AnimatedAmountInput,
|
|
3993
4049
|
{
|
|
@@ -3997,19 +4053,19 @@ function SolanaAmountStep({
|
|
|
3997
4053
|
autoFocus: true
|
|
3998
4054
|
}
|
|
3999
4055
|
),
|
|
4000
|
-
/* @__PURE__ */
|
|
4001
|
-
/* @__PURE__ */
|
|
4056
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-amount-meta", children: [
|
|
4057
|
+
/* @__PURE__ */ jsxs16("span", { className: "rs-amount-meta-balance", children: [
|
|
4002
4058
|
formattedBalance,
|
|
4003
4059
|
" ",
|
|
4004
4060
|
token.symbol,
|
|
4005
4061
|
" available",
|
|
4006
|
-
computedBalanceUsd !== null && /* @__PURE__ */
|
|
4062
|
+
computedBalanceUsd !== null && /* @__PURE__ */ jsxs16(Fragment4, { children: [
|
|
4007
4063
|
" (~",
|
|
4008
4064
|
currencyFormatter.format(computedBalanceUsd),
|
|
4009
4065
|
")"
|
|
4010
4066
|
] })
|
|
4011
4067
|
] }),
|
|
4012
|
-
minDepositUsd !== null && /* @__PURE__ */
|
|
4068
|
+
minDepositUsd !== null && /* @__PURE__ */ jsxs16("span", { className: "rs-amount-meta-minimum", children: [
|
|
4013
4069
|
"Min. deposit ",
|
|
4014
4070
|
currencyFormatter.format(minDepositUsd)
|
|
4015
4071
|
] })
|
|
@@ -4026,21 +4082,21 @@ function SolanaAmountStep({
|
|
|
4026
4082
|
preset.value
|
|
4027
4083
|
)) })
|
|
4028
4084
|
] }),
|
|
4029
|
-
/* @__PURE__ */
|
|
4030
|
-
/* @__PURE__ */
|
|
4085
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-amount-details", children: [
|
|
4086
|
+
/* @__PURE__ */ jsxs16("div", { className: "rs-amount-detail-row", children: [
|
|
4031
4087
|
/* @__PURE__ */ jsx20("span", { children: "You send" }),
|
|
4032
|
-
/* @__PURE__ */
|
|
4033
|
-
/* @__PURE__ */
|
|
4088
|
+
/* @__PURE__ */ jsxs16("span", { className: "rs-amount-detail-value", children: [
|
|
4089
|
+
/* @__PURE__ */ jsxs16("span", { children: [
|
|
4034
4090
|
"Solana ",
|
|
4035
4091
|
token.symbol
|
|
4036
4092
|
] }),
|
|
4037
4093
|
/* @__PURE__ */ jsx20("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx20(TokenIcon, { symbol: token.symbol }) })
|
|
4038
4094
|
] })
|
|
4039
4095
|
] }),
|
|
4040
|
-
targetChainName && targetTokenSymbol && /* @__PURE__ */
|
|
4096
|
+
targetChainName && targetTokenSymbol && /* @__PURE__ */ jsxs16("div", { className: "rs-amount-detail-row", children: [
|
|
4041
4097
|
/* @__PURE__ */ jsx20("span", { children: "Receive" }),
|
|
4042
|
-
/* @__PURE__ */
|
|
4043
|
-
/* @__PURE__ */
|
|
4098
|
+
/* @__PURE__ */ jsxs16("span", { className: "rs-amount-detail-value", children: [
|
|
4099
|
+
/* @__PURE__ */ jsxs16("span", { children: [
|
|
4044
4100
|
targetChainName,
|
|
4045
4101
|
" ",
|
|
4046
4102
|
targetTokenSymbol
|
|
@@ -4048,12 +4104,11 @@ function SolanaAmountStep({
|
|
|
4048
4104
|
/* @__PURE__ */ jsx20("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx20(TokenIcon, { symbol: targetTokenSymbol }) })
|
|
4049
4105
|
] })
|
|
4050
4106
|
] }),
|
|
4051
|
-
balanceAfterUsd !== null && /* @__PURE__ */
|
|
4107
|
+
balanceAfterUsd !== null && /* @__PURE__ */ jsxs16("div", { className: "rs-amount-detail-row", children: [
|
|
4052
4108
|
/* @__PURE__ */ jsx20("span", { children: "Balance after deposit" }),
|
|
4053
4109
|
/* @__PURE__ */ jsx20("span", { className: "rs-amount-detail-value", children: currencyFormatter.format(balanceAfterUsd) })
|
|
4054
4110
|
] })
|
|
4055
4111
|
] }),
|
|
4056
|
-
targetChain === HYPERCORE_CHAIN_ID && /* @__PURE__ */ jsx20(Callout, { variant: "warning", children: "First deposit to a new HyperCore account includes a ~1 USDC activation fee." }),
|
|
4057
4112
|
error && /* @__PURE__ */ jsx20(Callout, { variant: "error", children: error }),
|
|
4058
4113
|
/* @__PURE__ */ jsx20(
|
|
4059
4114
|
Button,
|
|
@@ -4172,7 +4227,7 @@ async function sendSolanaTransaction(provider, _connection, transaction) {
|
|
|
4172
4227
|
}
|
|
4173
4228
|
|
|
4174
4229
|
// src/components/steps/SolanaConfirmStep.tsx
|
|
4175
|
-
import { jsx as jsx21, jsxs as
|
|
4230
|
+
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4176
4231
|
function SolanaConfirmStep({
|
|
4177
4232
|
smartAccount,
|
|
4178
4233
|
solanaAddress,
|
|
@@ -4196,11 +4251,12 @@ function SolanaConfirmStep({
|
|
|
4196
4251
|
const rpcUrls = useRpcUrls();
|
|
4197
4252
|
const [isSubmitting, setIsSubmitting] = useState11(false);
|
|
4198
4253
|
const [error, setError] = useState11(null);
|
|
4199
|
-
const
|
|
4254
|
+
const targetChainId = targetChainToChainId(targetChain);
|
|
4255
|
+
const targetSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
4200
4256
|
const sourceChainName = getChainName("solana");
|
|
4201
|
-
const targetChainName = getChainName(
|
|
4257
|
+
const targetChainName = getChainName(targetChainId);
|
|
4202
4258
|
const sourceChainIcon = getChainIcon("solana");
|
|
4203
|
-
const targetChainIcon = getChainIcon(
|
|
4259
|
+
const targetChainIcon = getChainIcon(targetChainId);
|
|
4204
4260
|
const feeSponsored = uiConfig?.feeSponsored ?? false;
|
|
4205
4261
|
const feeTooltip = uiConfig?.feeTooltip ?? (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.");
|
|
4206
4262
|
const formattedAmount = sourceAmount && Number.isFinite(Number(sourceAmount)) ? formatTokenAmount(Number(sourceAmount), token.symbol) ?? "0" : "0";
|
|
@@ -4309,37 +4365,37 @@ function SolanaConfirmStep({
|
|
|
4309
4365
|
sourceAmount
|
|
4310
4366
|
});
|
|
4311
4367
|
setError(message);
|
|
4312
|
-
onError?.(message, "SOLANA_TRANSFER_ERROR");
|
|
4368
|
+
onError?.(message, "SOLANA_TRANSFER_ERROR", raw);
|
|
4313
4369
|
} finally {
|
|
4314
4370
|
setIsSubmitting(false);
|
|
4315
4371
|
}
|
|
4316
4372
|
};
|
|
4317
|
-
return /* @__PURE__ */
|
|
4318
|
-
/* @__PURE__ */
|
|
4373
|
+
return /* @__PURE__ */ jsxs17("div", { className: "rs-screen", children: [
|
|
4374
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
4319
4375
|
/* @__PURE__ */ jsx21(BodyHeader, { icon: /* @__PURE__ */ jsx21(WalletIcon, {}), title: "Review deposit" }),
|
|
4320
|
-
/* @__PURE__ */
|
|
4321
|
-
/* @__PURE__ */
|
|
4376
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-details", children: [
|
|
4377
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4322
4378
|
/* @__PURE__ */ jsx21("span", { children: "Source chain" }),
|
|
4323
|
-
/* @__PURE__ */
|
|
4379
|
+
/* @__PURE__ */ jsxs17("span", { className: "rs-review-detail-value", children: [
|
|
4324
4380
|
/* @__PURE__ */ jsx21("span", { children: sourceChainName }),
|
|
4325
4381
|
sourceChainIcon && /* @__PURE__ */ jsx21("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx21(CdnIcon, { src: sourceChainIcon }) })
|
|
4326
4382
|
] })
|
|
4327
4383
|
] }),
|
|
4328
|
-
/* @__PURE__ */
|
|
4384
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4329
4385
|
/* @__PURE__ */ jsx21("span", { children: "Destination chain" }),
|
|
4330
|
-
/* @__PURE__ */
|
|
4386
|
+
/* @__PURE__ */ jsxs17("span", { className: "rs-review-detail-value", children: [
|
|
4331
4387
|
/* @__PURE__ */ jsx21("span", { children: targetChainName }),
|
|
4332
4388
|
targetChainIcon && /* @__PURE__ */ jsx21("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx21(CdnIcon, { src: targetChainIcon }) })
|
|
4333
4389
|
] })
|
|
4334
4390
|
] }),
|
|
4335
|
-
/* @__PURE__ */
|
|
4391
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4336
4392
|
/* @__PURE__ */ jsx21("span", { children: "Estimated time" }),
|
|
4337
4393
|
/* @__PURE__ */ jsx21("span", { className: "rs-review-detail-value", children: estimatedTime })
|
|
4338
4394
|
] }),
|
|
4339
|
-
/* @__PURE__ */
|
|
4395
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4340
4396
|
/* @__PURE__ */ jsx21("span", { children: "You send" }),
|
|
4341
|
-
/* @__PURE__ */
|
|
4342
|
-
/* @__PURE__ */
|
|
4397
|
+
/* @__PURE__ */ jsxs17("span", { className: "rs-review-detail-value", children: [
|
|
4398
|
+
/* @__PURE__ */ jsxs17("span", { children: [
|
|
4343
4399
|
formattedAmount,
|
|
4344
4400
|
" ",
|
|
4345
4401
|
token.symbol
|
|
@@ -4347,16 +4403,16 @@ function SolanaConfirmStep({
|
|
|
4347
4403
|
/* @__PURE__ */ jsx21("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx21(TokenIcon, { symbol: token.symbol }) })
|
|
4348
4404
|
] })
|
|
4349
4405
|
] }),
|
|
4350
|
-
/* @__PURE__ */
|
|
4406
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4351
4407
|
/* @__PURE__ */ jsx21("span", { children: "Receive" }),
|
|
4352
|
-
/* @__PURE__ */
|
|
4408
|
+
/* @__PURE__ */ jsxs17("span", { className: "rs-review-detail-value", children: [
|
|
4353
4409
|
/* @__PURE__ */ jsx21("span", { children: receiveDisplay }),
|
|
4354
4410
|
/* @__PURE__ */ jsx21("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx21(TokenIcon, { symbol: targetSymbol }) })
|
|
4355
4411
|
] })
|
|
4356
4412
|
] }),
|
|
4357
|
-
/* @__PURE__ */
|
|
4413
|
+
/* @__PURE__ */ jsxs17("div", { className: "rs-review-detail-row", children: [
|
|
4358
4414
|
/* @__PURE__ */ jsx21("span", { children: "Fees" }),
|
|
4359
|
-
/* @__PURE__ */
|
|
4415
|
+
/* @__PURE__ */ jsxs17("span", { className: "rs-review-detail-value", children: [
|
|
4360
4416
|
/* @__PURE__ */ jsx21(
|
|
4361
4417
|
"span",
|
|
4362
4418
|
{
|
|
@@ -4386,15 +4442,15 @@ function SolanaConfirmStep({
|
|
|
4386
4442
|
}
|
|
4387
4443
|
|
|
4388
4444
|
// src/components/steps/DappImportAssetSelectStep.tsx
|
|
4389
|
-
import { jsx as jsx22, jsxs as
|
|
4445
|
+
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
4390
4446
|
function DappImportAssetSelectStep({
|
|
4391
4447
|
sourceLabel,
|
|
4392
4448
|
assets,
|
|
4393
4449
|
incompleteSummary,
|
|
4394
4450
|
onSelect
|
|
4395
4451
|
}) {
|
|
4396
|
-
return /* @__PURE__ */
|
|
4397
|
-
/* @__PURE__ */
|
|
4452
|
+
return /* @__PURE__ */ jsxs18("div", { className: "rs-screen", children: [
|
|
4453
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
4398
4454
|
/* @__PURE__ */ jsx22(
|
|
4399
4455
|
BodyHeader,
|
|
4400
4456
|
{
|
|
@@ -4412,15 +4468,15 @@ function DappImportAssetSelectStep({
|
|
|
4412
4468
|
const assetIcon = asset.icon;
|
|
4413
4469
|
const chainIcon = getChainIcon(asset.chainId);
|
|
4414
4470
|
const badge = getChainBadge(asset.chainId);
|
|
4415
|
-
return /* @__PURE__ */
|
|
4471
|
+
return /* @__PURE__ */ jsxs18(
|
|
4416
4472
|
"button",
|
|
4417
4473
|
{
|
|
4418
4474
|
type: "button",
|
|
4419
4475
|
className: "rs-asset-row",
|
|
4420
4476
|
onClick: () => onSelect(asset),
|
|
4421
4477
|
children: [
|
|
4422
|
-
/* @__PURE__ */
|
|
4423
|
-
/* @__PURE__ */
|
|
4478
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-asset-info", children: [
|
|
4479
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-asset-icon-wrapper", children: [
|
|
4424
4480
|
/* @__PURE__ */ jsx22("span", { className: "rs-asset-icon", children: assetIcon ? /* @__PURE__ */ jsx22(CdnIcon, { src: assetIcon, alt: asset.symbol }) : /* @__PURE__ */ jsx22(
|
|
4425
4481
|
TokenIcon,
|
|
4426
4482
|
{
|
|
@@ -4437,16 +4493,16 @@ function DappImportAssetSelectStep({
|
|
|
4437
4493
|
}
|
|
4438
4494
|
)
|
|
4439
4495
|
] }),
|
|
4440
|
-
/* @__PURE__ */
|
|
4441
|
-
/* @__PURE__ */
|
|
4496
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-asset-text", children: [
|
|
4497
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-asset-name-row", children: [
|
|
4442
4498
|
/* @__PURE__ */ jsx22("span", { className: "rs-asset-name", children: asset.symbol }),
|
|
4443
|
-
/* @__PURE__ */
|
|
4499
|
+
/* @__PURE__ */ jsxs18("span", { className: "rs-asset-chain", children: [
|
|
4444
4500
|
"on ",
|
|
4445
4501
|
asset.sourceLabel,
|
|
4446
4502
|
asset.qualifier ? ` \xB7 ${asset.qualifier}` : ""
|
|
4447
4503
|
] })
|
|
4448
4504
|
] }),
|
|
4449
|
-
/* @__PURE__ */
|
|
4505
|
+
/* @__PURE__ */ jsxs18("div", { className: "rs-asset-balance-small", children: [
|
|
4450
4506
|
tokenAmount,
|
|
4451
4507
|
" ",
|
|
4452
4508
|
asset.symbol
|
|
@@ -4466,7 +4522,7 @@ function DappImportAssetSelectStep({
|
|
|
4466
4522
|
DappImportAssetSelectStep.displayName = "DappImportAssetSelectStep";
|
|
4467
4523
|
|
|
4468
4524
|
// src/components/steps/DappImportSelectStep.tsx
|
|
4469
|
-
import { jsx as jsx23, jsxs as
|
|
4525
|
+
import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
4470
4526
|
function describeRow(status, comingSoon) {
|
|
4471
4527
|
if (comingSoon) {
|
|
4472
4528
|
return { subtitle: "Coming soon", disabled: true, busy: false };
|
|
@@ -4502,8 +4558,8 @@ function DappImportSelectStep({
|
|
|
4502
4558
|
const byId = new Map(rows.map((row) => [row.id, row.status]));
|
|
4503
4559
|
const enabled = new Set(enabledIds);
|
|
4504
4560
|
const brands = DAPP_IMPORT_CATALOG.filter((brand) => enabled.has(brand.id));
|
|
4505
|
-
return /* @__PURE__ */
|
|
4506
|
-
/* @__PURE__ */
|
|
4561
|
+
return /* @__PURE__ */ jsxs19("div", { className: "rs-screen", children: [
|
|
4562
|
+
/* @__PURE__ */ jsxs19("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
4507
4563
|
/* @__PURE__ */ jsx23(
|
|
4508
4564
|
BodyHeader,
|
|
4509
4565
|
{
|
|
@@ -4544,16 +4600,16 @@ function DappImportSelectStep({
|
|
|
4544
4600
|
DappImportSelectStep.displayName = "DappImportSelectStep";
|
|
4545
4601
|
|
|
4546
4602
|
// src/components/steps/DappImportAssetSelectSkeleton.tsx
|
|
4547
|
-
import { jsx as jsx24, jsxs as
|
|
4603
|
+
import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4548
4604
|
function DappImportAssetSelectSkeleton({
|
|
4549
4605
|
sourceLabel,
|
|
4550
4606
|
rowCount = 3,
|
|
4551
4607
|
error = false,
|
|
4552
4608
|
onRetry
|
|
4553
4609
|
}) {
|
|
4554
|
-
return /* @__PURE__ */
|
|
4610
|
+
return /* @__PURE__ */ jsxs20("div", { className: "rs-screen", "aria-busy": error ? "false" : "true", children: [
|
|
4555
4611
|
/* @__PURE__ */ jsx24("span", { className: "rs-sr-only", role: "status", children: error ? "Couldn't load balances" : "Loading balances\u2026" }),
|
|
4556
|
-
/* @__PURE__ */
|
|
4612
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
|
|
4557
4613
|
/* @__PURE__ */ jsx24(
|
|
4558
4614
|
BodyHeader,
|
|
4559
4615
|
{
|
|
@@ -4562,20 +4618,20 @@ function DappImportAssetSelectSkeleton({
|
|
|
4562
4618
|
subtitle: "Pick the balance to import"
|
|
4563
4619
|
}
|
|
4564
4620
|
),
|
|
4565
|
-
error ? /* @__PURE__ */ jsx24("div", { className: "rs-loading-state", children: /* @__PURE__ */
|
|
4621
|
+
error ? /* @__PURE__ */ jsx24("div", { className: "rs-loading-state", children: /* @__PURE__ */ jsxs20("div", { className: "rs-loading-text", children: [
|
|
4566
4622
|
/* @__PURE__ */ jsx24("div", { className: "rs-loading-title rs-text-error", children: "Couldn\u2019t load your balances" }),
|
|
4567
4623
|
/* @__PURE__ */ jsx24("div", { className: "rs-loading-subtitle", children: "Check your connection and try again." })
|
|
4568
|
-
] }) }) : /* @__PURE__ */ jsx24("div", { className: "rs-asset-list", "aria-hidden": "true", children: Array.from({ length: rowCount }, (_, index) => /* @__PURE__ */
|
|
4624
|
+
] }) }) : /* @__PURE__ */ jsx24("div", { className: "rs-asset-list", "aria-hidden": "true", children: Array.from({ length: rowCount }, (_, index) => /* @__PURE__ */ jsxs20(
|
|
4569
4625
|
"div",
|
|
4570
4626
|
{
|
|
4571
4627
|
className: "rs-asset-row rs-asset-row--skeleton",
|
|
4572
4628
|
children: [
|
|
4573
|
-
/* @__PURE__ */
|
|
4574
|
-
/* @__PURE__ */
|
|
4629
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-asset-info", children: [
|
|
4630
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-asset-icon-wrapper", children: [
|
|
4575
4631
|
/* @__PURE__ */ jsx24("span", { className: "rs-asset-icon", children: /* @__PURE__ */ jsx24("span", { className: "rs-skeleton rs-skeleton-fill" }) }),
|
|
4576
4632
|
/* @__PURE__ */ jsx24("span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ jsx24("span", { className: "rs-skeleton rs-skeleton-fill" }) })
|
|
4577
4633
|
] }),
|
|
4578
|
-
/* @__PURE__ */
|
|
4634
|
+
/* @__PURE__ */ jsxs20("div", { className: "rs-asset-text", children: [
|
|
4579
4635
|
/* @__PURE__ */ jsx24("div", { className: "rs-asset-name-row", children: /* @__PURE__ */ jsx24("span", { className: "rs-skeleton rs-skeleton-text rs-skeleton-text--name" }) }),
|
|
4580
4636
|
/* @__PURE__ */ jsx24("div", { className: "rs-asset-balance-small", children: /* @__PURE__ */ jsx24("span", { className: "rs-skeleton rs-skeleton-text rs-skeleton-text--balance" }) })
|
|
4581
4637
|
] })
|
|
@@ -6133,7 +6189,7 @@ function useDepositStore(selector) {
|
|
|
6133
6189
|
}
|
|
6134
6190
|
|
|
6135
6191
|
// src/DepositFlow.tsx
|
|
6136
|
-
import { Fragment as Fragment5, jsx as jsx25, jsxs as
|
|
6192
|
+
import { Fragment as Fragment5, jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
6137
6193
|
function swappedWidgetPrefetchKey(method, methodSelectionSource) {
|
|
6138
6194
|
return JSON.stringify([methodSelectionSource ?? null, method ?? null]);
|
|
6139
6195
|
}
|
|
@@ -6141,8 +6197,8 @@ function AccountPreparingSkeleton({
|
|
|
6141
6197
|
errorMessage,
|
|
6142
6198
|
onRetry
|
|
6143
6199
|
}) {
|
|
6144
|
-
return /* @__PURE__ */
|
|
6145
|
-
/* @__PURE__ */ jsx25("div", { className: "rs-step-body", style: { paddingTop: 0 }, children: /* @__PURE__ */ jsx25("div", { className: "rs-loading-state", children: /* @__PURE__ */ jsx25("div", { className: "rs-loading-text", children: errorMessage ? /* @__PURE__ */
|
|
6200
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-step", children: [
|
|
6201
|
+
/* @__PURE__ */ jsx25("div", { className: "rs-step-body", style: { paddingTop: 0 }, children: /* @__PURE__ */ jsx25("div", { className: "rs-loading-state", children: /* @__PURE__ */ jsx25("div", { className: "rs-loading-text", children: errorMessage ? /* @__PURE__ */ jsxs21(Fragment5, { children: [
|
|
6146
6202
|
/* @__PURE__ */ jsx25("div", { className: "rs-loading-title rs-text-error", children: "Couldn\u2019t prepare account" }),
|
|
6147
6203
|
/* @__PURE__ */ jsx25("div", { className: "rs-loading-subtitle", children: errorMessage })
|
|
6148
6204
|
] }) : /* @__PURE__ */ jsx25("div", { className: "rs-loading-title", children: "Preparing\u2026" }) }) }) }),
|
|
@@ -6548,7 +6604,8 @@ function DepositFlow({
|
|
|
6548
6604
|
selectedWalletId
|
|
6549
6605
|
]);
|
|
6550
6606
|
const setupChainId = typeof targetChain === "number" && !isVirtualDestination(targetChain) ? targetChain : typeof defaultSourceChain === "number" ? defaultSourceChain : base.id;
|
|
6551
|
-
const
|
|
6607
|
+
const targetChainId = targetChainToChainId(targetChain);
|
|
6608
|
+
const targetSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
6552
6609
|
const isTargetStablecoin = isStablecoinSymbol(targetSymbol);
|
|
6553
6610
|
const targetMarketPriceRef = useRef8(null);
|
|
6554
6611
|
useEffect11(() => {
|
|
@@ -6558,7 +6615,7 @@ function DepositFlow({
|
|
|
6558
6615
|
}
|
|
6559
6616
|
let cancelled = false;
|
|
6560
6617
|
fetchTokenPriceUsd(service, {
|
|
6561
|
-
chainId:
|
|
6618
|
+
chainId: targetChainId,
|
|
6562
6619
|
address: targetToken,
|
|
6563
6620
|
symbol: targetSymbol
|
|
6564
6621
|
}).then((price) => {
|
|
@@ -6831,8 +6888,8 @@ function DepositFlow({
|
|
|
6831
6888
|
pred_balance: totalBalanceUsd
|
|
6832
6889
|
});
|
|
6833
6890
|
} else if (effectiveStep.type === "deposit-address") {
|
|
6834
|
-
const chainName = getChainName(
|
|
6835
|
-
const tokenSymbol = getTargetTokenSymbol(targetToken,
|
|
6891
|
+
const chainName = getChainName(targetChainId);
|
|
6892
|
+
const tokenSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
6836
6893
|
onEventRef.current?.({
|
|
6837
6894
|
type: "deposit_modal_transfer_crypto_open",
|
|
6838
6895
|
default_chain: chainName,
|
|
@@ -6840,7 +6897,7 @@ function DepositFlow({
|
|
|
6840
6897
|
pred_balance: totalBalanceUsd
|
|
6841
6898
|
});
|
|
6842
6899
|
} else if (effectiveStep.type === "amount" && stepSendToken) {
|
|
6843
|
-
const receiveSymbol = getTargetTokenSymbol(targetToken,
|
|
6900
|
+
const receiveSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
6844
6901
|
onEventRef.current?.({
|
|
6845
6902
|
type: "deposit_modal_connected_wallet_enter_value_open",
|
|
6846
6903
|
send_token: stepSendToken,
|
|
@@ -7573,7 +7630,7 @@ function DepositFlow({
|
|
|
7573
7630
|
);
|
|
7574
7631
|
const handleSolanaAmountContinue = useCallback7(
|
|
7575
7632
|
(token, sourceAmount, inputAmountUsd) => {
|
|
7576
|
-
const targetSym = getTargetTokenSymbol(targetToken,
|
|
7633
|
+
const targetSym = getTargetTokenSymbol(targetToken, targetChainId);
|
|
7577
7634
|
const isTargetStable = isStablecoinSymbol(targetSym);
|
|
7578
7635
|
const targetTokenPriceUsd = isTargetStable ? 1 : targetMarketPriceRef.current;
|
|
7579
7636
|
logFlow("solana:amount:continue", {
|
|
@@ -7651,7 +7708,7 @@ function DepositFlow({
|
|
|
7651
7708
|
(amount, targetAmount, balance) => {
|
|
7652
7709
|
const entry = storeApi.getState().setup;
|
|
7653
7710
|
if (entry.status !== "ready") return;
|
|
7654
|
-
const targetSym = getTargetTokenSymbol(targetToken,
|
|
7711
|
+
const targetSym = getTargetTokenSymbol(targetToken, targetChainId);
|
|
7655
7712
|
const isTargetStable = isStablecoinSymbol(targetSym);
|
|
7656
7713
|
const targetTokenPriceUsd = isTargetStable ? 1 : targetMarketPriceRef.current;
|
|
7657
7714
|
storeApi.dispatch({
|
|
@@ -7785,9 +7842,9 @@ function DepositFlow({
|
|
|
7785
7842
|
[logFlowError, onLifecycleRef]
|
|
7786
7843
|
);
|
|
7787
7844
|
const handleError = useCallback7(
|
|
7788
|
-
(message, code) => {
|
|
7789
|
-
logFlowError("flow:error", message, { code });
|
|
7790
|
-
onErrorRef.current?.({ message, code });
|
|
7845
|
+
(message, code, cause) => {
|
|
7846
|
+
logFlowError("flow:error", cause ?? message, { code });
|
|
7847
|
+
onErrorRef.current?.({ message, code, cause });
|
|
7791
7848
|
},
|
|
7792
7849
|
[logFlowError, onErrorRef]
|
|
7793
7850
|
);
|
|
@@ -7901,7 +7958,7 @@ function DepositFlow({
|
|
|
7901
7958
|
) });
|
|
7902
7959
|
}
|
|
7903
7960
|
if (isDepositAddressMode) {
|
|
7904
|
-
return /* @__PURE__ */
|
|
7961
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-modal-body", children: [
|
|
7905
7962
|
effectiveStep.type === "setup" && (activeEntry.status === "error" ? /* @__PURE__ */ jsx25(
|
|
7906
7963
|
AccountPreparingSkeleton,
|
|
7907
7964
|
{
|
|
@@ -7927,8 +7984,8 @@ function DepositFlow({
|
|
|
7927
7984
|
onDepositComplete: handleDepositComplete,
|
|
7928
7985
|
onDepositFailed: handleDepositFailed,
|
|
7929
7986
|
onCopyAddress: () => {
|
|
7930
|
-
const chainName = getChainName(
|
|
7931
|
-
const tokenSymbol = getTargetTokenSymbol(targetToken,
|
|
7987
|
+
const chainName = getChainName(targetChainId);
|
|
7988
|
+
const tokenSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
7932
7989
|
onEvent?.({
|
|
7933
7990
|
type: "deposit_modal_transfer_crypto_cta_click",
|
|
7934
7991
|
default_chain: chainName,
|
|
@@ -7944,7 +8001,7 @@ function DepositFlow({
|
|
|
7944
8001
|
] });
|
|
7945
8002
|
}
|
|
7946
8003
|
if (isFiatOnrampMode) {
|
|
7947
|
-
return /* @__PURE__ */
|
|
8004
|
+
return /* @__PURE__ */ jsxs21(
|
|
7948
8005
|
"div",
|
|
7949
8006
|
{
|
|
7950
8007
|
className: "rs-modal-body",
|
|
@@ -8009,7 +8066,7 @@ function DepositFlow({
|
|
|
8009
8066
|
);
|
|
8010
8067
|
}
|
|
8011
8068
|
if (isExchangeConnectMode) {
|
|
8012
|
-
return /* @__PURE__ */
|
|
8069
|
+
return /* @__PURE__ */ jsxs21(
|
|
8013
8070
|
"div",
|
|
8014
8071
|
{
|
|
8015
8072
|
className: "rs-modal-body",
|
|
@@ -8083,7 +8140,7 @@ function DepositFlow({
|
|
|
8083
8140
|
if (isSolanaWalletMode) {
|
|
8084
8141
|
const solanaAddr = reownWallet?.solanaAddress;
|
|
8085
8142
|
const solanaProvider = reownWallet?.solanaProvider;
|
|
8086
|
-
return /* @__PURE__ */
|
|
8143
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-modal-body", children: [
|
|
8087
8144
|
effectiveStep.type === "setup" && /* @__PURE__ */ jsx25(
|
|
8088
8145
|
AccountPreparingSkeleton,
|
|
8089
8146
|
{
|
|
@@ -8114,8 +8171,8 @@ function DepositFlow({
|
|
|
8114
8171
|
defaultAmount: effectiveStep.inputAmountUsd,
|
|
8115
8172
|
uiConfig,
|
|
8116
8173
|
targetChain,
|
|
8117
|
-
targetChainName: getChainName(
|
|
8118
|
-
targetTokenSymbol: getTargetTokenSymbol(targetToken,
|
|
8174
|
+
targetChainName: getChainName(targetChainId),
|
|
8175
|
+
targetTokenSymbol: getTargetTokenSymbol(targetToken, targetChainId),
|
|
8119
8176
|
appBalanceUsd,
|
|
8120
8177
|
onContinue: handleSolanaAmountContinue,
|
|
8121
8178
|
debug
|
|
@@ -8142,8 +8199,8 @@ function DepositFlow({
|
|
|
8142
8199
|
onError: handleError,
|
|
8143
8200
|
debug
|
|
8144
8201
|
}
|
|
8145
|
-
) : effectiveStep.type === "solana-confirm" ? /* @__PURE__ */
|
|
8146
|
-
/* @__PURE__ */
|
|
8202
|
+
) : effectiveStep.type === "solana-confirm" ? /* @__PURE__ */ jsxs21("div", { className: "rs-step", children: [
|
|
8203
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-loading-state", children: [
|
|
8147
8204
|
/* @__PURE__ */ jsx25("div", { className: "rs-step-icon rs-step-icon--error", children: /* @__PURE__ */ jsx25(
|
|
8148
8205
|
"svg",
|
|
8149
8206
|
{
|
|
@@ -8161,7 +8218,7 @@ function DepositFlow({
|
|
|
8161
8218
|
)
|
|
8162
8219
|
}
|
|
8163
8220
|
) }),
|
|
8164
|
-
/* @__PURE__ */
|
|
8221
|
+
/* @__PURE__ */ jsxs21("div", { className: "rs-loading-text", children: [
|
|
8165
8222
|
/* @__PURE__ */ jsx25("div", { className: "rs-loading-title rs-text-error", children: "Wallet disconnected" }),
|
|
8166
8223
|
/* @__PURE__ */ jsx25("div", { className: "rs-loading-subtitle", children: "Please reconnect your Solana wallet to continue." })
|
|
8167
8224
|
] })
|
|
@@ -8266,7 +8323,7 @@ function DepositFlow({
|
|
|
8266
8323
|
}
|
|
8267
8324
|
return getPublicClient(chainId, rpcUrls);
|
|
8268
8325
|
};
|
|
8269
|
-
return /* @__PURE__ */
|
|
8326
|
+
return /* @__PURE__ */ jsxs21("div", { className: "rs-modal-body", children: [
|
|
8270
8327
|
effectiveStep.type === "setup" && /* @__PURE__ */ jsx25(
|
|
8271
8328
|
AccountPreparingSkeleton,
|
|
8272
8329
|
{
|
|
@@ -8316,7 +8373,7 @@ function DepositFlow({
|
|
|
8316
8373
|
service,
|
|
8317
8374
|
onContinue: handleAmountContinue,
|
|
8318
8375
|
onCtaClick: (ctaName) => {
|
|
8319
|
-
const receiveSymbol = getTargetTokenSymbol(targetToken,
|
|
8376
|
+
const receiveSymbol = getTargetTokenSymbol(targetToken, targetChainId);
|
|
8320
8377
|
onEvent?.({
|
|
8321
8378
|
type: "deposit_modal_connected_wallet_enter_value_cta_click",
|
|
8322
8379
|
send_token: effectiveStep.asset.symbol,
|
|
@@ -8407,7 +8464,7 @@ function DepositFlow({
|
|
|
8407
8464
|
|
|
8408
8465
|
// src/components/history/DepositHistoryPanel.tsx
|
|
8409
8466
|
import { useCallback as useCallback8, useMemo as useMemo8, useState as useState13 } from "react";
|
|
8410
|
-
import { jsx as jsx26, jsxs as
|
|
8467
|
+
import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
8411
8468
|
function shortenHash(hash) {
|
|
8412
8469
|
if (hash.length <= 14) return hash;
|
|
8413
8470
|
return `${hash.slice(0, 6)}\u2026${hash.slice(-4)}`;
|
|
@@ -8537,7 +8594,7 @@ function DepositHistoryPanel({
|
|
|
8537
8594
|
(d) => !(d.txHash && sourceHashes.has(d.txHash.toLowerCase()))
|
|
8538
8595
|
);
|
|
8539
8596
|
}, [deposits]);
|
|
8540
|
-
return /* @__PURE__ */
|
|
8597
|
+
return /* @__PURE__ */ jsxs22(
|
|
8541
8598
|
"div",
|
|
8542
8599
|
{
|
|
8543
8600
|
className: "rs-history-panel",
|
|
@@ -8545,7 +8602,7 @@ function DepositHistoryPanel({
|
|
|
8545
8602
|
"aria-label": "Deposit history",
|
|
8546
8603
|
onKeyDown: handleKeyDown,
|
|
8547
8604
|
children: [
|
|
8548
|
-
/* @__PURE__ */
|
|
8605
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-modal-header--redesigned", children: [
|
|
8549
8606
|
/* @__PURE__ */ jsx26("div", { className: "rs-modal-header-nav-left", children: /* @__PURE__ */ jsx26(
|
|
8550
8607
|
"button",
|
|
8551
8608
|
{
|
|
@@ -8567,31 +8624,31 @@ function DepositHistoryPanel({
|
|
|
8567
8624
|
}
|
|
8568
8625
|
) })
|
|
8569
8626
|
] }),
|
|
8570
|
-
/* @__PURE__ */
|
|
8571
|
-
/* @__PURE__ */
|
|
8627
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-screen", children: [
|
|
8628
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-screen-body", children: [
|
|
8572
8629
|
/* @__PURE__ */ jsx26(BodyHeader, { icon: /* @__PURE__ */ jsx26(HistoryIcon, {}), title: "History" }),
|
|
8573
|
-
isLoading && deposits.length === 0 && /* @__PURE__ */
|
|
8630
|
+
isLoading && deposits.length === 0 && /* @__PURE__ */ jsxs22("div", { className: "rs-history-empty", children: [
|
|
8574
8631
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-glyph", "aria-hidden": "true", children: /* @__PURE__ */ jsx26(HistoryIcon, {}) }),
|
|
8575
|
-
/* @__PURE__ */
|
|
8632
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-empty-text", children: [
|
|
8576
8633
|
/* @__PURE__ */ jsx26(Spinner, { className: "rs-spinner--sm" }),
|
|
8577
8634
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-hint", children: "Loading history\u2026" })
|
|
8578
8635
|
] })
|
|
8579
8636
|
] }),
|
|
8580
|
-
error && !isLoading && /* @__PURE__ */
|
|
8637
|
+
error && !isLoading && /* @__PURE__ */ jsxs22("div", { className: "rs-history-empty", children: [
|
|
8581
8638
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-glyph", "aria-hidden": "true", children: /* @__PURE__ */ jsx26(AlertTriangleIcon, {}) }),
|
|
8582
|
-
/* @__PURE__ */
|
|
8639
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-empty-text", children: [
|
|
8583
8640
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-title", children: "Couldn't load history" }),
|
|
8584
8641
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-hint", children: error })
|
|
8585
8642
|
] })
|
|
8586
8643
|
] }),
|
|
8587
|
-
!isLoading && !error && visibleDeposits.length === 0 && /* @__PURE__ */
|
|
8644
|
+
!isLoading && !error && visibleDeposits.length === 0 && /* @__PURE__ */ jsxs22("div", { className: "rs-history-empty", children: [
|
|
8588
8645
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-glyph", "aria-hidden": "true", children: /* @__PURE__ */ jsx26(HistoryIcon, {}) }),
|
|
8589
|
-
/* @__PURE__ */
|
|
8646
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-empty-text", children: [
|
|
8590
8647
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-title", children: "No deposits yet" }),
|
|
8591
8648
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-empty-hint", children: "Your deposit history will appear here" })
|
|
8592
8649
|
] })
|
|
8593
8650
|
] }),
|
|
8594
|
-
visibleDeposits.length > 0 && /* @__PURE__ */
|
|
8651
|
+
visibleDeposits.length > 0 && /* @__PURE__ */ jsxs22("div", { className: "rs-history-list", children: [
|
|
8595
8652
|
visibleDeposits.map((deposit, i) => /* @__PURE__ */ jsx26(HistoryCard, { deposit }, deposit.txHash || i)),
|
|
8596
8653
|
hasMore && /* @__PURE__ */ jsx26(
|
|
8597
8654
|
"button",
|
|
@@ -8631,7 +8688,7 @@ function HistoryCard({ deposit }) {
|
|
|
8631
8688
|
const txTypeLabel = `Deposit${sourceSymbol ? ` ${sourceSymbol}` : ""}`;
|
|
8632
8689
|
const srcTxHash = sourceChainId === "hypercore" ? deposit.txHash : deposit.sourceTxHash;
|
|
8633
8690
|
const srcTxUrl = srcTxHash ? getTxExplorerUrl(srcTxHash, sourceChainId) : null;
|
|
8634
|
-
return /* @__PURE__ */
|
|
8691
|
+
return /* @__PURE__ */ jsxs22(
|
|
8635
8692
|
"button",
|
|
8636
8693
|
{
|
|
8637
8694
|
type: "button",
|
|
@@ -8639,38 +8696,38 @@ function HistoryCard({ deposit }) {
|
|
|
8639
8696
|
onClick: () => setExpanded((v) => !v),
|
|
8640
8697
|
"aria-expanded": expanded,
|
|
8641
8698
|
children: [
|
|
8642
|
-
/* @__PURE__ */
|
|
8643
|
-
/* @__PURE__ */
|
|
8699
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-card-row", children: [
|
|
8700
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-card-icons", children: [
|
|
8644
8701
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-card-token", children: /* @__PURE__ */ jsx26(TokenIcon, { symbol: sourceSymbol, fallback: sourceSymbol.slice(0, 2) }) }),
|
|
8645
8702
|
sourceChainIcon && /* @__PURE__ */ jsx26("span", { className: "rs-history-card-chain", children: /* @__PURE__ */ jsx26(CdnIcon, { src: sourceChainIcon }) })
|
|
8646
8703
|
] }),
|
|
8647
|
-
/* @__PURE__ */
|
|
8704
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-card-text", children: [
|
|
8648
8705
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-card-title", children: txTypeLabel }),
|
|
8649
8706
|
date && /* @__PURE__ */ jsx26("span", { className: "rs-history-card-date", children: date })
|
|
8650
8707
|
] }),
|
|
8651
|
-
/* @__PURE__ */
|
|
8708
|
+
/* @__PURE__ */ jsxs22("div", { className: "rs-history-card-side", children: [
|
|
8652
8709
|
/* @__PURE__ */ jsx26("span", { className: "rs-history-card-amount", children: displayAmount }),
|
|
8653
8710
|
/* @__PURE__ */ jsx26("span", { className: `rs-history-badge rs-history-badge--${status}`, children: STATUS_LABEL[status] })
|
|
8654
8711
|
] })
|
|
8655
8712
|
] }),
|
|
8656
|
-
/* @__PURE__ */ jsx26("div", { className: "rs-history-card-panel", children: /* @__PURE__ */ jsx26("div", { className: "rs-history-card-panel-inner", children: /* @__PURE__ */
|
|
8657
|
-
sourceChainName && /* @__PURE__ */
|
|
8713
|
+
/* @__PURE__ */ jsx26("div", { className: "rs-history-card-panel", children: /* @__PURE__ */ jsx26("div", { className: "rs-history-card-panel-inner", children: /* @__PURE__ */ jsxs22("div", { className: "rs-history-card-details", children: [
|
|
8714
|
+
sourceChainName && /* @__PURE__ */ jsxs22("div", { className: "rs-amount-detail-row", children: [
|
|
8658
8715
|
/* @__PURE__ */ jsx26("span", { children: "Source chain" }),
|
|
8659
|
-
/* @__PURE__ */
|
|
8716
|
+
/* @__PURE__ */ jsxs22("span", { className: "rs-amount-detail-value", children: [
|
|
8660
8717
|
/* @__PURE__ */ jsx26("span", { children: sourceChainName }),
|
|
8661
8718
|
sourceChainIcon && /* @__PURE__ */ jsx26("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx26(CdnIcon, { src: sourceChainIcon }) })
|
|
8662
8719
|
] })
|
|
8663
8720
|
] }),
|
|
8664
|
-
targetChainName && /* @__PURE__ */
|
|
8721
|
+
targetChainName && /* @__PURE__ */ jsxs22("div", { className: "rs-amount-detail-row", children: [
|
|
8665
8722
|
/* @__PURE__ */ jsx26("span", { children: "Destination chain" }),
|
|
8666
|
-
/* @__PURE__ */
|
|
8723
|
+
/* @__PURE__ */ jsxs22("span", { className: "rs-amount-detail-value", children: [
|
|
8667
8724
|
/* @__PURE__ */ jsx26("span", { children: targetChainName }),
|
|
8668
8725
|
targetChainIcon && /* @__PURE__ */ jsx26("span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ jsx26(CdnIcon, { src: targetChainIcon }) })
|
|
8669
8726
|
] })
|
|
8670
8727
|
] }),
|
|
8671
|
-
srcTxUrl && srcTxHash && /* @__PURE__ */
|
|
8728
|
+
srcTxUrl && srcTxHash && /* @__PURE__ */ jsxs22("div", { className: "rs-amount-detail-row", children: [
|
|
8672
8729
|
/* @__PURE__ */ jsx26("span", { children: "Transaction details" }),
|
|
8673
|
-
/* @__PURE__ */
|
|
8730
|
+
/* @__PURE__ */ jsxs22(
|
|
8674
8731
|
"a",
|
|
8675
8732
|
{
|
|
8676
8733
|
href: srcTxUrl,
|
|
@@ -8693,9 +8750,9 @@ function HistoryCard({ deposit }) {
|
|
|
8693
8750
|
DepositHistoryPanel.displayName = "DepositHistoryPanel";
|
|
8694
8751
|
|
|
8695
8752
|
// src/DepositModal.tsx
|
|
8696
|
-
import { jsx as jsx27, jsxs as
|
|
8753
|
+
import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
8697
8754
|
var ReownDepositInner = lazy2(
|
|
8698
|
-
() => import("./DepositModalReown-
|
|
8755
|
+
() => import("./DepositModalReown-MO5QDLIT.mjs").then((m) => ({ default: m.DepositModalReown }))
|
|
8699
8756
|
);
|
|
8700
8757
|
function sortByCreatedAtDesc(items) {
|
|
8701
8758
|
return [...items].sort((a, b) => {
|
|
@@ -8789,7 +8846,7 @@ function DepositModalInner({
|
|
|
8789
8846
|
const cursorRef = useRef9(null);
|
|
8790
8847
|
const historyStaleRef = useRef9(false);
|
|
8791
8848
|
const historyLoadedRef = useRef9(false);
|
|
8792
|
-
const targetChain = targetChainProp === "solana" ?
|
|
8849
|
+
const targetChain = targetChainProp === "solana" || targetChainProp === HYPERCORE_SPOT_CAIP2 ? targetChainProp : getChainId(targetChainProp);
|
|
8793
8850
|
const sourceChain = sourceChainProp ? getChainId(sourceChainProp) : void 0;
|
|
8794
8851
|
const rpcUrls = useStableRpcUrls(rpcUrlsProp);
|
|
8795
8852
|
const service = useMemo9(
|
|
@@ -8944,7 +9001,7 @@ function DepositModalInner({
|
|
|
8944
9001
|
const canGoBack = backHandler !== void 0;
|
|
8945
9002
|
const hideHeaderChrome = swappedImmersive;
|
|
8946
9003
|
const modalClassName = `rs-modal${hideHeaderChrome ? " rs-modal--swapped-iframe" : ""}`;
|
|
8947
|
-
return /* @__PURE__ */ jsx27(RpcUrlsProvider, { value: rpcUrls, children: /* @__PURE__ */ jsx27(DepositStoreProvider, { store, children: /* @__PURE__ */ jsx27(
|
|
9004
|
+
return /* @__PURE__ */ jsx27(RpcUrlsProvider, { value: rpcUrls, children: /* @__PURE__ */ jsx27(ChainCatalogProvider, { service, rpcUrls, children: /* @__PURE__ */ jsx27(DepositStoreProvider, { store, children: /* @__PURE__ */ jsx27(
|
|
8948
9005
|
Modal,
|
|
8949
9006
|
{
|
|
8950
9007
|
isOpen,
|
|
@@ -8952,8 +9009,8 @@ function DepositModalInner({
|
|
|
8952
9009
|
className,
|
|
8953
9010
|
inline,
|
|
8954
9011
|
closeOnOverlayClick,
|
|
8955
|
-
children: /* @__PURE__ */
|
|
8956
|
-
!hideHeaderChrome && /* @__PURE__ */
|
|
9012
|
+
children: /* @__PURE__ */ jsxs23("div", { ref: modalRef, className: modalClassName, children: [
|
|
9013
|
+
!hideHeaderChrome && /* @__PURE__ */ jsxs23("div", { className: "rs-modal-header--redesigned", children: [
|
|
8957
9014
|
/* @__PURE__ */ jsx27("div", { className: "rs-modal-header-nav-left", children: showBackButton && canGoBack && backHandler && /* @__PURE__ */ jsx27(
|
|
8958
9015
|
"button",
|
|
8959
9016
|
{
|
|
@@ -8964,7 +9021,7 @@ function DepositModalInner({
|
|
|
8964
9021
|
children: /* @__PURE__ */ jsx27(ChevronLeftIcon, {})
|
|
8965
9022
|
}
|
|
8966
9023
|
) }),
|
|
8967
|
-
/* @__PURE__ */
|
|
9024
|
+
/* @__PURE__ */ jsxs23("div", { className: "rs-modal-header-nav-right", children: [
|
|
8968
9025
|
historyButtonVisible && /* @__PURE__ */ jsx27(
|
|
8969
9026
|
"button",
|
|
8970
9027
|
{
|
|
@@ -9043,7 +9100,7 @@ function DepositModalInner({
|
|
|
9043
9100
|
)
|
|
9044
9101
|
] })
|
|
9045
9102
|
}
|
|
9046
|
-
) }) });
|
|
9103
|
+
) }) }) });
|
|
9047
9104
|
}
|
|
9048
9105
|
|
|
9049
9106
|
export {
|