@rhinestone/deposit-modal 0.6.1 → 0.8.0

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.
Files changed (44) hide show
  1. package/dist/{DepositModalReown-ICBGUVAA.cjs → DepositModalReown-J5YFZKFS.cjs} +9 -9
  2. package/dist/{DepositModalReown-IVRDXQAA.mjs → DepositModalReown-RZ6VSMKP.mjs} +6 -6
  3. package/dist/{WithdrawModalReown-O7PR343Z.mjs → WithdrawModalReown-4YUV2WWV.mjs} +5 -5
  4. package/dist/{WithdrawModalReown-6XWURPFZ.cjs → WithdrawModalReown-B6BGY52S.cjs} +8 -8
  5. package/dist/caip-C_ZYFIGa.d.cts +77 -0
  6. package/dist/caip-C_ZYFIGa.d.ts +77 -0
  7. package/dist/{chunk-NRNJAQUA.cjs → chunk-4IOQIWDY.cjs} +4 -4
  8. package/dist/{chunk-TCLBFO3S.mjs → chunk-5S5BQ2GM.mjs} +304 -115
  9. package/dist/{chunk-N73D3WN4.mjs → chunk-7JJ4EFDY.mjs} +13 -17
  10. package/dist/{chunk-VPWWFWZT.cjs → chunk-IRI34U6N.cjs} +331 -117
  11. package/dist/{chunk-SITLCMTI.cjs → chunk-JRFPKFL6.cjs} +102 -106
  12. package/dist/{chunk-7Q26RR6J.mjs → chunk-LXTAAHPC.mjs} +6 -4
  13. package/dist/{chunk-ABVRVW3P.cjs → chunk-PUMTR35E.cjs} +85 -31
  14. package/dist/{chunk-GBOCV2LQ.mjs → chunk-RXWJ267K.mjs} +366 -152
  15. package/dist/{chunk-WJX3TJFK.mjs → chunk-SX52FXKH.mjs} +84 -30
  16. package/dist/{chunk-F7P4MV72.mjs → chunk-TYB6AA6D.mjs} +1 -1
  17. package/dist/{chunk-VVKJRGX3.cjs → chunk-VURI4G2Z.cjs} +10 -8
  18. package/dist/{chunk-UEKPBRBY.cjs → chunk-WL7AXYQ4.cjs} +3 -3
  19. package/dist/{chunk-IZPUHIIN.cjs → chunk-XLXJW44N.cjs} +743 -554
  20. package/dist/{chunk-FJWLC4AM.mjs → chunk-YLIPI3NU.mjs} +1 -1
  21. package/dist/constants.cjs +4 -2
  22. package/dist/constants.d.cts +1 -1
  23. package/dist/constants.d.ts +1 -1
  24. package/dist/constants.mjs +5 -3
  25. package/dist/deposit.cjs +6 -6
  26. package/dist/deposit.d.cts +2 -2
  27. package/dist/deposit.d.ts +2 -2
  28. package/dist/deposit.mjs +5 -5
  29. package/dist/index.cjs +11 -7
  30. package/dist/index.d.cts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.mjs +12 -8
  33. package/dist/polymarket.cjs +6 -6
  34. package/dist/polymarket.mjs +3 -3
  35. package/dist/styles.css +86 -12
  36. package/dist/{types-6ROxwyfG.d.cts → types--LQWg_4W.d.cts} +1 -1
  37. package/dist/{types-6ROxwyfG.d.ts → types--LQWg_4W.d.ts} +1 -1
  38. package/dist/withdraw.cjs +5 -5
  39. package/dist/withdraw.d.cts +2 -2
  40. package/dist/withdraw.d.ts +2 -2
  41. package/dist/withdraw.mjs +4 -4
  42. package/package.json +1 -1
  43. package/dist/caip-CsslyHGL.d.cts +0 -62
  44. package/dist/caip-CsslyHGL.d.ts +0 -62
@@ -13,7 +13,11 @@
13
13
 
14
14
 
15
15
 
16
- var _chunkABVRVW3Pcjs = require('./chunk-ABVRVW3P.cjs');
16
+
17
+
18
+
19
+
20
+ var _chunkPUMTR35Ecjs = require('./chunk-PUMTR35E.cjs');
17
21
 
18
22
  // src/components/ui/Modal.tsx
19
23
 
@@ -538,6 +542,7 @@ function createDepositService(baseUrl, options) {
538
542
  }
539
543
  const PORTFOLIO_CACHE_TTL_MS = 3e4;
540
544
  const portfolioCache = /* @__PURE__ */ new Map();
