@rhinestone/deposit-modal 0.3.0-alpha.12 → 0.3.0-alpha.14
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/README.md +59 -0
- package/dist/{DepositModalReown-EC4DJ3EC.cjs → DepositModalReown-4I47KSPN.cjs} +6 -6
- package/dist/{DepositModalReown-QOTUF4JC.mjs → DepositModalReown-DIUIB3MU.mjs} +3 -3
- package/dist/{QRCode-KG47KTGX.cjs → QRCode-5DXFNKI2.cjs} +1 -1
- package/dist/{QRCode-YJ3EGWQS.mjs → QRCode-WUC652SH.mjs} +1 -1
- package/dist/{WithdrawModalReown-QEQPCSWT.mjs → WithdrawModalReown-WRUEALDP.mjs} +3 -3
- package/dist/{WithdrawModalReown-Z5JVENP6.cjs → WithdrawModalReown-Y3NRAKXJ.cjs} +6 -6
- package/dist/{chunk-YI63OMXN.cjs → chunk-2NUXDEEO.cjs} +57 -57
- package/dist/{chunk-I5G5ULRP.cjs → chunk-3CYGTYMY.cjs} +1322 -320
- package/dist/{chunk-WVE3JN3C.mjs → chunk-4ZN726P5.mjs} +345 -54
- package/dist/{chunk-QXIJLRKC.mjs → chunk-JTMGFWXO.mjs} +1 -1
- package/dist/{chunk-FGVSNARE.cjs → chunk-JTULAFMU.cjs} +2 -2
- package/dist/{chunk-2TWQGPPB.cjs → chunk-N4XRQPVA.cjs} +374 -83
- package/dist/{chunk-7MZNQ4C2.mjs → chunk-VD4WTEHP.mjs} +2 -2
- package/dist/{chunk-HR6BABPX.mjs → chunk-XG474KUR.mjs} +1433 -431
- package/dist/deposit.cjs +3 -3
- package/dist/deposit.d.cts +2 -2
- package/dist/deposit.d.ts +2 -2
- package/dist/deposit.mjs +2 -2
- package/dist/index.cjs +4 -4
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +3 -3
- package/dist/styles.css +525 -66
- package/dist/{types-D6wrO4Ow.d.cts → types-C8i2ebY1.d.cts} +25 -0
- package/dist/{types-D6wrO4Ow.d.ts → types-C8i2ebY1.d.ts} +25 -0
- package/dist/withdraw.cjs +3 -3
- package/dist/withdraw.d.cts +2 -2
- package/dist/withdraw.d.ts +2 -2
- package/dist/withdraw.mjs +2 -2
- package/package.json +3 -3
|
@@ -62,14 +62,14 @@ function Modal({
|
|
|
62
62
|
}
|
|
63
63
|
}, [isOpen]);
|
|
64
64
|
_react.useEffect.call(void 0, () => {
|
|
65
|
-
if (isOpen) {
|
|
65
|
+
if (isOpen && !inline) {
|
|
66
66
|
const originalOverflow = document.body.style.overflow;
|
|
67
67
|
document.body.style.overflow = "hidden";
|
|
68
68
|
return () => {
|
|
69
69
|
document.body.style.overflow = originalOverflow;
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
}, [isOpen]);
|
|
72
|
+
}, [isOpen, inline]);
|
|
73
73
|
const handleKeyDown = _react.useCallback.call(void 0,
|
|
74
74
|
(event) => {
|
|
75
75
|
if (event.key === "Escape") {
|
|
@@ -162,6 +162,9 @@ Modal.displayName = "Modal";
|
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
165
168
|
|
|
166
169
|
|
|
167
170
|
|
|
@@ -207,6 +210,9 @@ var PercentIcon = _lucidereact.Percent;
|
|
|
207
210
|
var ClockIcon = _lucidereact.Clock;
|
|
208
211
|
var PlusCircleIcon = _lucidereact.CirclePlus;
|
|
209
212
|
var CircleArrowOutUpLeftIcon = _lucidereact.CircleArrowOutUpLeft;
|
|
213
|
+
var CardIcon = _lucidereact.CreditCard;
|
|
214
|
+
var BankIcon = _lucidereact.Landmark;
|
|
215
|
+
var AppleIcon = _lucidereact.Apple;
|
|
210
216
|
|
|
211
217
|
// src/core/useLatestRef.ts
|
|
212
218
|
|
|
@@ -972,6 +978,150 @@ function createDepositService(baseUrl, options) {
|
|
|
972
978
|
debugError(debug, scope, "fetchPrices:error", err);
|
|
973
979
|
return {};
|
|
974
980
|
}
|
|
981
|
+
},
|
|
982
|
+
async getSwappedWidgetUrl(params) {
|
|
983
|
+
const url = apiUrl("/onramp/swapped/widget-url");
|
|
984
|
+
debugLog(debug, scope, "getSwappedWidgetUrl:request", {
|
|
985
|
+
smartAccount: shortRef(params.smartAccount),
|
|
986
|
+
method: params.method
|
|
987
|
+
});
|
|
988
|
+
const response = await fetch(url, {
|
|
989
|
+
method: "POST",
|
|
990
|
+
headers: { "Content-Type": "application/json" },
|
|
991
|
+
body: JSON.stringify(params)
|
|
992
|
+
});
|
|
993
|
+
if (!response.ok) {
|
|
994
|
+
const error = await response.json().catch(() => ({ error: "Unknown error" }));
|
|
995
|
+
debugError(debug, scope, "getSwappedWidgetUrl:failed", error, {
|
|
996
|
+
status: response.status
|
|
997
|
+
});
|
|
998
|
+
throw new Error(
|
|
999
|
+
error.error || `Swapped widget URL failed: ${response.status}`
|
|
1000
|
+
);
|
|
1001
|
+
}
|
|
1002
|
+
const body = await response.json();
|
|
1003
|
+
if (typeof body.url !== "string" || typeof body.currencyCode !== "string" || typeof body.externalCustomerId !== "string") {
|
|
1004
|
+
throw new Error("Swapped widget URL: malformed response");
|
|
1005
|
+
}
|
|
1006
|
+
return {
|
|
1007
|
+
url: body.url,
|
|
1008
|
+
currencyCode: body.currencyCode,
|
|
1009
|
+
sandbox: body.sandbox === true,
|
|
1010
|
+
externalCustomerId: body.externalCustomerId,
|
|
1011
|
+
expiresAt: body.expiresAt
|
|
1012
|
+
};
|
|
1013
|
+
},
|
|
1014
|
+
async getSwappedConnectUrl(params) {
|
|
1015
|
+
const url = apiUrl("/onramp/swapped/connect-url");
|
|
1016
|
+
debugLog(debug, scope, "getSwappedConnectUrl:request", {
|
|
1017
|
+
smartAccount: shortRef(params.smartAccount),
|
|
1018
|
+
connection: params.connection
|
|
1019
|
+
});
|
|
1020
|
+
const response = await fetch(url, {
|
|
1021
|
+
method: "POST",
|
|
1022
|
+
headers: { "Content-Type": "application/json" },
|
|
1023
|
+
body: JSON.stringify(params)
|
|
1024
|
+
});
|
|
1025
|
+
if (!response.ok) {
|
|
1026
|
+
const error = await response.json().catch(() => ({ error: "Unknown error" }));
|
|
1027
|
+
debugError(debug, scope, "getSwappedConnectUrl:failed", error, {
|
|
1028
|
+
status: response.status
|
|
1029
|
+
});
|
|
1030
|
+
throw new Error(
|
|
1031
|
+
error.error || `Swapped Connect URL failed: ${response.status}`
|
|
1032
|
+
);
|
|
1033
|
+
}
|
|
1034
|
+
const body = await response.json();
|
|
1035
|
+
if (typeof body.url !== "string" || typeof body.currencyCode !== "string" || typeof body.externalCustomerId !== "string") {
|
|
1036
|
+
throw new Error("Swapped Connect URL: malformed response");
|
|
1037
|
+
}
|
|
1038
|
+
return {
|
|
1039
|
+
url: body.url,
|
|
1040
|
+
currencyCode: body.currencyCode,
|
|
1041
|
+
sandbox: body.sandbox === true,
|
|
1042
|
+
externalCustomerId: body.externalCustomerId,
|
|
1043
|
+
expiresAt: body.expiresAt
|
|
1044
|
+
};
|
|
1045
|
+
},
|
|
1046
|
+
async getSwappedConnectExchanges() {
|
|
1047
|
+
const url = apiUrl("/onramp/swapped/connect-exchanges");
|
|
1048
|
+
debugLog(debug, scope, "getSwappedConnectExchanges:request");
|
|
1049
|
+
const response = await fetch(url, {
|
|
1050
|
+
method: "GET",
|
|
1051
|
+
headers: { "Content-Type": "application/json" },
|
|
1052
|
+
cache: "no-store"
|
|
1053
|
+
});
|
|
1054
|
+
if (!response.ok) {
|
|
1055
|
+
const error = await response.json().catch(() => ({ error: "Unknown error" }));
|
|
1056
|
+
debugError(debug, scope, "getSwappedConnectExchanges:failed", error, {
|
|
1057
|
+
status: response.status
|
|
1058
|
+
});
|
|
1059
|
+
throw new Error(
|
|
1060
|
+
error.error || `Swapped Connect exchanges failed: ${response.status}`
|
|
1061
|
+
);
|
|
1062
|
+
}
|
|
1063
|
+
const body = await response.json();
|
|
1064
|
+
const rawExchanges = Array.isArray(body.exchanges) ? body.exchanges : null;
|
|
1065
|
+
const exchanges = [];
|
|
1066
|
+
let hasMalformedExchange = rawExchanges === null;
|
|
1067
|
+
for (const exchange of _nullishCoalesce(rawExchanges, () => ( []))) {
|
|
1068
|
+
if (!exchange || typeof exchange !== "object") {
|
|
1069
|
+
hasMalformedExchange = true;
|
|
1070
|
+
continue;
|
|
1071
|
+
}
|
|
1072
|
+
const raw = exchange;
|
|
1073
|
+
const connection = typeof raw.connection === "string" ? raw.connection : "";
|
|
1074
|
+
const name = typeof raw.name === "string" ? raw.name : "";
|
|
1075
|
+
const logoUrl = typeof raw.logoUrl === "string" || raw.logoUrl === null ? raw.logoUrl : null;
|
|
1076
|
+
if (!connection || !name) {
|
|
1077
|
+
hasMalformedExchange = true;
|
|
1078
|
+
continue;
|
|
1079
|
+
}
|
|
1080
|
+
exchanges.push({ connection, name, logoUrl });
|
|
1081
|
+
}
|
|
1082
|
+
if (hasMalformedExchange || typeof body.fetchedAt !== "string" || typeof body.expiresAt !== "string") {
|
|
1083
|
+
throw new Error("Swapped Connect exchanges: malformed response");
|
|
1084
|
+
}
|
|
1085
|
+
return {
|
|
1086
|
+
exchanges,
|
|
1087
|
+
fetchedAt: body.fetchedAt,
|
|
1088
|
+
expiresAt: body.expiresAt,
|
|
1089
|
+
stale: body.stale === true ? true : void 0
|
|
1090
|
+
};
|
|
1091
|
+
},
|
|
1092
|
+
async fetchSwappedOrderStatus(smartAccount) {
|
|
1093
|
+
const url = apiUrl(
|
|
1094
|
+
`/onramp/swapped/status/${encodeURIComponent(smartAccount)}`
|
|
1095
|
+
);
|
|
1096
|
+
const response = await fetch(url, {
|
|
1097
|
+
method: "GET",
|
|
1098
|
+
headers: { "Content-Type": "application/json" },
|
|
1099
|
+
cache: "no-store"
|
|
1100
|
+
});
|
|
1101
|
+
if (!response.ok) return null;
|
|
1102
|
+
let body = null;
|
|
1103
|
+
try {
|
|
1104
|
+
body = await response.json();
|
|
1105
|
+
} catch (e3) {
|
|
1106
|
+
return null;
|
|
1107
|
+
}
|
|
1108
|
+
if (!body || body.ok !== true) return null;
|
|
1109
|
+
const status = typeof body.status === "string" ? body.status : null;
|
|
1110
|
+
const orderId = typeof body.orderId === "string" ? body.orderId : null;
|
|
1111
|
+
if (!status || !orderId) return null;
|
|
1112
|
+
const numericOrNull = (v) => typeof v === "number" && Number.isFinite(v) ? v : null;
|
|
1113
|
+
return {
|
|
1114
|
+
orderId,
|
|
1115
|
+
status,
|
|
1116
|
+
orderCrypto: typeof body.orderCrypto === "string" ? body.orderCrypto : null,
|
|
1117
|
+
orderCryptoAmount: typeof body.orderCryptoAmount === "string" ? body.orderCryptoAmount : null,
|
|
1118
|
+
transactionId: typeof body.transactionId === "string" ? body.transactionId : null,
|
|
1119
|
+
receivedAt: typeof body.receivedAt === "string" ? body.receivedAt : null,
|
|
1120
|
+
paidAmountUsd: numericOrNull(body.paidAmountUsd),
|
|
1121
|
+
paidAmountEur: numericOrNull(body.paidAmountEur),
|
|
1122
|
+
onrampFeeUsd: numericOrNull(body.onrampFeeUsd),
|
|
1123
|
+
paymentMethod: typeof body.paymentMethod === "string" ? body.paymentMethod : null
|
|
1124
|
+
};
|
|
975
1125
|
}
|
|
976
1126
|
};
|
|
977
1127
|
}
|
|
@@ -1833,6 +1983,11 @@ function formatBalanceUsd(value) {
|
|
|
1833
1983
|
if (!Number.isFinite(value) || value <= 0) return "$0.00";
|
|
1834
1984
|
return `$${value.toFixed(2)}`;
|
|
1835
1985
|
}
|
|
1986
|
+
function fiatIcon(name) {
|
|
1987
|
+
if (name === "apple") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppleIcon, {});
|
|
1988
|
+
if (name === "bank") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BankIcon, {});
|
|
1989
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardIcon, {});
|
|
1990
|
+
}
|
|
1836
1991
|
function shorten(addr) {
|
|
1837
1992
|
return addr.length > 12 ? `${addr.slice(0, 6)}...${addr.slice(-4)}` : addr;
|
|
1838
1993
|
}
|
|
@@ -1873,6 +2028,10 @@ function ConnectStep({
|
|
|
1873
2028
|
onSelectTransferCrypto,
|
|
1874
2029
|
transferCryptoState,
|
|
1875
2030
|
transferCryptoErrorReason,
|
|
2031
|
+
onSelectPayWithCard,
|
|
2032
|
+
fiatPaymentMethods,
|
|
2033
|
+
onSelectFiatMethod,
|
|
2034
|
+
onSelectFundFromExchange,
|
|
1876
2035
|
onRequestConnect,
|
|
1877
2036
|
onConnect,
|
|
1878
2037
|
onDisconnect,
|
|
@@ -1904,11 +2063,36 @@ function ConnectStep({
|
|
|
1904
2063
|
{
|
|
1905
2064
|
leading: TRANSFER_CRYPTO_LEADING,
|
|
1906
2065
|
title: "Transfer crypto",
|
|
1907
|
-
subtitle: transferCryptoState === "
|
|
2066
|
+
subtitle: transferCryptoState === "error" ? _nullishCoalesce(transferCryptoErrorReason, () => ( "Couldn't prepare account \u2014 tap to retry")) : "Instant - No limit",
|
|
1908
2067
|
meta: CHAIN_BADGE_META,
|
|
1909
|
-
onClick: onSelectTransferCrypto
|
|
1910
|
-
|
|
1911
|
-
|
|
2068
|
+
onClick: onSelectTransferCrypto
|
|
2069
|
+
}
|
|
2070
|
+
),
|
|
2071
|
+
fiatPaymentMethods && fiatPaymentMethods.length > 0 && onSelectFiatMethod ? fiatPaymentMethods.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2072
|
+
ListRow,
|
|
2073
|
+
{
|
|
2074
|
+
leading: fiatIcon(opt.icon),
|
|
2075
|
+
title: opt.label,
|
|
2076
|
+
subtitle: opt.sublabel,
|
|
2077
|
+
onClick: () => onSelectFiatMethod(opt.method)
|
|
2078
|
+
},
|
|
2079
|
+
opt.method
|
|
2080
|
+
)) : onSelectPayWithCard && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2081
|
+
ListRow,
|
|
2082
|
+
{
|
|
2083
|
+
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardIcon, {}),
|
|
2084
|
+
title: "Pay with Card",
|
|
2085
|
+
subtitle: "Buy crypto with card or bank",
|
|
2086
|
+
onClick: onSelectPayWithCard
|
|
2087
|
+
}
|
|
2088
|
+
),
|
|
2089
|
+
onSelectFundFromExchange && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2090
|
+
ListRow,
|
|
2091
|
+
{
|
|
2092
|
+
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BankIcon, {}),
|
|
2093
|
+
title: "Fund from Exchange",
|
|
2094
|
+
subtitle: "Use Coinbase, Binance, MetaMask\u2026",
|
|
2095
|
+
onClick: onSelectFundFromExchange
|
|
1912
2096
|
}
|
|
1913
2097
|
),
|
|
1914
2098
|
rows.map((row) => {
|
|
@@ -2271,6 +2455,9 @@ function getEventSourceDetails(event) {
|
|
|
2271
2455
|
function isDepositEvent(event) {
|
|
2272
2456
|
return _optionalChain([event, 'optionalAccess', _101 => _101.type]) === "deposit-received" || _optionalChain([event, 'optionalAccess', _102 => _102.type]) === "bridge-started" || _optionalChain([event, 'optionalAccess', _103 => _103.type]) === "bridge-complete" || _optionalChain([event, 'optionalAccess', _104 => _104.type]) === "bridge-failed" || _optionalChain([event, 'optionalAccess', _105 => _105.type]) === "post-bridge-swap-complete" || _optionalChain([event, 'optionalAccess', _106 => _106.type]) === "post-bridge-swap-failed" || _optionalChain([event, 'optionalAccess', _107 => _107.type]) === "error";
|
|
2273
2457
|
}
|
|
2458
|
+
function isFailedEvent(event) {
|
|
2459
|
+
return _optionalChain([event, 'optionalAccess', _108 => _108.type]) === "bridge-failed" || _optionalChain([event, 'optionalAccess', _109 => _109.type]) === "post-bridge-swap-failed" || _optionalChain([event, 'optionalAccess', _110 => _110.type]) === "error";
|
|
2460
|
+
}
|
|
2274
2461
|
function isHexString(value) {
|
|
2275
2462
|
return value.startsWith("0x") || value.startsWith("0X");
|
|
2276
2463
|
}
|
|
@@ -2280,6 +2467,41 @@ function txRefsMatch(a, b) {
|
|
|
2280
2467
|
}
|
|
2281
2468
|
return a === b;
|
|
2282
2469
|
}
|
|
2470
|
+
function formatBridgeFailedMessage(event) {
|
|
2471
|
+
const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _111 => _111.data]), () => ( {}));
|
|
2472
|
+
const code = typeof eventData.errorCode === "string" ? eventData.errorCode : void 0;
|
|
2473
|
+
const backendMessage = typeof eventData.message === "string" ? eventData.message.trim() : "";
|
|
2474
|
+
function toUserFacingFailure(raw) {
|
|
2475
|
+
const lower = raw.toLowerCase();
|
|
2476
|
+
if (lower.includes("insufficient funds")) {
|
|
2477
|
+
return "Deposit was received, but processing could not continue due to insufficient funds. Please retry.";
|
|
2478
|
+
}
|
|
2479
|
+
if (lower.includes("no valid quote available")) {
|
|
2480
|
+
return "No bridge route is currently available for this transfer. Please try again shortly.";
|
|
2481
|
+
}
|
|
2482
|
+
if (lower.includes("simulation failed")) {
|
|
2483
|
+
return "Transfer processing failed during simulation. Please retry.";
|
|
2484
|
+
}
|
|
2485
|
+
if (raw.length > 220) {
|
|
2486
|
+
return "Transfer processing failed. Please retry.";
|
|
2487
|
+
}
|
|
2488
|
+
return raw;
|
|
2489
|
+
}
|
|
2490
|
+
if (backendMessage.length > 0) {
|
|
2491
|
+
return { message: toUserFacingFailure(backendMessage), code };
|
|
2492
|
+
}
|
|
2493
|
+
if (code) {
|
|
2494
|
+
return { message: `Bridge failed (${code})`, code };
|
|
2495
|
+
}
|
|
2496
|
+
return { message: "Bridge failed" };
|
|
2497
|
+
}
|
|
2498
|
+
function failureMessageForEvent(event) {
|
|
2499
|
+
if (_optionalChain([event, 'optionalAccess', _112 => _112.type]) === "error") {
|
|
2500
|
+
const message = isRecord(event.data) ? asString(event.data.message) : void 0;
|
|
2501
|
+
return _nullishCoalesce(message, () => ( "Unknown error"));
|
|
2502
|
+
}
|
|
2503
|
+
return formatBridgeFailedMessage(event).message;
|
|
2504
|
+
}
|
|
2283
2505
|
|
|
2284
2506
|
// src/components/steps/ProcessingStep.tsx
|
|
2285
2507
|
|
|
@@ -2353,6 +2575,24 @@ var SOFT_DELAY_MS = {
|
|
|
2353
2575
|
bridging: 4 * 60 * 1e3
|
|
2354
2576
|
};
|
|
2355
2577
|
var PHASE_TIMINGS_PREFIX = "rhinestone:phase-timings";
|
|
2578
|
+
var STABLECOIN_SYMBOLS = /* @__PURE__ */ new Set([
|
|
2579
|
+
"USDC",
|
|
2580
|
+
"USDT",
|
|
2581
|
+
"DAI",
|
|
2582
|
+
"FRAX",
|
|
2583
|
+
"PYUSD",
|
|
2584
|
+
"USDP",
|
|
2585
|
+
"TUSD",
|
|
2586
|
+
"GUSD",
|
|
2587
|
+
"USDS",
|
|
2588
|
+
"LUSD",
|
|
2589
|
+
"BUSD",
|
|
2590
|
+
"USDE"
|
|
2591
|
+
]);
|
|
2592
|
+
function maxFractionDigitsFor(symbol) {
|
|
2593
|
+
if (!symbol) return 6;
|
|
2594
|
+
return STABLECOIN_SYMBOLS.has(symbol.toUpperCase()) ? 3 : 6;
|
|
2595
|
+
}
|
|
2356
2596
|
function loadPhaseTimings(txHash) {
|
|
2357
2597
|
if (typeof window === "undefined") return null;
|
|
2358
2598
|
try {
|
|
@@ -2361,7 +2601,7 @@ function loadPhaseTimings(txHash) {
|
|
|
2361
2601
|
const parsed = JSON.parse(raw);
|
|
2362
2602
|
if (typeof parsed.startedAt !== "number") return null;
|
|
2363
2603
|
return parsed;
|
|
2364
|
-
} catch (
|
|
2604
|
+
} catch (e4) {
|
|
2365
2605
|
return null;
|
|
2366
2606
|
}
|
|
2367
2607
|
}
|
|
@@ -2372,7 +2612,7 @@ function savePhaseTimings(txHash, timings) {
|
|
|
2372
2612
|
`${PHASE_TIMINGS_PREFIX}:${txHash}`,
|
|
2373
2613
|
JSON.stringify(timings)
|
|
2374
2614
|
);
|
|
2375
|
-
} catch (
|
|
2615
|
+
} catch (e5) {
|
|
2376
2616
|
}
|
|
2377
2617
|
}
|
|
2378
2618
|
function isEventForTx(event, txHash) {
|
|
@@ -2380,45 +2620,13 @@ function isEventForTx(event, txHash) {
|
|
|
2380
2620
|
if (!eventTxHash) return false;
|
|
2381
2621
|
return txRefsMatch(eventTxHash, txHash);
|
|
2382
2622
|
}
|
|
2383
|
-
function formatBridgeFailedMessage(event) {
|
|
2384
|
-
const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _108 => _108.data]), () => ( {}));
|
|
2385
|
-
const code = typeof eventData.errorCode === "string" ? eventData.errorCode : void 0;
|
|
2386
|
-
const backendMessage = typeof eventData.message === "string" ? eventData.message.trim() : "";
|
|
2387
|
-
function toUserFacingFailure(raw) {
|
|
2388
|
-
const lower = raw.toLowerCase();
|
|
2389
|
-
if (lower.includes("insufficient funds")) {
|
|
2390
|
-
return "Deposit was received, but processing could not continue due to insufficient funds. Please retry.";
|
|
2391
|
-
}
|
|
2392
|
-
if (lower.includes("no valid quote available")) {
|
|
2393
|
-
return "No bridge route is currently available for this transfer. Please try again shortly.";
|
|
2394
|
-
}
|
|
2395
|
-
if (lower.includes("simulation failed")) {
|
|
2396
|
-
return "Transfer processing failed during simulation. Please retry.";
|
|
2397
|
-
}
|
|
2398
|
-
if (raw.length > 220) {
|
|
2399
|
-
return "Transfer processing failed. Please retry.";
|
|
2400
|
-
}
|
|
2401
|
-
return raw;
|
|
2402
|
-
}
|
|
2403
|
-
if (backendMessage.length > 0) {
|
|
2404
|
-
const userMessage = toUserFacingFailure(backendMessage);
|
|
2405
|
-
return {
|
|
2406
|
-
message: userMessage,
|
|
2407
|
-
code
|
|
2408
|
-
};
|
|
2409
|
-
}
|
|
2410
|
-
if (code) {
|
|
2411
|
-
return { message: `Bridge failed (${code})`, code };
|
|
2412
|
-
}
|
|
2413
|
-
return { message: "Bridge failed" };
|
|
2414
|
-
}
|
|
2415
2623
|
function parseWebhookTimestamp(event) {
|
|
2416
|
-
if (typeof _optionalChain([event, 'optionalAccess',
|
|
2624
|
+
if (typeof _optionalChain([event, 'optionalAccess', _113 => _113.time]) !== "string") return void 0;
|
|
2417
2625
|
const timestamp = Date.parse(event.time);
|
|
2418
2626
|
return Number.isFinite(timestamp) ? timestamp : void 0;
|
|
2419
2627
|
}
|
|
2420
2628
|
function syncPhaseTimings(previous, event) {
|
|
2421
|
-
if (!_optionalChain([event, 'optionalAccess',
|
|
2629
|
+
if (!_optionalChain([event, 'optionalAccess', _114 => _114.type])) return previous;
|
|
2422
2630
|
const timestamp = _nullishCoalesce(parseWebhookTimestamp(event), () => ( Date.now()));
|
|
2423
2631
|
const setReceived = (event.type === "deposit-received" || event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "bridge-failed" || event.type === "post-bridge-swap-complete" || event.type === "post-bridge-swap-failed" || event.type === "error") && previous.receivedAt === void 0;
|
|
2424
2632
|
const setBridging = (event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "post-bridge-swap-complete") && previous.bridgingAt === void 0;
|
|
@@ -2480,9 +2688,9 @@ function getCurrentPhaseId(state, phaseTimings) {
|
|
|
2480
2688
|
if (state.type === "complete") {
|
|
2481
2689
|
return void 0;
|
|
2482
2690
|
}
|
|
2483
|
-
if (_optionalChain([state, 'access',
|
|
2691
|
+
if (_optionalChain([state, 'access', _115 => _115.lastEvent, 'optionalAccess', _116 => _116.type]) === "bridge-started" || _optionalChain([state, 'access', _117 => _117.lastEvent, 'optionalAccess', _118 => _118.type]) === "bridge-complete")
|
|
2484
2692
|
return "bridging";
|
|
2485
|
-
if (_optionalChain([state, 'access',
|
|
2693
|
+
if (_optionalChain([state, 'access', _119 => _119.lastEvent, 'optionalAccess', _120 => _120.type]) === "deposit-received") return "received";
|
|
2486
2694
|
return "confirming";
|
|
2487
2695
|
}
|
|
2488
2696
|
function ProcessingStep({
|
|
@@ -2502,7 +2710,7 @@ function ProcessingStep({
|
|
|
2502
2710
|
debug,
|
|
2503
2711
|
targetToken,
|
|
2504
2712
|
uiConfig,
|
|
2505
|
-
quotedFeeAmount
|
|
2713
|
+
quotedFeeAmount,
|
|
2506
2714
|
quotedFeeSymbol,
|
|
2507
2715
|
balanceAfterUsd,
|
|
2508
2716
|
onClose,
|
|
@@ -2563,7 +2771,7 @@ function ProcessingStep({
|
|
|
2563
2771
|
flowLabel
|
|
2564
2772
|
});
|
|
2565
2773
|
const context = processingContextRef.current;
|
|
2566
|
-
_optionalChain([onDepositCompleteRef, 'access',
|
|
2774
|
+
_optionalChain([onDepositCompleteRef, 'access', _121 => _121.current, 'optionalCall', _122 => _122(txHash, void 0, {
|
|
2567
2775
|
amount: context.amount,
|
|
2568
2776
|
sourceChain: context.sourceChain,
|
|
2569
2777
|
sourceToken: context.sourceToken,
|
|
@@ -2603,7 +2811,26 @@ function ProcessingStep({
|
|
|
2603
2811
|
updatePhaseTimings(
|
|
2604
2812
|
(previous) => syncPhaseTimings(previous, state.lastEvent)
|
|
2605
2813
|
);
|
|
2606
|
-
}, [_optionalChain([state, 'access',
|
|
2814
|
+
}, [_optionalChain([state, 'access', _123 => _123.lastEvent, 'optionalAccess', _124 => _124.time]), _optionalChain([state, 'access', _125 => _125.lastEvent, 'optionalAccess', _126 => _126.type]), updatePhaseTimings]);
|
|
2815
|
+
const [swappedFiatContext, setSwappedFiatContext] = _react.useState.call(void 0, null);
|
|
2816
|
+
_react.useEffect.call(void 0, () => {
|
|
2817
|
+
let cancelled = false;
|
|
2818
|
+
service.fetchSwappedOrderStatus(smartAccount).then((res) => {
|
|
2819
|
+
if (cancelled || !res) return;
|
|
2820
|
+
if (!res.transactionId) return;
|
|
2821
|
+
if (res.transactionId.toLowerCase() !== txHash.toLowerCase()) return;
|
|
2822
|
+
setSwappedFiatContext({
|
|
2823
|
+
paidAmountUsd: res.paidAmountUsd,
|
|
2824
|
+
paidAmountEur: res.paidAmountEur,
|
|
2825
|
+
onrampFeeUsd: res.onrampFeeUsd,
|
|
2826
|
+
paymentMethod: res.paymentMethod
|
|
2827
|
+
});
|
|
2828
|
+
}).catch(() => {
|
|
2829
|
+
});
|
|
2830
|
+
return () => {
|
|
2831
|
+
cancelled = true;
|
|
2832
|
+
};
|
|
2833
|
+
}, [service, smartAccount, txHash]);
|
|
2607
2834
|
_react.useEffect.call(void 0, () => {
|
|
2608
2835
|
if (directTransfer) return;
|
|
2609
2836
|
if (state.type !== "processing") {
|
|
@@ -2628,21 +2855,21 @@ function ProcessingStep({
|
|
|
2628
2855
|
debugLog(debug, "processing", "poll:event", {
|
|
2629
2856
|
type: lastEvent2.type,
|
|
2630
2857
|
matchesTx: eventMatchesTx,
|
|
2631
|
-
intentId: _optionalChain([eventData, 'optionalAccess',
|
|
2858
|
+
intentId: _optionalChain([eventData, 'optionalAccess', _127 => _127.intentId])
|
|
2632
2859
|
});
|
|
2633
2860
|
}
|
|
2634
2861
|
if (!isMounted) return;
|
|
2635
2862
|
const awaitingPostBridgeSwap = processingContextRef.current.hasPostBridgeActions;
|
|
2636
|
-
if (_optionalChain([eventForCurrentTx, 'optionalAccess',
|
|
2863
|
+
if (_optionalChain([eventForCurrentTx, 'optionalAccess', _128 => _128.type]) === "post-bridge-swap-complete") {
|
|
2637
2864
|
setState({ type: "complete", lastEvent: eventForCurrentTx });
|
|
2638
|
-
const swapTxHash = _optionalChain([eventForCurrentTx, 'access',
|
|
2865
|
+
const swapTxHash = _optionalChain([eventForCurrentTx, 'access', _129 => _129.data, 'optionalAccess', _130 => _130.swap, 'optionalAccess', _131 => _131.transactionHash]);
|
|
2639
2866
|
debugLog(debug, "processing", "state:complete", {
|
|
2640
2867
|
txHash,
|
|
2641
2868
|
destinationTxHash: swapTxHash,
|
|
2642
2869
|
event: eventForCurrentTx.type
|
|
2643
2870
|
});
|
|
2644
2871
|
const context = processingContextRef.current;
|
|
2645
|
-
_optionalChain([onDepositCompleteRef, 'access',
|
|
2872
|
+
_optionalChain([onDepositCompleteRef, 'access', _132 => _132.current, 'optionalCall', _133 => _133(txHash, swapTxHash, {
|
|
2646
2873
|
amount: context.amount,
|
|
2647
2874
|
sourceChain: context.sourceChain,
|
|
2648
2875
|
sourceToken: context.sourceToken,
|
|
@@ -2651,7 +2878,7 @@ function ProcessingStep({
|
|
|
2651
2878
|
})]);
|
|
2652
2879
|
return;
|
|
2653
2880
|
}
|
|
2654
|
-
if (_optionalChain([eventForCurrentTx, 'optionalAccess',
|
|
2881
|
+
if (_optionalChain([eventForCurrentTx, 'optionalAccess', _134 => _134.type]) === "post-bridge-swap-failed") {
|
|
2655
2882
|
const formatted = formatBridgeFailedMessage(eventForCurrentTx);
|
|
2656
2883
|
setState({
|
|
2657
2884
|
type: "failed",
|
|
@@ -2663,19 +2890,19 @@ function ProcessingStep({
|
|
|
2663
2890
|
message: formatted.message,
|
|
2664
2891
|
code: formatted.code
|
|
2665
2892
|
});
|
|
2666
|
-
_optionalChain([onDepositFailedRef, 'access',
|
|
2893
|
+
_optionalChain([onDepositFailedRef, 'access', _135 => _135.current, 'optionalCall', _136 => _136(txHash, formatted.message)]);
|
|
2667
2894
|
return;
|
|
2668
2895
|
}
|
|
2669
|
-
if (_optionalChain([eventForCurrentTx, 'optionalAccess',
|
|
2896
|
+
if (_optionalChain([eventForCurrentTx, 'optionalAccess', _137 => _137.type]) === "bridge-complete" && !awaitingPostBridgeSwap) {
|
|
2670
2897
|
setState({ type: "complete", lastEvent: eventForCurrentTx });
|
|
2671
|
-
const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access',
|
|
2898
|
+
const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _138 => _138.data, 'optionalAccess', _139 => _139.destination, 'optionalAccess', _140 => _140.transactionHash]);
|
|
2672
2899
|
debugLog(debug, "processing", "state:complete", {
|
|
2673
2900
|
txHash,
|
|
2674
2901
|
destinationTxHash: destinationTxHash2,
|
|
2675
2902
|
event: eventForCurrentTx.type
|
|
2676
2903
|
});
|
|
2677
2904
|
const context = processingContextRef.current;
|
|
2678
|
-
_optionalChain([onDepositCompleteRef, 'access',
|
|
2905
|
+
_optionalChain([onDepositCompleteRef, 'access', _141 => _141.current, 'optionalCall', _142 => _142(txHash, destinationTxHash2, {
|
|
2679
2906
|
amount: context.amount,
|
|
2680
2907
|
sourceChain: context.sourceChain,
|
|
2681
2908
|
sourceToken: context.sourceToken,
|
|
@@ -2684,7 +2911,7 @@ function ProcessingStep({
|
|
|
2684
2911
|
})]);
|
|
2685
2912
|
return;
|
|
2686
2913
|
}
|
|
2687
|
-
if (_optionalChain([eventForCurrentTx, 'optionalAccess',
|
|
2914
|
+
if (_optionalChain([eventForCurrentTx, 'optionalAccess', _143 => _143.type]) === "bridge-failed") {
|
|
2688
2915
|
const formatted = formatBridgeFailedMessage(eventForCurrentTx);
|
|
2689
2916
|
setState({
|
|
2690
2917
|
type: "failed",
|
|
@@ -2696,11 +2923,11 @@ function ProcessingStep({
|
|
|
2696
2923
|
message: formatted.message,
|
|
2697
2924
|
code: formatted.code
|
|
2698
2925
|
});
|
|
2699
|
-
_optionalChain([onDepositFailedRef, 'access',
|
|
2926
|
+
_optionalChain([onDepositFailedRef, 'access', _144 => _144.current, 'optionalCall', _145 => _145(txHash, formatted.message)]);
|
|
2700
2927
|
return;
|
|
2701
2928
|
}
|
|
2702
|
-
if (_optionalChain([eventForCurrentTx, 'optionalAccess',
|
|
2703
|
-
const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access',
|
|
2929
|
+
if (_optionalChain([eventForCurrentTx, 'optionalAccess', _146 => _146.type]) === "error") {
|
|
2930
|
+
const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _147 => _147.data, 'optionalAccess', _148 => _148.message]), () => ( "Unknown error"));
|
|
2704
2931
|
setState({
|
|
2705
2932
|
type: "failed",
|
|
2706
2933
|
message: errorMessage,
|
|
@@ -2710,7 +2937,7 @@ function ProcessingStep({
|
|
|
2710
2937
|
txHash,
|
|
2711
2938
|
message: errorMessage
|
|
2712
2939
|
});
|
|
2713
|
-
_optionalChain([onDepositFailedRef, 'access',
|
|
2940
|
+
_optionalChain([onDepositFailedRef, 'access', _149 => _149.current, 'optionalCall', _150 => _150(txHash, errorMessage)]);
|
|
2714
2941
|
return;
|
|
2715
2942
|
}
|
|
2716
2943
|
setState((previous) => ({
|
|
@@ -2771,7 +2998,7 @@ function ProcessingStep({
|
|
|
2771
2998
|
txHash,
|
|
2772
2999
|
timeoutMs: ESCALATED_DELAY_MS
|
|
2773
3000
|
});
|
|
2774
|
-
_optionalChain([onErrorRef, 'access',
|
|
3001
|
+
_optionalChain([onErrorRef, 'access', _151 => _151.current, 'optionalCall', _152 => _152(message, "PROCESS_TIMEOUT")]);
|
|
2775
3002
|
}, ESCALATED_DELAY_MS);
|
|
2776
3003
|
return () => clearTimeout(timeoutId);
|
|
2777
3004
|
}, [debug, directTransfer, onErrorRef, state.type, txHash]);
|
|
@@ -2783,8 +3010,8 @@ function ProcessingStep({
|
|
|
2783
3010
|
const timelineNowMs = _nullishCoalesce(phaseTimings.endedAt, () => ( Date.now()));
|
|
2784
3011
|
const flowNoun = flowLabel === "withdraw" ? "withdrawal" : "deposit";
|
|
2785
3012
|
const flowCapitalized = flowLabel === "withdraw" ? "Withdrawal" : "Deposit";
|
|
2786
|
-
const isPostBridgeSwapEvent = _optionalChain([lastEvent, 'optionalAccess',
|
|
2787
|
-
const destinationTxHash = isPostBridgeSwapEvent ? _optionalChain([lastEvent, 'optionalAccess',
|
|
3013
|
+
const isPostBridgeSwapEvent = _optionalChain([lastEvent, 'optionalAccess', _153 => _153.type]) === "post-bridge-swap-complete" || _optionalChain([lastEvent, 'optionalAccess', _154 => _154.type]) === "post-bridge-swap-failed";
|
|
3014
|
+
const destinationTxHash = isPostBridgeSwapEvent ? _optionalChain([lastEvent, 'optionalAccess', _155 => _155.data, 'optionalAccess', _156 => _156.swap, 'optionalAccess', _157 => _157.transactionHash]) || null : _optionalChain([lastEvent, 'optionalAccess', _158 => _158.data, 'optionalAccess', _159 => _159.destination, 'optionalAccess', _160 => _160.transactionHash]) || null;
|
|
2788
3015
|
const sourceDetails = getEventSourceDetails(lastEvent);
|
|
2789
3016
|
const displaySourceChain = _nullishCoalesce(sourceDetails.chainId, () => ( sourceChain));
|
|
2790
3017
|
const displaySourceToken = _nullishCoalesce(sourceDetails.token, () => ( sourceToken));
|
|
@@ -2797,6 +3024,7 @@ function ProcessingStep({
|
|
|
2797
3024
|
displaySourceToken,
|
|
2798
3025
|
displaySourceChain
|
|
2799
3026
|
) : _nullishCoalesce(providedSourceDecimals, () => ( 18));
|
|
3027
|
+
const amountMaxDigits = maxFractionDigitsFor(sourceSymbol);
|
|
2800
3028
|
const formattedReceivedAmount = (() => {
|
|
2801
3029
|
try {
|
|
2802
3030
|
const raw = _viem.formatUnits.call(void 0, BigInt(displayAmount), sourceDecimals);
|
|
@@ -2804,15 +3032,56 @@ function ProcessingStep({
|
|
|
2804
3032
|
if (!Number.isFinite(numeric)) return raw;
|
|
2805
3033
|
return numeric.toLocaleString("en-US", {
|
|
2806
3034
|
minimumFractionDigits: 2,
|
|
2807
|
-
maximumFractionDigits:
|
|
3035
|
+
maximumFractionDigits: amountMaxDigits
|
|
2808
3036
|
});
|
|
2809
|
-
} catch (
|
|
3037
|
+
} catch (e6) {
|
|
2810
3038
|
return Number(displayAmount).toLocaleString("en-US", {
|
|
2811
3039
|
minimumFractionDigits: 2,
|
|
2812
|
-
maximumFractionDigits:
|
|
3040
|
+
maximumFractionDigits: amountMaxDigits
|
|
2813
3041
|
});
|
|
2814
3042
|
}
|
|
2815
3043
|
})();
|
|
3044
|
+
const destinationAmountRaw = (() => {
|
|
3045
|
+
const dest = _optionalChain([lastEvent, 'optionalAccess', _161 => _161.data, 'optionalAccess', _162 => _162.destination]);
|
|
3046
|
+
if (!dest || dest.amount === void 0) return void 0;
|
|
3047
|
+
try {
|
|
3048
|
+
return BigInt(dest.amount);
|
|
3049
|
+
} catch (e7) {
|
|
3050
|
+
return void 0;
|
|
3051
|
+
}
|
|
3052
|
+
})();
|
|
3053
|
+
const sourceAmountRaw = (() => {
|
|
3054
|
+
try {
|
|
3055
|
+
return BigInt(displayAmount);
|
|
3056
|
+
} catch (e8) {
|
|
3057
|
+
return void 0;
|
|
3058
|
+
}
|
|
3059
|
+
})();
|
|
3060
|
+
const bridgingCostRaw = sourceAmountRaw !== void 0 && destinationAmountRaw !== void 0 && sourceAmountRaw > destinationAmountRaw ? sourceAmountRaw - destinationAmountRaw : void 0;
|
|
3061
|
+
const formattedDestinationAmount = destinationAmountRaw !== void 0 ? (() => {
|
|
3062
|
+
try {
|
|
3063
|
+
const raw = _viem.formatUnits.call(void 0, destinationAmountRaw, sourceDecimals);
|
|
3064
|
+
const numeric = Number(raw);
|
|
3065
|
+
if (!Number.isFinite(numeric)) return raw;
|
|
3066
|
+
return numeric.toLocaleString("en-US", {
|
|
3067
|
+
maximumFractionDigits: amountMaxDigits
|
|
3068
|
+
});
|
|
3069
|
+
} catch (e9) {
|
|
3070
|
+
return void 0;
|
|
3071
|
+
}
|
|
3072
|
+
})() : void 0;
|
|
3073
|
+
const formattedBridgingCost = bridgingCostRaw !== void 0 ? (() => {
|
|
3074
|
+
try {
|
|
3075
|
+
const raw = _viem.formatUnits.call(void 0, bridgingCostRaw, sourceDecimals);
|
|
3076
|
+
const numeric = Number(raw);
|
|
3077
|
+
if (!Number.isFinite(numeric)) return raw;
|
|
3078
|
+
return numeric.toLocaleString("en-US", {
|
|
3079
|
+
maximumFractionDigits: amountMaxDigits
|
|
3080
|
+
});
|
|
3081
|
+
} catch (e10) {
|
|
3082
|
+
return void 0;
|
|
3083
|
+
}
|
|
3084
|
+
})() : void 0;
|
|
2816
3085
|
const currentPhaseId = getCurrentPhaseId(state, phaseTimings);
|
|
2817
3086
|
const activePhaseStartedAt = currentPhaseId ? getPhaseStartTime(currentPhaseId, phaseTimings) : void 0;
|
|
2818
3087
|
const activePhaseElapsedMs = isProcessing && activePhaseStartedAt !== void 0 ? timelineNowMs - activePhaseStartedAt : 0;
|
|
@@ -2830,8 +3099,8 @@ function ProcessingStep({
|
|
|
2830
3099
|
const sourceChainName = _chunk7JIDIX27cjs.getChainName.call(void 0, displaySourceChain);
|
|
2831
3100
|
const targetChainName = _chunk7JIDIX27cjs.getChainName.call(void 0, targetChain);
|
|
2832
3101
|
const timerText = formatTimer(elapsedSeconds);
|
|
2833
|
-
const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
2834
|
-
const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
3102
|
+
const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _163 => _163.feeSponsored]), () => ( false));
|
|
3103
|
+
const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _164 => _164.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
|
|
2835
3104
|
const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
|
|
2836
3105
|
const handleRetry = _nullishCoalesce(onRetry, () => ( onNewDeposit));
|
|
2837
3106
|
const headerContent = isComplete ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-body-header", children: [
|
|
@@ -2885,11 +3154,29 @@ function ProcessingStep({
|
|
|
2885
3154
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: isProcessing ? "Time elapsed" : "Total time" }),
|
|
2886
3155
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Ticker, { value: timerText }) })
|
|
2887
3156
|
] }),
|
|
2888
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
2889
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "
|
|
3157
|
+
_optionalChain([swappedFiatContext, 'optionalAccess', _165 => _165.paidAmountUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
3158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Paid" }),
|
|
3159
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
3160
|
+
"$",
|
|
3161
|
+
swappedFiatContext.paidAmountUsd.toFixed(2),
|
|
3162
|
+
swappedFiatContext.paymentMethod && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { style: { color: "#71717b", marginLeft: 6 }, children: [
|
|
3163
|
+
"via ",
|
|
3164
|
+
swappedFiatContext.paymentMethod
|
|
3165
|
+
] })
|
|
3166
|
+
] })
|
|
3167
|
+
] }),
|
|
3168
|
+
_optionalChain([swappedFiatContext, 'optionalAccess', _166 => _166.onrampFeeUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
3169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "On-ramp fee" }),
|
|
3170
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
3171
|
+
"$",
|
|
3172
|
+
swappedFiatContext.onrampFeeUsd.toFixed(2)
|
|
3173
|
+
] })
|
|
3174
|
+
] }),
|
|
3175
|
+
formattedBridgingCost && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
3176
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Bridging cost" }),
|
|
2890
3177
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
2891
3178
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
2892
|
-
|
|
3179
|
+
formattedBridgingCost,
|
|
2893
3180
|
" ",
|
|
2894
3181
|
sourceSymbol
|
|
2895
3182
|
] }),
|
|
@@ -2899,12 +3186,7 @@ function ProcessingStep({
|
|
|
2899
3186
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
2900
3187
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Receive" }),
|
|
2901
3188
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
2902
|
-
/* @__PURE__ */ _jsxruntime.
|
|
2903
|
-
"~",
|
|
2904
|
-
formattedReceivedAmount,
|
|
2905
|
-
" ",
|
|
2906
|
-
targetSymbol
|
|
2907
|
-
] }),
|
|
3189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: formattedDestinationAmount ? `${formattedDestinationAmount} ${targetSymbol}` : `~${formattedReceivedAmount} ${targetSymbol}` }),
|
|
2908
3190
|
targetTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetTokenIcon, alt: "" }) })
|
|
2909
3191
|
] })
|
|
2910
3192
|
] }),
|
|
@@ -2915,14 +3197,18 @@ function ProcessingStep({
|
|
|
2915
3197
|
balanceAfterUsd.toFixed(2)
|
|
2916
3198
|
] })
|
|
2917
3199
|
] }),
|
|
2918
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
3200
|
+
quotedFeeAmount !== void 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
|
|
2919
3201
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Fees" }),
|
|
2920
3202
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
|
|
2921
|
-
/* @__PURE__ */ _jsxruntime.
|
|
3203
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
2922
3204
|
"span",
|
|
2923
3205
|
{
|
|
2924
3206
|
style: feeSponsored ? { textDecoration: "line-through" } : void 0,
|
|
2925
|
-
children:
|
|
3207
|
+
children: [
|
|
3208
|
+
quotedFeeAmount,
|
|
3209
|
+
" ",
|
|
3210
|
+
_nullishCoalesce(quotedFeeSymbol, () => ( sourceSymbol))
|
|
3211
|
+
]
|
|
2926
3212
|
}
|
|
2927
3213
|
),
|
|
2928
3214
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tooltip, { content: feeTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-info", "aria-label": "Fee info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoIcon, {}) }) })
|
|
@@ -3279,7 +3565,7 @@ function loadSessionOwnerFromStorage(eoaAddress) {
|
|
|
3279
3565
|
privateKey: parsed.privateKey,
|
|
3280
3566
|
address: account.address
|
|
3281
3567
|
};
|
|
3282
|
-
} catch (
|
|
3568
|
+
} catch (e11) {
|
|
3283
3569
|
return null;
|
|
3284
3570
|
}
|
|
3285
3571
|
}
|
|
@@ -3361,4 +3647,9 @@ function accountFromPrivateKey(privateKey) {
|
|
|
3361
3647
|
|
|
3362
3648
|
|
|
3363
3649
|
|
|
3364
|
-
|
|
3650
|
+
|
|
3651
|
+
|
|
3652
|
+
|
|
3653
|
+
|
|
3654
|
+
|
|
3655
|
+
exports.Modal = Modal; exports.WalletIcon = WalletIcon; exports.ExternalLinkIcon = ExternalLinkIcon; exports.CheckIcon = CheckIcon; exports.TransferCryptoIcon = TransferCryptoIcon; exports.ChevronLeftIcon = ChevronLeftIcon; exports.ChevronDownIcon = ChevronDownIcon; exports.CloseIcon = CloseIcon; exports.HandCoinsIcon = HandCoinsIcon; exports.HistoryIcon = HistoryIcon; exports.InfoIcon = InfoIcon; exports.CopyIcon = CopyIcon; exports.ArrowUpRightIcon = ArrowUpRightIcon; exports.AlertTriangleIcon = AlertTriangleIcon; exports.PercentIcon = PercentIcon; exports.ClockIcon = ClockIcon; exports.PlusCircleIcon = PlusCircleIcon; exports.CircleArrowOutUpLeftIcon = CircleArrowOutUpLeftIcon; exports.BankIcon = BankIcon; exports.BodyHeader = BodyHeader; exports.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.ConnectStep = ConnectStep; exports.useLatestRef = useLatestRef; exports.Button = Button; exports.Callout = Callout; exports.debugLog = debugLog; exports.debugError = debugError; exports.toEvmCaip2 = toEvmCaip2; exports.targetChainToCaip2 = targetChainToCaip2; exports.parseEvmChainId = parseEvmChainId; exports.isSolanaCaip2 = isSolanaCaip2; exports.getAssetId = getAssetId; exports.portfolioToAssets = portfolioToAssets; exports.isNativeAsset = isNativeAsset; exports.buildSessionDetails = buildSessionDetails; exports.createDepositService = createDepositService; exports.currencyFormatter = currencyFormatter; exports.tokenFormatter = tokenFormatter; exports.isUnsupportedChainSwitchError = isUnsupportedChainSwitchError; exports.formatUserError = formatUserError; exports.Tooltip = Tooltip; exports.getEventTxHash = getEventTxHash; exports.getEventSourceDetails = getEventSourceDetails; exports.isDepositEvent = isDepositEvent; exports.isFailedEvent = isFailedEvent; exports.txRefsMatch = txRefsMatch; exports.failureMessageForEvent = failureMessageForEvent; exports.ProcessingStep = ProcessingStep; exports.SAFE_ABI = SAFE_ABI; exports.executeSafeEthTransfer = executeSafeEthTransfer; exports.executeSafeErc20Transfer = executeSafeErc20Transfer; exports.buildSafeTransaction = buildSafeTransaction; exports.getPublicClient = getPublicClient; exports.loadSessionOwnerFromStorage = loadSessionOwnerFromStorage; exports.saveSessionOwnerToStorage = saveSessionOwnerToStorage; exports.createSessionOwnerKey = createSessionOwnerKey; exports.accountFromPrivateKey = accountFromPrivateKey; exports.applyTheme = applyTheme;
|