545
+ let topTokensPromise = null;
541
546
  function cachedPortfolio(key, fetcher, forceRefresh = false) {
542
547
  const now = Date.now();
543
548
  const entry = portfolioCache.get(key);
@@ -642,7 +647,7 @@ function createDepositService(baseUrl, options) {
642
647
  },
643
648
  async fetchPortfolio(address, options2) {
644
649
  return cachedPortfolio(`evm:${address.toLowerCase()}`, async () => {
645
- const url = apiUrl(`/portfolio/${address}`);
650
+ const url = apiUrl(`/portfolio/${address}?includeUnsupported=true`);
646
651
  debugLog(debug, scope, "fetchPortfolio:request", { url, address });
647
652
  const response = await fetch(url, {
648
653
  method: "GET",
@@ -948,7 +953,7 @@ function createDepositService(baseUrl, options) {
948
953
  },
949
954
  async checkLiquidity(params) {
950
955
  if (params.destinationChainId === "solana") {
951
- const token = _chunkABVRVW3Pcjs.getSolanaTokenByMint.call(void 0, params.destinationToken);
956
+ const token = _chunkPUMTR35Ecjs.getSolanaTokenByMint.call(void 0, params.destinationToken);
952
957
  return {
953
958
  hasLiquidity: true,
954
959
  symbol: _nullishCoalesce(_optionalChain([token, 'optionalAccess', _25 => _25.symbol]), () => ( "Token")),
@@ -1004,7 +1009,8 @@ function createDepositService(baseUrl, options) {
1004
1009
  const url = apiUrl("/quotes/preview");
1005
1010
  const body = {
1006
1011
  account: params.account,
1007
- sourceChainId: `eip155:${params.sourceChainId}`,
1012
+ // HyperCore has its own CAIP-2 namespace — never the eip155 placeholder.
1013
+ sourceChainId: params.sourceChainId === "hypercore" ? _chunkPUMTR35Ecjs.HYPERCORE_MAINNET_CAIP2 : `eip155:${params.sourceChainId}`,
1008
1014
  sourceToken: params.sourceToken,
1009
1015
  amount: params.amount
1010
1016
  };
@@ -1178,6 +1184,60 @@ function createDepositService(baseUrl, options) {
1178
1184
  stale: body.stale === true ? true : void 0
1179
1185
  };
1180
1186
  },
1187
+ getTopTokens() {
1188
+ if (!topTokensPromise) {
1189
+ topTokensPromise = (async () => {
1190
+ try {
1191
+ const response = await fetch(apiUrl("/tokens"), {
1192
+ method: "GET",
1193
+ headers: { "Content-Type": "application/json" }
1194
+ });
1195
+ if (!response.ok) {
1196
+ debugLog(debug, scope, "getTopTokens:unavailable", {
1197
+ status: response.status
1198
+ });
1199
+ return null;
1200
+ }
1201
+ const data = await response.json();
1202
+ const tokens = _nullishCoalesce(data.tokens, () => ( null));
1203
+ debugLog(debug, scope, "getTopTokens:success", {
1204
+ chains: tokens ? Object.keys(tokens).length : 0
1205
+ });
1206
+ return tokens;
1207
+ } catch (error) {
1208
+ debugError(debug, scope, "getTopTokens:error", error);
1209
+ return null;
1210
+ }
1211
+ })();
1212
+ }
1213
+ return topTokensPromise;
1214
+ },
1215
+ async getSetup() {
1216
+ const url = apiUrl("/setup");
1217
+ try {
1218
+ const response = await fetch(url, {
1219
+ method: "GET",
1220
+ headers: { "Content-Type": "application/json" },
1221
+ cache: "no-store"
1222
+ });
1223
+ if (!response.ok) {
1224
+ debugLog(debug, scope, "getSetup:unavailable", {
1225
+ status: response.status
1226
+ });
1227
+ return null;
1228
+ }
1229
+ const data = await response.json();
1230
+ debugLog(debug, scope, "getSetup:success", {
1231
+ hasWhitelist: Boolean(data.depositWhitelist),
1232
+ whitelistChains: data.depositWhitelist ? Object.keys(data.depositWhitelist).length : 0,
1233
+ minDepositUsd: data.minDepositUsd
1234
+ });
1235
+ return data;
1236
+ } catch (error) {
1237
+ debugError(debug, scope, "getSetup:error", error);
1238
+ return null;
1239
+ }
1240
+ },
1181
1241
  async fetchSwappedOrderStatus(smartAccount) {
1182
1242
  const url = apiUrl(
1183
1243
  `/onramp/swapped/status/${encodeURIComponent(smartAccount)}`
@@ -1198,7 +1258,16 @@ function createDepositService(baseUrl, options) {
1198
1258
  const status = typeof body.status === "string" ? body.status : null;
1199
1259
  const orderId = typeof body.orderId === "string" ? body.orderId : null;
1200
1260
  if (!status || !orderId) return null;
1201
- const numericOrNull = (v) => typeof v === "number" && Number.isFinite(v) ? v : null;
1261
+ const numericOrNull = (v) => {
1262
+ if (typeof v === "number") {
1263
+ return Number.isFinite(v) ? v : null;
1264
+ }
1265
+ if (typeof v === "string" && v.trim().length > 0) {
1266
+ const parsed = Number(v);
1267
+ return Number.isFinite(parsed) ? parsed : null;
1268
+ }
1269
+ return null;
1270
+ };
1202
1271
  return {
1203
1272
  orderId,
1204
1273
  status,
@@ -1239,14 +1308,14 @@ function normalizeOrchestratorPortfolio(data) {
1239
1308
  const unlocked = _nullishCoalesce(_optionalChain([chainBalance, 'access', _32 => _32.balance, 'optionalAccess', _33 => _33.unlocked]), () => ( "0"));
1240
1309
  const normalizedName = tokenData.tokenName.trim();
1241
1310
  const isNativeSymbol = normalizedName.toUpperCase() === "ETH" || normalizedName.toUpperCase() === "ETHER";
1242
- const tokenAddress = _nullishCoalesce(_nullishCoalesce(chainBalance.tokenAddress, () => ( extractTokenAddress(tokenData, chainBalance.chainId))), () => ( _chunkABVRVW3Pcjs.getTokenAddress.call(void 0, tokenData.tokenName, chainBalance.chainId)));
1243
- const resolvedTokenAddress = isNativeSymbol ? _chunkABVRVW3Pcjs.NATIVE_TOKEN_ADDRESS : tokenAddress;
1311
+ const tokenAddress = _nullishCoalesce(_nullishCoalesce(chainBalance.tokenAddress, () => ( extractTokenAddress(tokenData, chainBalance.chainId))), () => ( _chunkPUMTR35Ecjs.getTokenAddress.call(void 0, tokenData.tokenName, chainBalance.chainId)));
1312
+ const resolvedTokenAddress = isNativeSymbol ? _chunkPUMTR35Ecjs.NATIVE_TOKEN_ADDRESS : tokenAddress;
1244
1313
  if (!resolvedTokenAddress) {
1245
1314
  continue;
1246
1315
  }
1247
- const registrySymbol = _chunkABVRVW3Pcjs.getTokenSymbol.call(void 0, resolvedTokenAddress, chainBalance.chainId);
1316
+ const registrySymbol = _chunkPUMTR35Ecjs.getTokenSymbol.call(void 0, resolvedTokenAddress, chainBalance.chainId);
1248
1317
  const symbol = registrySymbol !== "Token" ? registrySymbol : normalizedName || "Token";
1249
- const decimals = registrySymbol !== "Token" ? _chunkABVRVW3Pcjs.getTokenDecimalsByAddress.call(void 0, resolvedTokenAddress, chainBalance.chainId) : _nullishCoalesce(tokenData.tokenDecimals, () => ( 18));
1318
+ const decimals = registrySymbol !== "Token" ? _chunkPUMTR35Ecjs.getTokenDecimalsByAddress.call(void 0, resolvedTokenAddress, chainBalance.chainId) : _nullishCoalesce(tokenData.tokenDecimals, () => ( 18));
1250
1319
  tokens.push({
1251
1320
  chainId: chainBalance.chainId,
1252
1321
  address: resolvedTokenAddress,
@@ -1266,8 +1335,13 @@ function normalizeOrchestratorPortfolio(data) {
1266
1335
  function normalizeDirectToken(token) {
1267
1336
  const rawChainId = _nullishCoalesce(extractNumber(token, "chainId"), () => ( extractNumber(token.chain, "id")));
1268
1337
  const rawChainString = _nullishCoalesce(extractString(token, "chainId"), () => ( extractString(token.chain, "id")));
1269
- const chainId = _nullishCoalesce(rawChainId, () => ( (rawChainString ? _chunkABVRVW3Pcjs.isSolanaCaip2.call(void 0, rawChainString) || rawChainString.toLowerCase() === "solana" ? "solana" : _chunkABVRVW3Pcjs.parseEvmChainId.call(void 0, rawChainString) : null)));
1338
+ const chainId = _nullishCoalesce(rawChainId, () => ( (rawChainString ? _chunkPUMTR35Ecjs.isSolanaCaip2.call(void 0, rawChainString) || rawChainString.toLowerCase() === "solana" ? "solana" : (
1339
+ // HyperCore (`hypercore:mainnet`) is a non-EVM source; keep its USDC
1340
+ // instead of dropping it as an unparseable chain string.
1341
+ _chunkPUMTR35Ecjs.isHyperCoreCaip2.call(void 0, rawChainString) || rawChainString.toLowerCase() === "hypercore" ? "hypercore" : _chunkPUMTR35Ecjs.parseEvmChainId.call(void 0, rawChainString)
1342
+ ) : null)));
1270
1343
  if (chainId === null) return null;
1344
+ const registryChainId = typeof chainId === "number" ? chainId : chainId === "hypercore" ? _chunkPUMTR35Ecjs.HYPERCORE_CHAIN_ID : void 0;
1271
1345
  const symbol = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "symbol"), () => ( extractString(token, "tokenSymbol"))), () => ( extractString(token, "tokenName"))), () => ( extractString(token, "name")));
1272
1346
  if (!symbol) return null;
1273
1347
  const balanceValue = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "balance"), () => ( extractString(token, "amount"))), () => ( extractString(token, "value"))), () => ( extractString(token, "rawBalance"))), () => ( _optionalChain([extractNumber, 'call', _34 => _34(token, "balance"), 'optionalAccess', _35 => _35.toString, 'call', _36 => _36()]))), () => ( _optionalChain([extractNumber, 'call', _37 => _37(token, "amount"), 'optionalAccess', _38 => _38.toString, 'call', _39 => _39()]))), () => ( _optionalChain([extractNumber, 'call', _40 => _40(token, "value"), 'optionalAccess', _41 => _41.toString, 'call', _42 => _42()]))), () => ( _optionalChain([extractNumber, 'call', _43 => _43(token, "rawBalance"), 'optionalAccess', _44 => _44.toString, 'call', _45 => _45()])));
@@ -1275,14 +1349,14 @@ function normalizeDirectToken(token) {
1275
1349
  const address = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "address"), () => ( extractString(token, "tokenAddress"))), () => ( extractString(
1276
1350
  token.token,
1277
1351
  "address"
1278
- ))), () => ( (typeof chainId === "number" ? _chunkABVRVW3Pcjs.getTokenAddress.call(void 0, symbol, chainId) : void 0)));
1352
+ ))), () => ( (registryChainId !== void 0 ? _chunkPUMTR35Ecjs.getTokenAddress.call(void 0, symbol, registryChainId) : void 0)));
1279
1353
  if (!address) return null;
1280
1354
  const balanceUsd = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractNumber(token, "balanceUsd"), () => ( extractNumber(token, "usdValue"))), () => ( extractNumber(token, "valueUsd"))), () => ( extractNumericString(token, "balanceUsd"))), () => ( extractNumericString(token, "usdValue"))), () => ( extractNumericString(token, "valueUsd"))), () => ( 0));
1281
1355
  const isSolanaToken = chainId === "solana";
1282
- const registrySymbol = isSolanaToken ? "Token" : _chunkABVRVW3Pcjs.getTokenSymbol.call(void 0, address, chainId);
1356
+ const registrySymbol = isSolanaToken ? "Token" : _chunkPUMTR35Ecjs.getTokenSymbol.call(void 0, address, registryChainId);
1283
1357
  const resolvedSymbol = isSolanaToken ? symbol : registrySymbol !== "Token" ? registrySymbol : symbol;
1284
1358
  const backendDecimals = _nullishCoalesce(extractNumber(token, "decimals"), () => ( extractNumber(token, "tokenDecimals")));
1285
- const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? _chunkABVRVW3Pcjs.getTokenDecimalsByAddress.call(void 0, address, chainId) : _nullishCoalesce(backendDecimals, () => ( 18));
1359
+ const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? _chunkPUMTR35Ecjs.getTokenDecimalsByAddress.call(void 0, address, registryChainId) : _nullishCoalesce(backendDecimals, () => ( 18));
1286
1360
  return {
1287
1361
  chainId,
1288
1362
  address,
@@ -1423,7 +1497,7 @@ function getPublicClient(chainId, rpcUrls) {
1423
1497
  const cacheKey = `${chainId}|${_nullishCoalesce(url, () => ( ""))}`;
1424
1498
  let client = clientCache.get(cacheKey);
1425
1499
  if (!client) {
1426
- const chain = _chunkABVRVW3Pcjs.CHAIN_BY_ID[chainId];
1500
+ const chain = _chunkPUMTR35Ecjs.CHAIN_BY_ID[chainId];
1427
1501
  client = _viem.createPublicClient.call(void 0, {
1428
1502
  chain,
1429
1503
  transport: _viem.http.call(void 0, url)
@@ -2231,7 +2305,7 @@ function VisaMark() {
2231
2305
  xmlns: "http://www.w3.org/2000/svg",
2232
2306
  "aria-hidden": "true",
2233
2307
  children: [
2234
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "white" }),
2308
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "38", height: "24", rx: "4.2985", fill: "white" }),
2235
2309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2236
2310
  "path",
2237
2311
  {
@@ -2254,7 +2328,7 @@ function MastercardMark() {
2254
2328
  xmlns: "http://www.w3.org/2000/svg",
2255
2329
  "aria-hidden": "true",
2256
2330
  children: [
2257
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "white" }),
2331
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "38", height: "24", rx: "4.2985", fill: "white" }),
2258
2332
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2259
2333
  "path",
2260
2334
  {
@@ -2298,7 +2372,7 @@ function AmexMark() {
2298
2372
  xmlns: "http://www.w3.org/2000/svg",
2299
2373
  "aria-hidden": "true",
2300
2374
  children: [
2301
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "37.2537", height: "24", rx: "4.2985", fill: "#006FCF" }),
2375
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "38", height: "24", rx: "4.2985", fill: "#006FCF" }),
2302
2376
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2303
2377
  "path",
2304
2378
  {
@@ -2394,7 +2468,7 @@ var EXCHANGE_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fr
2394
2468
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExchangeBadgeIcons, {}),
2395
2469
  "+6"
2396
2470
  ] });
2397
- var EXTRA_CHAIN_COUNT = Math.max(0, _chunkABVRVW3Pcjs.getSupportedChainIds.call(void 0, ).length - 3);
2471
+ var EXTRA_CHAIN_COUNT = Math.max(0, _chunkPUMTR35Ecjs.getSupportedChainIds.call(void 0, ).length - 3);
2398
2472
  var CHAIN_BADGE_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
2399
2473
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChainBadgeIcons, {}),
2400
2474
  EXTRA_CHAIN_COUNT > 0 ? `+${EXTRA_CHAIN_COUNT}` : null
@@ -2683,6 +2757,28 @@ function ConnectStep({
2683
2757
  }
2684
2758
  ConnectStep.displayName = "ConnectStep";
2685
2759
 
2760
+ // src/components/ui/TokenIcon.tsx
2761
+
2762
+
2763
+ function TokenIcon({ symbol, className, fallback }) {
2764
+ const [failedSymbol, setFailedSymbol] = _react.useState.call(void 0, null);
2765
+ if (failedSymbol === symbol) {
2766
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
2767
+ }
2768
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2769
+ "img",
2770
+ {
2771
+ src: _chunkPUMTR35Ecjs.tokenIconUrl.call(void 0, symbol),
2772
+ alt: "",
2773
+ className,
2774
+ loading: "lazy",
2775
+ decoding: "async",
2776
+ onError: () => setFailedSymbol(symbol)
2777
+ }
2778
+ );
2779
+ }
2780
+ TokenIcon.displayName = "TokenIcon";
2781
+
2686
2782
  // src/components/steps/ProcessingStep.tsx
2687
2783
 
2688
2784
 
@@ -2826,21 +2922,25 @@ Tooltip.displayName = "Tooltip";
2826
2922
  // src/components/ui/FeesAccordion.tsx
2827
2923
 
2828
2924
 
2829
- function FeesAccordion({ total, rows }) {
2925
+ function FeesAccordion({ total, rows, tooltip }) {
2830
2926
  const [open, setOpen] = _react.useState.call(void 0, false);
2831
2927
  const expandable = rows.length > 0;
2832
2928
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-fees-accordion", children: [
2833
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2834
- "button",
2835
- {
2836
- type: "button",
2837
- className: "rs-fees-accordion-summary",
2838
- "aria-expanded": expandable ? open : void 0,
2839
- disabled: !expandable,
2840
- onClick: () => expandable && setOpen((o) => !o),
2841
- children: [
2842
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Fees" }),
2843
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2929
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-fees-accordion-summary", children: [
2930
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-fees-accordion-label", children: [
2931
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Fees" }),
2932
+ tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tooltip, { content: tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-info", "aria-label": "Fees info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoIcon, {}) }) })
2933
+ ] }),
2934
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2935
+ "button",
2936
+ {
2937
+ type: "button",
2938
+ className: "rs-fees-accordion-toggle",
2939
+ "aria-label": "Fees",
2940
+ "aria-expanded": expandable ? open : void 0,
2941
+ disabled: !expandable,
2942
+ onClick: () => expandable && setOpen((o) => !o),
2943
+ children: [
2844
2944
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: total }),
2845
2945
  expandable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2846
2946
  "span",
@@ -2850,13 +2950,29 @@ function FeesAccordion({ total, rows }) {
2850
2950
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronDownIcon, {})
2851
2951
  }
2852
2952
  )
2853
- ] })
2854
- ]
2855
- }
2856
- ),
2953
+ ]
2954
+ }
2955
+ )
2956
+ ] }),
2857
2957
  expandable && open && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-fees-accordion-rows", children: rows.map((row, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-fees-accordion-row", children: [
2858
2958
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.label }),
2859
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: row.value })
2959
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2960
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2961
+ "span",
2962
+ {
2963
+ className: row.strike ? "rs-review-detail-value--strike" : void 0,
2964
+ children: row.value
2965
+ }
2966
+ ),
2967
+ row.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tooltip, { content: row.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2968
+ "span",
2969
+ {
2970
+ className: "rs-review-detail-info",
2971
+ "aria-label": `${row.label} info`,
2972
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoIcon, {})
2973
+ }
2974
+ ) })
2975
+ ] })
2860
2976
  ] }, `${row.label}-${i}`)) })
2861
2977
  ] });
2862
2978
  }
@@ -2869,9 +2985,10 @@ function SwappedReceipt({
2869
2985
  onrampMethodIcon,
2870
2986
  amountPaid,
2871
2987
  depositedAmount,
2872
- depositedIcon,
2988
+ depositedSymbol,
2873
2989
  feesTotal,
2874
2990
  feeRows,
2991
+ feesTooltip,
2875
2992
  newLabel,
2876
2993
  onNewDeposit,
2877
2994
  onClose
@@ -2892,13 +3009,20 @@ function SwappedReceipt({
2892
3009
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: amountPaid })
2893
3010
  ] }),
2894
3011
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2895
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Receive" }),
3012
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Deposited amount" }),
2896
3013
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2897
3014
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: depositedAmount }),
2898
- depositedIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: depositedIcon, alt: "" }) })
3015
+ depositedSymbol && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenIcon, { symbol: depositedSymbol }) })
2899
3016
  ] })
2900
3017
  ] }),
2901
- feesTotal != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FeesAccordion, { total: feesTotal, rows: _nullishCoalesce(feeRows, () => ( [])) })
3018
+ feesTotal != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3019
+ FeesAccordion,
3020
+ {
3021
+ total: feesTotal,
3022
+ rows: _nullishCoalesce(feeRows, () => ( [])),
3023
+ tooltip: _nullishCoalesce(feesTooltip, () => ( void 0))
3024
+ }
3025
+ )
2902
3026
  ] }),
2903
3027
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-button-row", children: [
2904
3028
  onNewDeposit && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: newLabel }),
@@ -2979,8 +3103,10 @@ function getEventSourceDetails(event) {
2979
3103
  return {};
2980
3104
  }
2981
3105
  function asChain(value) {
2982
- if (typeof value === "string" && value.trim().startsWith("solana")) {
2983
- return "solana";
3106
+ if (typeof value === "string") {
3107
+ const trimmed = value.trim();
3108
+ if (trimmed.startsWith("solana")) return "solana";
3109
+ if (trimmed.startsWith("hypercore")) return "hypercore";
2984
3110
  }
2985
3111
  return asNumber(value);
2986
3112
  }
@@ -3070,13 +3196,18 @@ var EVM_ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
3070
3196
  function resolveTokenDisplay(token, chain, fallback) {
3071
3197
  if (token !== void 0) {
3072
3198
  if (chain === "solana") {
3073
- const solanaToken = _chunkABVRVW3Pcjs.getSolanaTokenByMint.call(void 0, token);
3199
+ const solanaToken = _chunkPUMTR35Ecjs.getSolanaTokenByMint.call(void 0, token);
3074
3200
  if (solanaToken) {
3075
3201
  return { symbol: solanaToken.symbol, decimals: solanaToken.decimals };
3076
3202
  }
3203
+ } else if (chain === "hypercore") {
3204
+ const t = _chunkPUMTR35Ecjs.HYPERCORE_SOURCE_TOKENS.find(
3205
+ (x) => x.address.toLowerCase() === token.toLowerCase()
3206
+ );
3207
+ if (t) return { symbol: t.symbol, decimals: t.decimals };
3077
3208
  } else if (EVM_ADDRESS_RE.test(token)) {
3078
- const symbol = _chunkABVRVW3Pcjs.getTokenSymbol.call(void 0, token, chain);
3079
- const decimals = _chunkABVRVW3Pcjs.findTokenDecimals.call(void 0, token, chain);
3209
+ const symbol = _chunkPUMTR35Ecjs.getTokenSymbol.call(void 0, token, chain);
3210
+ const decimals = _chunkPUMTR35Ecjs.findTokenDecimals.call(void 0, token, chain);
3080
3211
  if (symbol !== "Token" || decimals !== void 0) {
3081
3212
  return {
3082
3213
  symbol: symbol !== "Token" ? symbol : _nullishCoalesce(_optionalChain([fallback, 'optionalAccess', _117 => _117.symbol]), () => ( symbol)),
@@ -3252,6 +3383,8 @@ function FailedBadge() {
3252
3383
  var INITIAL_POLL_INTERVAL = 3e3;
3253
3384
  var MAX_POLL_INTERVAL = 3e4;
3254
3385
  var BACKOFF_MULTIPLIER = 1.5;
3386
+ var SWAPPED_RECEIPT_STATUS_RETRY_INTERVAL_MS = 1e3;
3387
+ var SWAPPED_FIAT_STATUS_MAX_ATTEMPTS = 12;
3255
3388
  var ESCALATED_DELAY_MS = 10 * 60 * 1e3;
3256
3389
  var SOFT_DELAY_MS = {
3257
3390
  confirming: 90 * 1e3,
@@ -3282,6 +3415,36 @@ function formatPaymentMethod(method) {
3282
3415
  if (PAYMENT_METHOD_LABELS[key]) return PAYMENT_METHOD_LABELS[key];
3283
3416
  return key.replace(/[-_]+/g, " ").split(" ").filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
3284
3417
  }
3418
+ function normalizeFeeUsd(value) {
3419
+ return Number.isFinite(value) ? Math.max(0, value) : null;
3420
+ }
3421
+ function formatUsdFee(value) {
3422
+ return `$${_nullishCoalesce(_optionalChain([normalizeFeeUsd, 'call', _121 => _121(value), 'optionalAccess', _122 => _122.toFixed, 'call', _123 => _123(2)]), () => ( "0.00"))}`;
3423
+ }
3424
+ function getMarketNetworkFees(breakdown) {
3425
+ if (!breakdown) return null;
3426
+ const gasUsd = normalizeFeeUsd(breakdown.gasUsd);
3427
+ const bridgeUsd = normalizeFeeUsd(breakdown.bridgeUsd);
3428
+ const swapUsd = normalizeFeeUsd(breakdown.swapUsd);
3429
+ if (gasUsd === null || bridgeUsd === null || swapUsd === null) return null;
3430
+ return {
3431
+ marketUsd: bridgeUsd + swapUsd,
3432
+ networkUsd: gasUsd
3433
+ };
3434
+ }
3435
+ function toSwappedFiatContext(status) {
3436
+ return {
3437
+ orderCrypto: status.orderCrypto,
3438
+ orderCryptoAmount: status.orderCryptoAmount,
3439
+ paidAmountUsd: status.paidAmountUsd,
3440
+ paidAmountEur: status.paidAmountEur,
3441
+ onrampFeeUsd: status.onrampFeeUsd,
3442
+ paymentMethod: status.paymentMethod
3443
+ };
3444
+ }
3445
+ function hasFiatReceiptPricing(status) {
3446
+ return status.paidAmountUsd != null && status.onrampFeeUsd != null;
3447
+ }
3285
3448
  function loadPhaseTimings(txHash) {
3286
3449
  if (typeof window === "undefined") return null;
3287
3450
  try {
@@ -3310,12 +3473,12 @@ function isEventForTx(event, txHash) {
3310
3473
  return txRefsMatch(eventTxHash, txHash);
3311
3474
  }
3312
3475
  function parseWebhookTimestamp(event) {
3313
- if (typeof _optionalChain([event, 'optionalAccess', _121 => _121.time]) !== "string") return void 0;
3476
+ if (typeof _optionalChain([event, 'optionalAccess', _124 => _124.time]) !== "string") return void 0;
3314
3477
  const timestamp = Date.parse(event.time);
3315
3478
  return Number.isFinite(timestamp) ? timestamp : void 0;
3316
3479
  }
3317
3480
  function syncPhaseTimings(previous, event) {
3318
- if (!_optionalChain([event, 'optionalAccess', _122 => _122.type])) return previous;
3481
+ if (!_optionalChain([event, 'optionalAccess', _125 => _125.type])) return previous;
3319
3482
  const timestamp = _nullishCoalesce(parseWebhookTimestamp(event), () => ( Date.now()));
3320
3483
  const setReceived = (event.type === "deposit-received" || event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "bridge-failed" || event.type === "error") && previous.receivedAt === void 0;
3321
3484
  const setBridging = (event.type === "bridge-started" || event.type === "bridge-complete") && previous.bridgingAt === void 0;
@@ -3377,46 +3540,46 @@ function getCurrentPhaseId(state, phaseTimings) {
3377
3540
  if (state.type === "complete") {
3378
3541
  return void 0;
3379
3542
  }
3380
- if (_optionalChain([state, 'access', _123 => _123.lastEvent, 'optionalAccess', _124 => _124.type]) === "bridge-started" || _optionalChain([state, 'access', _125 => _125.lastEvent, 'optionalAccess', _126 => _126.type]) === "bridge-complete")
3543
+ if (_optionalChain([state, 'access', _126 => _126.lastEvent, 'optionalAccess', _127 => _127.type]) === "bridge-started" || _optionalChain([state, 'access', _128 => _128.lastEvent, 'optionalAccess', _129 => _129.type]) === "bridge-complete")
3381
3544
  return "bridging";
3382
- if (_optionalChain([state, 'access', _127 => _127.lastEvent, 'optionalAccess', _128 => _128.type]) === "deposit-received") return "received";
3545
+ if (_optionalChain([state, 'access', _130 => _130.lastEvent, 'optionalAccess', _131 => _131.type]) === "deposit-received") return "received";
3383
3546
  return "confirming";
3384
3547
  }
3385
3548
  function getCompletionDestinationTxHash(event) {
3386
- const eventData = _optionalChain([event, 'optionalAccess', _129 => _129.data]);
3387
- const swapTxHash = _optionalChain([eventData, 'optionalAccess', _130 => _130.swap, 'optionalAccess', _131 => _131.transactionHash]);
3388
- const destinationTxHash = _optionalChain([eventData, 'optionalAccess', _132 => _132.destination, 'optionalAccess', _133 => _133.transactionHash]);
3549
+ const eventData = _optionalChain([event, 'optionalAccess', _132 => _132.data]);
3550
+ const swapTxHash = _optionalChain([eventData, 'optionalAccess', _133 => _133.swap, 'optionalAccess', _134 => _134.transactionHash]);
3551
+ const destinationTxHash = _optionalChain([eventData, 'optionalAccess', _135 => _135.destination, 'optionalAccess', _136 => _136.transactionHash]);
3389
3552
  return _nullishCoalesce(swapTxHash, () => ( destinationTxHash));
3390
3553
  }
3391
3554
  function getTerminalProcessingOutcome(event) {
3392
- if (_optionalChain([event, 'optionalAccess', _134 => _134.type]) === "post-bridge-swap-complete") {
3555
+ if (_optionalChain([event, 'optionalAccess', _137 => _137.type]) === "post-bridge-swap-complete") {
3393
3556
  return {
3394
3557
  type: "complete",
3395
3558
  destinationTxHash: getCompletionDestinationTxHash(event)
3396
3559
  };
3397
3560
  }
3398
- if (_optionalChain([event, 'optionalAccess', _135 => _135.type]) === "post-bridge-swap-failed") {
3561
+ if (_optionalChain([event, 'optionalAccess', _138 => _138.type]) === "post-bridge-swap-failed") {
3399
3562
  return {
3400
3563
  type: "failed",
3401
3564
  message: formatBridgeFailedMessage(event).message
3402
3565
  };
3403
3566
  }
3404
- if (_optionalChain([event, 'optionalAccess', _136 => _136.type]) === "bridge-complete") {
3567
+ if (_optionalChain([event, 'optionalAccess', _139 => _139.type]) === "bridge-complete") {
3405
3568
  return {
3406
3569
  type: "complete",
3407
3570
  destinationTxHash: getCompletionDestinationTxHash(event)
3408
3571
  };
3409
3572
  }
3410
- if (_optionalChain([event, 'optionalAccess', _137 => _137.type]) === "bridge-failed") {
3573
+ if (_optionalChain([event, 'optionalAccess', _140 => _140.type]) === "bridge-failed") {
3411
3574
  return {
3412
3575
  type: "failed",
3413
3576
  message: formatBridgeFailedMessage(event).message
3414
3577
  };
3415
3578
  }
3416
- if (_optionalChain([event, 'optionalAccess', _138 => _138.type]) === "error") {
3579
+ if (_optionalChain([event, 'optionalAccess', _141 => _141.type]) === "error") {
3417
3580
  return {
3418
3581
  type: "failed",
3419
- message: _nullishCoalesce(_optionalChain([event, 'access', _139 => _139.data, 'optionalAccess', _140 => _140.message]), () => ( "Unknown error"))
3582
+ message: _nullishCoalesce(_optionalChain([event, 'access', _142 => _142.data, 'optionalAccess', _143 => _143.message]), () => ( "Unknown error"))
3420
3583
  };
3421
3584
  }
3422
3585
  return null;
@@ -3424,10 +3587,10 @@ function getTerminalProcessingOutcome(event) {
3424
3587
  function getInitialProcessingState(event, txHash) {
3425
3588
  if (!event || !isEventForTx(event, txHash)) return null;
3426
3589
  const terminal = getTerminalProcessingOutcome(event);
3427
- if (_optionalChain([terminal, 'optionalAccess', _141 => _141.type]) === "complete") {
3590
+ if (_optionalChain([terminal, 'optionalAccess', _144 => _144.type]) === "complete") {
3428
3591
  return { type: "complete", lastEvent: event };
3429
3592
  }
3430
- if (_optionalChain([terminal, 'optionalAccess', _142 => _142.type]) === "failed") {
3593
+ if (_optionalChain([terminal, 'optionalAccess', _145 => _145.type]) === "failed") {
3431
3594
  return { type: "failed", message: terminal.message, lastEvent: event };
3432
3595
  }
3433
3596
  if (isDepositEvent(event)) {
@@ -3455,6 +3618,7 @@ function ProcessingStep({
3455
3618
  uiConfig,
3456
3619
  quotedFeeAmount,
3457
3620
  quotedFeeSymbol,
3621
+ quoteFeeBreakdown,
3458
3622
  balanceAfterUsd,
3459
3623
  isSwappedOrder,
3460
3624
  swappedContext,
@@ -3529,7 +3693,7 @@ function ProcessingStep({
3529
3693
  flowLabel
3530
3694
  });
3531
3695
  const context = processingContextRef.current;
3532
- _optionalChain([onDepositCompleteRef, 'access', _143 => _143.current, 'optionalCall', _144 => _144(txHash, void 0, {
3696
+ _optionalChain([onDepositCompleteRef, 'access', _146 => _146.current, 'optionalCall', _147 => _147(txHash, void 0, {
3533
3697
  amount: context.amount,
3534
3698
  sourceChain: context.sourceChain,
3535
3699
  sourceToken: context.sourceToken,
@@ -3560,7 +3724,7 @@ function ProcessingStep({
3560
3724
  destinationTxHash: outcome.destinationTxHash,
3561
3725
  event: event.type
3562
3726
  });
3563
- _optionalChain([onDepositCompleteRef, 'access', _145 => _145.current, 'optionalCall', _146 => _146(txHash, outcome.destinationTxHash, {
3727
+ _optionalChain([onDepositCompleteRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149(txHash, outcome.destinationTxHash, {
3564
3728
  amount: context.amount,
3565
3729
  sourceChain: context.sourceChain,
3566
3730
  sourceToken: context.sourceToken,
@@ -3576,7 +3740,7 @@ function ProcessingStep({
3576
3740
  message: outcome.message,
3577
3741
  event: event.type
3578
3742
  });
3579
- _optionalChain([onDepositFailedRef, 'access', _147 => _147.current, 'optionalCall', _148 => _148(txHash, outcome.message)]);
3743
+ _optionalChain([onDepositFailedRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151(txHash, outcome.message)]);
3580
3744
  }, [
3581
3745
  debug,
3582
3746
  onDepositCompleteRef,
@@ -3608,31 +3772,65 @@ function ProcessingStep({
3608
3772
  updatePhaseTimings(
3609
3773
  (previous) => syncPhaseTimings(previous, state.lastEvent)
3610
3774
  );
3611
- }, [_optionalChain([state, 'access', _149 => _149.lastEvent, 'optionalAccess', _150 => _150.time]), _optionalChain([state, 'access', _151 => _151.lastEvent, 'optionalAccess', _152 => _152.type]), updatePhaseTimings]);
3775
+ }, [_optionalChain([state, 'access', _152 => _152.lastEvent, 'optionalAccess', _153 => _153.time]), _optionalChain([state, 'access', _154 => _154.lastEvent, 'optionalAccess', _155 => _155.type]), updatePhaseTimings]);
3612
3776
  const [swappedFiatContext, setSwappedFiatContext] = _react.useState.call(void 0, null);
3613
3777
  _react.useEffect.call(void 0, () => {
3614
3778
  let cancelled = false;
3615
- service.fetchSwappedOrderStatus(smartAccount).then((res) => {
3616
- if (cancelled || !res) return;
3617
- if (res.transactionId != null) {
3618
- if (res.transactionId.toLowerCase() !== txHash.toLowerCase()) return;
3619
- } else if (!isSwappedOrder || _optionalChain([swappedContext, 'optionalAccess', _153 => _153.variant]) === "connect") {
3779
+ let timeoutId;
3780
+ const isFiatSwappedOrder = isSwappedOrder && _optionalChain([swappedContext, 'optionalAccess', _156 => _156.variant]) === "fiat";
3781
+ const expectedOrderUuid = _nullishCoalesce(_optionalChain([swappedContext, 'optionalAccess', _157 => _157.expectedOrderUuid]), () => ( null));
3782
+ setSwappedFiatContext(null);
3783
+ if (isFiatSwappedOrder && !expectedOrderUuid) {
3784
+ return () => {
3785
+ cancelled = true;
3786
+ };
3787
+ }
3788
+ let attempts = 0;
3789
+ const matchesCurrentDeposit = (res) => {
3790
+ if (isFiatSwappedOrder) {
3791
+ return res.orderId === expectedOrderUuid;
3792
+ }
3793
+ return res.transactionId != null && res.transactionId.toLowerCase() === txHash.toLowerCase();
3794
+ };
3795
+ const scheduleRetry = () => {
3796
+ if (cancelled || !isFiatSwappedOrder || attempts >= SWAPPED_FIAT_STATUS_MAX_ATTEMPTS) {
3620
3797
  return;
3621
3798
  }
3622
- setSwappedFiatContext({
3623
- orderCrypto: res.orderCrypto,
3624
- orderCryptoAmount: res.orderCryptoAmount,
3625
- paidAmountUsd: res.paidAmountUsd,
3626
- paidAmountEur: res.paidAmountEur,
3627
- onrampFeeUsd: res.onrampFeeUsd,
3628
- paymentMethod: res.paymentMethod
3629
- });
3630
- }).catch(() => {
3631
- });
3799
+ timeoutId = setTimeout(
3800
+ fetchContext,
3801
+ SWAPPED_RECEIPT_STATUS_RETRY_INTERVAL_MS
3802
+ );
3803
+ };
3804
+ async function fetchContext() {
3805
+ attempts += 1;
3806
+ try {
3807
+ const res = await service.fetchSwappedOrderStatus(smartAccount);
3808
+ if (cancelled) return;
3809
+ if (!res || !matchesCurrentDeposit(res)) {
3810
+ scheduleRetry();
3811
+ return;
3812
+ }
3813
+ setSwappedFiatContext(toSwappedFiatContext(res));
3814
+ if (isFiatSwappedOrder && !hasFiatReceiptPricing(res)) {
3815
+ scheduleRetry();
3816
+ }
3817
+ } catch (e8) {
3818
+ scheduleRetry();
3819
+ }
3820
+ }
3821
+ fetchContext();
3632
3822
  return () => {
3633
3823
  cancelled = true;
3824
+ if (timeoutId !== void 0) clearTimeout(timeoutId);
3634
3825
  };
3635
- }, [service, smartAccount, txHash, isSwappedOrder, _optionalChain([swappedContext, 'optionalAccess', _154 => _154.variant])]);
3826
+ }, [
3827
+ service,
3828
+ smartAccount,
3829
+ txHash,
3830
+ isSwappedOrder,
3831
+ _optionalChain([swappedContext, 'optionalAccess', _158 => _158.variant]),
3832
+ _optionalChain([swappedContext, 'optionalAccess', _159 => _159.expectedOrderUuid])
3833
+ ]);
3636
3834
  _react.useEffect.call(void 0, () => {
3637
3835
  if (directTransfer) return;
3638
3836
  if (state.type !== "processing") {
@@ -3657,20 +3855,20 @@ function ProcessingStep({
3657
3855
  debugLog(debug, "processing", "poll:event", {
3658
3856
  type: lastEvent2.type,
3659
3857
  matchesTx: eventMatchesTx,
3660
- intentId: _optionalChain([eventData, 'optionalAccess', _155 => _155.intentId])
3858
+ intentId: _optionalChain([eventData, 'optionalAccess', _160 => _160.intentId])
3661
3859
  });
3662
3860
  }
3663
3861
  if (!isMounted) return;
3664
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _156 => _156.type]) === "bridge-complete") {
3862
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _161 => _161.type]) === "bridge-complete") {
3665
3863
  setState({ type: "complete", lastEvent: eventForCurrentTx });
3666
- const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _157 => _157.data, 'optionalAccess', _158 => _158.destination, 'optionalAccess', _159 => _159.transactionHash]);
3864
+ const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _162 => _162.data, 'optionalAccess', _163 => _163.destination, 'optionalAccess', _164 => _164.transactionHash]);
3667
3865
  debugLog(debug, "processing", "state:complete", {
3668
3866
  txHash,
3669
3867
  destinationTxHash: destinationTxHash2,
3670
3868
  event: eventForCurrentTx.type
3671
3869
  });
3672
3870
  const context = processingContextRef.current;
3673
- _optionalChain([onDepositCompleteRef, 'access', _160 => _160.current, 'optionalCall', _161 => _161(txHash, destinationTxHash2, {
3871
+ _optionalChain([onDepositCompleteRef, 'access', _165 => _165.current, 'optionalCall', _166 => _166(txHash, destinationTxHash2, {
3674
3872
  amount: context.amount,
3675
3873
  sourceChain: context.sourceChain,
3676
3874
  sourceToken: context.sourceToken,
@@ -3681,7 +3879,7 @@ function ProcessingStep({
3681
3879
  })]);
3682
3880
  return;
3683
3881
  }
3684
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _162 => _162.type]) === "bridge-failed") {
3882
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _167 => _167.type]) === "bridge-failed") {
3685
3883
  const formatted = formatBridgeFailedMessage(eventForCurrentTx);
3686
3884
  setState({
3687
3885
  type: "failed",
@@ -3693,11 +3891,11 @@ function ProcessingStep({
3693
3891
  message: formatted.message,
3694
3892
  code: formatted.code
3695
3893
  });
3696
- _optionalChain([onDepositFailedRef, 'access', _163 => _163.current, 'optionalCall', _164 => _164(txHash, formatted.message)]);
3894
+ _optionalChain([onDepositFailedRef, 'access', _168 => _168.current, 'optionalCall', _169 => _169(txHash, formatted.message)]);
3697
3895
  return;
3698
3896
  }
3699
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _165 => _165.type]) === "error") {
3700
- const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _166 => _166.data, 'optionalAccess', _167 => _167.message]), () => ( "Unknown error"));
3897
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _170 => _170.type]) === "error") {
3898
+ const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _171 => _171.data, 'optionalAccess', _172 => _172.message]), () => ( "Unknown error"));
3701
3899
  setState({
3702
3900
  type: "failed",
3703
3901
  message: errorMessage,
@@ -3707,7 +3905,7 @@ function ProcessingStep({
3707
3905
  txHash,
3708
3906
  message: errorMessage
3709
3907
  });
3710
- _optionalChain([onDepositFailedRef, 'access', _168 => _168.current, 'optionalCall', _169 => _169(txHash, errorMessage)]);
3908
+ _optionalChain([onDepositFailedRef, 'access', _173 => _173.current, 'optionalCall', _174 => _174(txHash, errorMessage)]);
3711
3909
  return;
3712
3910
  }
3713
3911
  setState((previous) => ({
@@ -3768,7 +3966,7 @@ function ProcessingStep({
3768
3966
  txHash,
3769
3967
  timeoutMs: ESCALATED_DELAY_MS
3770
3968
  });
3771
- _optionalChain([onErrorRef, 'access', _170 => _170.current, 'optionalCall', _171 => _171(message, "PROCESS_TIMEOUT")]);
3969
+ _optionalChain([onErrorRef, 'access', _175 => _175.current, 'optionalCall', _176 => _176(message, "PROCESS_TIMEOUT")]);
3772
3970
  }, ESCALATED_DELAY_MS);
3773
3971
  return () => clearTimeout(timeoutId);
3774
3972
  }, [debug, directTransfer, onErrorRef, state.type, txHash]);
@@ -3780,13 +3978,13 @@ function ProcessingStep({
3780
3978
  const timelineNowMs = _nullishCoalesce(phaseTimings.endedAt, () => ( Date.now()));
3781
3979
  const flowNoun = flowLabel === "withdraw" ? "withdrawal" : "deposit";
3782
3980
  const flowCapitalized = flowLabel === "withdraw" ? "Withdrawal" : "Deposit";
3783
- const destinationTxHash = _optionalChain([lastEvent, 'optionalAccess', _172 => _172.data, 'optionalAccess', _173 => _173.destination, 'optionalAccess', _174 => _174.transactionHash]) || null;
3981
+ const destinationTxHash = _optionalChain([lastEvent, 'optionalAccess', _177 => _177.data, 'optionalAccess', _178 => _178.destination, 'optionalAccess', _179 => _179.transactionHash]) || null;
3784
3982
  const sourceDetails = getEventSourceDetails(lastEvent);
3785
3983
  const displaySourceChain = _nullishCoalesce(sourceDetails.chainId, () => ( sourceChain));
3786
3984
  const displaySourceToken = _nullishCoalesce(sourceDetails.token, () => ( sourceToken));
3787
3985
  const displayAmount = _nullishCoalesce(sourceDetails.amount, () => ( amount));
3788
- const sourceExplorerUrl = _chunkABVRVW3Pcjs.getExplorerTxUrl.call(void 0, displaySourceChain, txHash);
3789
- const destExplorerUrl = destinationTxHash ? _chunkABVRVW3Pcjs.getExplorerTxUrl.call(void 0, targetChain, destinationTxHash) : null;
3986
+ const sourceExplorerUrl = _chunkPUMTR35Ecjs.getExplorerTxUrl.call(void 0, displaySourceChain, txHash);
3987
+ const destExplorerUrl = destinationTxHash ? _chunkPUMTR35Ecjs.getExplorerTxUrl.call(void 0, targetChain, destinationTxHash) : null;
3790
3988
  const sourceDisplay = (() => {
3791
3989
  const resolved = resolveTokenDisplay(displaySourceToken, displaySourceChain, {
3792
3990
  symbol: _nullishCoalesce(providedSourceSymbol, () => ( (displaySourceChain === "solana" ? "SOL" : "Token"))),
@@ -3851,15 +4049,13 @@ function ProcessingStep({
3851
4049
  const delayPhaseId = isProcessing && currentPhaseId && activePhaseElapsedMs >= SOFT_DELAY_MS[currentPhaseId] ? currentPhaseId : void 0;
3852
4050
  void delayPhaseId;
3853
4051
  void hasEscalatedDelay;
3854
- const targetTokenIcon = _chunkABVRVW3Pcjs.getTokenIcon.call(void 0, targetSymbol);
3855
- const sourceChainIcon = _chunkABVRVW3Pcjs.getChainIcon.call(void 0, displaySourceChain);
3856
- const targetChainIcon = _chunkABVRVW3Pcjs.getChainIcon.call(void 0, targetChain);
3857
- const sourceTokenIcon = _chunkABVRVW3Pcjs.getTokenIcon.call(void 0, sourceSymbol);
3858
- const sourceChainName = _chunkABVRVW3Pcjs.getChainName.call(void 0, displaySourceChain);
3859
- const targetChainName = _chunkABVRVW3Pcjs.getChainName.call(void 0, targetChain);
4052
+ const sourceChainIcon = _chunkPUMTR35Ecjs.getChainIcon.call(void 0, displaySourceChain);
4053
+ const targetChainIcon = _chunkPUMTR35Ecjs.getChainIcon.call(void 0, targetChain);
4054
+ const sourceChainName = _chunkPUMTR35Ecjs.getChainName.call(void 0, displaySourceChain);
4055
+ const targetChainName = _chunkPUMTR35Ecjs.getChainName.call(void 0, targetChain);
3860
4056
  const timerText = formatTimer(elapsedSeconds);
3861
- const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _175 => _175.feeSponsored]), () => ( false));
3862
- const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _176 => _176.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
4057
+ const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _180 => _180.feeSponsored]), () => ( false));
4058
+ const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _181 => _181.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
3863
4059
  const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
3864
4060
  const handleRetry = _nullishCoalesce(onRetry, () => ( onNewDeposit));
3865
4061
  const headerContent = isComplete ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-body-header", children: [
@@ -3870,31 +4066,47 @@ function ProcessingStep({
3870
4066
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-body-header-text", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "rs-body-header-title", children: stateTitle }) })
3871
4067
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WalletIcon, {}), title: stateTitle });
3872
4068
  if (isComplete && isSwappedOrder) {
3873
- const effectivePaymentMethod = _nullishCoalesce(_nullishCoalesce(_optionalChain([swappedContext, 'optionalAccess', _177 => _177.method]), () => ( _optionalChain([swappedFiatContext, 'optionalAccess', _178 => _178.paymentMethod]))), () => ( null));
4069
+ const effectivePaymentMethod = _nullishCoalesce(_nullishCoalesce(_optionalChain([swappedContext, 'optionalAccess', _182 => _182.method]), () => ( _optionalChain([swappedFiatContext, 'optionalAccess', _183 => _183.paymentMethod]))), () => ( null));
3874
4070
  const onrampMethod = effectivePaymentMethod ? formatPaymentMethod(effectivePaymentMethod) : null;
3875
- const onrampMethodIcon = _optionalChain([swappedContext, 'optionalAccess', _179 => _179.variant]) === "connect" && effectivePaymentMethod ? getExchangeLogoSrc(
4071
+ const onrampMethodIcon = _optionalChain([swappedContext, 'optionalAccess', _184 => _184.variant]) === "connect" && effectivePaymentMethod ? getExchangeLogoSrc(
3876
4072
  _nullishCoalesce(onrampMethod, () => ( effectivePaymentMethod)),
3877
4073
  effectivePaymentMethod
3878
4074
  ) : null;
3879
- const connectPaidAmount = _optionalChain([swappedContext, 'optionalAccess', _180 => _180.variant]) === "connect" ? `${formattedSentAmount} ${sourceSymbol}` : null;
3880
- const amountPaid = _nullishCoalesce(connectPaidAmount, () => ( (_optionalChain([swappedFiatContext, 'optionalAccess', _181 => _181.paidAmountUsd]) != null ? `$${swappedFiatContext.paidAmountUsd.toFixed(2)}` : null)));
4075
+ const connectPaidAmount = _optionalChain([swappedContext, 'optionalAccess', _185 => _185.variant]) === "connect" ? `${formattedSentAmount} ${sourceSymbol}` : null;
4076
+ const amountPaid = _nullishCoalesce(connectPaidAmount, () => ( (_optionalChain([swappedFiatContext, 'optionalAccess', _186 => _186.paidAmountUsd]) != null ? `$${swappedFiatContext.paidAmountUsd.toFixed(2)}` : null)));
3881
4077
  const depositedAmount = receiveDisplay;
3882
- const onrampFeeUsd = _nullishCoalesce(_optionalChain([swappedFiatContext, 'optionalAccess', _182 => _182.onrampFeeUsd]), () => ( null));
3883
- const networkFeeUsd = quotedFeeAmount !== void 0 && Number.isFinite(Number(quotedFeeAmount)) ? Number(quotedFeeAmount) : null;
4078
+ const onrampFeeUsd = _nullishCoalesce(_optionalChain([swappedFiatContext, 'optionalAccess', _187 => _187.onrampFeeUsd]), () => ( null));
4079
+ const quoteFees = getMarketNetworkFees(quoteFeeBreakdown);
4080
+ const fallbackNetworkFeeUsd = quoteFees === null && quotedFeeAmount !== void 0 && Number.isFinite(Number(quotedFeeAmount)) ? Number(quotedFeeAmount) : null;
4081
+ const marketFeeUsd = _nullishCoalesce(_optionalChain([quoteFees, 'optionalAccess', _188 => _188.marketUsd]), () => ( null));
4082
+ const networkFeeUsd = _nullishCoalesce(_optionalChain([quoteFees, 'optionalAccess', _189 => _189.networkUsd]), () => ( fallbackNetworkFeeUsd));
4083
+ const sponsoredFeeTooltip = "This fee is sponsored for this deposit.";
4084
+ const feesTooltip = feeSponsored ? "On-ramp fees are charged by the payment provider. Market and network fees are sponsored for this deposit." : "Fees include on-ramp, market, and network costs for this deposit.";
3884
4085
  const feeRows = [];
3885
4086
  if (onrampFeeUsd != null) {
3886
4087
  feeRows.push({
3887
4088
  label: "On-ramp fee",
3888
- value: `$${onrampFeeUsd.toFixed(2)}`
4089
+ value: formatUsdFee(onrampFeeUsd)
4090
+ });
4091
+ }
4092
+ if (marketFeeUsd != null) {
4093
+ feeRows.push({
4094
+ label: "Market fee",
4095
+ value: formatUsdFee(marketFeeUsd),
4096
+ strike: feeSponsored,
4097
+ tooltip: feeSponsored ? sponsoredFeeTooltip : void 0
3889
4098
  });
3890
4099
  }
3891
4100
  if (networkFeeUsd != null) {
3892
4101
  feeRows.push({
3893
4102
  label: "Network fee",
3894
- value: `$${networkFeeUsd.toFixed(2)}`
4103
+ value: formatUsdFee(networkFeeUsd),
4104
+ strike: feeSponsored,
4105
+ tooltip: feeSponsored ? sponsoredFeeTooltip : void 0
3895
4106
  });
3896
4107
  }
3897
- const feesTotal = feeRows.length > 0 ? `$${((_nullishCoalesce(onrampFeeUsd, () => ( 0))) + (_nullishCoalesce(networkFeeUsd, () => ( 0)))).toFixed(2)}` : null;
4108
+ const chargeableQuoteFeeUsd = feeSponsored ? 0 : (_nullishCoalesce(marketFeeUsd, () => ( 0))) + (_nullishCoalesce(networkFeeUsd, () => ( 0)));
4109
+ const feesTotal = feeRows.length > 0 ? formatUsdFee((_nullishCoalesce(onrampFeeUsd, () => ( 0))) + chargeableQuoteFeeUsd) : null;
3898
4110
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3899
4111
  SwappedReceipt,
3900
4112
  {
@@ -3902,9 +4114,10 @@ function ProcessingStep({
3902
4114
  onrampMethodIcon,
3903
4115
  amountPaid,
3904
4116
  depositedAmount,
3905
- depositedIcon: targetTokenIcon,
4117
+ depositedSymbol: targetSymbol,
3906
4118
  feesTotal,
3907
4119
  feeRows,
4120
+ feesTooltip,
3908
4121
  newLabel: `New ${flowNoun}`,
3909
4122
  onNewDeposit,
3910
4123
  onClose
@@ -3956,7 +4169,7 @@ function ProcessingStep({
3956
4169
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Ticker, { value: timerText }) })
3957
4170
  ] }),
3958
4171
  isSwappedOrder ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3959
- _optionalChain([swappedFiatContext, 'optionalAccess', _183 => _183.paidAmountUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
4172
+ _optionalChain([swappedFiatContext, 'optionalAccess', _190 => _190.paidAmountUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
3960
4173
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "You pay" }),
3961
4174
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
3962
4175
  "$",
@@ -3968,7 +4181,7 @@ function ProcessingStep({
3968
4181
  ] })
3969
4182
  ] })
3970
4183
  ] }),
3971
- _optionalChain([swappedFiatContext, 'optionalAccess', _184 => _184.onrampFeeUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
4184
+ _optionalChain([swappedFiatContext, 'optionalAccess', _191 => _191.onrampFeeUsd]) != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
3972
4185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "On-ramp fee" }),
3973
4186
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
3974
4187
  "$",
@@ -3983,7 +4196,7 @@ function ProcessingStep({
3983
4196
  " ",
3984
4197
  sourceSymbol
3985
4198
  ] }),
3986
- sourceTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceTokenIcon, alt: "" }) })
4199
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenIcon, { symbol: sourceSymbol }) })
3987
4200
  ] })
3988
4201
  ] })
3989
4202
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
@@ -3994,14 +4207,14 @@ function ProcessingStep({
3994
4207
  " ",
3995
4208
  sourceSymbol
3996
4209
  ] }),
3997
- sourceTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceTokenIcon, alt: "" }) })
4210
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenIcon, { symbol: sourceSymbol }) })
3998
4211
  ] })
3999
4212
  ] }),
4000
4213
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
4001
4214
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: isProcessing ? "Receive" : "Received" }),
4002
4215
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
4003
4216
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: receiveDisplay }),
4004
- targetTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetTokenIcon, alt: "" }) })
4217
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenIcon, { symbol: targetSymbol }) })
4005
4218
  ] })
4006
4219
  ] }),
4007
4220
  isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
@@ -4112,7 +4325,7 @@ function loadSessionOwnerFromStorage(eoaAddress) {
4112
4325
  privateKey: parsed.privateKey,
4113
4326
  address: account.address
4114
4327
  };
4115
- } catch (e8) {
4328
+ } catch (e9) {
4116
4329
  return null;
4117
4330
  }
4118
4331
  }
@@ -4202,4 +4415,5 @@ function accountFromPrivateKey(privateKey) {
4202
4415
 
4203
4416
 
4204
4417
 
4205
- 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.UnplugIcon = UnplugIcon; exports.Callout = Callout; exports.BodyHeader = BodyHeader; exports.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.getExchangeLogo = getExchangeLogo; exports.ConnectStep = ConnectStep; exports.useLatestRef = useLatestRef; exports.Button = Button; exports.debugLog = debugLog; exports.debugError = debugError; 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.formatTokenAmount = formatTokenAmount; exports.formatQuotedReceive = formatQuotedReceive; exports.formatReceiveEstimate = formatReceiveEstimate; exports.getEventTxHash = getEventTxHash; exports.getEventSourceDetails = getEventSourceDetails; exports.isDepositEvent = isDepositEvent; exports.isFailedEvent = isFailedEvent; exports.txRefsMatch = txRefsMatch; exports.failureMessageForEvent = failureMessageForEvent; exports.useTokenPrices = useTokenPrices; exports.ProcessingStep = ProcessingStep; exports.rpcUrlFor = rpcUrlFor; exports.RpcUrlsProvider = RpcUrlsProvider; exports.useRpcUrls = useRpcUrls; exports.useStableRpcUrls = useStableRpcUrls; exports.getPublicClient = getPublicClient; exports.getHyperEvmReadClient = getHyperEvmReadClient; exports.loadSessionOwnerFromStorage = loadSessionOwnerFromStorage; exports.saveSessionOwnerToStorage = saveSessionOwnerToStorage; exports.createSessionOwnerKey = createSessionOwnerKey; exports.accountFromPrivateKey = accountFromPrivateKey; exports.applyTheme = applyTheme;
4418
+
4419
+ 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.UnplugIcon = UnplugIcon; exports.Callout = Callout; exports.BodyHeader = BodyHeader; exports.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.getExchangeLogo = getExchangeLogo; exports.ConnectStep = ConnectStep; exports.useLatestRef = useLatestRef; exports.Button = Button; exports.TokenIcon = TokenIcon; exports.debugLog = debugLog; exports.debugError = debugError; 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.formatTokenAmount = formatTokenAmount; exports.formatQuotedReceive = formatQuotedReceive; exports.formatReceiveEstimate = formatReceiveEstimate; exports.getEventTxHash = getEventTxHash; exports.getEventSourceDetails = getEventSourceDetails; exports.isDepositEvent = isDepositEvent; exports.isFailedEvent = isFailedEvent; exports.txRefsMatch = txRefsMatch; exports.failureMessageForEvent = failureMessageForEvent; exports.useTokenPrices = useTokenPrices; exports.ProcessingStep = ProcessingStep; exports.rpcUrlFor = rpcUrlFor; exports.RpcUrlsProvider = RpcUrlsProvider; exports.useRpcUrls = useRpcUrls; exports.useStableRpcUrls = useStableRpcUrls; exports.getPublicClient = getPublicClient; exports.getHyperEvmReadClient = getHyperEvmReadClient; exports.loadSessionOwnerFromStorage = loadSessionOwnerFromStorage; exports.saveSessionOwnerToStorage = saveSessionOwnerToStorage; exports.createSessionOwnerKey = createSessionOwnerKey; exports.accountFromPrivateKey = accountFromPrivateKey; exports.applyTheme = applyTheme;