@rhinestone/deposit-modal 0.19.0 → 0.20.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 (83) hide show
  1. package/README.md +151 -61
  2. package/dist/BankOnrampStep-JG32OCM2.mjs +435 -0
  3. package/dist/BankOnrampStep-NPGXAA7U.cjs +435 -0
  4. package/dist/{DepositModalReown-XBNY6QCI.mjs → DepositModalReown-3FGTPER6.mjs} +6 -5
  5. package/dist/{DepositModalReown-UITYXJ6W.cjs → DepositModalReown-ALVWADG7.cjs} +21 -20
  6. package/dist/WithdrawModal-5YWFJSYY.cjs +12 -0
  7. package/dist/WithdrawModal-LL4Z5WZP.mjs +12 -0
  8. package/dist/{bearer-transport-CVHNBgoV.d.cts → bearer-transport-DZyeDG64.d.cts} +5 -1
  9. package/dist/{bearer-transport-CVHNBgoV.d.ts → bearer-transport-DZyeDG64.d.ts} +5 -1
  10. package/dist/{caip-BMi-9t09.d.cts → caip-nwFFL46o.d.cts} +2 -2
  11. package/dist/{caip-BMi-9t09.d.ts → caip-nwFFL46o.d.ts} +2 -2
  12. package/dist/{chunk-NITKDXHR.mjs → chunk-247GJH57.mjs} +480 -272
  13. package/dist/{chunk-FTWKAJGN.mjs → chunk-2FOPO4N5.mjs} +1 -1
  14. package/dist/{chunk-5NWLS5BQ.mjs → chunk-32ERBFMO.mjs} +1432 -961
  15. package/dist/chunk-5QUWEFD4.mjs +19 -0
  16. package/dist/chunk-6CTJFR3T.mjs +113 -0
  17. package/dist/{chunk-X6N2XPTO.mjs → chunk-B2LZQIGB.mjs} +1 -1
  18. package/dist/{chunk-EG4H7OMC.cjs → chunk-BTEG2VNZ.cjs} +171 -130
  19. package/dist/{chunk-HMUGY66O.cjs → chunk-CXRH5MKO.cjs} +1502 -1031
  20. package/dist/chunk-E7IMWVMN.mjs +346 -0
  21. package/dist/{chunk-PYOC6K24.cjs → chunk-EKFXUF5A.cjs} +1 -1
  22. package/dist/chunk-FKJ6EJHH.cjs +346 -0
  23. package/dist/chunk-FMUSY563.cjs +19 -0
  24. package/dist/{chunk-LVCD6RHF.cjs → chunk-FVJKUTHF.cjs} +2 -2
  25. package/dist/chunk-G264OM23.cjs +224 -0
  26. package/dist/{chunk-BIL4ENC3.mjs → chunk-HP7S7AD6.mjs} +73 -32
  27. package/dist/{chunk-ISLVD5HQ.cjs → chunk-OPT5EW6L.cjs} +10 -5
  28. package/dist/chunk-PYRXOP2Y.cjs +113 -0
  29. package/dist/{chunk-ZGHVJ2XM.mjs → chunk-XBJCZYBX.mjs} +8 -3
  30. package/dist/chunk-YY4ZOAH5.mjs +224 -0
  31. package/dist/{chunk-OCWSMLOP.cjs → chunk-Z4RBTNKX.cjs} +980 -772
  32. package/dist/compliance.cjs +4 -7
  33. package/dist/compliance.d.cts +26 -3
  34. package/dist/compliance.d.ts +26 -3
  35. package/dist/compliance.mjs +6 -9
  36. package/dist/constants-BQDxVNgr.d.cts +29 -0
  37. package/dist/constants-DjGQW5N5.d.ts +29 -0
  38. package/dist/constants.cjs +3 -37
  39. package/dist/constants.d.cts +4 -20
  40. package/dist/constants.d.ts +4 -20
  41. package/dist/constants.mjs +4 -38
  42. package/dist/deposit.cjs +7 -6
  43. package/dist/deposit.d.cts +5 -3
  44. package/dist/deposit.d.ts +5 -3
  45. package/dist/deposit.mjs +6 -5
  46. package/dist/embed.cjs +21 -20
  47. package/dist/embed.d.cts +3 -2
  48. package/dist/embed.d.ts +3 -2
  49. package/dist/embed.mjs +7 -6
  50. package/dist/index.cjs +8 -35
  51. package/dist/index.d.cts +5 -3
  52. package/dist/index.d.ts +5 -3
  53. package/dist/index.mjs +9 -36
  54. package/dist/onramp.cjs +4 -33
  55. package/dist/onramp.d.cts +51 -33
  56. package/dist/onramp.d.ts +51 -33
  57. package/dist/onramp.mjs +5 -34
  58. package/dist/polymarket.cjs +6 -6
  59. package/dist/polymarket.mjs +2 -2
  60. package/dist/ramp-types-HYWd7CW0.d.cts +108 -0
  61. package/dist/ramp-types-HYWd7CW0.d.ts +108 -0
  62. package/dist/styles.css +255 -0
  63. package/dist/{types-BShYNpvO.d.cts → types-BxSrazbq.d.ts} +20 -2
  64. package/dist/{types-BOxa1DE-.d.ts → types-CixUBhrM.d.cts} +20 -2
  65. package/dist/withdraw.cjs +6 -5
  66. package/dist/withdraw.d.cts +4 -3
  67. package/dist/withdraw.d.ts +4 -3
  68. package/dist/withdraw.mjs +5 -4
  69. package/package.json +9 -17
  70. package/dist/WithdrawModal-DY6A55OA.mjs +0 -11
  71. package/dist/WithdrawModal-V42OK7L3.cjs +0 -11
  72. package/dist/chunk-ADEWTBSN.cjs +0 -19
  73. package/dist/chunk-EAGMY3QE.mjs +0 -962
  74. package/dist/chunk-OY5N3E6L.cjs +0 -962
  75. package/dist/chunk-PP4QE32S.mjs +0 -19
  76. package/dist/constants-BT4ctuHo.d.cts +0 -64
  77. package/dist/constants-D21ZdNOP.d.ts +0 -64
  78. package/dist/offramp.cjs +0 -25
  79. package/dist/offramp.d.cts +0 -28
  80. package/dist/offramp.d.ts +0 -28
  81. package/dist/offramp.mjs +0 -25
  82. package/dist/ramp-types-C6aUz4SZ.d.cts +0 -43
  83. package/dist/ramp-types-C6aUz4SZ.d.ts +0 -43
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
4
 
@@ -9,7 +9,7 @@
9
9
 
10
10
 
11
11
 
12
- var _chunkLVCD6RHFcjs = require('./chunk-LVCD6RHF.cjs');
12
+ var _chunkFVJKUTHFcjs = require('./chunk-FVJKUTHF.cjs');
13
13
 
14
14
 
15
15
 
@@ -94,6 +94,7 @@ var _chunkLVCD6RHFcjs = require('./chunk-LVCD6RHF.cjs');
94
94
 
95
95
 
96
96
 
97
+ var _chunkCXRH5MKOcjs = require('./chunk-CXRH5MKO.cjs');
97
98
 
98
99
 
99
100
 
@@ -105,7 +106,6 @@ var _chunkLVCD6RHFcjs = require('./chunk-LVCD6RHF.cjs');
105
106
 
106
107
 
107
108
 
108
- var _chunkHMUGY66Ocjs = require('./chunk-HMUGY66O.cjs');
109
109
 
110
110
 
111
111
 
@@ -114,6 +114,7 @@ var _chunkHMUGY66Ocjs = require('./chunk-HMUGY66O.cjs');
114
114
 
115
115
 
116
116
 
117
+ var _chunkG264OM23cjs = require('./chunk-G264OM23.cjs');
117
118
 
118
119
 
119
120
 
@@ -131,7 +132,9 @@ var _chunkHMUGY66Ocjs = require('./chunk-HMUGY66O.cjs');
131
132
 
132
133
 
133
134
 
134
- var _chunkOY5N3E6Lcjs = require('./chunk-OY5N3E6L.cjs');
135
+
136
+
137
+ var _chunkFKJ6EJHHcjs = require('./chunk-FKJ6EJHH.cjs');
135
138
 
136
139
  // src/core/reown-dependencies.ts
137
140
  var dependencies;
@@ -182,6 +185,8 @@ var _react = require('react');
182
185
 
183
186
 
184
187
 
188
+
189
+
185
190
  // src/components/steps/ConnectStep.tsx
186
191
 
187
192
 
@@ -249,14 +254,14 @@ SegmentedToggle.displayName = "SegmentedToggle";
249
254
  // src/components/ui/ChainIcon.tsx
250
255
 
251
256
  function ChainIcon({ chainId, className, loading }) {
252
- const badge = _chunkOY5N3E6Lcjs.getChainBadge.call(void 0, chainId);
253
- const catalogChain = _chunkHMUGY66Ocjs.useCatalogChain.call(void 0, _chunkHMUGY66Ocjs.catalogKeyForChain.call(void 0, chainId));
254
- const name = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _2 => _2.name]), () => ( _chunkOY5N3E6Lcjs.getChainName.call(void 0, chainId)));
257
+ const badge = _chunkFKJ6EJHHcjs.getChainBadge.call(void 0, chainId);
258
+ const catalogChain = _chunkCXRH5MKOcjs.useCatalogChain.call(void 0, _chunkCXRH5MKOcjs.catalogKeyForChain.call(void 0, chainId));
259
+ const name = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _2 => _2.name]), () => ( _chunkFKJ6EJHHcjs.getChainName.call(void 0, chainId)));
255
260
  const initial = (_nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _3 => _3.name]), () => ( badge.shortLabel))).charAt(0);
256
261
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
257
- _chunkHMUGY66Ocjs.CdnIcon,
262
+ _chunkCXRH5MKOcjs.CdnIcon,
258
263
  {
259
- src: _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _4 => _4.iconUrl]), () => ( _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, chainId))),
264
+ src: _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _4 => _4.iconUrl]), () => ( _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, chainId))),
260
265
  alt: name,
261
266
  className,
262
267
  loading,
@@ -277,16 +282,16 @@ ChainIcon.displayName = "ChainIcon";
277
282
  // src/components/ui/WalletBadgeIcons/index.tsx
278
283
 
279
284
  function BadgeImage({ src, alt = "" }) {
280
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src, alt }) });
285
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src, alt }) });
281
286
  }
282
287
  var WALLET_BADGES = ["rabby", "phantom", "walletconnect"];
283
288
  function WalletBadgeIcons() {
284
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons", children: WALLET_BADGES.map((slug) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BadgeImage, { src: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "wallets", slug) }, slug)) });
289
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons", children: WALLET_BADGES.map((slug) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BadgeImage, { src: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "wallets", slug) }, slug)) });
285
290
  }
286
291
  WalletBadgeIcons.displayName = "WalletBadgeIcons";
287
292
  var TRANSFER_CHAIN_BADGES = ["mainnet", "solana", "base"];
288
293
  function ChainBadgeIcons() {
289
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons", children: TRANSFER_CHAIN_BADGES.map((slug) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BadgeImage, { src: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "chains", slug) }, slug)) });
294
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons", children: TRANSFER_CHAIN_BADGES.map((slug) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BadgeImage, { src: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "chains", slug) }, slug)) });
290
295
  }
291
296
  ChainBadgeIcons.displayName = "ChainBadgeIcons";
292
297
  var MAX_WALLET_CHAIN_MARKS = 3;
@@ -306,23 +311,23 @@ var DAPP_IMPORT_CATALOG = [
306
311
  {
307
312
  id: "polymarket",
308
313
  label: "Polymarket",
309
- iconUrl: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "dapps", "polymarket")
314
+ iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "polymarket")
310
315
  },
311
316
  {
312
317
  id: "aave",
313
318
  label: "Aave",
314
- iconUrl: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "dapps", "aave")
319
+ iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "aave")
315
320
  },
316
321
  {
317
322
  id: "hyperliquid",
318
323
  label: "Hyperliquid",
319
- iconUrl: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "dapps", "hyperliquid"),
324
+ iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "hyperliquid"),
320
325
  comingSoon: true
321
326
  },
322
327
  {
323
328
  id: "morpho",
324
329
  label: "Morpho",
325
- iconUrl: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "dapps", "morpho"),
330
+ iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "morpho"),
326
331
  comingSoon: true
327
332
  }
328
333
  ];
@@ -330,7 +335,7 @@ var DAPP_IMPORT_CATALOG = [
330
335
  // src/components/ui/BrandIcons.tsx
331
336
 
332
337
  function ExchangeBadgeImage({ name }) {
333
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: _nullishCoalesce(_chunkHMUGY66Ocjs.getExchangeLogoSrc.call(void 0, name), () => ( void 0)) });
338
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: _nullishCoalesce(_chunkCXRH5MKOcjs.getExchangeLogoSrc.call(void 0, name), () => ( void 0)) });
334
339
  }
335
340
  var CARD_NETWORKS = ["amex", "visa", "mastercard"];
336
341
  function CardNetworkIcons() {
@@ -338,7 +343,7 @@ function CardNetworkIcons() {
338
343
  "span",
339
344
  {
340
345
  className: `rs-card-network rs-card-network--${network}`,
341
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: _chunkOY5N3E6Lcjs.cdnIconUrl.call(void 0, "cards", network) })
346
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "cards", network) })
342
347
  },
343
348
  network
344
349
  )) });
@@ -357,7 +362,7 @@ function DappBadgeIcons() {
357
362
  ).filter(
358
363
  (brand) => Boolean(brand)
359
364
  );
360
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons rs-list-row-meta-icons--exchanges", children: marks.map((brand) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: brand.iconUrl, alt: brand.label }) }, brand.id)) });
365
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-meta-icons rs-list-row-meta-icons--exchanges", children: marks.map((brand) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: brand.iconUrl, alt: brand.label }) }, brand.id)) });
361
366
  }
362
367
  DappBadgeIcons.displayName = "DappBadgeIcons";
363
368
  var DAPP_BADGE_COUNT = DAPP_BADGE_ORDER.length;
@@ -377,9 +382,9 @@ function balanceSubtitle(status, balanceUsd, fallback) {
377
382
  return "No balance";
378
383
  }
379
384
  function fiatIcon(name) {
380
- if (name === "apple") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.AppleIcon, {});
381
- if (name === "bank") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BankIcon, {});
382
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CardIcon, {});
385
+ if (name === "apple") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.AppleIcon, {});
386
+ if (name === "bank") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BankIcon, {});
387
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CardIcon, {});
383
388
  }
384
389
  function FiatMethodIcon({ option }) {
385
390
  const [remoteFailed, setRemoteFailed] = _react.useState.call(void 0, false);
@@ -462,20 +467,20 @@ function renderWalletLeading(row) {
462
467
  }
463
468
  );
464
469
  }
465
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {});
470
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {});
466
471
  }
467
- var TRANSFER_CRYPTO_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {});
468
- var WALLET_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {});
469
- var EXCHANGE_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.UnplugIcon, {});
470
- var MIGRATE_ASSETS_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.MigrateAssetsIcon, {});
471
- var SMALL_SPINNER = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, { className: "rs-spinner--sm" });
472
+ var TRANSFER_CRYPTO_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {});
473
+ var WALLET_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {});
474
+ var EXCHANGE_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.UnplugIcon, {});
475
+ var MIGRATE_ASSETS_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.MigrateAssetsIcon, {});
476
+ var SMALL_SPINNER = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, { className: "rs-spinner--sm" });
472
477
  var CONNECT_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
473
478
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WalletBadgeIcons, {}),
474
479
  "+100"
475
480
  ] });
476
481
  var EXTRA_EXCHANGE_COUNT = Math.max(
477
482
  0,
478
- _chunkHMUGY66Ocjs.SUPPORTED_CONNECT_EXCHANGE_COUNT - EXCHANGE_BADGE_COUNT
483
+ _chunkCXRH5MKOcjs.SUPPORTED_CONNECT_EXCHANGE_COUNT - EXCHANGE_BADGE_COUNT
479
484
  );
480
485
  var EXCHANGE_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
481
486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExchangeBadgeIcons, {}),
@@ -489,7 +494,7 @@ var MIGRATE_ASSETS_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxrunt
489
494
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DappBadgeIcons, {}),
490
495
  EXTRA_DAPP_COUNT > 0 ? `+${EXTRA_DAPP_COUNT}` : null
491
496
  ] });
492
- var EXTRA_CHAIN_COUNT = Math.max(0, _chunkOY5N3E6Lcjs.getSupportedChainIds.call(void 0, ).length - 3);
497
+ var EXTRA_CHAIN_COUNT = Math.max(0, _chunkFKJ6EJHHcjs.getSupportedChainIds.call(void 0, ).length - 3);
493
498
  var CHAIN_BADGE_META = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
494
499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChainBadgeIcons, {}),
495
500
  EXTRA_CHAIN_COUNT > 0 ? `+${EXTRA_CHAIN_COUNT}` : null
@@ -508,6 +513,7 @@ function ConnectStep({
508
513
  transferCryptoErrorReason,
509
514
  fiatPaymentMethods,
510
515
  fiatLoading,
516
+ fiatNotice,
511
517
  onSelectFiatMethod,
512
518
  onPrefetchFiatMethod,
513
519
  recommendedMethod,
@@ -533,7 +539,7 @@ function ConnectStep({
533
539
  if (onSelectTransferCrypto) {
534
540
  cryptoRows.push(
535
541
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
536
- _chunkHMUGY66Ocjs.ListRow,
542
+ _chunkCXRH5MKOcjs.ListRow,
537
543
  {
538
544
  leading: TRANSFER_CRYPTO_LEADING,
539
545
  title: "Transfer crypto",
@@ -554,7 +560,7 @@ function ConnectStep({
554
560
  );
555
561
  cryptoRows.push(
556
562
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
557
- _chunkHMUGY66Ocjs.ListRow,
563
+ _chunkCXRH5MKOcjs.ListRow,
558
564
  {
559
565
  leading: renderWalletLeading(row),
560
566
  title: collapseToExternal ? "External wallet" : row.label,
@@ -571,7 +577,7 @@ function ConnectStep({
571
577
  if (!hasSessionWallet && handleConnect) {
572
578
  cryptoRows.push(
573
579
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
574
- _chunkHMUGY66Ocjs.ListRow,
580
+ _chunkCXRH5MKOcjs.ListRow,
575
581
  {
576
582
  leading: WALLET_LEADING,
577
583
  title: "Connect wallet",
@@ -586,7 +592,7 @@ function ConnectStep({
586
592
  if (onSelectFundFromExchange) {
587
593
  cryptoRows.push(
588
594
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
589
- _chunkHMUGY66Ocjs.ListRow,
595
+ _chunkCXRH5MKOcjs.ListRow,
590
596
  {
591
597
  leading: EXCHANGE_LEADING,
592
598
  title: "Connect exchange",
@@ -601,7 +607,7 @@ function ConnectStep({
601
607
  if (onSelectMigrateAssets) {
602
608
  cryptoRows.push(
603
609
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
604
- _chunkHMUGY66Ocjs.ListRow,
610
+ _chunkCXRH5MKOcjs.ListRow,
605
611
  {
606
612
  leading: MIGRATE_ASSETS_LEADING,
607
613
  title: "Migrate assets",
@@ -622,7 +628,7 @@ function ConnectStep({
622
628
  for (const opt of fiatPaymentMethods) {
623
629
  cashRows.push(
624
630
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
625
- _chunkHMUGY66Ocjs.ListRow,
631
+ _chunkCXRH5MKOcjs.ListRow,
626
632
  {
627
633
  leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FiatMethodIcon, { option: opt }),
628
634
  title: opt.label,
@@ -637,7 +643,7 @@ function ConnectStep({
637
643
  } else if (fiatLoading) {
638
644
  cashRows.push(
639
645
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
640
- _chunkHMUGY66Ocjs.ListRow,
646
+ _chunkCXRH5MKOcjs.ListRow,
641
647
  {
642
648
  leading: SMALL_SPINNER,
643
649
  title: "Loading payment options\u2026",
@@ -666,9 +672,9 @@ function ConnectStep({
666
672
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
667
673
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
668
674
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
669
- _chunkHMUGY66Ocjs.BodyHeader,
675
+ _chunkG264OM23cjs.BodyHeader,
670
676
  {
671
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.HandCoinsIcon, {}),
677
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.HandCoinsIcon, {}),
672
678
  title,
673
679
  subtitle: _nullishCoalesce(subtitle, () => ( defaultSubtitle)),
674
680
  aside: showToggle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -685,6 +691,7 @@ function ConnectStep({
685
691
  ) : void 0
686
692
  }
687
693
  ),
694
+ fiatNotice && (activeTab === "cash" || !hasCash) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "warning", children: fiatNotice }),
688
695
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
689
696
  "div",
690
697
  {
@@ -704,7 +711,7 @@ function ConnectStep({
704
711
  children: "Disconnect wallet"
705
712
  }
706
713
  ) }),
707
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
714
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
708
715
  ] });
709
716
  }
710
717
  ConnectStep.displayName = "ConnectStep";
@@ -727,18 +734,18 @@ function AssetSelectStep({
727
734
  const [selectedAssetId, setSelectedAssetId] = _react.useState.call(void 0, null);
728
735
  const [loading, setLoading] = _react.useState.call(void 0, true);
729
736
  const [error, setError] = _react.useState.call(void 0, null);
730
- const isDepositChain = _chunkHMUGY66Ocjs.useIsDepositChain.call(void 0, );
731
- const isExcludedByRestrictedList = _chunkHMUGY66Ocjs.useRestrictedListExclusion.call(void 0, );
732
- const { catalog } = _chunkHMUGY66Ocjs.useChainCatalog.call(void 0, );
733
- const chainName = _chunkHMUGY66Ocjs.useChainName.call(void 0, );
737
+ const isDepositChain = _chunkCXRH5MKOcjs.useIsDepositChain.call(void 0, );
738
+ const isExcludedByRestrictedList = _chunkCXRH5MKOcjs.useRestrictedListExclusion.call(void 0, );
739
+ const { catalog } = _chunkCXRH5MKOcjs.useChainCatalog.call(void 0, );
740
+ const chainName = _chunkCXRH5MKOcjs.useChainName.call(void 0, );
734
741
  const defaultAssetId = _react.useMemo.call(void 0, () => {
735
742
  if (!defaultSourceChain || !defaultSourceToken) return null;
736
- return _chunkHMUGY66Ocjs.getAssetId.call(void 0, {
743
+ return _chunkCXRH5MKOcjs.getAssetId.call(void 0, {
737
744
  chainId: defaultSourceChain,
738
745
  token: defaultSourceToken
739
746
  });
740
747
  }, [defaultSourceChain, defaultSourceToken]);
741
- const onTotalBalanceComputedRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onTotalBalanceComputed);
748
+ const onTotalBalanceComputedRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onTotalBalanceComputed);
742
749
  _react.useEffect.call(void 0, () => {
743
750
  let active = true;
744
751
  function emitAssetsUpdate(currentAssets) {
@@ -758,11 +765,11 @@ function AssetSelectStep({
758
765
  try {
759
766
  const portfolio = await service.fetchPortfolio(address);
760
767
  if (!active) return;
761
- const portfolioAssets = _chunkHMUGY66Ocjs.portfolioToAssets.call(void 0, portfolio.tokens);
768
+ const portfolioAssets = _chunkCXRH5MKOcjs.portfolioToAssets.call(void 0, portfolio.tokens);
762
769
  setAssets(portfolioAssets);
763
770
  emitAssetsUpdate(portfolioAssets);
764
771
  const hasNative = portfolioAssets.some(
765
- (asset) => asset.token.toLowerCase() === _chunkOY5N3E6Lcjs.NATIVE_TOKEN_ADDRESS
772
+ (asset) => asset.token.toLowerCase() === _chunkFKJ6EJHHcjs.NATIVE_TOKEN_ADDRESS
766
773
  );
767
774
  if (!hasNative) {
768
775
  const connectedChainId = _optionalChain([publicClient, 'access', _11 => _11.chain, 'optionalAccess', _12 => _12.id]);
@@ -801,7 +808,7 @@ function AssetSelectStep({
801
808
  isDepositChain,
802
809
  catalog
803
810
  ]);
804
- const rows = _react.useMemo.call(void 0, () => {
811
+ const filteredRows = _react.useMemo.call(void 0, () => {
805
812
  return assets.filter((a) => {
806
813
  if (!isDepositChain(a.chainId)) return false;
807
814
  try {
@@ -809,7 +816,7 @@ function AssetSelectStep({
809
816
  } catch (e2) {
810
817
  return false;
811
818
  }
812
- const isNativeToken = a.token.toLowerCase() === _chunkOY5N3E6Lcjs.NATIVE_TOKEN_ADDRESS;
819
+ const isNativeToken = a.token.toLowerCase() === _chunkFKJ6EJHHcjs.NATIVE_TOKEN_ADDRESS;
813
820
  if (isNativeToken && isExcludedByRestrictedList(a.chainId, a.token)) {
814
821
  return false;
815
822
  }
@@ -827,6 +834,20 @@ function AssetSelectStep({
827
834
  return 0;
828
835
  });
829
836
  }, [assets, isDepositChain, isExcludedByRestrictedList]);
837
+ const displays = _chunkCXRH5MKOcjs.useTokenDisplays.call(void 0,
838
+ filteredRows.map((asset) => ({
839
+ chain: asset.chainId,
840
+ address: asset.token,
841
+ fallback: { symbol: asset.symbol, decimals: asset.decimals }
842
+ }))
843
+ );
844
+ const rows = _react.useMemo.call(void 0,
845
+ () => filteredRows.map((asset, i) => {
846
+ const symbol = _nullishCoalesce(_optionalChain([displays, 'access', _16 => _16[i], 'optionalAccess', _17 => _17.symbol]), () => ( asset.symbol));
847
+ return symbol === asset.symbol ? asset : { ...asset, symbol, name: symbol };
848
+ }),
849
+ [filteredRows, displays]
850
+ );
830
851
  _react.useEffect.call(void 0, () => {
831
852
  if (!defaultAssetId || selectedAssetId) return;
832
853
  if (rows.some((asset) => asset.id === defaultAssetId)) {
@@ -840,7 +861,7 @@ function AssetSelectStep({
840
861
  const raw = _viem.formatUnits.call(void 0, BigInt(asset.balance), asset.decimals);
841
862
  const numeric = Number(raw);
842
863
  if (!Number.isFinite(numeric)) return raw;
843
- return _chunkHMUGY66Ocjs.tokenFormatter.format(numeric);
864
+ return _chunkCXRH5MKOcjs.tokenFormatter.format(numeric);
844
865
  } catch (e3) {
845
866
  return asset.balance;
846
867
  }
@@ -848,20 +869,20 @@ function AssetSelectStep({
848
869
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
849
870
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
850
871
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
851
- _chunkHMUGY66Ocjs.BodyHeader,
872
+ _chunkG264OM23cjs.BodyHeader,
852
873
  {
853
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}),
874
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}),
854
875
  title: "Your assets",
855
876
  subtitle: "Select source assets to transfer"
856
877
  }
857
878
  ),
858
879
  loading && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-loading-state", style: { padding: "40px 12px" }, children: [
859
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, { className: "rs-text-tertiary" }),
880
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, { className: "rs-text-tertiary" }),
860
881
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-text-sm rs-text-tertiary", children: "Loading balances" })
861
882
  ] }),
862
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: error }),
883
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
863
884
  !loading && !error && rows.length === 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-empty-state", children: [
864
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, { className: "rs-empty-icon" }),
885
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, { className: "rs-empty-icon" }),
865
886
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-empty-text", children: "No funds in connected wallet" }),
866
887
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-empty-address", children: [
867
888
  address.slice(0, 6),
@@ -881,8 +902,8 @@ function AssetSelectStep({
881
902
  !loading && !error && rows.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-list", children: rows.map((asset) => {
882
903
  const isSelected = selectedAssetId === asset.id;
883
904
  const tokenAmount = formatBalance(asset);
884
- const badge = _chunkOY5N3E6Lcjs.getChainBadge.call(void 0, asset.chainId);
885
- const chainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, asset.chainId);
905
+ const badge = _chunkFKJ6EJHHcjs.getChainBadge.call(void 0, asset.chainId);
906
+ const chainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, asset.chainId);
886
907
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
887
908
  "button",
888
909
  {
@@ -894,13 +915,14 @@ function AssetSelectStep({
894
915
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-info", children: [
895
916
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-icon-wrapper", children: [
896
917
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
897
- _chunkHMUGY66Ocjs.TokenIcon,
918
+ _chunkCXRH5MKOcjs.TokenIcon,
898
919
  {
920
+ token: { chain: asset.chainId, address: asset.token },
899
921
  symbol: asset.symbol,
900
922
  fallback: asset.symbol.slice(0, 4)
901
923
  }
902
924
  ) }),
903
- chainIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: chainIcon, alt: chainName(asset.chainId) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
925
+ chainIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: chainIcon, alt: chainName(asset.chainId) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
904
926
  "span",
905
927
  {
906
928
  className: "rs-asset-chain-badge",
@@ -927,14 +949,14 @@ function AssetSelectStep({
927
949
  ] })
928
950
  ] })
929
951
  ] }),
930
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-balance", children: asset.balanceUsd !== void 0 && asset.balanceUsd > 0 ? _chunkHMUGY66Ocjs.currencyFormatter.format(asset.balanceUsd) : tokenAmount !== "--" ? `${tokenAmount} ${asset.symbol}` : "--" })
952
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-balance", children: asset.balanceUsd !== void 0 && asset.balanceUsd > 0 ? _chunkCXRH5MKOcjs.currencyFormatter.format(asset.balanceUsd) : tokenAmount !== "--" ? `${tokenAmount} ${asset.symbol}` : "--" })
931
953
  ]
932
954
  },
933
955
  asset.id
934
956
  );
935
957
  }) }),
936
958
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
937
- _chunkHMUGY66Ocjs.Button,
959
+ _chunkCXRH5MKOcjs.Button,
938
960
  {
939
961
  onClick: () => selectedAsset && onContinue(selectedAsset),
940
962
  disabled: !selectedAsset,
@@ -943,28 +965,28 @@ function AssetSelectStep({
943
965
  }
944
966
  )
945
967
  ] }),
946
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
947
969
  ] });
948
970
  }
949
971
  async function fetchNativeAssets(address, publicClient, existing, isDepositChain, catalogChain) {
950
972
  const existingIds = new Set(existing.map((asset) => asset.id));
951
- const connectedChainId = _optionalChain([publicClient, 'access', _16 => _16.chain, 'optionalAccess', _17 => _17.id]);
973
+ const connectedChainId = _optionalChain([publicClient, 'access', _18 => _18.chain, 'optionalAccess', _19 => _19.id]);
952
974
  if (!connectedChainId) return [];
953
975
  if (!isDepositChain(connectedChainId)) return [];
954
- const id = _chunkHMUGY66Ocjs.getAssetId.call(void 0, {
976
+ const id = _chunkCXRH5MKOcjs.getAssetId.call(void 0, {
955
977
  chainId: connectedChainId,
956
- token: _chunkOY5N3E6Lcjs.NATIVE_TOKEN_ADDRESS
978
+ token: _chunkFKJ6EJHHcjs.NATIVE_TOKEN_ADDRESS
957
979
  });
958
980
  if (existingIds.has(id)) return [];
959
981
  try {
960
982
  const balance = await publicClient.getBalance({ address });
961
- const nativeSymbol = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _18 => _18.nativeToken, 'access', _19 => _19.symbol]), () => ( _chunkOY5N3E6Lcjs.getNativeSymbol.call(void 0, connectedChainId)));
962
- const nativeDecimals = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _20 => _20.nativeToken, 'access', _21 => _21.decimals]), () => ( 18));
983
+ const nativeSymbol = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _20 => _20.nativeToken, 'access', _21 => _21.symbol]), () => ( "Token"));
984
+ const nativeDecimals = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _22 => _22.nativeToken, 'access', _23 => _23.decimals]), () => ( 18));
963
985
  return [
964
986
  {
965
987
  id,
966
988
  chainId: connectedChainId,
967
- token: _chunkOY5N3E6Lcjs.NATIVE_TOKEN_ADDRESS,
989
+ token: _chunkFKJ6EJHHcjs.NATIVE_TOKEN_ADDRESS,
968
990
  symbol: nativeSymbol,
969
991
  name: nativeSymbol,
970
992
  decimals: nativeDecimals,
@@ -1084,7 +1106,7 @@ function AnimatedAmountInput({
1084
1106
  // src/components/steps/AmountStep.tsx
1085
1107
 
1086
1108
  function requiredSourceAmount(quote, decimals) {
1087
- const raw = _optionalChain([quote, 'optionalAccess', _22 => _22.input, 'optionalAccess', _23 => _23.amount]);
1109
+ const raw = _optionalChain([quote, 'optionalAccess', _24 => _24.input, 'optionalAccess', _25 => _25.amount]);
1088
1110
  if (raw === void 0) return null;
1089
1111
  try {
1090
1112
  return _viem.formatUnits.call(void 0, BigInt(raw), decimals);
@@ -1135,13 +1157,13 @@ function AmountStep({
1135
1157
  const [paymentQuote, setPaymentQuote] = _react.useState.call(void 0, "loading");
1136
1158
  const hasAttemptedSwitch = _react.useRef.call(void 0, false);
1137
1159
  const hasAppliedDefaultRef = _react.useRef.call(void 0, false);
1138
- const isMaxDefault = _optionalChain([defaultAmount, 'optionalAccess', _24 => _24.trim, 'call', _25 => _25(), 'access', _26 => _26.toLowerCase, 'call', _27 => _27()]) === "max";
1160
+ const isMaxDefault = _optionalChain([defaultAmount, 'optionalAccess', _26 => _26.trim, 'call', _27 => _27(), 'access', _28 => _28.toLowerCase, 'call', _29 => _29()]) === "max";
1139
1161
  const chainMismatch = Boolean(
1140
- _optionalChain([walletClient, 'optionalAccess', _28 => _28.chain, 'optionalAccess', _29 => _29.id]) && walletClient.chain.id !== asset.chainId
1162
+ _optionalChain([walletClient, 'optionalAccess', _30 => _30.chain, 'optionalAccess', _31 => _31.id]) && walletClient.chain.id !== asset.chainId
1141
1163
  );
1142
- const targetChainId = _chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain);
1143
- const targetSymbol = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
1144
- const isSourceStablecoin = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, asset.symbol);
1164
+ const targetChainId = _chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain);
1165
+ const targetSymbol = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0, targetChainId, targetToken).symbol;
1166
+ const isSourceStablecoin = _chunkFKJ6EJHHcjs.isStablecoinSymbol.call(void 0, asset.symbol);
1145
1167
  const derivedPriceUsd = _react.useMemo.call(void 0, () => {
1146
1168
  if (tokenPriceUsdOverride !== void 0 && tokenPriceUsdOverride > 0)
1147
1169
  return tokenPriceUsdOverride;
@@ -1170,7 +1192,7 @@ function AmountStep({
1170
1192
  const balanceTarget = _nullishCoalesce(balanceAddress, () => ( address));
1171
1193
  if (!balanceTarget || !publicClient) return;
1172
1194
  try {
1173
- const bal = _chunkHMUGY66Ocjs.isNativeAsset.call(void 0, asset) ? await publicClient.getBalance({ address: balanceTarget }) : await publicClient.readContract({
1195
+ const bal = _chunkCXRH5MKOcjs.isNativeAsset.call(void 0, asset) ? await publicClient.getBalance({ address: balanceTarget }) : await publicClient.readContract({
1174
1196
  address: asset.token,
1175
1197
  abi: _viem.erc20Abi,
1176
1198
  functionName: "balanceOf",
@@ -1191,7 +1213,7 @@ function AmountStep({
1191
1213
  hasAttemptedSwitch.current = true;
1192
1214
  switchChain(asset.chainId).catch((err) => {
1193
1215
  const raw = err instanceof Error ? err.message : "Failed to switch chain";
1194
- setError(_chunkHMUGY66Ocjs.formatUserError.call(void 0, raw));
1216
+ setError(_chunkCXRH5MKOcjs.formatUserError.call(void 0, raw));
1195
1217
  });
1196
1218
  }
1197
1219
  }, [chainMismatch, switchChain, asset.chainId]);
@@ -1244,7 +1266,7 @@ function AmountStep({
1244
1266
  const raw = _viem.formatUnits.call(void 0, balance, asset.decimals);
1245
1267
  const numeric = Number(raw);
1246
1268
  if (!Number.isFinite(numeric)) return raw;
1247
- return _chunkHMUGY66Ocjs.tokenFormatter.format(numeric);
1269
+ return _chunkCXRH5MKOcjs.tokenFormatter.format(numeric);
1248
1270
  } catch (e9) {
1249
1271
  return "\u2026";
1250
1272
  }
@@ -1278,15 +1300,15 @@ function AmountStep({
1278
1300
  tokenPriceUsd,
1279
1301
  asset.decimals
1280
1302
  ]);
1281
- const minDepositUsd = _chunkOY5N3E6Lcjs.isHyperCoreDestination.call(void 0, targetChain) ? Math.max(_chunkOY5N3E6Lcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _30 => _30.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _31 => _31.minDepositUsd]), () => ( null));
1282
- const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _32 => _32.maxDepositUsd]), () => ( null));
1303
+ const minDepositUsd = _chunkFKJ6EJHHcjs.isHyperCoreDestination.call(void 0, targetChain) ? Math.max(_chunkFKJ6EJHHcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _32 => _32.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _33 => _33.minDepositUsd]), () => ( null));
1304
+ const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _34 => _34.maxDepositUsd]), () => ( null));
1283
1305
  const isBelowMin = minDepositUsd !== null && numericAmount > 0 && amountUsd < minDepositUsd;
1284
1306
  const isAboveMax = maxDepositUsd !== null && amountUsd > maxDepositUsd;
1285
1307
  const exceedsBalance = Boolean(
1286
1308
  sourceAmountUnits !== null && balance !== null && sourceAmountUnits > balance
1287
1309
  );
1288
- const boundsFor = _chunkHMUGY66Ocjs.useDepositBounds.call(void 0, );
1289
- const boundViolation = _chunkHMUGY66Ocjs.depositBoundsViolation.call(void 0,
1310
+ const boundsFor = _chunkCXRH5MKOcjs.useDepositBounds.call(void 0, );
1311
+ const boundViolation = _chunkCXRH5MKOcjs.depositBoundsViolation.call(void 0,
1290
1312
  boundsFor(asset.chainId, asset.token),
1291
1313
  sourceAmountUnits
1292
1314
  );
@@ -1323,7 +1345,7 @@ function AmountStep({
1323
1345
  ]);
1324
1346
  const handlePresetClick = (percentage) => {
1325
1347
  if (balance === null) return;
1326
- _optionalChain([onCtaClick, 'optionalCall', _33 => _33(percentage === 100 ? "Max" : `${percentage}%`)]);
1348
+ _optionalChain([onCtaClick, 'optionalCall', _35 => _35(percentage === 100 ? "Max" : `${percentage}%`)]);
1327
1349
  const next = formatAmountFromBalance(
1328
1350
  balance,
1329
1351
  asset.decimals,
@@ -1351,7 +1373,7 @@ function AmountStep({
1351
1373
  return;
1352
1374
  }
1353
1375
  setError(null);
1354
- _optionalChain([onCtaClick, 'optionalCall', _34 => _34("continue")]);
1376
+ _optionalChain([onCtaClick, 'optionalCall', _36 => _36("continue")]);
1355
1377
  const lockedUnits = Number(lockedAmount);
1356
1378
  const usd = isSourceStablecoin || !hasPricing ? lockedUnits : lockedUnits * (_nullishCoalesce(tokenPriceUsd, () => ( 1)));
1357
1379
  onContinue(lockedAmount, usd.toString(), _nullishCoalesce(balance, () => ( void 0)));
@@ -1383,7 +1405,7 @@ function AmountStep({
1383
1405
  return;
1384
1406
  }
1385
1407
  setError(null);
1386
- _optionalChain([onCtaClick, 'optionalCall', _35 => _35("continue")]);
1408
+ _optionalChain([onCtaClick, 'optionalCall', _37 => _37("continue")]);
1387
1409
  onContinue(
1388
1410
  sourceAmount.toString(),
1389
1411
  effectiveAmount.toString(),
@@ -1401,15 +1423,15 @@ function AmountStep({
1401
1423
  // that way and the payer has to be told, not left on a dead button.
1402
1424
  chainMismatch || lockedAmount === null || exceedsBalance || boundViolation !== null || knowsBalance && balance === null
1403
1425
  ) : chainMismatch || exceedsBalance || boundViolation !== null || blockedOnPricing || numericAmount === 0 && !isBelowMin || knowsBalance && balance === null;
1404
- const chainName = _chunkHMUGY66Ocjs.useChainName.call(void 0, );
1426
+ const chainName = _chunkCXRH5MKOcjs.useChainName.call(void 0, );
1405
1427
  const sourceChainName = chainName(asset.chainId);
1406
1428
  const targetChainName = chainName(targetChainId);
1407
1429
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
1408
1430
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
1409
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}), title }),
1431
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}), title }),
1410
1432
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-section", children: [
1411
1433
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-display", children: [
1412
- payment ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-amount-fixed", "aria-label": "Amount to pay", children: lockedAmount ? `${_chunkHMUGY66Ocjs.tokenFormatter.format(Number(lockedAmount))} ${asset.symbol}` : "\u2014" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1434
+ payment ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-amount-fixed", "aria-label": "Amount to pay", children: lockedAmount ? `${_chunkCXRH5MKOcjs.tokenFormatter.format(Number(lockedAmount))} ${asset.symbol}` : "\u2014" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1413
1435
  AnimatedAmountInput,
1414
1436
  {
1415
1437
  value: amount,
@@ -1426,13 +1448,13 @@ function AmountStep({
1426
1448
  " available",
1427
1449
  balanceUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1428
1450
  " (~",
1429
- _chunkHMUGY66Ocjs.currencyFormatter.format(balanceUsd),
1451
+ _chunkCXRH5MKOcjs.currencyFormatter.format(balanceUsd),
1430
1452
  ")"
1431
1453
  ] })
1432
1454
  ] }),
1433
1455
  minDepositUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-meta-minimum", children: [
1434
1456
  "Min. deposit ",
1435
- _chunkHMUGY66Ocjs.currencyFormatter.format(minDepositUsd)
1457
+ _chunkCXRH5MKOcjs.currencyFormatter.format(minDepositUsd)
1436
1458
  ] })
1437
1459
  ] })
1438
1460
  ] }),
@@ -1457,7 +1479,13 @@ function AmountStep({
1457
1479
  " ",
1458
1480
  asset.symbol
1459
1481
  ] }),
1460
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: asset.symbol }) })
1482
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1483
+ _chunkCXRH5MKOcjs.TokenIcon,
1484
+ {
1485
+ token: { chain: asset.chainId, address: asset.token },
1486
+ symbol: asset.symbol
1487
+ }
1488
+ ) })
1461
1489
  ] })
1462
1490
  ] }),
1463
1491
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
@@ -1468,15 +1496,21 @@ function AmountStep({
1468
1496
  " ",
1469
1497
  targetSymbol
1470
1498
  ] }),
1471
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: targetSymbol }) })
1499
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1500
+ _chunkCXRH5MKOcjs.TokenIcon,
1501
+ {
1502
+ token: { chain: targetChainId, address: targetToken },
1503
+ symbol: targetSymbol
1504
+ }
1505
+ ) })
1472
1506
  ] })
1473
1507
  ] }),
1474
1508
  balanceAfterUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
1475
1509
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Balance after deposit" }),
1476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-value", children: _chunkHMUGY66Ocjs.currencyFormatter.format(balanceAfterUsd) })
1510
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-value", children: _chunkCXRH5MKOcjs.currencyFormatter.format(balanceAfterUsd) })
1477
1511
  ] })
1478
1512
  ] }),
1479
- payment && paymentQuote === "unavailable" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: [
1513
+ payment && paymentQuote === "unavailable" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: [
1480
1514
  "This payment can't be priced from ",
1481
1515
  asset.symbol,
1482
1516
  " on",
@@ -1484,13 +1518,13 @@ function AmountStep({
1484
1518
  sourceChainName,
1485
1519
  " right now. Try another asset."
1486
1520
  ] }),
1487
- blockedOnPricing && sourcePriceUnavailable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: [
1521
+ blockedOnPricing && sourcePriceUnavailable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: [
1488
1522
  asset.symbol,
1489
1523
  " can't be priced right now, so this deposit can't be estimated. You can still send any amount to the deposit address."
1490
1524
  ] }),
1491
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: error }),
1525
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
1492
1526
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1493
- _chunkHMUGY66Ocjs.Button,
1527
+ _chunkCXRH5MKOcjs.Button,
1494
1528
  {
1495
1529
  onClick: handleContinue,
1496
1530
  fullWidth: true,
@@ -1499,7 +1533,7 @@ function AmountStep({
1499
1533
  }
1500
1534
  )
1501
1535
  ] }),
1502
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
1536
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
1503
1537
  ] });
1504
1538
  }
1505
1539
 
@@ -1517,8 +1551,10 @@ function ReviewDetails({
1517
1551
  estimatedTime,
1518
1552
  sendAmount,
1519
1553
  sendSymbol,
1554
+ sendToken,
1520
1555
  receiveDisplay,
1521
1556
  receiveSymbol,
1557
+ receiveToken,
1522
1558
  fee
1523
1559
  }) {
1524
1560
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-details", children: [
@@ -1526,14 +1562,14 @@ function ReviewDetails({
1526
1562
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Source chain" }),
1527
1563
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
1528
1564
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: sourceChainName }),
1529
- sourceChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: sourceChainIcon }) })
1565
+ sourceChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: sourceChainIcon }) })
1530
1566
  ] })
1531
1567
  ] }),
1532
1568
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
1533
1569
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Destination chain" }),
1534
1570
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
1535
1571
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: targetChainName }),
1536
- targetChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: targetChainIcon }) })
1572
+ targetChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: targetChainIcon }) })
1537
1573
  ] })
1538
1574
  ] }),
1539
1575
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
@@ -1548,21 +1584,21 @@ function ReviewDetails({
1548
1584
  " ",
1549
1585
  sendSymbol
1550
1586
  ] }),
1551
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: sendSymbol }) })
1587
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.TokenIcon, { token: sendToken, symbol: sendSymbol }) })
1552
1588
  ] })
1553
1589
  ] }),
1554
1590
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
1555
1591
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Receive" }),
1556
1592
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
1557
1593
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: receiveDisplay }),
1558
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: receiveSymbol }) })
1594
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.TokenIcon, { token: receiveToken, symbol: receiveSymbol }) })
1559
1595
  ] })
1560
1596
  ] }),
1561
1597
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
1562
1598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Fees" }),
1563
1599
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
1564
1600
  fee.display === null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-skeleton rs-skeleton-fee", "aria-hidden": "true" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { style: fee.struck ? { textDecoration: "line-through" } : void 0, children: fee.display }),
1565
- fee.tooltip !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Tooltip, { content: fee.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-info", "aria-label": "Fee info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.InfoIcon, {}) }) })
1601
+ fee.tooltip !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Tooltip, { content: fee.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-info", "aria-label": "Fee info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.InfoIcon, {}) }) })
1566
1602
  ] })
1567
1603
  ] })
1568
1604
  ] });
@@ -1596,45 +1632,45 @@ function validatePermitTypedData(typedData, expected) {
1596
1632
  };
1597
1633
  }
1598
1634
  const { domain, message } = typedData;
1599
- if (!sameAddress(_optionalChain([domain, 'optionalAccess', _36 => _36.verifyingContract]), PERMIT2_ADDRESS)) {
1635
+ if (!sameAddress(_optionalChain([domain, 'optionalAccess', _38 => _38.verifyingContract]), PERMIT2_ADDRESS)) {
1600
1636
  return {
1601
1637
  ok: false,
1602
1638
  reason: `verifyingContract ${String(
1603
- _optionalChain([domain, 'optionalAccess', _37 => _37.verifyingContract])
1639
+ _optionalChain([domain, 'optionalAccess', _39 => _39.verifyingContract])
1604
1640
  )} is not the canonical Permit2`
1605
1641
  };
1606
1642
  }
1607
- const domainChainId = toBigInt(_optionalChain([domain, 'optionalAccess', _38 => _38.chainId]));
1643
+ const domainChainId = toBigInt(_optionalChain([domain, 'optionalAccess', _40 => _40.chainId]));
1608
1644
  if (domainChainId === null || domainChainId !== BigInt(expected.chainId)) {
1609
1645
  return {
1610
1646
  ok: false,
1611
1647
  reason: `domain.chainId ${String(
1612
- _optionalChain([domain, 'optionalAccess', _39 => _39.chainId])
1648
+ _optionalChain([domain, 'optionalAccess', _41 => _41.chainId])
1613
1649
  )} does not match source chain ${expected.chainId}`
1614
1650
  };
1615
1651
  }
1616
- if (!sameAddress(_optionalChain([message, 'optionalAccess', _40 => _40.spender]), expected.spender)) {
1652
+ if (!sameAddress(_optionalChain([message, 'optionalAccess', _42 => _42.spender]), expected.spender)) {
1617
1653
  return {
1618
1654
  ok: false,
1619
- reason: `spender ${String(_optionalChain([message, 'optionalAccess', _41 => _41.spender]))} is not the deposit account`
1655
+ reason: `spender ${String(_optionalChain([message, 'optionalAccess', _43 => _43.spender]))} is not the deposit account`
1620
1656
  };
1621
1657
  }
1622
- const permitted = _optionalChain([message, 'optionalAccess', _42 => _42.permitted]);
1623
- if (!sameAddress(_optionalChain([permitted, 'optionalAccess', _43 => _43.token]), expected.token)) {
1658
+ const permitted = _optionalChain([message, 'optionalAccess', _44 => _44.permitted]);
1659
+ if (!sameAddress(_optionalChain([permitted, 'optionalAccess', _45 => _45.token]), expected.token)) {
1624
1660
  return {
1625
1661
  ok: false,
1626
1662
  reason: `permitted.token ${String(
1627
- _optionalChain([permitted, 'optionalAccess', _44 => _44.token])
1663
+ _optionalChain([permitted, 'optionalAccess', _46 => _46.token])
1628
1664
  )} is not the confirmed token`
1629
1665
  };
1630
1666
  }
1631
- const permittedAmount = toBigInt(_optionalChain([permitted, 'optionalAccess', _45 => _45.amount]));
1667
+ const permittedAmount = toBigInt(_optionalChain([permitted, 'optionalAccess', _47 => _47.amount]));
1632
1668
  const expectedAmount = toBigInt(expected.amount);
1633
1669
  if (permittedAmount === null || expectedAmount === null || permittedAmount !== expectedAmount) {
1634
1670
  return {
1635
1671
  ok: false,
1636
1672
  reason: `permitted.amount ${String(
1637
- _optionalChain([permitted, 'optionalAccess', _46 => _46.amount])
1673
+ _optionalChain([permitted, 'optionalAccess', _48 => _48.amount])
1638
1674
  )} does not match the confirmed amount ${expected.amount}`
1639
1675
  };
1640
1676
  }
@@ -1648,24 +1684,24 @@ function sameInteger(a, b) {
1648
1684
  function validatePreparedAuthorization(authorization, expected) {
1649
1685
  const { typedData } = authorization;
1650
1686
  const { domain, message } = typedData;
1651
- const domainChainId = toBigInt(_optionalChain([domain, 'optionalAccess', _47 => _47.chainId]));
1687
+ const domainChainId = toBigInt(_optionalChain([domain, 'optionalAccess', _49 => _49.chainId]));
1652
1688
  if (domainChainId === null || domainChainId !== BigInt(expected.chainId)) {
1653
1689
  return {
1654
1690
  ok: false,
1655
1691
  reason: `domain.chainId ${String(
1656
- _optionalChain([domain, 'optionalAccess', _48 => _48.chainId])
1692
+ _optionalChain([domain, 'optionalAccess', _50 => _50.chainId])
1657
1693
  )} does not match source chain ${expected.chainId}`
1658
1694
  };
1659
1695
  }
1660
1696
  if (authorization.kind === "permit2") {
1661
1697
  const verdict = validatePermitTypedData(typedData, expected);
1662
1698
  if (!verdict.ok) return verdict;
1663
- if (!sameInteger(_optionalChain([message, 'optionalAccess', _49 => _49.nonce]), authorization.nonce) || !sameInteger(_optionalChain([message, 'optionalAccess', _50 => _50.deadline]), authorization.deadline)) {
1699
+ if (!sameInteger(_optionalChain([message, 'optionalAccess', _51 => _51.nonce]), authorization.nonce) || !sameInteger(_optionalChain([message, 'optionalAccess', _52 => _52.deadline]), authorization.deadline)) {
1664
1700
  return { ok: false, reason: "Permit2 nonce or deadline mismatch" };
1665
1701
  }
1666
1702
  return { ok: true };
1667
1703
  }
1668
- if (!sameAddress(_optionalChain([domain, 'optionalAccess', _51 => _51.verifyingContract]), expected.token)) {
1704
+ if (!sameAddress(_optionalChain([domain, 'optionalAccess', _53 => _53.verifyingContract]), expected.token)) {
1669
1705
  return {
1670
1706
  ok: false,
1671
1707
  reason: "token-native authorization verifies against the wrong token"
@@ -1675,10 +1711,10 @@ function validatePreparedAuthorization(authorization, expected) {
1675
1711
  if (typedData.primaryType !== "ReceiveWithAuthorization") {
1676
1712
  return { ok: false, reason: "unexpected ERC-3009 primaryType" };
1677
1713
  }
1678
- if (!sameAddress(_optionalChain([message, 'optionalAccess', _52 => _52.from]), expected.owner) || !sameAddress(_optionalChain([message, 'optionalAccess', _53 => _53.to]), expected.spender) || !sameInteger(_optionalChain([message, 'optionalAccess', _54 => _54.value]), expected.amount)) {
1714
+ if (!sameAddress(_optionalChain([message, 'optionalAccess', _54 => _54.from]), expected.owner) || !sameAddress(_optionalChain([message, 'optionalAccess', _55 => _55.to]), expected.spender) || !sameInteger(_optionalChain([message, 'optionalAccess', _56 => _56.value]), expected.amount)) {
1679
1715
  return { ok: false, reason: "ERC-3009 transfer terms do not match" };
1680
1716
  }
1681
- if (typeof _optionalChain([message, 'optionalAccess', _55 => _55.nonce]) !== "string" || message.nonce.toLowerCase() !== authorization.nonce.toLowerCase() || !sameInteger(_optionalChain([message, 'optionalAccess', _56 => _56.validAfter]), authorization.validAfter) || !sameInteger(_optionalChain([message, 'optionalAccess', _57 => _57.validBefore]), authorization.validBefore)) {
1717
+ if (typeof _optionalChain([message, 'optionalAccess', _57 => _57.nonce]) !== "string" || message.nonce.toLowerCase() !== authorization.nonce.toLowerCase() || !sameInteger(_optionalChain([message, 'optionalAccess', _58 => _58.validAfter]), authorization.validAfter) || !sameInteger(_optionalChain([message, 'optionalAccess', _59 => _59.validBefore]), authorization.validBefore)) {
1682
1718
  return {
1683
1719
  ok: false,
1684
1720
  reason: "ERC-3009 nonce or validity window mismatch"
@@ -1689,10 +1725,10 @@ function validatePreparedAuthorization(authorization, expected) {
1689
1725
  if (typedData.primaryType !== "Permit") {
1690
1726
  return { ok: false, reason: "unexpected ERC-2612 primaryType" };
1691
1727
  }
1692
- if (!sameAddress(_optionalChain([message, 'optionalAccess', _58 => _58.owner]), expected.owner) || !sameAddress(_optionalChain([message, 'optionalAccess', _59 => _59.spender]), expected.spender) || !sameInteger(_optionalChain([message, 'optionalAccess', _60 => _60.value]), expected.amount)) {
1728
+ if (!sameAddress(_optionalChain([message, 'optionalAccess', _60 => _60.owner]), expected.owner) || !sameAddress(_optionalChain([message, 'optionalAccess', _61 => _61.spender]), expected.spender) || !sameInteger(_optionalChain([message, 'optionalAccess', _62 => _62.value]), expected.amount)) {
1693
1729
  return { ok: false, reason: "ERC-2612 permit terms do not match" };
1694
1730
  }
1695
- if (!sameInteger(_optionalChain([message, 'optionalAccess', _61 => _61.nonce]), authorization.nonce) || !sameInteger(_optionalChain([message, 'optionalAccess', _62 => _62.deadline]), authorization.deadline)) {
1731
+ if (!sameInteger(_optionalChain([message, 'optionalAccess', _63 => _63.nonce]), authorization.nonce) || !sameInteger(_optionalChain([message, 'optionalAccess', _64 => _64.deadline]), authorization.deadline)) {
1696
1732
  return { ok: false, reason: "ERC-2612 nonce or deadline mismatch" };
1697
1733
  }
1698
1734
  return { ok: true };
@@ -1764,11 +1800,11 @@ function ConfirmStep({
1764
1800
  const onSubmittingChangeRef = _react.useRef.call(void 0, onSubmittingChange);
1765
1801
  onSubmittingChangeRef.current = onSubmittingChange;
1766
1802
  _react.useEffect.call(void 0, () => {
1767
- _optionalChain([onSubmittingChangeRef, 'access', _63 => _63.current, 'optionalCall', _64 => _64(isSubmitting)]);
1768
- return () => _optionalChain([onSubmittingChangeRef, 'access', _65 => _65.current, 'optionalCall', _66 => _66(false)]);
1803
+ _optionalChain([onSubmittingChangeRef, 'access', _65 => _65.current, 'optionalCall', _66 => _66(isSubmitting)]);
1804
+ return () => _optionalChain([onSubmittingChangeRef, 'access', _67 => _67.current, 'optionalCall', _68 => _68(false)]);
1769
1805
  }, [isSubmitting]);
1770
1806
  const chainMismatch = Boolean(
1771
- _optionalChain([walletClient, 'optionalAccess', _67 => _67.chain, 'optionalAccess', _68 => _68.id]) && walletClient.chain.id !== asset.chainId
1807
+ _optionalChain([walletClient, 'optionalAccess', _69 => _69.chain, 'optionalAccess', _70 => _70.id]) && walletClient.chain.id !== asset.chainId
1772
1808
  );
1773
1809
  const sameRoute = targetChain === asset.chainId && targetToken.toLowerCase() === asset.token.toLowerCase();
1774
1810
  const quoteSource = isDappImportAsset(asset) ? { chainId: asset.depositChainId, token: asset.depositToken } : { chainId: asset.chainId, token: asset.token };
@@ -1783,24 +1819,26 @@ function ConfirmStep({
1783
1819
  targetToken,
1784
1820
  recipient
1785
1821
  ]);
1786
- const quote = setupReady && _optionalChain([quoteResult, 'optionalAccess', _69 => _69.requestKey]) === quoteRequestKey ? quoteResult.quote : null;
1787
- const targetChainId = _chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain);
1788
- const targetSymbol = sameRoute ? asset.symbol : _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
1789
- const sourceChainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, asset.chainId);
1790
- const targetChainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, targetChainId);
1791
- const sourceChainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, asset.chainId);
1792
- const targetChainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, targetChainId);
1793
- const formattedSendAmount = amount && Number.isFinite(Number(amount)) ? _nullishCoalesce(_chunkHMUGY66Ocjs.formatTokenAmount.call(void 0, Number(amount), asset.symbol), () => ( "0")) : "0";
1794
- const mustHaveQuote = !appFeesResolved || _chunkHMUGY66Ocjs.resolveAppFeeBps.call(void 0,
1822
+ const quote = setupReady && _optionalChain([quoteResult, 'optionalAccess', _71 => _71.requestKey]) === quoteRequestKey ? quoteResult.quote : null;
1823
+ const targetChainId = _chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain);
1824
+ const resolvedTargetSymbol = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0, targetChainId, targetToken).symbol;
1825
+ const targetSymbol = sameRoute ? asset.symbol : resolvedTargetSymbol;
1826
+ const sourceTrusted = _chunkCXRH5MKOcjs.useIsRecognizedToken.call(void 0, asset.chainId, asset.token);
1827
+ const sourceChainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, asset.chainId);
1828
+ const targetChainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, targetChainId);
1829
+ const sourceChainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, asset.chainId);
1830
+ const targetChainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, targetChainId);
1831
+ const formattedSendAmount = amount && Number.isFinite(Number(amount)) ? _nullishCoalesce(_chunkCXRH5MKOcjs.formatTokenAmount.call(void 0, Number(amount), asset.symbol), () => ( "0")) : "0";
1832
+ const mustHaveQuote = !appFeesResolved || _chunkCXRH5MKOcjs.resolveAppFeeBps.call(void 0,
1795
1833
  appFees,
1796
1834
  `eip155:${quoteSource.chainId}`,
1797
1835
  quoteSource.token
1798
1836
  ) > 0;
1799
- const { display: feeDisplay, struck: feesFullySponsored } = _chunkHMUGY66Ocjs.quoteFeeRow.call(void 0,
1800
- _optionalChain([quote, 'optionalAccess', _70 => _70.fees])
1837
+ const { display: feeDisplay, struck: feesFullySponsored } = _chunkCXRH5MKOcjs.quoteFeeRow.call(void 0,
1838
+ _optionalChain([quote, 'optionalAccess', _72 => _72.fees])
1801
1839
  );
1802
1840
  const directTransfer = sameRoute && !mustHaveQuote && !executeTransfer && !routeThroughAccount;
1803
- const permitEligible = enableGaslessDeposit && !_chunkHMUGY66Ocjs.isNativeAsset.call(void 0, asset) && !isDappImportAsset(asset) && !executeTransfer && !directTransfer && asset.chainId !== _chunkOY5N3E6Lcjs.HYPERCORE_CHAIN_ID;
1841
+ const permitEligible = enableGaslessDeposit && !_chunkCXRH5MKOcjs.isNativeAsset.call(void 0, asset) && !isDappImportAsset(asset) && !executeTransfer && !directTransfer && asset.chainId !== _chunkFKJ6EJHHcjs.HYPERCORE_CHAIN_ID;
1804
1842
  const permitRequestKey = JSON.stringify([
1805
1843
  smartAccount.toLowerCase(),
1806
1844
  asset.chainId,
@@ -1809,10 +1847,10 @@ function ConfirmStep({
1809
1847
  amount,
1810
1848
  address.toLowerCase()
1811
1849
  ]);
1812
- const permit = permitEligible && !permitDisabled && _optionalChain([permitResult, 'optionalAccess', _71 => _71.requestKey]) === permitRequestKey ? permitResult.prepared : null;
1813
- const boundsFor = _chunkHMUGY66Ocjs.useDepositBounds.call(void 0, );
1814
- const activeRefusal = _nullishCoalesce((_optionalChain([previewRefusal, 'optionalAccess', _72 => _72.requestKey]) === quoteRequestKey ? previewRefusal.refusal : null), () => ( (_optionalChain([permitRefusal, 'optionalAccess', _73 => _73.requestKey]) === permitRequestKey ? permitRefusal.refusal : null)));
1815
- const blockedReason = activeRefusal ? _chunkHMUGY66Ocjs.describePolicyRefusal.call(void 0,
1850
+ const permit = permitEligible && !permitDisabled && _optionalChain([permitResult, 'optionalAccess', _73 => _73.requestKey]) === permitRequestKey ? permitResult.prepared : null;
1851
+ const boundsFor = _chunkCXRH5MKOcjs.useDepositBounds.call(void 0, );
1852
+ const activeRefusal = _nullishCoalesce((_optionalChain([previewRefusal, 'optionalAccess', _74 => _74.requestKey]) === quoteRequestKey ? previewRefusal.refusal : null), () => ( (_optionalChain([permitRefusal, 'optionalAccess', _75 => _75.requestKey]) === permitRequestKey ? permitRefusal.refusal : null)));
1853
+ const blockedReason = activeRefusal ? _chunkCXRH5MKOcjs.describePolicyRefusal.call(void 0,
1816
1854
  activeRefusal,
1817
1855
  boundsFor(quoteSource.chainId, quoteSource.token)
1818
1856
  ) : null;
@@ -1828,33 +1866,33 @@ function ConfirmStep({
1828
1866
  const receiveDisplay = (() => {
1829
1867
  if (directTransfer) return `${formattedSendAmount} ${asset.symbol}`;
1830
1868
  if (quote) {
1831
- const quoted = _chunkHMUGY66Ocjs.formatQuotedReceive.call(void 0, quote.output, targetSymbol);
1869
+ const quoted = _chunkCXRH5MKOcjs.formatQuotedReceive.call(void 0, quote.output, targetSymbol);
1832
1870
  if (quoted !== void 0) return quoted;
1833
1871
  }
1834
1872
  const usdValue = Number(targetAmount);
1835
1873
  const sourceAmountUsd = Number.isFinite(usdValue) && usdValue > 0 ? usdValue : void 0;
1836
- const estimate = _chunkHMUGY66Ocjs.formatReceiveEstimate.call(void 0, {
1874
+ const estimate = _chunkCXRH5MKOcjs.formatReceiveEstimate.call(void 0, {
1837
1875
  sourceAmount: Number.isFinite(Number(amount)) ? Number(amount) : void 0,
1838
1876
  sourceSymbol: asset.symbol,
1839
1877
  targetSymbol,
1840
1878
  sourceAmountUsd,
1841
- sourceTrusted: _chunkHMUGY66Ocjs.isRecognizedToken.call(void 0, asset.token, asset.chainId),
1879
+ sourceTrusted,
1842
1880
  // The target is the curated deposit destination, so a stablecoin target
1843
1881
  // estimates at $1 when unquoted (DepositFlow skips fetching stablecoin
1844
1882
  // target prices). Not applied to the source — that can be a held token.
1845
- prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkHMUGY66Ocjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
1883
+ prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkCXRH5MKOcjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
1846
1884
  });
1847
1885
  if (estimate !== void 0) return estimate;
1848
1886
  return targetSymbol;
1849
1887
  })();
1850
- const servedExpectedSeconds = _nullishCoalesce(_optionalChain([quote, 'optionalAccess', _74 => _74.timing, 'optionalAccess', _75 => _75.expectedSeconds]), () => ( (quote && Number.isFinite(quote.estimatedFillTimeSeconds) ? quote.estimatedFillTimeSeconds : void 0)));
1851
- const estimatedTimeDisplay = servedExpectedSeconds !== void 0 ? _chunkHMUGY66Ocjs.formatExpectedDuration.call(void 0, servedExpectedSeconds) : estimatedTime;
1888
+ const servedExpectedSeconds = _nullishCoalesce(_optionalChain([quote, 'optionalAccess', _76 => _76.timing, 'optionalAccess', _77 => _77.expectedSeconds]), () => ( (quote && Number.isFinite(quote.estimatedFillTimeSeconds) ? quote.estimatedFillTimeSeconds : void 0)));
1889
+ const estimatedTimeDisplay = servedExpectedSeconds !== void 0 ? _chunkCXRH5MKOcjs.formatExpectedDuration.call(void 0, servedExpectedSeconds) : estimatedTime;
1852
1890
  _react.useEffect.call(void 0, () => {
1853
1891
  if (chainMismatch && switchChain && !hasAttemptedSwitch.current) {
1854
1892
  hasAttemptedSwitch.current = true;
1855
1893
  switchChain(asset.chainId).catch((err) => {
1856
1894
  const raw = err instanceof Error ? err.message : "Failed to switch chain";
1857
- setError(_chunkHMUGY66Ocjs.formatUserError.call(void 0, raw));
1895
+ setError(_chunkCXRH5MKOcjs.formatUserError.call(void 0, raw));
1858
1896
  });
1859
1897
  }
1860
1898
  }, [chainMismatch, switchChain, asset.chainId]);
@@ -1882,7 +1920,7 @@ function ConfirmStep({
1882
1920
  }).then((result) => {
1883
1921
  if (cancelled) return;
1884
1922
  setPreviewSettledKey(quoteRequestKey);
1885
- if (_chunkHMUGY66Ocjs.isDepositPolicyRefusal.call(void 0, result)) {
1923
+ if (_chunkCXRH5MKOcjs.isDepositPolicyRefusal.call(void 0, result)) {
1886
1924
  setQuoteResult(null);
1887
1925
  setPreviewRefusal({
1888
1926
  requestKey: quoteRequestKey,
@@ -1932,7 +1970,7 @@ function ConfirmStep({
1932
1970
  if (cancelled) return;
1933
1971
  setPermitSettledKey(permitRequestKey);
1934
1972
  if (prepared === null) return;
1935
- if (_chunkHMUGY66Ocjs.isDepositPolicyRefusal.call(void 0, prepared)) {
1973
+ if (_chunkCXRH5MKOcjs.isDepositPolicyRefusal.call(void 0, prepared)) {
1936
1974
  setPermitRefusal({
1937
1975
  requestKey: permitRequestKey,
1938
1976
  refusal: prepared.policyRefusal
@@ -2067,11 +2105,11 @@ function ConfirmStep({
2067
2105
  );
2068
2106
  } catch (err) {
2069
2107
  const raw = err instanceof Error ? err.message : "Signing failed";
2070
- const safeToTransfer = !submitStarted || err instanceof _chunkHMUGY66Ocjs.PermitDepositSubmitError && err.safeToTransfer;
2108
+ const safeToTransfer = !submitStarted || err instanceof _chunkCXRH5MKOcjs.PermitDepositSubmitError && err.safeToTransfer;
2071
2109
  if (safeToTransfer) setPermitDisabled(true);
2072
- const message = safeToTransfer ? _chunkHMUGY66Ocjs.formatUserError.call(void 0, raw) : "Deposit submission status is uncertain. Check your activity before trying a transfer.";
2110
+ const message = safeToTransfer ? _chunkCXRH5MKOcjs.formatUserError.call(void 0, raw) : "Deposit submission status is uncertain. Check your activity before trying a transfer.";
2073
2111
  setError(message);
2074
- _optionalChain([onError, 'optionalCall', _76 => _76(message, "PERMIT_ERROR", raw)]);
2112
+ _optionalChain([onError, 'optionalCall', _78 => _78(message, "PERMIT_ERROR", raw)]);
2075
2113
  } finally {
2076
2114
  setIsSubmitting(false);
2077
2115
  }
@@ -2090,7 +2128,7 @@ function ConfirmStep({
2090
2128
  const result = await executeTransfer(amountUnits);
2091
2129
  hash = result.txHash;
2092
2130
  resolvedSourceToken = result.sourceToken;
2093
- } else if (_chunkHMUGY66Ocjs.isNativeAsset.call(void 0, asset)) {
2131
+ } else if (_chunkCXRH5MKOcjs.isNativeAsset.call(void 0, asset)) {
2094
2132
  hash = await walletClient.sendTransaction({
2095
2133
  account,
2096
2134
  chain,
@@ -2107,7 +2145,7 @@ function ConfirmStep({
2107
2145
  args: [transferTo, amountUnits]
2108
2146
  });
2109
2147
  }
2110
- _optionalChain([onDepositSubmitted, 'optionalCall', _77 => _77(hash, asset.chainId, amountUnits.toString())]);
2148
+ _optionalChain([onDepositSubmitted, 'optionalCall', _79 => _79(hash, asset.chainId, amountUnits.toString())]);
2111
2149
  onConfirm(
2112
2150
  hash,
2113
2151
  asset.chainId,
@@ -2121,18 +2159,18 @@ function ConfirmStep({
2121
2159
  );
2122
2160
  } catch (err) {
2123
2161
  const raw = err instanceof Error ? err.message : "Transfer failed";
2124
- const uncertain = _chunkHMUGY66Ocjs.isSubmissionUncertain.call(void 0, err);
2125
- const message = uncertain ? "Deposit submission status is uncertain. Check your activity before trying again." : _chunkHMUGY66Ocjs.formatUserError.call(void 0, raw);
2162
+ const uncertain = _chunkCXRH5MKOcjs.isSubmissionUncertain.call(void 0, err);
2163
+ const message = uncertain ? "Deposit submission status is uncertain. Check your activity before trying again." : _chunkCXRH5MKOcjs.formatUserError.call(void 0, raw);
2126
2164
  if (uncertain) setSubmissionUncertain(true);
2127
2165
  setError(message);
2128
- _optionalChain([onError, 'optionalCall', _78 => _78(message, "TRANSFER_ERROR", raw)]);
2166
+ _optionalChain([onError, 'optionalCall', _80 => _80(message, "TRANSFER_ERROR", raw)]);
2129
2167
  } finally {
2130
2168
  setIsSubmitting(false);
2131
2169
  }
2132
2170
  };
2133
2171
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
2134
2172
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
2135
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}), title }),
2173
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}), title }),
2136
2174
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2137
2175
  ReviewDetails,
2138
2176
  {
@@ -2143,14 +2181,16 @@ function ConfirmStep({
2143
2181
  estimatedTime: estimatedTimeDisplay,
2144
2182
  sendAmount: formattedSendAmount,
2145
2183
  sendSymbol: asset.symbol,
2184
+ sendToken: { chain: asset.chainId, address: asset.token },
2146
2185
  receiveDisplay,
2147
2186
  receiveSymbol: targetSymbol,
2187
+ receiveToken: sameRoute ? { chain: asset.chainId, address: asset.token } : { chain: targetChainId, address: targetToken },
2148
2188
  fee: { display: feeDisplay, struck: feesFullySponsored }
2149
2189
  }
2150
2190
  ),
2151
- (_nullishCoalesce(error, () => ( blockedReason))) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: _nullishCoalesce(error, () => ( blockedReason)) }),
2191
+ (_nullishCoalesce(error, () => ( blockedReason))) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: _nullishCoalesce(error, () => ( blockedReason)) }),
2152
2192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2153
- _chunkHMUGY66Ocjs.Button,
2193
+ _chunkCXRH5MKOcjs.Button,
2154
2194
  {
2155
2195
  onClick: handleConfirm,
2156
2196
  loading: isSubmitting,
@@ -2179,7 +2219,7 @@ function ConfirmStep({
2179
2219
  ] }),
2180
2220
  !permit && permitEligible && permitUnavailable && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "rs-gasless-note", children: permitUnavailable === "permit2-approval-required" ? "Gasless unavailable until Permit2 is approved; Continue sends a token transaction." : "This wallet/token cannot use gasless authorization; Continue sends a token transaction." })
2181
2221
  ] }),
2182
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
2222
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
2183
2223
  ] });
2184
2224
  }
2185
2225
 
@@ -2199,9 +2239,10 @@ function QrReviewStep({
2199
2239
  onClose
2200
2240
  }) {
2201
2241
  const [quote, setQuote] = _react.useState.call(void 0, { state: "loading", value: null });
2202
- const targetChainId = _chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain);
2203
- const targetSymbol = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
2204
- const boundsFor = _chunkHMUGY66Ocjs.useDepositBounds.call(void 0, );
2242
+ const targetChainId = _chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain);
2243
+ const targetSymbol = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0, targetChainId, targetToken).symbol;
2244
+ const sourceTrusted = _chunkCXRH5MKOcjs.useIsRecognizedToken.call(void 0, asset.chainId, asset.token);
2245
+ const boundsFor = _chunkCXRH5MKOcjs.useDepositBounds.call(void 0, );
2205
2246
  _react.useEffect.call(void 0, () => {
2206
2247
  let cancelled = false;
2207
2248
  let units;
@@ -2223,7 +2264,7 @@ function QrReviewStep({
2223
2264
  amount: units.toString()
2224
2265
  }).then((result) => {
2225
2266
  if (cancelled) return;
2226
- if (_chunkHMUGY66Ocjs.isDepositPolicyRefusal.call(void 0, result)) {
2267
+ if (_chunkCXRH5MKOcjs.isDepositPolicyRefusal.call(void 0, result)) {
2227
2268
  setQuote({
2228
2269
  state: "refused",
2229
2270
  value: null,
@@ -2241,52 +2282,54 @@ function QrReviewStep({
2241
2282
  cancelled = true;
2242
2283
  };
2243
2284
  }, [service, smartAccount, asset, amount]);
2244
- const formattedSendAmount = _nullishCoalesce(_chunkHMUGY66Ocjs.formatTokenAmount.call(void 0, Number(amount), asset.symbol), () => ( amount));
2285
+ const formattedSendAmount = _nullishCoalesce(_chunkCXRH5MKOcjs.formatTokenAmount.call(void 0, Number(amount), asset.symbol), () => ( amount));
2245
2286
  const receiveDisplay = (() => {
2246
2287
  if (quote.value) {
2247
- const quoted = _chunkHMUGY66Ocjs.formatQuotedReceive.call(void 0, quote.value.output, targetSymbol);
2288
+ const quoted = _chunkCXRH5MKOcjs.formatQuotedReceive.call(void 0, quote.value.output, targetSymbol);
2248
2289
  if (quoted !== void 0) return quoted;
2249
2290
  }
2250
2291
  const usdValue = Number(targetAmount);
2251
- const estimate = _chunkHMUGY66Ocjs.formatReceiveEstimate.call(void 0, {
2292
+ const estimate = _chunkCXRH5MKOcjs.formatReceiveEstimate.call(void 0, {
2252
2293
  sourceAmount: Number.isFinite(Number(amount)) ? Number(amount) : void 0,
2253
2294
  sourceSymbol: asset.symbol,
2254
2295
  targetSymbol,
2255
2296
  sourceAmountUsd: Number.isFinite(usdValue) && usdValue > 0 ? usdValue : void 0,
2256
- sourceTrusted: _chunkHMUGY66Ocjs.isRecognizedToken.call(void 0, asset.token, asset.chainId),
2257
- prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkHMUGY66Ocjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
2297
+ sourceTrusted,
2298
+ prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkCXRH5MKOcjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
2258
2299
  });
2259
2300
  return _nullishCoalesce(estimate, () => ( targetSymbol));
2260
2301
  })();
2261
- const expectedSeconds = _nullishCoalesce(_optionalChain([quote, 'access', _79 => _79.value, 'optionalAccess', _80 => _80.timing, 'optionalAccess', _81 => _81.expectedSeconds]), () => ( (quote.value && Number.isFinite(quote.value.estimatedFillTimeSeconds) ? quote.value.estimatedFillTimeSeconds : void 0)));
2262
- const estimatedTime = expectedSeconds !== void 0 ? _chunkHMUGY66Ocjs.formatExpectedDuration.call(void 0, expectedSeconds) : quote.state === "loading" ? "\u2026" : "\u2014";
2263
- const { display: quotedFee, struck } = _chunkHMUGY66Ocjs.quoteFeeRow.call(void 0, _optionalChain([quote, 'access', _82 => _82.value, 'optionalAccess', _83 => _83.fees]));
2302
+ const expectedSeconds = _nullishCoalesce(_optionalChain([quote, 'access', _81 => _81.value, 'optionalAccess', _82 => _82.timing, 'optionalAccess', _83 => _83.expectedSeconds]), () => ( (quote.value && Number.isFinite(quote.value.estimatedFillTimeSeconds) ? quote.value.estimatedFillTimeSeconds : void 0)));
2303
+ const estimatedTime = expectedSeconds !== void 0 ? _chunkCXRH5MKOcjs.formatExpectedDuration.call(void 0, expectedSeconds) : quote.state === "loading" ? "\u2026" : "\u2014";
2304
+ const { display: quotedFee, struck } = _chunkCXRH5MKOcjs.quoteFeeRow.call(void 0, _optionalChain([quote, 'access', _84 => _84.value, 'optionalAccess', _85 => _85.fees]));
2264
2305
  const feeDisplay = quote.state === "unavailable" || quote.state === "refused" ? "\u2014" : quotedFee;
2265
2306
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
2266
2307
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
2267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {}), title: "Fee estimate" }),
2308
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {}), title: "Fee estimate" }),
2268
2309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2269
2310
  ReviewDetails,
2270
2311
  {
2271
- sourceChainName: _chunkOY5N3E6Lcjs.getChainName.call(void 0, asset.chainId),
2272
- sourceChainIcon: _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, asset.chainId),
2273
- targetChainName: _chunkOY5N3E6Lcjs.getChainName.call(void 0, targetChainId),
2274
- targetChainIcon: _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, targetChainId),
2312
+ sourceChainName: _chunkFKJ6EJHHcjs.getChainName.call(void 0, asset.chainId),
2313
+ sourceChainIcon: _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, asset.chainId),
2314
+ targetChainName: _chunkFKJ6EJHHcjs.getChainName.call(void 0, targetChainId),
2315
+ targetChainIcon: _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, targetChainId),
2275
2316
  estimatedTime,
2276
2317
  sendAmount: formattedSendAmount,
2277
2318
  sendSymbol: asset.symbol,
2319
+ sendToken: { chain: asset.chainId, address: asset.token },
2278
2320
  receiveDisplay,
2279
2321
  receiveSymbol: targetSymbol,
2322
+ receiveToken: { chain: targetChainId, address: targetToken },
2280
2323
  fee: { display: feeDisplay, struck }
2281
2324
  }
2282
2325
  ),
2283
- quote.state === "refused" && quote.refusal && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: _chunkHMUGY66Ocjs.describePolicyRefusal.call(void 0,
2326
+ quote.state === "refused" && quote.refusal && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: _chunkCXRH5MKOcjs.describePolicyRefusal.call(void 0,
2284
2327
  quote.refusal,
2285
2328
  boundsFor(asset.chainId, asset.token)
2286
2329
  ) }),
2287
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Button, { onClick: onClose, fullWidth: true, children: "Close" })
2330
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Button, { onClick: onClose, fullWidth: true, children: "Close" })
2288
2331
  ] }),
2289
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
2332
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
2290
2333
  ] });
2291
2334
  }
2292
2335
  QrReviewStep.displayName = "QrReviewStep";
@@ -2309,29 +2352,28 @@ var BASE_CHAIN_ID = 8453;
2309
2352
  function DepositAddressSkeleton({
2310
2353
  uiConfig
2311
2354
  }) {
2312
- const evmChainIds = _chunkOY5N3E6Lcjs.getSupportedChainIds.call(void 0, );
2355
+ const evmChainIds = _chunkFKJ6EJHHcjs.getSupportedChainIds.call(void 0, );
2313
2356
  const defaultChainId = evmChainIds.includes(BASE_CHAIN_ID) ? BASE_CHAIN_ID : evmChainIds[0];
2314
- const tokensForChain = _chunkOY5N3E6Lcjs.getTargetTokenSymbolsForChain.call(void 0, defaultChainId);
2315
- const defaultToken = tokensForChain.includes("USDC") ? "USDC" : _nullishCoalesce(tokensForChain[0], () => ( "USDC"));
2316
- const chainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, defaultChainId);
2317
- const chainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, defaultChainId);
2357
+ const defaultToken = "USDC";
2358
+ const chainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, defaultChainId);
2359
+ const chainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, defaultChainId);
2318
2360
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", "aria-busy": "true", children: [
2319
2361
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-sr-only", role: "status", children: "Preparing deposit details\u2026" }),
2320
2362
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
2321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
2363
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
2322
2364
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-selectors", "aria-hidden": "true", children: [
2323
2365
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-dropdown", children: [
2324
2366
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-address-dropdown-label", children: "Supported chain" }),
2325
2367
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-dropdown-trigger", children: [
2326
2368
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2327
- _chunkHMUGY66Ocjs.CdnIcon,
2369
+ _chunkCXRH5MKOcjs.CdnIcon,
2328
2370
  {
2329
2371
  src: chainIcon,
2330
2372
  className: "rs-deposit-address-dropdown-icon"
2331
2373
  }
2332
2374
  ),
2333
2375
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: chainName }),
2334
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
2376
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
2335
2377
  ] })
2336
2378
  ] }),
2337
2379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-dropdown", children: [
@@ -2339,9 +2381,9 @@ function DepositAddressSkeleton({
2339
2381
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Supported token" }),
2340
2382
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-deposit-address-min", children: [
2341
2383
  "Min.$",
2342
- (_nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _84 => _84.minDepositUsd]), () => ( 0.1))).toFixed(2),
2343
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2344
- _chunkHMUGY66Ocjs.InfoIcon,
2384
+ (_nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _86 => _86.minDepositUsd]), () => ( 0.1))).toFixed(2),
2385
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2386
+ _chunkG264OM23cjs.InfoIcon,
2345
2387
  {
2346
2388
  className: "rs-deposit-address-min-icon",
2347
2389
  "aria-hidden": "true"
@@ -2351,14 +2393,14 @@ function DepositAddressSkeleton({
2351
2393
  ] }),
2352
2394
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-dropdown-trigger", children: [
2353
2395
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2354
- _chunkHMUGY66Ocjs.TokenIcon,
2396
+ "span",
2355
2397
  {
2356
- symbol: defaultToken,
2357
- className: "rs-deposit-address-dropdown-icon"
2398
+ className: "rs-token-icon rs-deposit-address-dropdown-icon",
2399
+ "data-loading": ""
2358
2400
  }
2359
2401
  ),
2360
2402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: defaultToken }),
2361
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
2403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
2362
2404
  ] })
2363
2405
  ] })
2364
2406
  ] }),
@@ -2373,7 +2415,7 @@ function DepositAddressSkeleton({
2373
2415
  ] }),
2374
2416
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-actions", "aria-hidden": "true", children: [
2375
2417
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "button", { type: "button", className: "rs-deposit-address-copy", disabled: true, children: [
2376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CopyIcon, {}),
2418
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CopyIcon, {}),
2377
2419
  "Copy address"
2378
2420
  ] }),
2379
2421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2390,7 +2432,7 @@ function DepositAddressSkeleton({
2390
2432
  }
2391
2433
  )
2392
2434
  ] }),
2393
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
2435
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
2394
2436
  ] });
2395
2437
  }
2396
2438
  DepositAddressSkeleton.displayName = "DepositAddressSkeleton";
@@ -2402,9 +2444,9 @@ var INITIAL_POLL_INTERVAL = 3e3;
2402
2444
  var MAX_POLL_INTERVAL = 3e4;
2403
2445
  var BACKOFF_MULTIPLIER = 1.5;
2404
2446
  function isEventForTx(event, txHash) {
2405
- const eventTxHash = _chunkHMUGY66Ocjs.getEventTxHash.call(void 0, event);
2447
+ const eventTxHash = _chunkCXRH5MKOcjs.getEventTxHash.call(void 0, event);
2406
2448
  if (!eventTxHash) return false;
2407
- return _chunkHMUGY66Ocjs.txRefsMatch.call(void 0, eventTxHash, txHash);
2449
+ return _chunkCXRH5MKOcjs.txRefsMatch.call(void 0, eventTxHash, txHash);
2408
2450
  }
2409
2451
  function truncateHash(hash) {
2410
2452
  return `${hash.slice(0, 4)}\u2026${hash.slice(-4)}`;
@@ -2434,7 +2476,7 @@ function formatTimestamp(ms) {
2434
2476
  return `${month} ${day}${suffix} \xB7 ${hours}:${minutes}:${seconds}`;
2435
2477
  }
2436
2478
  function formatBridgeFailedMessage(event) {
2437
- const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _85 => _85.data]), () => ( {}));
2479
+ const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _87 => _87.data]), () => ( {}));
2438
2480
  const backendMessage = typeof eventData.message === "string" ? eventData.message.trim() : "";
2439
2481
  if (backendMessage.length > 0) {
2440
2482
  const lower = backendMessage.toLowerCase();
@@ -2454,7 +2496,7 @@ function formatBridgeFailedMessage(event) {
2454
2496
  }
2455
2497
  return "Bridge failed";
2456
2498
  }
2457
- var txLinkIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ExternalLinkIcon, { className: "rs-deposit-notification-link-icon" });
2499
+ var txLinkIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ExternalLinkIcon, { className: "rs-deposit-notification-link-icon" });
2458
2500
  function DepositNotification({
2459
2501
  deposit,
2460
2502
  smartAccount,
@@ -2488,7 +2530,7 @@ function DepositNotification({
2488
2530
  const pollIntervalRef = _react.useRef.call(void 0, INITIAL_POLL_INTERVAL);
2489
2531
  const pollTimeoutRef = _react.useRef.call(void 0, null);
2490
2532
  const completedRef = _react.useRef.call(void 0, false);
2491
- const depositContextRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, {
2533
+ const depositContextRef = _chunkG264OM23cjs.useLatestRef.call(void 0, {
2492
2534
  amount,
2493
2535
  sourceChain,
2494
2536
  sourceToken: token,
@@ -2496,8 +2538,8 @@ function DepositNotification({
2496
2538
  targetChain,
2497
2539
  targetToken
2498
2540
  });
2499
- const onCompleteRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onComplete);
2500
- const onFailedRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onFailed);
2541
+ const onCompleteRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onComplete);
2542
+ const onFailedRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onFailed);
2501
2543
  const handleComplete = _react.useCallback.call(void 0,
2502
2544
  (destTxHash, destAmount) => {
2503
2545
  if (completedRef.current) return;
@@ -2506,7 +2548,7 @@ function DepositNotification({
2506
2548
  setCompletedAt(Date.now());
2507
2549
  setStatus("complete");
2508
2550
  const context = depositContextRef.current;
2509
- _optionalChain([onCompleteRef, 'access', _86 => _86.current, 'optionalCall', _87 => _87(txHash, destTxHash, {
2551
+ _optionalChain([onCompleteRef, 'access', _88 => _88.current, 'optionalCall', _89 => _89(txHash, destTxHash, {
2510
2552
  amount: context.amount,
2511
2553
  sourceChain: context.sourceChain,
2512
2554
  sourceToken: context.sourceToken,
@@ -2523,7 +2565,7 @@ function DepositNotification({
2523
2565
  if (completedRef.current) return;
2524
2566
  completedRef.current = true;
2525
2567
  setStatus("failed");
2526
- _optionalChain([onFailedRef, 'access', _88 => _88.current, 'optionalCall', _89 => _89(txHash, error)]);
2568
+ _optionalChain([onFailedRef, 'access', _90 => _90.current, 'optionalCall', _91 => _91(txHash, error)]);
2527
2569
  },
2528
2570
  [onFailedRef, txHash]
2529
2571
  );
@@ -2541,20 +2583,20 @@ function DepositNotification({
2541
2583
  if (!isMounted) return;
2542
2584
  const lastEvent = data.lastEvent;
2543
2585
  const eventForTx = isEventForTx(lastEvent, txHash) ? lastEvent : void 0;
2544
- if (_optionalChain([eventForTx, 'optionalAccess', _90 => _90.type]) === "bridge-complete") {
2545
- const destination = _optionalChain([eventForTx, 'access', _91 => _91.data, 'optionalAccess', _92 => _92.destination]);
2586
+ if (_optionalChain([eventForTx, 'optionalAccess', _92 => _92.type]) === "bridge-complete") {
2587
+ const destination = _optionalChain([eventForTx, 'access', _93 => _93.data, 'optionalAccess', _94 => _94.destination]);
2546
2588
  handleComplete(
2547
- _optionalChain([destination, 'optionalAccess', _93 => _93.transactionHash]),
2548
- typeof _optionalChain([destination, 'optionalAccess', _94 => _94.amount]) === "string" ? destination.amount : void 0
2589
+ _optionalChain([destination, 'optionalAccess', _95 => _95.transactionHash]),
2590
+ typeof _optionalChain([destination, 'optionalAccess', _96 => _96.amount]) === "string" ? destination.amount : void 0
2549
2591
  );
2550
2592
  return;
2551
2593
  }
2552
- if (_optionalChain([eventForTx, 'optionalAccess', _95 => _95.type]) === "bridge-failed") {
2594
+ if (_optionalChain([eventForTx, 'optionalAccess', _97 => _97.type]) === "bridge-failed") {
2553
2595
  handleFailed(formatBridgeFailedMessage(eventForTx));
2554
2596
  return;
2555
2597
  }
2556
- if (_optionalChain([eventForTx, 'optionalAccess', _96 => _96.type]) === "error") {
2557
- const errorMessage = _nullishCoalesce(_optionalChain([eventForTx, 'access', _97 => _97.data, 'optionalAccess', _98 => _98.message]), () => ( "Unknown error"));
2598
+ if (_optionalChain([eventForTx, 'optionalAccess', _98 => _98.type]) === "error") {
2599
+ const errorMessage = _nullishCoalesce(_optionalChain([eventForTx, 'access', _99 => _99.data, 'optionalAccess', _100 => _100.message]), () => ( "Unknown error"));
2558
2600
  handleFailed(errorMessage);
2559
2601
  return;
2560
2602
  }
@@ -2592,12 +2634,12 @@ function DepositNotification({
2592
2634
  status,
2593
2635
  txHash
2594
2636
  ]);
2595
- const explorerTxUrl = _chunkHMUGY66Ocjs.useExplorerTxUrl.call(void 0, );
2637
+ const explorerTxUrl = _chunkCXRH5MKOcjs.useExplorerTxUrl.call(void 0, );
2596
2638
  const sourceExplorerUrl = sourceChain === "unknown" ? void 0 : explorerTxUrl(sourceChain, txHash);
2597
- const destExplorerUrl = destinationTxHash ? explorerTxUrl(_chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain), destinationTxHash) : null;
2639
+ const destExplorerUrl = destinationTxHash ? explorerTxUrl(_chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain), destinationTxHash) : null;
2598
2640
  const title = status === "complete" ? "Deposit completed" : status === "failed" ? "Deposit failed" : "Deposit received and processing\u2026";
2599
2641
  const subtitle = status === "complete" ? "Your deposit has been credited to your account." : status === "failed" ? "Your deposit could not be processed." : "Your deposit will be credited to your account shortly.";
2600
- const statusIcon = status === "complete" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--complete", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CheckIcon, {}) }) : status === "failed" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--failed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CloseIcon, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--processing", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2642
+ const statusIcon = status === "complete" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--complete", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CheckIcon, {}) }) : status === "failed" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--failed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CloseIcon, {}) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-notification-badge rs-deposit-notification-badge--processing", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2601
2643
  "svg",
2602
2644
  {
2603
2645
  className: "rs-deposit-notification-spinner",
@@ -2647,7 +2689,7 @@ function DepositNotification({
2647
2689
  className: "rs-deposit-notification-close",
2648
2690
  onClick: () => onDismiss(deposit.id),
2649
2691
  "aria-label": "Dismiss",
2650
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CloseIcon, {})
2692
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CloseIcon, {})
2651
2693
  }
2652
2694
  )
2653
2695
  ] }),
@@ -2663,7 +2705,7 @@ function DepositNotification({
2663
2705
  "aria-expanded": expanded,
2664
2706
  children: [
2665
2707
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: expanded ? "See less details" : "See more details" }),
2666
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronDownIcon, { className: "rs-deposit-notification-toggle-chevron" })
2708
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronDownIcon, { className: "rs-deposit-notification-toggle-chevron" })
2667
2709
  ]
2668
2710
  }
2669
2711
  ),
@@ -2717,7 +2759,7 @@ function DepositNotification({
2717
2759
  // src/core/payment-uri.ts
2718
2760
  function paymentRequestUri(input) {
2719
2761
  const { to, chainId, token, amount } = input;
2720
- if (token.toLowerCase() === _chunkOY5N3E6Lcjs.NATIVE_TOKEN_ADDRESS.toLowerCase() || token.toLowerCase() === "0x0") {
2762
+ if (token.toLowerCase() === _chunkFKJ6EJHHcjs.NATIVE_TOKEN_ADDRESS.toLowerCase() || token.toLowerCase() === "0x0") {
2721
2763
  return `ethereum:${to}@${chainId}?value=${amount}`;
2722
2764
  }
2723
2765
  return `ethereum:${token}@${chainId}/transfer?address=${to}&uint256=${amount}`;
@@ -2727,17 +2769,17 @@ function paymentRequestUri(input) {
2727
2769
  var SOLANA_NATIVE_MINT = "11111111111111111111111111111111";
2728
2770
  var EVM_ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
2729
2771
  function sourceChainToCaip2(chain) {
2730
- if (chain === "solana") return _chunkOY5N3E6Lcjs.SOLANA_MAINNET_CAIP2;
2731
- if (chain === "hypercore") return _chunkOY5N3E6Lcjs.HYPERCORE_SPOT_CAIP2;
2732
- return _chunkOY5N3E6Lcjs.toEvmCaip2.call(void 0, chain);
2772
+ if (chain === "solana") return _chunkFKJ6EJHHcjs.SOLANA_MAINNET_CAIP2;
2773
+ if (chain === "hypercore") return _chunkFKJ6EJHHcjs.HYPERCORE_SPOT_CAIP2;
2774
+ return _chunkFKJ6EJHHcjs.toEvmCaip2.call(void 0, chain);
2733
2775
  }
2734
2776
  function findAddress(tokens, symbol) {
2735
- return _optionalChain([tokens, 'optionalAccess', _99 => _99.find, 'call', _100 => _100((t) => t.symbol.toLowerCase() === symbol.toLowerCase()), 'optionalAccess', _101 => _101.address]);
2777
+ return _optionalChain([tokens, 'optionalAccess', _101 => _101.find, 'call', _102 => _102((t) => t.symbol.toLowerCase() === symbol.toLowerCase()), 'optionalAccess', _103 => _103.address]);
2736
2778
  }
2737
2779
  function resolveSourceTokenIdentity(input) {
2738
2780
  const { chain, symbol, shortlist, catalogTokens } = input;
2739
2781
  if (!symbol) return void 0;
2740
- const shortlistTokens = _optionalChain([shortlist, 'optionalAccess', _102 => _102[String(chain)]]);
2782
+ const shortlistTokens = _optionalChain([shortlist, 'optionalAccess', _104 => _104[String(chain)]]);
2741
2783
  const raw = shortlistTokens !== void 0 ? findAddress(shortlistTokens, symbol) : chain === "hypercore" || !Array.isArray(catalogTokens) ? void 0 : findAddress(catalogTokens, symbol);
2742
2784
  if (!raw) return void 0;
2743
2785
  if (chain === "solana") {
@@ -2786,21 +2828,11 @@ function asString(value) {
2786
2828
  return typeof value === "string" ? value : void 0;
2787
2829
  }
2788
2830
  function resolveSolanaTokenMeta(token) {
2789
- if (!token) return {};
2790
- const normalized = token.toLowerCase();
2791
- const matched = _chunkOY5N3E6Lcjs.SOLANA_TOKENS.find(
2792
- (entry) => entry.mint.toLowerCase() === normalized
2793
- );
2794
- if (matched) {
2795
- return { sourceSymbol: matched.symbol, sourceDecimals: matched.decimals };
2796
- }
2797
- if (normalized === "native" || normalized === "11111111111111111111111111111111" || normalized === "so11111111111111111111111111111111111111112") {
2798
- return { sourceSymbol: "SOL", sourceDecimals: 9 };
2799
- }
2800
- return {};
2831
+ const matched = token ? _chunkCXRH5MKOcjs.resolveSolanaToken.call(void 0, token) : void 0;
2832
+ return matched ? { sourceSymbol: matched.symbol, sourceDecimals: matched.decimals } : {};
2801
2833
  }
2802
2834
  function getDepositEventDetails(event) {
2803
- if (!_optionalChain([event, 'optionalAccess', _103 => _103.type]) || !isRecord(event.data)) return {};
2835
+ if (!_optionalChain([event, 'optionalAccess', _105 => _105.type]) || !isRecord(event.data)) return {};
2804
2836
  if (event.type === "deposit-received") {
2805
2837
  const chainId = asChainId(event.data.chain);
2806
2838
  const token = asString(event.data.token);
@@ -2815,12 +2847,12 @@ function getDepositEventDetails(event) {
2815
2847
  const source = isRecord(event.data.source) ? event.data.source : void 0;
2816
2848
  const deposit = isRecord(event.data.deposit) ? event.data.deposit : void 0;
2817
2849
  if (source || deposit) {
2818
- const chainId = _nullishCoalesce(asChainId(_optionalChain([source, 'optionalAccess', _104 => _104.chain])), () => ( asChainId(_optionalChain([deposit, 'optionalAccess', _105 => _105.chain]))));
2819
- const token = _nullishCoalesce(_nullishCoalesce(asString(_optionalChain([source, 'optionalAccess', _106 => _106.asset])), () => ( asString(_optionalChain([deposit, 'optionalAccess', _107 => _107.asset])))), () => ( asString(_optionalChain([deposit, 'optionalAccess', _108 => _108.token]))));
2850
+ const chainId = _nullishCoalesce(asChainId(_optionalChain([source, 'optionalAccess', _106 => _106.chain])), () => ( asChainId(_optionalChain([deposit, 'optionalAccess', _107 => _107.chain]))));
2851
+ const token = _nullishCoalesce(_nullishCoalesce(asString(_optionalChain([source, 'optionalAccess', _108 => _108.asset])), () => ( asString(_optionalChain([deposit, 'optionalAccess', _109 => _109.asset])))), () => ( asString(_optionalChain([deposit, 'optionalAccess', _110 => _110.token]))));
2820
2852
  const solanaMeta = chainId === "solana" ? resolveSolanaTokenMeta(token) : {};
2821
2853
  return {
2822
2854
  chainId,
2823
- amount: _nullishCoalesce(asAmount(_optionalChain([source, 'optionalAccess', _109 => _109.amount])), () => ( asAmount(_optionalChain([deposit, 'optionalAccess', _110 => _110.amount])))),
2855
+ amount: _nullishCoalesce(asAmount(_optionalChain([source, 'optionalAccess', _111 => _111.amount])), () => ( asAmount(_optionalChain([deposit, 'optionalAccess', _112 => _112.amount])))),
2824
2856
  token,
2825
2857
  ...solanaMeta
2826
2858
  };
@@ -2831,20 +2863,20 @@ function isSameRoute(sourceChain, sourceToken, targetChain, targetToken) {
2831
2863
  return sourceChain === targetChain && sourceToken.toLowerCase() === targetToken.toLowerCase();
2832
2864
  }
2833
2865
  function chainLabel(chainId, catalogChain) {
2834
- const name = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _111 => _111.name]), () => ( _chunkOY5N3E6Lcjs.getChainName.call(void 0, chainId)));
2866
+ const name = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _113 => _113.name]), () => ( _chunkFKJ6EJHHcjs.getChainName.call(void 0, chainId)));
2835
2867
  return name.replace(/\s+(One|Mainnet|Smart Chain|Chain)$/i, "");
2836
2868
  }
2837
2869
  function computeTokensForChain(chainId, offer, catalogChain) {
2838
- const listed = _optionalChain([offer, 'access', _112 => _112.tokensFor, 'call', _113 => _113(chainId), 'optionalAccess', _114 => _114.map, 'call', _115 => _115((t) => t.symbol)]);
2870
+ const listed = _optionalChain([offer, 'access', _114 => _114.tokensFor, 'call', _115 => _115(chainId), 'optionalAccess', _116 => _116.map, 'call', _117 => _117((t) => t.symbol)]);
2839
2871
  if (listed) return listed;
2840
- return Array.isArray(_optionalChain([catalogChain, 'optionalAccess', _116 => _116.supportedTokens])) ? catalogChain.supportedTokens.map((t) => t.symbol) : [];
2872
+ return Array.isArray(_optionalChain([catalogChain, 'optionalAccess', _118 => _118.supportedTokens])) ? catalogChain.supportedTokens.map((t) => t.symbol) : [];
2841
2873
  }
2842
2874
  function selectionAsAsset(chainId, symbol, offer, catalogChain) {
2843
2875
  if (typeof chainId !== "number" || !symbol) return void 0;
2844
- const fromShortlist = _optionalChain([offer, 'access', _117 => _117.tokensFor, 'call', _118 => _118(chainId), 'optionalAccess', _119 => _119.find, 'call', _120 => _120((t) => t.symbol === symbol)]);
2845
- const fromCatalog = !offer.restricted && Array.isArray(_optionalChain([catalogChain, 'optionalAccess', _121 => _121.supportedTokens])) ? catalogChain.supportedTokens.find((t) => t.symbol === symbol) : void 0;
2846
- const address = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess', _122 => _122.address]), () => ( _optionalChain([fromCatalog, 'optionalAccess', _123 => _123.address])));
2847
- const decimals = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess', _124 => _124.decimals]), () => ( _optionalChain([fromCatalog, 'optionalAccess', _125 => _125.decimals])));
2876
+ const fromShortlist = _optionalChain([offer, 'access', _119 => _119.tokensFor, 'call', _120 => _120(chainId), 'optionalAccess', _121 => _121.find, 'call', _122 => _122((t) => t.symbol === symbol)]);
2877
+ const fromCatalog = !offer.restricted && Array.isArray(_optionalChain([catalogChain, 'optionalAccess', _123 => _123.supportedTokens])) ? catalogChain.supportedTokens.find((t) => t.symbol === symbol) : void 0;
2878
+ const address = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess', _124 => _124.address]), () => ( _optionalChain([fromCatalog, 'optionalAccess', _125 => _125.address])));
2879
+ const decimals = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess', _126 => _126.decimals]), () => ( _optionalChain([fromCatalog, 'optionalAccess', _127 => _127.decimals])));
2848
2880
  if (!address || decimals === void 0) return void 0;
2849
2881
  return {
2850
2882
  id: `qr-${chainId}-${symbol}`,
@@ -2855,10 +2887,11 @@ function selectionAsAsset(chainId, symbol, offer, catalogChain) {
2855
2887
  decimals
2856
2888
  };
2857
2889
  }
2858
- function TokenGlyph({ symbol }) {
2890
+ function TokenGlyph({ symbol, token }) {
2859
2891
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2860
- _chunkHMUGY66Ocjs.TokenIcon,
2892
+ _chunkCXRH5MKOcjs.TokenIcon,
2861
2893
  {
2894
+ token,
2862
2895
  symbol,
2863
2896
  className: "rs-deposit-address-dropdown-icon",
2864
2897
  fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-deposit-address-dropdown-icon rs-deposit-address-dropdown-icon--fallback", children: symbol.slice(0, 3) })
@@ -2888,20 +2921,20 @@ function DepositAddressStep({
2888
2921
  onError
2889
2922
  }) {
2890
2923
  const hasSolana = Boolean(solanaDepositAddress);
2891
- const offer = _chunkHMUGY66Ocjs.useDepositOffer.call(void 0, );
2924
+ const offer = _chunkCXRH5MKOcjs.useDepositOffer.call(void 0, );
2892
2925
  const BASE_CHAIN_ID2 = 8453;
2893
- const evmChainIds = _chunkHMUGY66Ocjs.useDepositChainIds.call(void 0, );
2894
- const { catalog, isLoading: catalogLoading, shortlist } = _chunkHMUGY66Ocjs.useChainCatalog.call(void 0, );
2926
+ const evmChainIds = _chunkCXRH5MKOcjs.useDepositChainIds.call(void 0, );
2927
+ const { catalog, isLoading: catalogLoading, shortlist } = _chunkCXRH5MKOcjs.useChainCatalog.call(void 0, );
2895
2928
  const catalogFor = _react.useCallback.call(void 0,
2896
2929
  (chain) => {
2897
2930
  if (!catalog) return void 0;
2898
- const key = _chunkHMUGY66Ocjs.catalogKeyForChain.call(void 0, chain);
2931
+ const key = _chunkCXRH5MKOcjs.catalogKeyForChain.call(void 0, chain);
2899
2932
  return typeof key === "number" ? catalog.byChainId.get(key) : catalog.byCaip2.get(key);
2900
2933
  },
2901
2934
  [catalog]
2902
2935
  );
2903
2936
  const chainOptions = _react.useMemo.call(void 0, () => {
2904
- const acceptsDeposits = (chain) => _optionalChain([catalogFor, 'call', _126 => _126(chain), 'optionalAccess', _127 => _127.deposit]) !== false;
2937
+ const acceptsDeposits = (chain) => _optionalChain([catalogFor, 'call', _128 => _128(chain), 'optionalAccess', _129 => _129.deposit]) !== false;
2905
2938
  const options = [...evmChainIds];
2906
2939
  const extras = [];
2907
2940
  if (hasSolana && acceptsDeposits("solana")) extras.push("solana");
@@ -2912,9 +2945,9 @@ function DepositAddressStep({
2912
2945
  );
2913
2946
  }, [evmChainIds, hasSolana, offer, catalogFor]);
2914
2947
  const preferredChainId = (options) => options.includes(BASE_CHAIN_ID2) ? BASE_CHAIN_ID2 : _nullishCoalesce(options[0], () => ( BASE_CHAIN_ID2));
2915
- const [sourceChainId, setSourceChainId] = _react.useState.call(void 0, () => _nullishCoalesce(_optionalChain([initialSource, 'optionalAccess', _128 => _128.chainId]), () => ( preferredChainId(chainOptions))));
2948
+ const [sourceChainId, setSourceChainId] = _react.useState.call(void 0, () => _nullishCoalesce(_optionalChain([initialSource, 'optionalAccess', _130 => _130.chainId]), () => ( preferredChainId(chainOptions))));
2916
2949
  const chainChosenByUser = _react.useRef.call(void 0, initialSource !== void 0);
2917
- const pendingChainRef = _react.useRef.call(void 0, _optionalChain([initialSource, 'optionalAccess', _129 => _129.chainId]));
2950
+ const pendingChainRef = _react.useRef.call(void 0, _optionalChain([initialSource, 'optionalAccess', _131 => _131.chainId]));
2918
2951
  _react.useEffect.call(void 0, () => {
2919
2952
  if (chainOptions.length === 0) return;
2920
2953
  const pendingChain2 = pendingChainRef.current;
@@ -2938,10 +2971,10 @@ function DepositAddressStep({
2938
2971
  );
2939
2972
  const defaultToken = pickFallbackToken(
2940
2973
  tokensForChain,
2941
- _nullishCoalesce(_optionalChain([initialSource, 'optionalAccess', _130 => _130.symbol]), () => ( "USDC"))
2974
+ _nullishCoalesce(_optionalChain([initialSource, 'optionalAccess', _132 => _132.symbol]), () => ( "USDC"))
2942
2975
  );
2943
2976
  const [sourceTokenSymbol, setSourceTokenSymbol] = _react.useState.call(void 0, defaultToken);
2944
- const pendingTokenRef = _react.useRef.call(void 0, _optionalChain([initialSource, 'optionalAccess', _131 => _131.symbol]));
2977
+ const pendingTokenRef = _react.useRef.call(void 0, _optionalChain([initialSource, 'optionalAccess', _133 => _133.symbol]));
2945
2978
  _react.useEffect.call(void 0, () => {
2946
2979
  if (tokensForChain.includes(sourceTokenSymbol)) {
2947
2980
  pendingTokenRef.current = void 0;
@@ -2974,7 +3007,7 @@ function DepositAddressStep({
2974
3007
  chain: sourceChainId,
2975
3008
  symbol: sourceTokenSymbol,
2976
3009
  shortlist,
2977
- catalogTokens: offer.restricted ? void 0 : _optionalChain([catalogFor, 'call', _132 => _132(sourceChainId), 'optionalAccess', _133 => _133.supportedTokens])
3010
+ catalogTokens: offer.restricted ? void 0 : _optionalChain([catalogFor, 'call', _134 => _134(sourceChainId), 'optionalAccess', _135 => _135.supportedTokens])
2978
3011
  }),
2979
3012
  [sourceChainId, sourceTokenSymbol, shortlist, offer.restricted, catalogFor]
2980
3013
  );
@@ -2995,7 +3028,7 @@ function DepositAddressStep({
2995
3028
  amountOut: payment.amount
2996
3029
  });
2997
3030
  if (!active) return;
2998
- const answered = quote && "output" in quote ? _optionalChain([quote, 'access', _134 => _134.input, 'optionalAccess', _135 => _135.amount]) : void 0;
3031
+ const answered = quote && "output" in quote ? _optionalChain([quote, 'access', _136 => _136.input, 'optionalAccess', _137 => _137.amount]) : void 0;
2999
3032
  setPaymentUnits(_nullishCoalesce(answered, () => ( "unavailable")));
3000
3033
  };
3001
3034
  void load();
@@ -3005,7 +3038,22 @@ function DepositAddressStep({
3005
3038
  clearInterval(timer);
3006
3039
  };
3007
3040
  }, [payment, sourceChainId, sourceTokenIdentity, smartAccount, service]);
3008
- const paymentDecimals = typeof sourceChainId === "number" && sourceTokenIdentity ? _chunkOY5N3E6Lcjs.findTokenDecimals.call(void 0, sourceTokenIdentity, sourceChainId) : void 0;
3041
+ const tokenRefFor = (symbol) => {
3042
+ const address = resolveSourceTokenIdentity({
3043
+ chain: sourceChainId,
3044
+ symbol,
3045
+ shortlist,
3046
+ catalogTokens: offer.restricted ? void 0 : _optionalChain([catalogFor, 'call', _138 => _138(sourceChainId), 'optionalAccess', _139 => _139.supportedTokens])
3047
+ });
3048
+ return address ? { chain: sourceChainId, address } : void 0;
3049
+ };
3050
+ const assetStore = _chunkCXRH5MKOcjs.useAssetStore.call(void 0, );
3051
+ const assetStoreRef = _react.useRef.call(void 0, assetStore);
3052
+ assetStoreRef.current = assetStore;
3053
+ const paymentDecimals = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0,
3054
+ typeof sourceChainId === "number" ? sourceChainId : void 0,
3055
+ sourceTokenIdentity
3056
+ ).decimals;
3009
3057
  const paymentAmountUnits = payment && paymentUnits !== "loading" && paymentUnits !== "unavailable" ? paymentUnits : null;
3010
3058
  const paymentDisplay = paymentAmountUnits !== null && paymentDecimals !== void 0 ? _viem.formatUnits.call(void 0, BigInt(paymentAmountUnits), paymentDecimals) : null;
3011
3059
  const qrValue = paymentAmountUnits !== null && typeof sourceChainId === "number" && sourceTokenIdentity ? paymentRequestUri({
@@ -3021,7 +3069,7 @@ function DepositAddressStep({
3021
3069
  _react.useEffect.call(void 0, () => {
3022
3070
  if (!sourceTokenIdentity) return;
3023
3071
  if (!sourceSelectionSettled) return;
3024
- _optionalChain([onAddressShown, 'optionalCall', _136 => _136({
3072
+ _optionalChain([onAddressShown, 'optionalCall', _140 => _140({
3025
3073
  address: displayAddress,
3026
3074
  sourceChainCaip2: sourceChainToCaip2(sourceChainId),
3027
3075
  sourceTokenIdentity
@@ -3038,8 +3086,8 @@ function DepositAddressStep({
3038
3086
  function handlePointerDown(event) {
3039
3087
  const target = event.target;
3040
3088
  if (!target) return;
3041
- const clickedChainDropdown = _optionalChain([chainDropdownRef, 'access', _137 => _137.current, 'optionalAccess', _138 => _138.contains, 'call', _139 => _139(target)]);
3042
- const clickedTokenDropdown = _optionalChain([tokenDropdownRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.contains, 'call', _142 => _142(target)]);
3089
+ const clickedChainDropdown = _optionalChain([chainDropdownRef, 'access', _141 => _141.current, 'optionalAccess', _142 => _142.contains, 'call', _143 => _143(target)]);
3090
+ const clickedTokenDropdown = _optionalChain([tokenDropdownRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.contains, 'call', _146 => _146(target)]);
3043
3091
  if (clickedChainDropdown || clickedTokenDropdown) return;
3044
3092
  setChainDropdownOpen(false);
3045
3093
  setTokenDropdownOpen(false);
@@ -3055,7 +3103,7 @@ function DepositAddressStep({
3055
3103
  try {
3056
3104
  await navigator.clipboard.writeText(displayAddress);
3057
3105
  setCopied(true);
3058
- _optionalChain([onCopyAddress, 'optionalCall', _143 => _143(true)]);
3106
+ _optionalChain([onCopyAddress, 'optionalCall', _147 => _147(true)]);
3059
3107
  setTimeout(() => setCopied(false), 2e3);
3060
3108
  } catch (e20) {
3061
3109
  const textarea = document.createElement("textarea");
@@ -3070,7 +3118,7 @@ function DepositAddressStep({
3070
3118
  setCopied(true);
3071
3119
  setTimeout(() => setCopied(false), 2e3);
3072
3120
  }
3073
- _optionalChain([onCopyAddress, 'optionalCall', _144 => _144(copiedWithFallback)]);
3121
+ _optionalChain([onCopyAddress, 'optionalCall', _148 => _148(copiedWithFallback)]);
3074
3122
  }
3075
3123
  }, [displayAddress, onCopyAddress]);
3076
3124
  const handleSelectChain = _react.useCallback.call(void 0,
@@ -3139,10 +3187,10 @@ function DepositAddressStep({
3139
3187
  return;
3140
3188
  }
3141
3189
  const event = status.lastEvent;
3142
- const eventTxHash = _chunkHMUGY66Ocjs.isDepositEvent.call(void 0, event) ? _nullishCoalesce(_chunkHMUGY66Ocjs.getEventTxHash.call(void 0, event), () => ( null)) : null;
3190
+ const eventTxHash = _chunkCXRH5MKOcjs.isDepositEvent.call(void 0, event) ? _nullishCoalesce(_chunkCXRH5MKOcjs.getEventTxHash.call(void 0, event), () => ( null)) : null;
3143
3191
  if (baselineTxHashRef.current === void 0) {
3144
3192
  baselineTxHashRef.current = eventTxHash;
3145
- } else if (eventTxHash && (!baselineTxHashRef.current || !_chunkHMUGY66Ocjs.txRefsMatch.call(void 0, eventTxHash, baselineTxHashRef.current))) {
3193
+ } else if (eventTxHash && (!baselineTxHashRef.current || !_chunkCXRH5MKOcjs.txRefsMatch.call(void 0, eventTxHash, baselineTxHashRef.current))) {
3146
3194
  const details = getDepositEventDetails(event);
3147
3195
  const chainId = _nullishCoalesce(details.chainId, () => ( "unknown"));
3148
3196
  const amount = _nullishCoalesce(details.amount, () => ( "0"));
@@ -3151,10 +3199,10 @@ function DepositAddressStep({
3151
3199
  baselineTxHashRef.current = eventTxHash;
3152
3200
  isTrackingRef.current = true;
3153
3201
  const isEvmToken = token ? /^0x[a-fA-F0-9]{40}$/.test(token) : false;
3154
- const sourceDecimals = _nullishCoalesce(details.sourceDecimals, () => ( (isEvmToken ? _chunkOY5N3E6Lcjs.findTokenDecimals.call(void 0,
3155
- token,
3156
- typeof chainId === "number" ? chainId : void 0
3157
- ) : void 0)));
3202
+ const knownChain = chainId === "unknown" ? void 0 : chainId;
3203
+ const sourceDecimals = _nullishCoalesce(details.sourceDecimals, () => ( (token && knownChain !== void 0 ? _nullishCoalesce(_optionalChain([_chunkCXRH5MKOcjs.resolveCuratedToken.call(void 0, token, knownChain), 'optionalAccess', _149 => _149.decimals]), () => ( (knownChain === "hypercore" ? void 0 : _optionalChain([assetStoreRef, 'access', _150 => _150.current, 'optionalAccess', _151 => _151.peekMeta, 'call', _152 => _152(
3204
+ _nullishCoalesce(_chunkCXRH5MKOcjs.assetIdFor.call(void 0, knownChain, token), () => ( ""))
3205
+ ), 'optionalAccess', _153 => _153.decimals])))) : void 0)));
3158
3206
  const directTransfer = typeof chainId === "number" && isEvmToken && isSameRoute(
3159
3207
  chainId,
3160
3208
  token,
@@ -3174,7 +3222,7 @@ function DepositAddressStep({
3174
3222
  directTransfer
3175
3223
  };
3176
3224
  setNotifications((prev) => [notification, ...prev]);
3177
- _optionalChain([onDepositSubmittedRef, 'access', _145 => _145.current, 'optionalCall', _146 => _146({
3225
+ _optionalChain([onDepositSubmittedRef, 'access', _154 => _154.current, 'optionalCall', _155 => _155({
3178
3226
  txHash: eventTxHash,
3179
3227
  sourceChain: chainId,
3180
3228
  amount,
@@ -3186,7 +3234,7 @@ function DepositAddressStep({
3186
3234
  if (!cancelled) {
3187
3235
  const msg = err instanceof Error ? err.message : "Failed to check status";
3188
3236
  setPollingError(msg);
3189
- _optionalChain([onErrorRef, 'access', _147 => _147.current, 'optionalCall', _148 => _148(msg, "STATUS_POLL_ERROR")]);
3237
+ _optionalChain([onErrorRef, 'access', _156 => _156.current, 'optionalCall', _157 => _157(msg, "STATUS_POLL_ERROR")]);
3190
3238
  }
3191
3239
  }
3192
3240
  if (!cancelled) {
@@ -3202,21 +3250,21 @@ function DepositAddressStep({
3202
3250
  const handleNotificationComplete = _react.useCallback.call(void 0,
3203
3251
  (txHash, destinationTxHash, context) => {
3204
3252
  isTrackingRef.current = false;
3205
- _optionalChain([onDepositCompleteRef, 'access', _149 => _149.current, 'optionalCall', _150 => _150(txHash, destinationTxHash, context)]);
3253
+ _optionalChain([onDepositCompleteRef, 'access', _158 => _158.current, 'optionalCall', _159 => _159(txHash, destinationTxHash, context)]);
3206
3254
  },
3207
3255
  []
3208
3256
  );
3209
3257
  const handleNotificationFailed = _react.useCallback.call(void 0,
3210
3258
  (txHash, error) => {
3211
3259
  isTrackingRef.current = false;
3212
- _optionalChain([onDepositFailedRef, 'access', _151 => _151.current, 'optionalCall', _152 => _152(txHash, error)]);
3260
+ _optionalChain([onDepositFailedRef, 'access', _160 => _160.current, 'optionalCall', _161 => _161(txHash, error)]);
3213
3261
  },
3214
3262
  []
3215
3263
  );
3216
3264
  const handleNotificationDismiss = _react.useCallback.call(void 0, (id) => {
3217
3265
  setNotifications((prev) => prev.filter((n) => n.id !== id));
3218
3266
  }, []);
3219
- const qrIconSrc = _nullishCoalesce(_optionalChain([catalogFor, 'call', _153 => _153(sourceChainId), 'optionalAccess', _154 => _154.iconUrl]), () => ( _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, sourceChainId)));
3267
+ const qrIconSrc = _nullishCoalesce(_optionalChain([catalogFor, 'call', _162 => _162(sourceChainId), 'optionalAccess', _163 => _163.iconUrl]), () => ( _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, sourceChainId)));
3220
3268
  const reviewAsset = selectionAsAsset(
3221
3269
  sourceChainId,
3222
3270
  sourceTokenSymbol,
@@ -3225,9 +3273,9 @@ function DepositAddressStep({
3225
3273
  );
3226
3274
  if (offer.status === "error") {
3227
3275
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-screen", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
3228
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3229
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: "The tokens this app accepts could not be loaded, so there is no deposit address to show." }),
3230
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Button, { onClick: offer.retry, fullWidth: true, children: "Try again" })
3276
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3277
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: "The tokens this app accepts could not be loaded, so there is no deposit address to show." }),
3278
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Button, { onClick: offer.retry, fullWidth: true, children: "Try again" })
3231
3279
  ] }) });
3232
3280
  }
3233
3281
  if (chainOptions.length === 0) {
@@ -3235,13 +3283,13 @@ function DepositAddressStep({
3235
3283
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DepositAddressSkeleton, { uiConfig });
3236
3284
  }
3237
3285
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-screen", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
3238
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: catalog ? "This app does not accept deposits from any chain available here." : "Supported chains are unavailable right now, so there is no deposit address to show. Close and try again in a moment." })
3286
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3287
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: catalog ? "This app does not accept deposits from any chain available here." : "Supported chains are unavailable right now, so there is no deposit address to show. Close and try again in a moment." })
3240
3288
  ] }) });
3241
3289
  }
3242
3290
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen rs-step--with-notifications", children: [
3243
3291
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
3244
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3292
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.TransferCryptoIcon, {}), title: "Transfer crypto" }),
3245
3293
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-selectors", children: [
3246
3294
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-deposit-address-dropdown", ref: chainDropdownRef, children: [
3247
3295
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-address-dropdown-label", children: "Supported chain" }),
@@ -3257,14 +3305,14 @@ function DepositAddressStep({
3257
3305
  },
3258
3306
  children: [
3259
3307
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3260
- _chunkHMUGY66Ocjs.CdnIcon,
3308
+ _chunkCXRH5MKOcjs.CdnIcon,
3261
3309
  {
3262
- src: _nullishCoalesce(_optionalChain([catalogFor, 'call', _155 => _155(sourceChainId), 'optionalAccess', _156 => _156.iconUrl]), () => ( _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, sourceChainId))),
3310
+ src: _nullishCoalesce(_optionalChain([catalogFor, 'call', _164 => _164(sourceChainId), 'optionalAccess', _165 => _165.iconUrl]), () => ( _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, sourceChainId))),
3263
3311
  className: "rs-deposit-address-dropdown-icon"
3264
3312
  }
3265
3313
  ),
3266
3314
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: chainLabel(sourceChainId, catalogFor(sourceChainId)) }),
3267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
3315
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
3268
3316
  ]
3269
3317
  }
3270
3318
  ),
@@ -3276,9 +3324,9 @@ function DepositAddressStep({
3276
3324
  onClick: () => handleSelectChain(chainId),
3277
3325
  children: [
3278
3326
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3279
- _chunkHMUGY66Ocjs.CdnIcon,
3327
+ _chunkCXRH5MKOcjs.CdnIcon,
3280
3328
  {
3281
- src: _nullishCoalesce(_optionalChain([catalogFor, 'call', _157 => _157(chainId), 'optionalAccess', _158 => _158.iconUrl]), () => ( _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, chainId))),
3329
+ src: _nullishCoalesce(_optionalChain([catalogFor, 'call', _166 => _166(chainId), 'optionalAccess', _167 => _167.iconUrl]), () => ( _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, chainId))),
3282
3330
  className: "rs-deposit-address-dropdown-icon"
3283
3331
  }
3284
3332
  ),
@@ -3293,9 +3341,9 @@ function DepositAddressStep({
3293
3341
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Supported token" }),
3294
3342
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-deposit-address-min", children: [
3295
3343
  "Min.$",
3296
- (_chunkOY5N3E6Lcjs.isHyperCoreDestination.call(void 0, targetChain) || isHyperCore ? Math.max(_chunkOY5N3E6Lcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _159 => _159.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _160 => _160.minDepositUsd]), () => ( 0.1))).toFixed(2),
3297
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3298
- _chunkHMUGY66Ocjs.InfoIcon,
3344
+ (_chunkFKJ6EJHHcjs.isHyperCoreDestination.call(void 0, targetChain) || isHyperCore ? Math.max(_chunkFKJ6EJHHcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _168 => _168.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _169 => _169.minDepositUsd]), () => ( 0.1))).toFixed(2),
3345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Tooltip, { content: "Minimum deposit amount required for the selected chain.", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3346
+ _chunkG264OM23cjs.InfoIcon,
3299
3347
  {
3300
3348
  className: "rs-deposit-address-min-icon",
3301
3349
  "aria-hidden": "true"
@@ -3314,9 +3362,15 @@ function DepositAddressStep({
3314
3362
  setChainDropdownOpen(false);
3315
3363
  },
3316
3364
  children: [
3317
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenGlyph, { symbol: sourceTokenSymbol }),
3365
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3366
+ TokenGlyph,
3367
+ {
3368
+ symbol: sourceTokenSymbol,
3369
+ token: tokenRefFor(sourceTokenSymbol)
3370
+ }
3371
+ ),
3318
3372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: sourceTokenSymbol }),
3319
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
3373
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronDownIcon, { className: "rs-deposit-address-dropdown-chevron" })
3320
3374
  ]
3321
3375
  }
3322
3376
  ),
@@ -3330,7 +3384,7 @@ function DepositAddressStep({
3330
3384
  setTokenDropdownOpen(false);
3331
3385
  },
3332
3386
  children: [
3333
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenGlyph, { symbol }),
3387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenGlyph, { symbol, token: tokenRefFor(symbol) }),
3334
3388
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: symbol })
3335
3389
  ]
3336
3390
  },
@@ -3365,7 +3419,7 @@ function DepositAddressStep({
3365
3419
  ] }),
3366
3420
  !withholdPaymentQr && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-deposit-address-value", children: displayAddress })
3367
3421
  ] }),
3368
- paymentUnquotable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: [
3422
+ paymentUnquotable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: [
3369
3423
  "This payment can't be priced from ",
3370
3424
  sourceTokenSymbol,
3371
3425
  " on",
@@ -3382,7 +3436,7 @@ function DepositAddressStep({
3382
3436
  onClick: handleCopy,
3383
3437
  disabled: withholdPaymentQr,
3384
3438
  children: [
3385
- copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CopyIcon, {}),
3439
+ copied ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CopyIcon, {}),
3386
3440
  copied ? "Copied!" : "Copy address"
3387
3441
  ]
3388
3442
  }
@@ -3417,7 +3471,7 @@ function DepositAddressStep({
3417
3471
  },
3418
3472
  deposit.id
3419
3473
  )) }),
3420
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
3474
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
3421
3475
  ] });
3422
3476
  }
3423
3477
  DepositAddressStep.displayName = "DepositAddressStep";
@@ -3474,7 +3528,7 @@ function FinalisingDepositStep() {
3474
3528
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "rs-finalising-subtitle", children: "We are depositing your funds to the application." })
3475
3529
  ] })
3476
3530
  ] }),
3477
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
3531
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
3478
3532
  ] });
3479
3533
  }
3480
3534
  FinalisingDepositStep.displayName = "FinalisingDepositStep";
@@ -3504,7 +3558,7 @@ function SwappedOrderTracker({
3504
3558
  ];
3505
3559
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen rs-swapped-tracker", children: [
3506
3560
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
3507
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.HandCoinsIcon, {}), title }),
3561
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.HandCoinsIcon, {}), title }),
3508
3562
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { className: "rs-swapped-tracker-steps", children: labels.map((label, idx) => {
3509
3563
  const status = stepStates[idx];
3510
3564
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -3518,7 +3572,7 @@ function SwappedOrderTracker({
3518
3572
  {
3519
3573
  className: "rs-swapped-tracker-step-marker",
3520
3574
  "aria-hidden": "true",
3521
- children: status === "complete" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CheckIcon, {}) : status === "failed" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CloseIcon, {}) : status === "active" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3575
+ children: status === "complete" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CheckIcon, {}) : status === "failed" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CloseIcon, {}) : status === "active" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3522
3576
  "svg",
3523
3577
  {
3524
3578
  className: "rs-swapped-tracker-step-ring",
@@ -3553,7 +3607,7 @@ function SwappedOrderTracker({
3553
3607
  }
3554
3608
  )
3555
3609
  ] }),
3556
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
3610
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
3557
3611
  ] });
3558
3612
  }
3559
3613
  function formatTrackerAmount(amount) {
@@ -3611,6 +3665,10 @@ function isSwappedGoBackMessage(raw) {
3611
3665
  const obj = data;
3612
3666
  return obj.key === SWAPPED_GO_BACK_KEY || obj.type === SWAPPED_GO_BACK_KEY;
3613
3667
  }
3668
+ function assetSymbol(currencyCode) {
3669
+ const separator = _nullishCoalesce(_optionalChain([currencyCode, 'optionalAccess', _170 => _170.indexOf, 'call', _171 => _171("_")]), () => ( -1));
3670
+ return separator > 0 ? currencyCode.slice(0, separator) : currencyCode;
3671
+ }
3614
3672
  function parseSwappedIframeMessage(raw) {
3615
3673
  let data = raw;
3616
3674
  if (typeof data === "string") {
@@ -3632,7 +3690,9 @@ function parseSwappedIframeMessage(raw) {
3632
3690
  status: rawStatus,
3633
3691
  orderId: _nullishCoalesce(asString2(inner.order_id), () => ( asString2(obj.orderId))),
3634
3692
  externalCustomerId: _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(asString2(inner.external_customer_id), () => ( asString2(obj.external_customer_id))), () => ( asString2(inner.externalCustomerId))), () => ( asString2(obj.externalCustomerId))),
3635
- orderCrypto: _nullishCoalesce(asString2(inner.order_crypto), () => ( asString2(obj.orderCrypto))),
3693
+ orderCrypto: assetSymbol(
3694
+ _nullishCoalesce(asString2(inner.order_crypto), () => ( asString2(obj.orderCrypto)))
3695
+ ),
3636
3696
  orderCryptoAmount: _nullishCoalesce(asString2(inner.order_crypto_amount), () => ( asString2(obj.orderCryptoAmount))),
3637
3697
  transactionId: _nullishCoalesce(asString2(inner.transaction_id), () => ( asString2(obj.transactionId)))
3638
3698
  };
@@ -3727,19 +3787,18 @@ function SwappedProviderStep({
3727
3787
  if (cancelled) return;
3728
3788
  if (!isTrustedSwappedWidgetUrl(res.url)) {
3729
3789
  setLoadError(loadErrorFallback);
3730
- _optionalChain([onErrorRef, 'access', _161 => _161.current, 'optionalCall', _162 => _162(loadErrorFallback, loadErrorCode)]);
3790
+ _optionalChain([onErrorRef, 'access', _172 => _172.current, 'optionalCall', _173 => _173(loadErrorFallback, loadErrorCode)]);
3731
3791
  return;
3732
3792
  }
3733
3793
  setWidgetUrl(res.url);
3734
3794
  expectedExternalCustomerIdRef.current = res.externalCustomerId;
3735
- _optionalChain([onAttemptConsumed, 'optionalCall', _163 => _163(res.externalCustomerId)]);
3736
- const sep = res.externalCustomerId.indexOf(":");
3737
- expectedOrderUuidRef.current = sep >= 0 ? res.externalCustomerId.slice(sep + 1) : null;
3795
+ _optionalChain([onAttemptConsumed, 'optionalCall', _174 => _174(res.externalCustomerId)]);
3796
+ expectedOrderUuidRef.current = res.orderId;
3738
3797
  }).catch((err) => {
3739
3798
  if (cancelled) return;
3740
3799
  const message = err instanceof Error ? err.message : loadErrorFallback;
3741
3800
  setLoadError(message);
3742
- _optionalChain([onErrorRef, 'access', _164 => _164.current, 'optionalCall', _165 => _165(message, loadErrorCode)]);
3801
+ _optionalChain([onErrorRef, 'access', _175 => _175.current, 'optionalCall', _176 => _176(message, loadErrorCode)]);
3743
3802
  });
3744
3803
  return () => {
3745
3804
  cancelled = true;
@@ -3754,7 +3813,7 @@ function SwappedProviderStep({
3754
3813
  const timer = setTimeout(() => {
3755
3814
  const message = "Iframe took too long to load.";
3756
3815
  setLoadError(message);
3757
- _optionalChain([onErrorRef, 'access', _166 => _166.current, 'optionalCall', _167 => _167(message, "SWAPPED_IFRAME_TIMEOUT")]);
3816
+ _optionalChain([onErrorRef, 'access', _177 => _177.current, 'optionalCall', _178 => _178(message, "SWAPPED_IFRAME_TIMEOUT")]);
3758
3817
  }, IFRAME_LOAD_TIMEOUT_MS);
3759
3818
  return () => clearTimeout(timer);
3760
3819
  }, [openExternally, widgetUrl, iframeLoaded, loadError]);
@@ -3764,7 +3823,7 @@ function SwappedProviderStep({
3764
3823
  setIframeSrc(nextSrc);
3765
3824
  if (nextSrc && assignedIframeUrlRef.current !== nextSrc) {
3766
3825
  assignedIframeUrlRef.current = nextSrc;
3767
- _optionalChain([onProviderHandoffRef, 'access', _168 => _168.current, 'optionalCall', _169 => _169()]);
3826
+ _optionalChain([onProviderHandoffRef, 'access', _179 => _179.current, 'optionalCall', _180 => _180()]);
3768
3827
  }
3769
3828
  }, [openExternally, widgetUrl, loadError, retryToken]);
3770
3829
  const openPaymentPage = async (url) => {
@@ -3774,11 +3833,11 @@ function SwappedProviderStep({
3774
3833
  try {
3775
3834
  await openExternally(url);
3776
3835
  setHandoffOpened(true);
3777
- _optionalChain([onProviderHandoff, 'optionalCall', _170 => _170()]);
3836
+ _optionalChain([onProviderHandoff, 'optionalCall', _181 => _181()]);
3778
3837
  } catch (error) {
3779
3838
  openedUrlRef.current = null;
3780
3839
  setLoadError(OPEN_FAILED_MESSAGE);
3781
- _optionalChain([onErrorRef, 'access', _171 => _171.current, 'optionalCall', _172 => _172(
3840
+ _optionalChain([onErrorRef, 'access', _182 => _182.current, 'optionalCall', _183 => _183(
3782
3841
  error instanceof Error && error.message ? error.message : OPEN_FAILED_MESSAGE,
3783
3842
  OPEN_FAILED_CODE
3784
3843
  )]);
@@ -3797,9 +3856,10 @@ function SwappedProviderStep({
3797
3856
  async function poll() {
3798
3857
  if (cancelled) return;
3799
3858
  try {
3800
- const res = await service.fetchSwappedOrderStatus(smartAccount);
3859
+ const orderId = expectedOrderUuidRef.current;
3860
+ const res = orderId ? await service.fetchSwappedOrder(orderId) : null;
3801
3861
  if (cancelled) return;
3802
- const isCurrentOrder = res !== null && expectedOrderUuidRef.current !== null && res.orderId === expectedOrderUuidRef.current;
3862
+ const isCurrentOrder = res !== null && res.orderId === expectedOrderUuidRef.current;
3803
3863
  if (isCurrentOrder) {
3804
3864
  setOrderState(res);
3805
3865
  }
@@ -3826,8 +3886,8 @@ function SwappedProviderStep({
3826
3886
  const doc = globalThis.document;
3827
3887
  const onVisible = () => {
3828
3888
  if (doc.visibilityState !== "visible") return;
3829
- _optionalChain([rescheduleStatusPollRef, 'access', _173 => _173.current, 'optionalCall', _174 => _174(0)]);
3830
- _optionalChain([rescheduleDepositPollRef, 'access', _175 => _175.current, 'optionalCall', _176 => _176(0)]);
3889
+ _optionalChain([rescheduleStatusPollRef, 'access', _184 => _184.current, 'optionalCall', _185 => _185(0)]);
3890
+ _optionalChain([rescheduleDepositPollRef, 'access', _186 => _186.current, 'optionalCall', _187 => _187(0)]);
3831
3891
  };
3832
3892
  doc.addEventListener("visibilitychange", onVisible);
3833
3893
  return () => doc.removeEventListener("visibilitychange", onVisible);
@@ -3841,10 +3901,10 @@ function SwappedProviderStep({
3841
3901
  const status = await service.fetchLatestStatus(smartAccount);
3842
3902
  if (cancelled) return;
3843
3903
  const event = status.lastEvent;
3844
- const eventTxHash = _chunkHMUGY66Ocjs.isDepositEvent.call(void 0, event) ? _nullishCoalesce(_chunkHMUGY66Ocjs.getEventTxHash.call(void 0, event), () => ( null)) : null;
3904
+ const eventTxHash = _chunkCXRH5MKOcjs.isDepositEvent.call(void 0, event) ? _nullishCoalesce(_chunkCXRH5MKOcjs.getEventTxHash.call(void 0, event), () => ( null)) : null;
3845
3905
  if (baselineDepositTxHashRef.current === void 0) {
3846
3906
  baselineDepositTxHashRef.current = eventTxHash;
3847
- } else if (eventTxHash && (!baselineDepositTxHashRef.current || !_chunkHMUGY66Ocjs.txRefsMatch.call(void 0, eventTxHash, baselineDepositTxHashRef.current))) {
3907
+ } else if (eventTxHash && (!baselineDepositTxHashRef.current || !_chunkCXRH5MKOcjs.txRefsMatch.call(void 0, eventTxHash, baselineDepositTxHashRef.current))) {
3848
3908
  currentDepositTxHashRef.current = eventTxHash;
3849
3909
  setLatestEvent(_nullishCoalesce(event, () => ( null)));
3850
3910
  }
@@ -3869,16 +3929,16 @@ function SwappedProviderStep({
3869
3929
  }, [service, smartAccount]);
3870
3930
  _react.useEffect.call(void 0, () => {
3871
3931
  if (fastDepositPollEnabledRef.current) return;
3872
- const status = _optionalChain([orderState, 'optionalAccess', _177 => _177.status]);
3932
+ const status = _optionalChain([orderState, 'optionalAccess', _188 => _188.status]);
3873
3933
  if (!status || !SWAPPED_TERMINAL_STATUSES.has(status)) return;
3874
3934
  fastDepositPollEnabledRef.current = true;
3875
- _optionalChain([rescheduleDepositPollRef, 'access', _178 => _178.current, 'optionalCall', _179 => _179(DEPOSIT_POLL_FAST_INITIAL_DELAY_MS)]);
3935
+ _optionalChain([rescheduleDepositPollRef, 'access', _189 => _189.current, 'optionalCall', _190 => _190(DEPOSIT_POLL_FAST_INITIAL_DELAY_MS)]);
3876
3936
  }, [orderState]);
3877
3937
  _react.useEffect.call(void 0, () => {
3878
3938
  if (openExternally) return;
3879
3939
  function onMessage(e) {
3880
3940
  if (!SWAPPED_IFRAME_ORIGINS.has(e.origin)) return;
3881
- if (e.source !== _optionalChain([iframeRef, 'access', _180 => _180.current, 'optionalAccess', _181 => _181.contentWindow])) return;
3941
+ if (e.source !== _optionalChain([iframeRef, 'access', _191 => _191.current, 'optionalAccess', _192 => _192.contentWindow])) return;
3882
3942
  if (isSwappedGoBackMessage(e.data)) {
3883
3943
  onGoBackRef.current();
3884
3944
  return;
@@ -3893,16 +3953,16 @@ function SwappedProviderStep({
3893
3953
  setOrderState((prev) => ({
3894
3954
  // Normalise to the uuid the backend poll also keys on, so orderState
3895
3955
  // is consistent regardless of which path set it.
3896
- orderId: _nullishCoalesce(_nullishCoalesce(expectedOrderUuidRef.current, () => ( _optionalChain([prev, 'optionalAccess', _182 => _182.orderId]))), () => ( ext)),
3956
+ orderId: _nullishCoalesce(_nullishCoalesce(expectedOrderUuidRef.current, () => ( _optionalChain([prev, 'optionalAccess', _193 => _193.orderId]))), () => ( ext)),
3897
3957
  status: parsed.status,
3898
- orderCrypto: _nullishCoalesce(_nullishCoalesce(parsed.orderCrypto, () => ( _optionalChain([prev, 'optionalAccess', _183 => _183.orderCrypto]))), () => ( null)),
3899
- orderCryptoAmount: _nullishCoalesce(_nullishCoalesce(parsed.orderCryptoAmount, () => ( _optionalChain([prev, 'optionalAccess', _184 => _184.orderCryptoAmount]))), () => ( null)),
3900
- transactionId: _nullishCoalesce(_nullishCoalesce(parsed.transactionId, () => ( _optionalChain([prev, 'optionalAccess', _185 => _185.transactionId]))), () => ( null)),
3958
+ orderCrypto: _nullishCoalesce(_nullishCoalesce(parsed.orderCrypto, () => ( _optionalChain([prev, 'optionalAccess', _194 => _194.orderCrypto]))), () => ( null)),
3959
+ orderCryptoAmount: _nullishCoalesce(_nullishCoalesce(parsed.orderCryptoAmount, () => ( _optionalChain([prev, 'optionalAccess', _195 => _195.orderCryptoAmount]))), () => ( null)),
3960
+ transactionId: _nullishCoalesce(_nullishCoalesce(parsed.transactionId, () => ( _optionalChain([prev, 'optionalAccess', _196 => _196.transactionId]))), () => ( null)),
3901
3961
  receivedAt: (/* @__PURE__ */ new Date()).toISOString(),
3902
- paidAmountUsd: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _186 => _186.paidAmountUsd]), () => ( null)),
3903
- paidAmountEur: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _187 => _187.paidAmountEur]), () => ( null)),
3904
- onrampFeeUsd: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _188 => _188.onrampFeeUsd]), () => ( null)),
3905
- paymentMethod: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _189 => _189.paymentMethod]), () => ( null))
3962
+ paidAmountUsd: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _197 => _197.paidAmountUsd]), () => ( null)),
3963
+ paidAmountEur: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _198 => _198.paidAmountEur]), () => ( null)),
3964
+ onrampFeeUsd: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _199 => _199.onrampFeeUsd]), () => ( null)),
3965
+ paymentMethod: _nullishCoalesce(_optionalChain([prev, 'optionalAccess', _200 => _200.paymentMethod]), () => ( null))
3906
3966
  }));
3907
3967
  }
3908
3968
  window.addEventListener("message", onMessage);
@@ -3915,28 +3975,28 @@ function SwappedProviderStep({
3915
3975
  }
3916
3976
  }, [phase, orderState, latestEvent, variant]);
3917
3977
  const stepStates = _react.useMemo.call(void 0,
3918
- () => deriveStepStates(_nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _190 => _190.status]), () => ( null)), latestEvent),
3978
+ () => deriveStepStates(_nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _201 => _201.status]), () => ( null)), latestEvent),
3919
3979
  [orderState, latestEvent]
3920
3980
  );
3921
3981
  const terminalState = _react.useMemo.call(void 0, () => {
3922
- if (_chunkHMUGY66Ocjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) {
3982
+ if (_chunkCXRH5MKOcjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) {
3923
3983
  return {
3924
3984
  kind: "failed",
3925
- message: _chunkHMUGY66Ocjs.failureMessageForEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))
3985
+ message: _chunkCXRH5MKOcjs.failureMessageForEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))
3926
3986
  };
3927
3987
  }
3928
- if (_optionalChain([orderState, 'optionalAccess', _191 => _191.status]) === "order_cancelled") {
3988
+ if (_optionalChain([orderState, 'optionalAccess', _202 => _202.status]) === "order_cancelled") {
3929
3989
  const banner = bannerForStatus("order_cancelled", {});
3930
3990
  return { kind: "cancelled", message: _nullishCoalesce(banner.detail, () => ( banner.title)) };
3931
3991
  }
3932
3992
  return null;
3933
3993
  }, [latestEvent, orderState, bannerForStatus]);
3934
3994
  _react.useEffect.call(void 0, () => {
3935
- if (_optionalChain([orderState, 'optionalAccess', _192 => _192.status]) === "order_cancelled") _optionalChain([onCancelled, 'optionalCall', _193 => _193()]);
3936
- }, [onCancelled, _optionalChain([orderState, 'optionalAccess', _194 => _194.status])]);
3995
+ if (_optionalChain([orderState, 'optionalAccess', _203 => _203.status]) === "order_cancelled") _optionalChain([onCancelled, 'optionalCall', _204 => _204()]);
3996
+ }, [onCancelled, _optionalChain([orderState, 'optionalAccess', _205 => _205.status])]);
3937
3997
  _react.useEffect.call(void 0, () => {
3938
3998
  if (completeFiredRef.current || failedFiredRef.current) return;
3939
- const t = _optionalChain([latestEvent, 'optionalAccess', _195 => _195.type]);
3999
+ const t = _optionalChain([latestEvent, 'optionalAccess', _206 => _206.type]);
3940
4000
  const isSuccess = t === "bridge-complete";
3941
4001
  if (!isSuccess) return;
3942
4002
  const txHash = currentDepositTxHashRef.current;
@@ -3945,10 +4005,10 @@ function SwappedProviderStep({
3945
4005
  const info = {
3946
4006
  smartAccount,
3947
4007
  txHash,
3948
- orderCrypto: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _196 => _196.orderCrypto]), () => ( null)),
4008
+ orderCrypto: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _207 => _207.orderCrypto]), () => ( null)),
3949
4009
  // Base-unit source amount from the deposit row/event, consistent with the
3950
4010
  // wallet/QR path. ProcessingStep + onLifecycle expect base units.
3951
- amount: _nullishCoalesce(_chunkHMUGY66Ocjs.getEventSourceDetails.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0))).amount, () => ( null)),
4011
+ amount: _nullishCoalesce(_chunkCXRH5MKOcjs.getEventSourceDetails.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0))).amount, () => ( null)),
3952
4012
  expectedOrderUuid: expectedOrderUuidRef.current,
3953
4013
  initialEvent: _nullishCoalesce(latestEvent, () => ( void 0))
3954
4014
  };
@@ -3959,23 +4019,23 @@ function SwappedProviderStep({
3959
4019
  }, [latestEvent, orderState, smartAccount]);
3960
4020
  _react.useEffect.call(void 0, () => {
3961
4021
  if (failedFiredRef.current || completeFiredRef.current) return;
3962
- if (!_chunkHMUGY66Ocjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) return;
4022
+ if (!_chunkCXRH5MKOcjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) return;
3963
4023
  const txHash = currentDepositTxHashRef.current;
3964
4024
  if (!txHash) return;
3965
4025
  failedFiredRef.current = true;
3966
4026
  setPhase("tracker");
3967
- _optionalChain([onSwappedFailedRef, 'access', _197 => _197.current, 'optionalCall', _198 => _198(
4027
+ _optionalChain([onSwappedFailedRef, 'access', _208 => _208.current, 'optionalCall', _209 => _209(
3968
4028
  txHash,
3969
- _chunkHMUGY66Ocjs.failureMessageForEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))
4029
+ _chunkCXRH5MKOcjs.failureMessageForEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))
3970
4030
  )]);
3971
4031
  }, [latestEvent]);
3972
4032
  const immersive = !openExternally && variant === "fiat" && phase === "provider" && !loadError;
3973
4033
  _react.useEffect.call(void 0, () => {
3974
- _optionalChain([onImmersiveChangeRef, 'access', _199 => _199.current, 'optionalCall', _200 => _200(immersive)]);
4034
+ _optionalChain([onImmersiveChangeRef, 'access', _210 => _210.current, 'optionalCall', _211 => _211(immersive)]);
3975
4035
  }, [immersive]);
3976
- _react.useEffect.call(void 0, () => () => _optionalChain([onImmersiveChangeRef, 'access', _201 => _201.current, 'optionalCall', _202 => _202(false)]), []);
4036
+ _react.useEffect.call(void 0, () => () => _optionalChain([onImmersiveChangeRef, 'access', _212 => _212.current, 'optionalCall', _213 => _213(false)]), []);
3977
4037
  const handleRetry = () => {
3978
- _optionalChain([onRetry, 'optionalCall', _203 => _203()]);
4038
+ _optionalChain([onRetry, 'optionalCall', _214 => _214()]);
3979
4039
  setIframeSrc(null);
3980
4040
  setWidgetUrl(null);
3981
4041
  setIframeLoaded(false);
@@ -3993,8 +4053,8 @@ function SwappedProviderStep({
3993
4053
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3994
4054
  SwappedOrderTracker,
3995
4055
  {
3996
- amount: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _204 => _204.orderCryptoAmount]), () => ( null)),
3997
- currency: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _205 => _205.orderCrypto]), () => ( "USDC")),
4056
+ amount: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _215 => _215.orderCryptoAmount]), () => ( null)),
4057
+ currency: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess', _216 => _216.orderCrypto]), () => ( "USDC")),
3998
4058
  stepStates,
3999
4059
  terminal: terminalState,
4000
4060
  onRetry: handleRetry,
@@ -4016,7 +4076,7 @@ function SwappedProviderStep({
4016
4076
  }
4017
4077
  )
4018
4078
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4019
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, {}),
4079
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, {}),
4020
4080
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-swapped-handoff-text", children: [
4021
4081
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "rs-swapped-handoff-title", children: handoffOpened ? variant === "fiat" ? "Finish paying in your browser" : "Approve the transfer in your browser" : "Opening your browser\u2026" }),
4022
4082
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "rs-swapped-handoff-subtitle", children: handoffOpened ? (
@@ -4040,7 +4100,7 @@ function SwappedProviderStep({
4040
4100
  }
4041
4101
  )
4042
4102
  ] }) }),
4043
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
4103
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
4044
4104
  ] });
4045
4105
  }
4046
4106
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen rs-fiat-onramp", "data-variant": variant, children: [
@@ -4057,7 +4117,7 @@ function SwappedProviderStep({
4057
4117
  }
4058
4118
  )
4059
4119
  ] }),
4060
- !loadError && !iframeLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-fiat-onramp-loading", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, {}) }),
4120
+ !loadError && !iframeLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-fiat-onramp-loading", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, {}) }),
4061
4121
  widgetUrl && !loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4062
4122
  "iframe",
4063
4123
  {
@@ -4069,7 +4129,7 @@ function SwappedProviderStep({
4069
4129
  allow: "payment; camera; microphone; clipboard-write; geolocation",
4070
4130
  onLoad: () => {
4071
4131
  try {
4072
- if (_optionalChain([iframeRef, 'access', _206 => _206.current, 'optionalAccess', _207 => _207.contentWindow, 'optionalAccess', _208 => _208.location, 'optionalAccess', _209 => _209.href]) === "about:blank") {
4132
+ if (_optionalChain([iframeRef, 'access', _217 => _217.current, 'optionalAccess', _218 => _218.contentWindow, 'optionalAccess', _219 => _219.location, 'optionalAccess', _220 => _220.href]) === "about:blank") {
4073
4133
  return;
4074
4134
  }
4075
4135
  } catch (e27) {
@@ -4080,11 +4140,11 @@ function SwappedProviderStep({
4080
4140
  retryToken
4081
4141
  )
4082
4142
  ] }) }),
4083
- loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
4143
+ loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
4084
4144
  ] });
4085
4145
  }
4086
4146
  function deriveStepStates(swappedStatus, latestEvent) {
4087
- if (_chunkHMUGY66Ocjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) {
4147
+ if (_chunkCXRH5MKOcjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) {
4088
4148
  return ["complete", "complete", "failed", "pending"];
4089
4149
  }
4090
4150
  if (swappedStatus === "order_cancelled") {
@@ -4092,7 +4152,7 @@ function deriveStepStates(swappedStatus, latestEvent) {
4092
4152
  }
4093
4153
  const step1Complete = swappedStatus === "order_completed" || swappedStatus === "order_broadcasted";
4094
4154
  const step2Complete = latestEvent !== null || swappedStatus === "order_broadcasted";
4095
- const step3Complete = _optionalChain([latestEvent, 'optionalAccess', _210 => _210.type]) === "bridge-complete";
4155
+ const step3Complete = _optionalChain([latestEvent, 'optionalAccess', _221 => _221.type]) === "bridge-complete";
4096
4156
  if (step3Complete) {
4097
4157
  return ["complete", "complete", "complete", "complete"];
4098
4158
  }
@@ -4153,7 +4213,7 @@ function FiatOnrampStep({
4153
4213
  openExternally
4154
4214
  }) {
4155
4215
  const loadUrl = _react.useCallback.call(void 0, async () => {
4156
- const prefetched = _optionalChain([consumePrefetchedUrl, 'optionalCall', _211 => _211(
4216
+ const prefetched = _optionalChain([consumePrefetchedUrl, 'optionalCall', _222 => _222(
4157
4217
  smartAccount,
4158
4218
  paymentMethod,
4159
4219
  methodSelectionSource
@@ -4294,7 +4354,7 @@ ExchangeConnectStep.displayName = "ExchangeConnectStep";
4294
4354
  function ExchangeLogo({ exchange }) {
4295
4355
  const [failed, setFailed] = _react.useState.call(void 0, false);
4296
4356
  if (!exchange.logoUrl || failed) {
4297
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BankIcon, {});
4357
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BankIcon, {});
4298
4358
  }
4299
4359
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4300
4360
  "img",
@@ -4305,9 +4365,6 @@ function ExchangeLogo({ exchange }) {
4305
4365
  }
4306
4366
  );
4307
4367
  }
4308
- function formatFeeRate(bps) {
4309
- return `${(bps / 100).toFixed(2).replace(/\.?0+$/, "")}%`;
4310
- }
4311
4368
  function ExchangeSelectStep({
4312
4369
  service,
4313
4370
  onSelectExchange,
@@ -4317,7 +4374,6 @@ function ExchangeSelectStep({
4317
4374
  const [loading, setLoading] = _react.useState.call(void 0, true);
4318
4375
  const [error, setError] = _react.useState.call(void 0, null);
4319
4376
  const [retryToken, setRetryToken] = _react.useState.call(void 0, 0);
4320
- const [exchangeFeeBps, setExchangeFeeBps] = _react.useState.call(void 0, 0);
4321
4377
  const [selectingConnection, setSelectingConnection] = _react.useState.call(void 0,
4322
4378
  null
4323
4379
  );
@@ -4332,14 +4388,12 @@ function ExchangeSelectStep({
4332
4388
  service.getSwappedConnectExchanges().then((res) => {
4333
4389
  if (cancelled) return;
4334
4390
  setExchanges(res.exchanges);
4335
- setExchangeFeeBps(_nullishCoalesce(res.exchangeFeeBps, () => ( 0)));
4336
4391
  }).catch((err) => {
4337
4392
  if (cancelled) return;
4338
4393
  const message = err instanceof Error ? err.message : "Failed to load exchanges";
4339
4394
  setExchanges([]);
4340
- setExchangeFeeBps(0);
4341
4395
  setError(message);
4342
- _optionalChain([onError, 'optionalCall', _212 => _212(message, "SWAPPED_CONNECT_EXCHANGES_FAILED")]);
4396
+ _optionalChain([onError, 'optionalCall', _223 => _223(message, "SWAPPED_CONNECT_EXCHANGES_FAILED")]);
4343
4397
  }).finally(() => {
4344
4398
  if (!cancelled) setLoading(false);
4345
4399
  });
@@ -4352,37 +4406,28 @@ function ExchangeSelectStep({
4352
4406
  setSelectingConnection(connection);
4353
4407
  setSelectionNotice(null);
4354
4408
  try {
4355
- const actualFeeBps = await onSelectExchange(
4356
- connection,
4357
- exchangeFeeBps
4358
- );
4359
- if (actualFeeBps !== exchangeFeeBps) {
4360
- setExchangeFeeBps(actualFeeBps);
4361
- setSelectionNotice(
4362
- "The Exchange Fee changed. Review the updated rate and select your exchange again."
4363
- );
4364
- }
4409
+ await onSelectExchange(connection);
4365
4410
  } catch (err) {
4366
4411
  const message = err instanceof Error ? err.message : "Failed to prepare Connect";
4367
4412
  setSelectionNotice(message);
4368
- _optionalChain([onError, 'optionalCall', _213 => _213(message, "SWAPPED_CONNECT_URL_FAILED")]);
4413
+ _optionalChain([onError, 'optionalCall', _224 => _224(message, "SWAPPED_CONNECT_URL_FAILED")]);
4369
4414
  } finally {
4370
4415
  setSelectingConnection(null);
4371
4416
  }
4372
4417
  },
4373
- [exchangeFeeBps, onError, onSelectExchange]
4418
+ [onError, onSelectExchange]
4374
4419
  );
4375
4420
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen rs-exchange-select", children: [
4376
4421
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
4377
4422
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4378
- _chunkHMUGY66Ocjs.BodyHeader,
4423
+ _chunkG264OM23cjs.BodyHeader,
4379
4424
  {
4380
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.UnplugIcon, {}),
4425
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.UnplugIcon, {}),
4381
4426
  title: "Connect exchange",
4382
4427
  subtitle: "Select an exchange to connect"
4383
4428
  }
4384
4429
  ),
4385
- loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-exchange-select-state", "aria-live": "polite", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, {}) }),
4430
+ loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-exchange-select-state", "aria-live": "polite", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, {}) }),
4386
4431
  !loading && error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-exchange-select-state", "aria-live": "polite", children: [
4387
4432
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-exchange-select-state-title", children: "Couldn\u2019t load exchanges" }),
4388
4433
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4408,7 +4453,7 @@ function ExchangeSelectStep({
4408
4453
  )
4409
4454
  ] }),
4410
4455
  !loading && !error && exchanges.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-exchange-grid", children: exchanges.map((exchange) => {
4411
- const brand = _chunkHMUGY66Ocjs.getExchangeLogo.call(void 0, exchange.name, exchange.connection);
4456
+ const brand = _chunkCXRH5MKOcjs.getExchangeLogo.call(void 0, exchange.name, exchange.connection);
4412
4457
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4413
4458
  "button",
4414
4459
  {
@@ -4433,12 +4478,7 @@ function ExchangeSelectStep({
4433
4478
  );
4434
4479
  }) })
4435
4480
  ] }),
4436
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {}),
4437
- exchangeFeeBps > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "rs-exchange-select-fee-note", children: [
4438
- "A ",
4439
- formatFeeRate(exchangeFeeBps),
4440
- " Exchange Fee applies to your deposit."
4441
- ] }),
4481
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {}),
4442
4482
  selectionNotice && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "rs-exchange-select-fee-note", role: "status", children: selectionNotice })
4443
4483
  ] });
4444
4484
  }
@@ -4471,14 +4511,14 @@ function SolanaTokenSelectStep({
4471
4511
  setError(null);
4472
4512
  const portfolioBySymbol = {};
4473
4513
  try {
4474
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-token-select", "portfolio:request", {
4514
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-token-select", "portfolio:request", {
4475
4515
  solanaAddress
4476
4516
  });
4477
4517
  const portfolio = await service.fetchSolanaPortfolio(solanaAddress);
4478
4518
  if (!active) return;
4479
4519
  for (const t of portfolio.tokens) {
4480
4520
  const symbol = t.symbol.toUpperCase();
4481
- if (!_chunkOY5N3E6Lcjs.SOLANA_TOKENS.some((st) => st.symbol === symbol)) continue;
4521
+ if (!_chunkCXRH5MKOcjs.SOLANA_TOKENS.some((st) => st.symbol === symbol)) continue;
4482
4522
  let parsed = 0n;
4483
4523
  try {
4484
4524
  parsed = BigInt(t.balance || "0");
@@ -4494,12 +4534,12 @@ function SolanaTokenSelectStep({
4494
4534
  };
4495
4535
  }
4496
4536
  }
4497
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-token-select", "portfolio:success", {
4537
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-token-select", "portfolio:success", {
4498
4538
  symbols: Object.keys(portfolioBySymbol)
4499
4539
  });
4500
4540
  } catch (err) {
4501
4541
  if (!active) return;
4502
- _chunkHMUGY66Ocjs.debugError.call(void 0, debug, "solana-token-select", "portfolio:failure", err, {
4542
+ _chunkCXRH5MKOcjs.debugError.call(void 0, debug, "solana-token-select", "portfolio:failure", err, {
4503
4543
  solanaAddress
4504
4544
  });
4505
4545
  setError(
@@ -4510,7 +4550,7 @@ function SolanaTokenSelectStep({
4510
4550
  return;
4511
4551
  }
4512
4552
  const results = [];
4513
- for (const token of _chunkOY5N3E6Lcjs.SOLANA_TOKENS) {
4553
+ for (const token of _chunkCXRH5MKOcjs.SOLANA_TOKENS) {
4514
4554
  const fromPortfolio = portfolioBySymbol[token.symbol];
4515
4555
  if (fromPortfolio && fromPortfolio.balance > 0n) {
4516
4556
  results.push({
@@ -4524,7 +4564,7 @@ function SolanaTokenSelectStep({
4524
4564
  setTokenBalances(results);
4525
4565
  setLoading(false);
4526
4566
  const totalUsd = results.reduce((sum, r) => sum + r.balanceUsd, 0);
4527
- _optionalChain([onTotalBalanceComputed, 'optionalCall', _214 => _214(totalUsd)]);
4567
+ _optionalChain([onTotalBalanceComputed, 'optionalCall', _225 => _225(totalUsd)]);
4528
4568
  }
4529
4569
  void loadBalances();
4530
4570
  return () => {
@@ -4546,30 +4586,30 @@ function SolanaTokenSelectStep({
4546
4586
  const raw = _viem.formatUnits.call(void 0, entry.balance, entry.token.decimals);
4547
4587
  const numeric = Number(raw);
4548
4588
  if (!Number.isFinite(numeric)) return raw;
4549
- return _chunkHMUGY66Ocjs.tokenFormatter.format(numeric);
4589
+ return _chunkCXRH5MKOcjs.tokenFormatter.format(numeric);
4550
4590
  } catch (e30) {
4551
4591
  return "--";
4552
4592
  }
4553
4593
  };
4554
- const chainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, "solana");
4555
- const chainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, "solana");
4594
+ const chainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, "solana");
4595
+ const chainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, "solana");
4556
4596
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
4557
4597
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body", children: [
4558
4598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4559
- _chunkHMUGY66Ocjs.BodyHeader,
4599
+ _chunkG264OM23cjs.BodyHeader,
4560
4600
  {
4561
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}),
4601
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}),
4562
4602
  title: "Your assets",
4563
4603
  subtitle: "Select source assets to transfer"
4564
4604
  }
4565
4605
  ),
4566
4606
  loading && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-loading-state", style: { padding: "40px 12px" }, children: [
4567
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, { className: "rs-text-tertiary" }),
4607
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, { className: "rs-text-tertiary" }),
4568
4608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-text-sm rs-text-tertiary", children: "Loading balances" })
4569
4609
  ] }),
4570
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: error }),
4610
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
4571
4611
  !loading && !error && rows.length === 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-empty-state", children: [
4572
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, { className: "rs-empty-icon" }),
4612
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, { className: "rs-empty-icon" }),
4573
4613
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-empty-text", children: "No funds in connected wallet" }),
4574
4614
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-empty-address", children: [
4575
4615
  solanaAddress.slice(0, 6),
@@ -4600,13 +4640,14 @@ function SolanaTokenSelectStep({
4600
4640
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-info", children: [
4601
4641
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-icon-wrapper", children: [
4602
4642
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4603
- _chunkHMUGY66Ocjs.TokenIcon,
4643
+ _chunkCXRH5MKOcjs.TokenIcon,
4604
4644
  {
4645
+ token: { chain: "solana", address: entry.token.mint },
4605
4646
  symbol: entry.token.symbol,
4606
4647
  fallback: entry.token.symbol.slice(0, 4)
4607
4648
  }
4608
4649
  ) }),
4609
- chainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: chainIcon, alt: chainName }) })
4650
+ chainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: chainIcon, alt: chainName }) })
4610
4651
  ] }),
4611
4652
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-text", children: [
4612
4653
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-name-row", children: [
@@ -4623,14 +4664,14 @@ function SolanaTokenSelectStep({
4623
4664
  ] })
4624
4665
  ] })
4625
4666
  ] }),
4626
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-balance", children: entry.balanceUsd > 0 ? _chunkHMUGY66Ocjs.currencyFormatter.format(entry.balanceUsd) : tokenAmount !== "--" ? `${tokenAmount} ${entry.token.symbol}` : "--" })
4667
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-balance", children: entry.balanceUsd > 0 ? _chunkCXRH5MKOcjs.currencyFormatter.format(entry.balanceUsd) : tokenAmount !== "--" ? `${tokenAmount} ${entry.token.symbol}` : "--" })
4627
4668
  ]
4628
4669
  },
4629
4670
  entry.token.symbol
4630
4671
  );
4631
4672
  }) }),
4632
4673
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4633
- _chunkHMUGY66Ocjs.Button,
4674
+ _chunkCXRH5MKOcjs.Button,
4634
4675
  {
4635
4676
  onClick: () => selectedEntry && onContinue(
4636
4677
  selectedEntry.token,
@@ -4643,7 +4684,7 @@ function SolanaTokenSelectStep({
4643
4684
  }
4644
4685
  )
4645
4686
  ] }),
4646
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
4687
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
4647
4688
  ] });
4648
4689
  }
4649
4690
 
@@ -4667,6 +4708,7 @@ function SolanaAmountStep({
4667
4708
  targetChain,
4668
4709
  targetChainName,
4669
4710
  targetTokenSymbol,
4711
+ targetToken,
4670
4712
  appBalanceUsd,
4671
4713
  onContinue,
4672
4714
  debug
@@ -4674,8 +4716,8 @@ function SolanaAmountStep({
4674
4716
  const [amount, setAmount] = _react.useState.call(void 0, "");
4675
4717
  const [error, setError] = _react.useState.call(void 0, null);
4676
4718
  const hasAppliedDefaultRef = _react.useRef.call(void 0, false);
4677
- const isSourceStablecoin = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, token.symbol);
4678
- const isMaxDefault = _optionalChain([defaultAmount, 'optionalAccess', _215 => _215.trim, 'call', _216 => _216(), 'access', _217 => _217.toLowerCase, 'call', _218 => _218()]) === "max";
4719
+ const isSourceStablecoin = _chunkFKJ6EJHHcjs.isStablecoinSymbol.call(void 0, token.symbol);
4720
+ const isMaxDefault = _optionalChain([defaultAmount, 'optionalAccess', _226 => _226.trim, 'call', _227 => _227(), 'access', _228 => _228.toLowerCase, 'call', _229 => _229()]) === "max";
4679
4721
  const tokenPriceUsd = _react.useMemo.call(void 0, () => {
4680
4722
  if (isSourceStablecoin) return 1;
4681
4723
  try {
@@ -4695,7 +4737,7 @@ function SolanaAmountStep({
4695
4737
  const raw = _viem.formatUnits.call(void 0, balance, token.decimals);
4696
4738
  const numeric = Number(raw);
4697
4739
  if (!Number.isFinite(numeric)) return raw;
4698
- return _chunkHMUGY66Ocjs.tokenFormatter.format(numeric);
4740
+ return _chunkCXRH5MKOcjs.tokenFormatter.format(numeric);
4699
4741
  } catch (e32) {
4700
4742
  return "\u2026";
4701
4743
  }
@@ -4712,7 +4754,7 @@ function SolanaAmountStep({
4712
4754
  }
4713
4755
  }, [balance, token.decimals, tokenPriceUsd, balanceUsd]);
4714
4756
  const spendableBalance = _react.useMemo.call(void 0, () => {
4715
- if (!_chunkOY5N3E6Lcjs.isNativeSol.call(void 0, token)) return balance;
4757
+ if (!_chunkCXRH5MKOcjs.isNativeSol.call(void 0, token)) return balance;
4716
4758
  return balance > SOL_FEE_RESERVE_LAMPORTS ? balance - SOL_FEE_RESERVE_LAMPORTS : 0n;
4717
4759
  }, [balance, token]);
4718
4760
  const spendableBalanceUsd = _react.useMemo.call(void 0, () => {
@@ -4777,15 +4819,15 @@ function SolanaAmountStep({
4777
4819
  return null;
4778
4820
  }
4779
4821
  }, [numericAmount, isSourceStablecoin, hasPricing, tokenPriceUsd, token.decimals]);
4780
- const minDepositUsd = _chunkOY5N3E6Lcjs.isHyperCoreDestination.call(void 0, targetChain) ? Math.max(_chunkOY5N3E6Lcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _219 => _219.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _220 => _220.minDepositUsd]), () => ( null));
4781
- const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _221 => _221.maxDepositUsd]), () => ( null));
4822
+ const minDepositUsd = _chunkFKJ6EJHHcjs.isHyperCoreDestination.call(void 0, targetChain) ? Math.max(_chunkFKJ6EJHHcjs.HYPERCORE_MIN_DEPOSIT_USD, _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _230 => _230.minDepositUsd]), () => ( 0))) : _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _231 => _231.minDepositUsd]), () => ( null));
4823
+ const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _232 => _232.maxDepositUsd]), () => ( null));
4782
4824
  const isBelowMin = minDepositUsd !== null && numericAmount > 0 && numericAmount < minDepositUsd;
4783
4825
  const isAboveMax = maxDepositUsd !== null && numericAmount > maxDepositUsd;
4784
4826
  const exceedsBalance = Boolean(
4785
4827
  sourceAmountUnits !== null && sourceAmountUnits > spendableBalance
4786
4828
  );
4787
- const boundsFor = _chunkHMUGY66Ocjs.useDepositBounds.call(void 0, );
4788
- const boundViolation = _chunkHMUGY66Ocjs.depositBoundsViolation.call(void 0,
4829
+ const boundsFor = _chunkCXRH5MKOcjs.useDepositBounds.call(void 0, );
4830
+ const boundViolation = _chunkCXRH5MKOcjs.depositBoundsViolation.call(void 0,
4789
4831
  boundsFor("solana", token.mint),
4790
4832
  sourceAmountUnits
4791
4833
  );
@@ -4793,7 +4835,7 @@ function SolanaAmountStep({
4793
4835
  const handlePresetClick = (percentage) => {
4794
4836
  const formatted = computePresetAmount(percentage);
4795
4837
  if (!formatted) return;
4796
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-amount", "amount:preset", {
4838
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-amount", "amount:preset", {
4797
4839
  percentage,
4798
4840
  symbol: token.symbol,
4799
4841
  formatted
@@ -4829,7 +4871,7 @@ function SolanaAmountStep({
4829
4871
  try {
4830
4872
  amountInUnits = _viem.parseUnits.call(void 0, sourceAmountStr, token.decimals);
4831
4873
  } catch (e37) {
4832
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-amount", "amount:invalid", {
4874
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-amount", "amount:invalid", {
4833
4875
  amount,
4834
4876
  sourceAmount: sourceAmountStr,
4835
4877
  reason: "parse-units-failed"
@@ -4838,13 +4880,13 @@ function SolanaAmountStep({
4838
4880
  return;
4839
4881
  }
4840
4882
  if (amountInUnits > spendableBalance) {
4841
- const isReserveIssue = _chunkOY5N3E6Lcjs.isNativeSol.call(void 0, token) && amountInUnits <= balance;
4883
+ const isReserveIssue = _chunkCXRH5MKOcjs.isNativeSol.call(void 0, token) && amountInUnits <= balance;
4842
4884
  setError(
4843
4885
  isReserveIssue ? "Use a bit less than your full SOL balance" : "Insufficient balance"
4844
4886
  );
4845
4887
  return;
4846
4888
  }
4847
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-amount", "amount:continue", {
4889
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-amount", "amount:continue", {
4848
4890
  symbol: token.symbol,
4849
4891
  inputAmountUsd: amount,
4850
4892
  sourceAmount: sourceAmountStr,
@@ -4857,7 +4899,7 @@ function SolanaAmountStep({
4857
4899
  const continueDisabled = exceedsBalance || boundViolation !== null || numericAmount === 0 && !isBelowMin;
4858
4900
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
4859
4901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
4860
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}), title: "Wallet deposit" }),
4902
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}), title: "Wallet deposit" }),
4861
4903
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-section", children: [
4862
4904
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-display", children: [
4863
4905
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4877,13 +4919,13 @@ function SolanaAmountStep({
4877
4919
  " available",
4878
4920
  computedBalanceUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4879
4921
  " (~",
4880
- _chunkHMUGY66Ocjs.currencyFormatter.format(computedBalanceUsd),
4922
+ _chunkCXRH5MKOcjs.currencyFormatter.format(computedBalanceUsd),
4881
4923
  ")"
4882
4924
  ] })
4883
4925
  ] }),
4884
4926
  minDepositUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-meta-minimum", children: [
4885
4927
  "Min. deposit ",
4886
- _chunkHMUGY66Ocjs.currencyFormatter.format(minDepositUsd)
4928
+ _chunkCXRH5MKOcjs.currencyFormatter.format(minDepositUsd)
4887
4929
  ] })
4888
4930
  ] })
4889
4931
  ] }),
@@ -4906,7 +4948,13 @@ function SolanaAmountStep({
4906
4948
  "Solana ",
4907
4949
  token.symbol
4908
4950
  ] }),
4909
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: token.symbol }) })
4951
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4952
+ _chunkCXRH5MKOcjs.TokenIcon,
4953
+ {
4954
+ token: { chain: "solana", address: token.mint },
4955
+ symbol: token.symbol
4956
+ }
4957
+ ) })
4910
4958
  ] })
4911
4959
  ] }),
4912
4960
  targetChainName && targetTokenSymbol && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
@@ -4917,17 +4965,17 @@ function SolanaAmountStep({
4917
4965
  " ",
4918
4966
  targetTokenSymbol
4919
4967
  ] }),
4920
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.TokenIcon, { symbol: targetTokenSymbol }) })
4968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.TokenIcon, { token: targetToken, symbol: targetTokenSymbol }) })
4921
4969
  ] })
4922
4970
  ] }),
4923
4971
  balanceAfterUsd !== null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
4924
4972
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Balance after deposit" }),
4925
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-value", children: _chunkHMUGY66Ocjs.currencyFormatter.format(balanceAfterUsd) })
4973
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-value", children: _chunkCXRH5MKOcjs.currencyFormatter.format(balanceAfterUsd) })
4926
4974
  ] })
4927
4975
  ] }),
4928
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: error }),
4976
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
4929
4977
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4930
- _chunkHMUGY66Ocjs.Button,
4978
+ _chunkCXRH5MKOcjs.Button,
4931
4979
  {
4932
4980
  onClick: handleContinue,
4933
4981
  fullWidth: true,
@@ -4936,7 +4984,7 @@ function SolanaAmountStep({
4936
4984
  }
4937
4985
  )
4938
4986
  ] }),
4939
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
4987
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
4940
4988
  ] });
4941
4989
  }
4942
4990
 
@@ -4956,10 +5004,10 @@ function loadSolanaDependencies() {
4956
5004
  return dependenciesPromise2;
4957
5005
  }
4958
5006
  function getSolanaRpcUrl(rpcUrls) {
4959
- return _nullishCoalesce(_chunkHMUGY66Ocjs.rpcUrlFor.call(void 0, rpcUrls, "solana"), () => ( DEFAULT_SOLANA_RPC_URL));
5007
+ return _nullishCoalesce(_chunkCXRH5MKOcjs.rpcUrlFor.call(void 0, rpcUrls, "solana"), () => ( DEFAULT_SOLANA_RPC_URL));
4960
5008
  }
4961
5009
  function hasConfiguredSolanaRpcUrl(rpcUrls) {
4962
- return _chunkHMUGY66Ocjs.rpcUrlFor.call(void 0, rpcUrls, "solana") !== void 0;
5010
+ return _chunkCXRH5MKOcjs.rpcUrlFor.call(void 0, rpcUrls, "solana") !== void 0;
4963
5011
  }
4964
5012
  async function getSolanaConnection(rpcUrls) {
4965
5013
  const rpcUrl = getSolanaRpcUrl(rpcUrls);
@@ -5076,43 +5124,44 @@ function SolanaConfirmStep({
5076
5124
  onSubmittingChange,
5077
5125
  debug
5078
5126
  }) {
5079
- const rpcUrls = _chunkHMUGY66Ocjs.useRpcUrls.call(void 0, );
5127
+ const rpcUrls = _chunkCXRH5MKOcjs.useRpcUrls.call(void 0, );
5080
5128
  const [isSubmitting, setIsSubmitting] = _react.useState.call(void 0, false);
5081
5129
  const [error, setError] = _react.useState.call(void 0, null);
5082
5130
  const onSubmittingChangeRef = _react.useRef.call(void 0, onSubmittingChange);
5083
5131
  onSubmittingChangeRef.current = onSubmittingChange;
5084
5132
  _react.useEffect.call(void 0, () => {
5085
- _optionalChain([onSubmittingChangeRef, 'access', _222 => _222.current, 'optionalCall', _223 => _223(isSubmitting)]);
5086
- return () => _optionalChain([onSubmittingChangeRef, 'access', _224 => _224.current, 'optionalCall', _225 => _225(false)]);
5133
+ _optionalChain([onSubmittingChangeRef, 'access', _233 => _233.current, 'optionalCall', _234 => _234(isSubmitting)]);
5134
+ return () => _optionalChain([onSubmittingChangeRef, 'access', _235 => _235.current, 'optionalCall', _236 => _236(false)]);
5087
5135
  }, [isSubmitting]);
5088
- const targetChainId = _chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain);
5089
- const targetSymbol = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
5090
- const sourceChainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, "solana");
5091
- const targetChainName = _chunkOY5N3E6Lcjs.getChainName.call(void 0, targetChainId);
5092
- const sourceChainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, "solana");
5093
- const targetChainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, targetChainId);
5094
- const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _226 => _226.feeSponsored]), () => ( false));
5095
- const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _227 => _227.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
5096
- const formattedAmount = sourceAmount && Number.isFinite(Number(sourceAmount)) ? _nullishCoalesce(_chunkHMUGY66Ocjs.formatTokenAmount.call(void 0, Number(sourceAmount), token.symbol), () => ( "0")) : "0";
5136
+ const targetChainId = _chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain);
5137
+ const targetSymbol = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0, targetChainId, targetToken).symbol;
5138
+ const sourceChainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, "solana");
5139
+ const targetChainName = _chunkFKJ6EJHHcjs.getChainName.call(void 0, targetChainId);
5140
+ const sourceChainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, "solana");
5141
+ const targetChainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, targetChainId);
5142
+ const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _237 => _237.feeSponsored]), () => ( false));
5143
+ const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _238 => _238.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
5144
+ const formattedAmount = sourceAmount && Number.isFinite(Number(sourceAmount)) ? _nullishCoalesce(_chunkCXRH5MKOcjs.formatTokenAmount.call(void 0, Number(sourceAmount), token.symbol), () => ( "0")) : "0";
5097
5145
  const receiveDisplay = (() => {
5098
5146
  const usdValue = Number(targetAmount);
5099
5147
  const sourceAmountUsd = Number.isFinite(usdValue) && usdValue > 0 ? usdValue : void 0;
5100
- const estimate = _chunkHMUGY66Ocjs.formatReceiveEstimate.call(void 0, {
5148
+ const estimate = _chunkCXRH5MKOcjs.formatReceiveEstimate.call(void 0, {
5101
5149
  sourceAmount: Number.isFinite(Number(sourceAmount)) ? Number(sourceAmount) : void 0,
5102
5150
  sourceSymbol: token.symbol,
5103
5151
  targetSymbol,
5104
5152
  sourceAmountUsd,
5105
- sourceTrusted: _chunkHMUGY66Ocjs.isRecognizedToken.call(void 0, token.mint, "solana"),
5153
+ // The wallet flow only offers the allowlist, so this is the check.
5154
+ sourceTrusted: _chunkCXRH5MKOcjs.resolveSolanaToken.call(void 0, token.mint) !== void 0,
5106
5155
  // Curated stablecoin target estimates at $1 when unquoted; never applied
5107
5156
  // to the source (a held token). See ConfirmStep for the rationale.
5108
- prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkHMUGY66Ocjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
5157
+ prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } : _chunkCXRH5MKOcjs.isDisplayStablecoinSymbol.call(void 0, targetSymbol) ? { [targetSymbol.toUpperCase()]: 1 } : {}
5109
5158
  });
5110
5159
  if (estimate !== void 0) return estimate;
5111
5160
  return targetSymbol;
5112
5161
  })();
5113
5162
  const handleConfirm = async () => {
5114
5163
  if (!solanaProvider) {
5115
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "submit:blocked", {
5164
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "submit:blocked", {
5116
5165
  reason: "missing-provider"
5117
5166
  });
5118
5167
  setError("Solana wallet not connected");
@@ -5120,7 +5169,7 @@ function SolanaConfirmStep({
5120
5169
  }
5121
5170
  const parsedAmount = parseFloat(sourceAmount);
5122
5171
  if (isNaN(parsedAmount) || parsedAmount <= 0) {
5123
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "submit:blocked", {
5172
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "submit:blocked", {
5124
5173
  reason: "invalid-amount",
5125
5174
  sourceAmount
5126
5175
  });
@@ -5129,7 +5178,7 @@ function SolanaConfirmStep({
5129
5178
  }
5130
5179
  setError(null);
5131
5180
  setIsSubmitting(true);
5132
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "submit:start", {
5181
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "submit:start", {
5133
5182
  smartAccount,
5134
5183
  solanaAddress,
5135
5184
  solanaDepositAddress,
@@ -5139,7 +5188,7 @@ function SolanaConfirmStep({
5139
5188
  });
5140
5189
  try {
5141
5190
  const check = await service.checkAccount(smartAccount);
5142
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "check:success", {
5191
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "check:success", {
5143
5192
  smartAccount,
5144
5193
  isRegistered: check.isRegistered,
5145
5194
  targetChain: check.targetChain,
@@ -5152,12 +5201,12 @@ function SolanaConfirmStep({
5152
5201
  }
5153
5202
  const connection = await (hasConfiguredSolanaRpcUrl(rpcUrls) ? getSolanaConnection(rpcUrls) : _nullishCoalesce(solanaConnection, () => ( getSolanaConnection(rpcUrls))));
5154
5203
  const amountUnits = _viem.parseUnits.call(void 0, sourceAmount, token.decimals);
5155
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "tx:build:start", {
5204
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "tx:build:start", {
5156
5205
  token: token.symbol,
5157
5206
  sourceAmount,
5158
5207
  amountUnits: amountUnits.toString()
5159
5208
  });
5160
- const transaction = _chunkOY5N3E6Lcjs.isNativeSol.call(void 0, token) ? await buildSolTransferTransaction(
5209
+ const transaction = _chunkCXRH5MKOcjs.isNativeSol.call(void 0, token) ? await buildSolTransferTransaction(
5161
5210
  connection,
5162
5211
  solanaAddress,
5163
5212
  solanaDepositAddress,
@@ -5169,10 +5218,10 @@ function SolanaConfirmStep({
5169
5218
  token.mint,
5170
5219
  amountUnits
5171
5220
  );
5172
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "tx:build:success", {
5221
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "tx:build:success", {
5173
5222
  token: token.symbol,
5174
5223
  instructionCount: transaction.instructions.length,
5175
- feePayer: _optionalChain([transaction, 'access', _228 => _228.feePayer, 'optionalAccess', _229 => _229.toBase58, 'call', _230 => _230()]),
5224
+ feePayer: _optionalChain([transaction, 'access', _239 => _239.feePayer, 'optionalAccess', _240 => _240.toBase58, 'call', _241 => _241()]),
5176
5225
  recentBlockhash: transaction.recentBlockhash
5177
5226
  });
5178
5227
  const txHash = await sendSolanaTransaction(
@@ -5180,7 +5229,7 @@ function SolanaConfirmStep({
5180
5229
  connection,
5181
5230
  transaction
5182
5231
  );
5183
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "solana-confirm", "tx:sent", {
5232
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "solana-confirm", "tx:sent", {
5184
5233
  txHash,
5185
5234
  amountUnits: amountUnits.toString()
5186
5235
  });
@@ -5192,21 +5241,21 @@ function SolanaConfirmStep({
5192
5241
  });
5193
5242
  } catch (err) {
5194
5243
  const raw = err instanceof Error ? err.message : "Transfer failed";
5195
- const message = _chunkHMUGY66Ocjs.formatUserError.call(void 0, raw);
5196
- _chunkHMUGY66Ocjs.debugError.call(void 0, debug, "solana-confirm", "submit:failure", err, {
5244
+ const message = _chunkCXRH5MKOcjs.formatUserError.call(void 0, raw);
5245
+ _chunkCXRH5MKOcjs.debugError.call(void 0, debug, "solana-confirm", "submit:failure", err, {
5197
5246
  smartAccount,
5198
5247
  token: token.symbol,
5199
5248
  sourceAmount
5200
5249
  });
5201
5250
  setError(message);
5202
- _optionalChain([onError, 'optionalCall', _231 => _231(message, "SOLANA_TRANSFER_ERROR", raw)]);
5251
+ _optionalChain([onError, 'optionalCall', _242 => _242(message, "SOLANA_TRANSFER_ERROR", raw)]);
5203
5252
  } finally {
5204
5253
  setIsSubmitting(false);
5205
5254
  }
5206
5255
  };
5207
5256
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
5208
5257
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
5209
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}), title: "Review deposit" }),
5258
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}), title: "Review deposit" }),
5210
5259
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5211
5260
  ReviewDetails,
5212
5261
  {
@@ -5217,14 +5266,16 @@ function SolanaConfirmStep({
5217
5266
  estimatedTime,
5218
5267
  sendAmount: formattedAmount,
5219
5268
  sendSymbol: token.symbol,
5269
+ sendToken: { chain: "solana", address: token.mint },
5220
5270
  receiveDisplay,
5221
5271
  receiveSymbol: targetSymbol,
5272
+ receiveToken: { chain: targetChainId, address: targetToken },
5222
5273
  fee: { display: "$0.04", struck: feeSponsored, tooltip: feeTooltip }
5223
5274
  }
5224
5275
  ),
5225
- error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Callout, { variant: "error", children: error }),
5276
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
5226
5277
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5227
- _chunkHMUGY66Ocjs.Button,
5278
+ _chunkCXRH5MKOcjs.Button,
5228
5279
  {
5229
5280
  onClick: handleConfirm,
5230
5281
  loading: isSubmitting,
@@ -5235,7 +5286,7 @@ function SolanaConfirmStep({
5235
5286
  }
5236
5287
  )
5237
5288
  ] }),
5238
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
5289
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
5239
5290
  ] });
5240
5291
  }
5241
5292
 
@@ -5250,22 +5301,22 @@ function DappImportAssetSelectStep({
5250
5301
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
5251
5302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
5252
5303
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5253
- _chunkHMUGY66Ocjs.BodyHeader,
5304
+ _chunkG264OM23cjs.BodyHeader,
5254
5305
  {
5255
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}),
5306
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}),
5256
5307
  title: `Transfer from ${sourceLabel}`,
5257
5308
  subtitle: "Pick the balance to import"
5258
5309
  }
5259
5310
  ),
5260
5311
  incompleteSummary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-notice", role: "status", children: incompleteSummary }),
5261
5312
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-asset-list", children: assets.map((asset) => {
5262
- const tokenAmount = asset.balance ? _chunkHMUGY66Ocjs.tokenFormatter.format(
5313
+ const tokenAmount = asset.balance ? _chunkCXRH5MKOcjs.tokenFormatter.format(
5263
5314
  Number(asset.balance) / 10 ** asset.decimals
5264
5315
  ) : "0";
5265
- const balanceUsd = asset.balanceUsd && asset.balanceUsd > 0 ? _chunkHMUGY66Ocjs.currencyFormatter.format(asset.balanceUsd) : `${tokenAmount} ${asset.symbol}`;
5316
+ const balanceUsd = asset.balanceUsd && asset.balanceUsd > 0 ? _chunkCXRH5MKOcjs.currencyFormatter.format(asset.balanceUsd) : `${tokenAmount} ${asset.symbol}`;
5266
5317
  const assetIcon = asset.icon;
5267
- const chainIcon = _chunkOY5N3E6Lcjs.getChainIcon.call(void 0, asset.chainId);
5268
- const badge = _chunkOY5N3E6Lcjs.getChainBadge.call(void 0, asset.chainId);
5318
+ const chainIcon = _chunkFKJ6EJHHcjs.getChainIcon.call(void 0, asset.chainId);
5319
+ const badge = _chunkFKJ6EJHHcjs.getChainBadge.call(void 0, asset.chainId);
5269
5320
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5270
5321
  "button",
5271
5322
  {
@@ -5275,14 +5326,15 @@ function DappImportAssetSelectStep({
5275
5326
  children: [
5276
5327
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-info", children: [
5277
5328
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-asset-icon-wrapper", children: [
5278
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-icon", children: assetIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: assetIcon, alt: asset.symbol }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5279
- _chunkHMUGY66Ocjs.TokenIcon,
5329
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-icon", children: assetIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: assetIcon, alt: asset.symbol }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5330
+ _chunkCXRH5MKOcjs.TokenIcon,
5280
5331
  {
5332
+ token: { chain: asset.chainId, address: asset.token },
5281
5333
  symbol: asset.symbol,
5282
5334
  fallback: asset.symbol.slice(0, 4)
5283
5335
  }
5284
5336
  ) }),
5285
- chainIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CdnIcon, { src: chainIcon, alt: _chunkOY5N3E6Lcjs.getChainName.call(void 0, asset.chainId) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5337
+ chainIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-asset-chain-badge", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.CdnIcon, { src: chainIcon, alt: _chunkFKJ6EJHHcjs.getChainName.call(void 0, asset.chainId) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5286
5338
  "span",
5287
5339
  {
5288
5340
  className: "rs-asset-chain-badge",
@@ -5314,7 +5366,7 @@ function DappImportAssetSelectStep({
5314
5366
  );
5315
5367
  }) })
5316
5368
  ] }),
5317
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
5369
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
5318
5370
  ] });
5319
5371
  }
5320
5372
  DappImportAssetSelectStep.displayName = "DappImportAssetSelectStep";
@@ -5336,7 +5388,7 @@ function describeRow(status, comingSoon) {
5336
5388
  }
5337
5389
  if (status.enabled) {
5338
5390
  return {
5339
- subtitle: status.balanceUsd > 0 ? _chunkHMUGY66Ocjs.currencyFormatter.format(status.balanceUsd) : "No balance",
5391
+ subtitle: status.balanceUsd > 0 ? _chunkCXRH5MKOcjs.currencyFormatter.format(status.balanceUsd) : "No balance",
5340
5392
  disabled: false,
5341
5393
  busy: false
5342
5394
  };
@@ -5359,9 +5411,9 @@ function DappImportSelectStep({
5359
5411
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
5360
5412
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
5361
5413
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5362
- _chunkHMUGY66Ocjs.BodyHeader,
5414
+ _chunkG264OM23cjs.BodyHeader,
5363
5415
  {
5364
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.MigrateAssetsIcon, {}),
5416
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.MigrateAssetsIcon, {}),
5365
5417
  title: "Migrate assets",
5366
5418
  subtitle: "Select a position to migrate"
5367
5419
  }
@@ -5373,16 +5425,16 @@ function DappImportSelectStep({
5373
5425
  Boolean(brand.comingSoon)
5374
5426
  );
5375
5427
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5376
- _chunkHMUGY66Ocjs.ListRow,
5428
+ _chunkCXRH5MKOcjs.ListRow,
5377
5429
  {
5378
5430
  leadingMedia: brand.iconUrl,
5379
5431
  title: brand.label,
5380
5432
  subtitle,
5381
5433
  disabled,
5382
- trailing: busy ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.Spinner, { className: "rs-spinner--sm" }) : void 0,
5434
+ trailing: busy ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.Spinner, { className: "rs-spinner--sm" }) : void 0,
5383
5435
  onClick: () => {
5384
5436
  if (status === "needs-connect") {
5385
- _optionalChain([onRequestConnect, 'optionalCall', _232 => _232()]);
5437
+ _optionalChain([onRequestConnect, 'optionalCall', _243 => _243()]);
5386
5438
  return;
5387
5439
  }
5388
5440
  onSelect(brand.id);
@@ -5392,7 +5444,7 @@ function DappImportSelectStep({
5392
5444
  );
5393
5445
  }) })
5394
5446
  ] }),
5395
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
5447
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
5396
5448
  ] });
5397
5449
  }
5398
5450
  DappImportSelectStep.displayName = "DappImportSelectStep";
@@ -5409,9 +5461,9 @@ function DappImportAssetSelectSkeleton({
5409
5461
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-sr-only", role: "status", children: error ? "Couldn't load balances" : "Loading balances\u2026" }),
5410
5462
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
5411
5463
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5412
- _chunkHMUGY66Ocjs.BodyHeader,
5464
+ _chunkG264OM23cjs.BodyHeader,
5413
5465
  {
5414
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.WalletIcon, {}),
5466
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {}),
5415
5467
  title: `Transfer from ${sourceLabel}`,
5416
5468
  subtitle: "Pick the balance to import"
5417
5469
  }
@@ -5449,7 +5501,7 @@ function DappImportAssetSelectSkeleton({
5449
5501
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Try again" })
5450
5502
  }
5451
5503
  ) }),
5452
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.PoweredBy, {})
5504
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
5453
5505
  ] });
5454
5506
  }
5455
5507
  DappImportAssetSelectSkeleton.displayName = "DappImportAssetSelectSkeleton";
@@ -5538,7 +5590,7 @@ var aaveProvider = {
5538
5590
  throw new Error("Aave positions require a backend connection");
5539
5591
  }
5540
5592
  const response = await backend.getPositions(eoa);
5541
- if (_optionalChain([signal, 'optionalAccess', _233 => _233.aborted])) return null;
5593
+ if (_optionalChain([signal, 'optionalAccess', _244 => _244.aborted])) return null;
5542
5594
  const assets = toImportableAssets(response.positions);
5543
5595
  const failures = _nullishCoalesce(response.failures, () => ( []));
5544
5596
  if (assets.length === 0) {
@@ -5625,9 +5677,9 @@ var aaveProvider = {
5625
5677
  function toImportableAssets(positions) {
5626
5678
  const assets = [];
5627
5679
  for (const position of positions) {
5628
- const chainId = _chunkOY5N3E6Lcjs.parseEvmChainId.call(void 0, position.chain);
5680
+ const chainId = _chunkFKJ6EJHHcjs.parseEvmChainId.call(void 0, position.chain);
5629
5681
  if (chainId === null) continue;
5630
- if (!_chunkOY5N3E6Lcjs.SUPPORTED_CHAIN_IDS.includes(chainId)) continue;
5682
+ if (!_chunkFKJ6EJHHcjs.SUPPORTED_CHAIN_IDS.includes(chainId)) continue;
5631
5683
  if (BigInt(position.maxWithdrawable) <= 0n) continue;
5632
5684
  if (position.constraints.some((c) => POLICY_REFUSED.includes(c))) continue;
5633
5685
  assets.push(buildAsset(position, chainId));
@@ -5741,11 +5793,11 @@ async function detectPolymarketWalletKind(params) {
5741
5793
  const { publicClient, proxyWallet, eoa } = params;
5742
5794
  const results = await publicClient.multicall({
5743
5795
  allowFailure: true,
5744
- multicallAddress: _chunkLVCD6RHFcjs.MULTICALL3_ADDRESS,
5796
+ multicallAddress: _chunkFVJKUTHFcjs.MULTICALL3_ADDRESS,
5745
5797
  contracts: [
5746
5798
  {
5747
5799
  address: proxyWallet,
5748
- abi: _chunkLVCD6RHFcjs.SAFE_ABI,
5800
+ abi: _chunkFVJKUTHFcjs.SAFE_ABI,
5749
5801
  functionName: "isOwner",
5750
5802
  args: [eoa]
5751
5803
  },
@@ -5778,7 +5830,7 @@ async function buildSignedDepositWalletBatch(params) {
5778
5830
  if (!account || !chain) {
5779
5831
  throw new Error("Wallet not connected");
5780
5832
  }
5781
- if (chain.id !== _chunkLVCD6RHFcjs.POLYMARKET_POLYGON_CHAIN_ID) {
5833
+ if (chain.id !== _chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID) {
5782
5834
  throw new Error("Switch to Polygon to sign");
5783
5835
  }
5784
5836
  const owner = await publicClient.readContract({
@@ -5823,14 +5875,14 @@ async function buildSignedDepositWalletBatch(params) {
5823
5875
  })),
5824
5876
  signature
5825
5877
  },
5826
- sourceToken: _chunkLVCD6RHFcjs.POLYMARKET_USDCE_ADDRESS,
5878
+ sourceToken: _chunkFVJKUTHFcjs.POLYMARKET_USDCE_ADDRESS,
5827
5879
  sourceSymbol: tokenKind === "pusd" ? "pUSD" : "USDC.e"
5828
5880
  };
5829
5881
  }
5830
5882
  function buildUsdceTransferCalls(recipient, amount) {
5831
5883
  return [
5832
5884
  {
5833
- target: _chunkLVCD6RHFcjs.POLYMARKET_USDCE_ADDRESS,
5885
+ target: _chunkFVJKUTHFcjs.POLYMARKET_USDCE_ADDRESS,
5834
5886
  value: 0n,
5835
5887
  data: _viem.encodeFunctionData.call(void 0, {
5836
5888
  abi: _viem.erc20Abi,
@@ -5843,21 +5895,21 @@ function buildUsdceTransferCalls(recipient, amount) {
5843
5895
  function buildPusdUnwrapCalls(recipient, amount) {
5844
5896
  return [
5845
5897
  {
5846
- target: _chunkLVCD6RHFcjs.POLYMARKET_PUSD_ADDRESS,
5898
+ target: _chunkFVJKUTHFcjs.POLYMARKET_PUSD_ADDRESS,
5847
5899
  value: 0n,
5848
5900
  data: _viem.encodeFunctionData.call(void 0, {
5849
5901
  abi: _viem.erc20Abi,
5850
5902
  functionName: "approve",
5851
- args: [_chunkLVCD6RHFcjs.POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS, amount]
5903
+ args: [_chunkFVJKUTHFcjs.POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS, amount]
5852
5904
  })
5853
5905
  },
5854
5906
  {
5855
- target: _chunkLVCD6RHFcjs.POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS,
5907
+ target: _chunkFVJKUTHFcjs.POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS,
5856
5908
  value: 0n,
5857
5909
  data: _viem.encodeFunctionData.call(void 0, {
5858
5910
  abi: COLLATERAL_OFFRAMP_ABI,
5859
5911
  functionName: "unwrap",
5860
- args: [_chunkLVCD6RHFcjs.POLYMARKET_USDCE_ADDRESS, recipient, amount]
5912
+ args: [_chunkFVJKUTHFcjs.POLYMARKET_USDCE_ADDRESS, recipient, amount]
5861
5913
  })
5862
5914
  }
5863
5915
  ];
@@ -5869,23 +5921,23 @@ var polymarketProvider = {
5869
5921
  id: PROVIDER_ID2,
5870
5922
  sourceLabel: "Polymarket",
5871
5923
  async fetchAvailability({ eoa, getPublicClient: getPublicClient2, signal }) {
5872
- const proxyWallet = await _chunkLVCD6RHFcjs.fetchPolymarketProxyWallet.call(void 0, eoa, signal);
5924
+ const proxyWallet = await _chunkFVJKUTHFcjs.fetchPolymarketProxyWallet.call(void 0, eoa, signal);
5873
5925
  if (!proxyWallet) return null;
5874
- if (_optionalChain([signal, 'optionalAccess', _234 => _234.aborted])) return null;
5875
- const polygonClient = getPublicClient2(_chunkLVCD6RHFcjs.POLYMARKET_POLYGON_CHAIN_ID);
5926
+ if (_optionalChain([signal, 'optionalAccess', _245 => _245.aborted])) return null;
5927
+ const polygonClient = getPublicClient2(_chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID);
5876
5928
  if (!polygonClient) return null;
5877
- const balances = await _chunkLVCD6RHFcjs.readPolymarketBalances.call(void 0, {
5929
+ const balances = await _chunkFVJKUTHFcjs.readPolymarketBalances.call(void 0, {
5878
5930
  publicClient: polygonClient,
5879
5931
  proxyWallet
5880
5932
  });
5881
- if (_optionalChain([signal, 'optionalAccess', _235 => _235.aborted])) return null;
5933
+ if (_optionalChain([signal, 'optionalAccess', _246 => _246.aborted])) return null;
5882
5934
  if (balances.pusd === 0n && balances.usdce === 0n) return null;
5883
5935
  const walletKind = await detectPolymarketWalletKind({
5884
5936
  publicClient: polygonClient,
5885
5937
  proxyWallet,
5886
5938
  eoa
5887
5939
  });
5888
- if (_optionalChain([signal, 'optionalAccess', _236 => _236.aborted])) return null;
5940
+ if (_optionalChain([signal, 'optionalAccess', _247 => _247.aborted])) return null;
5889
5941
  if (!walletKind) return null;
5890
5942
  const assets = [];
5891
5943
  if (balances.pusd > 0n) {
@@ -5932,7 +5984,7 @@ var polymarketProvider = {
5932
5984
  const { txHash } = await backend.submitPolymarketWithdraw(payload);
5933
5985
  return { txHash, sourceToken, sourceSymbol, sourceDecimals: 6 };
5934
5986
  }
5935
- const result = await _chunkLVCD6RHFcjs.executePolymarketSafeTransfer.call(void 0, {
5987
+ const result = await _chunkFVJKUTHFcjs.executePolymarketSafeTransfer.call(void 0, {
5936
5988
  walletClient,
5937
5989
  publicClient,
5938
5990
  safeAddress: metadata.proxyWallet,
@@ -5951,17 +6003,17 @@ var polymarketProvider = {
5951
6003
  function buildAsset2(params) {
5952
6004
  const { tokenKind, proxyWallet, walletKind, balance } = params;
5953
6005
  const isPusd = tokenKind === "pusd";
5954
- const tokenAddress = isPusd ? _chunkLVCD6RHFcjs.POLYMARKET_PUSD_ADDRESS : _chunkLVCD6RHFcjs.POLYMARKET_USDCE_ADDRESS;
6006
+ const tokenAddress = isPusd ? _chunkFVJKUTHFcjs.POLYMARKET_PUSD_ADDRESS : _chunkFVJKUTHFcjs.POLYMARKET_USDCE_ADDRESS;
5955
6007
  const symbol = isPusd ? "pUSD" : "USDC.e";
5956
6008
  const balanceUsd = Number(_viem.formatUnits.call(void 0, balance, 6));
5957
6009
  const metadata = { proxyWallet, tokenKind, walletKind };
5958
6010
  return {
5959
6011
  id: `polymarket:${tokenKind}`,
5960
- chainId: _chunkLVCD6RHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
6012
+ chainId: _chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
5961
6013
  token: tokenAddress,
5962
6014
  symbol,
5963
6015
  name: isPusd ? "Polymarket USD" : "Polygon USDC.e",
5964
- icon: isPusd ? _chunkLVCD6RHFcjs.POLYMARKET_ICON_URL : void 0,
6016
+ icon: isPusd ? _chunkFVJKUTHFcjs.POLYMARKET_ICON_URL : void 0,
5965
6017
  decimals: 6,
5966
6018
  balance: balance.toString(),
5967
6019
  balanceUsd: Number.isFinite(balanceUsd) ? balanceUsd : 0,
@@ -5974,8 +6026,8 @@ function buildAsset2(params) {
5974
6026
  // pUSD unwraps to USDC.e via the offramp; USDC.e is what actually
5975
6027
  // arrives at the smart account, so it's also what the orchestrator
5976
6028
  // bridges from.
5977
- depositToken: _chunkLVCD6RHFcjs.POLYMARKET_USDCE_ADDRESS,
5978
- depositChainId: _chunkLVCD6RHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
6029
+ depositToken: _chunkFVJKUTHFcjs.POLYMARKET_USDCE_ADDRESS,
6030
+ depositChainId: _chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
5979
6031
  providerMetadata: metadata
5980
6032
  };
5981
6033
  }
@@ -6023,7 +6075,7 @@ function narrowDappImportAvailability(availability, isExcluded) {
6023
6075
  function computeDappImportStatus(providerId, inputs) {
6024
6076
  const { owner, availability, availabilityOwner, setup } = inputs;
6025
6077
  if (!owner) return "needs-connect";
6026
- const entry = _optionalChain([availabilityOwner, 'optionalAccess', _237 => _237.toLowerCase, 'call', _238 => _238()]) === owner.toLowerCase() ? availability[providerId] : void 0;
6078
+ const entry = _optionalChain([availabilityOwner, 'optionalAccess', _248 => _248.toLowerCase, 'call', _249 => _249()]) === owner.toLowerCase() ? availability[providerId] : void 0;
6027
6079
  if (entry === "loading" || entry === void 0) return "loading";
6028
6080
  if (entry === "error") {
6029
6081
  return {
@@ -6365,7 +6417,7 @@ function DepositAnalyticsControllerProvider({
6365
6417
  children,
6366
6418
  controllerRef
6367
6419
  }) {
6368
- const emit = _chunkHMUGY66Ocjs.useDepositAnalyticsEmitter.call(void 0, );
6420
+ const emit = _chunkCXRH5MKOcjs.useDepositAnalyticsEmitter.call(void 0, );
6369
6421
  const controller = _react.useMemo.call(void 0,
6370
6422
  () => createDepositAnalyticsController(emit),
6371
6423
  [emit]
@@ -6885,7 +6937,7 @@ function applyAction(state, action) {
6885
6937
  totalUsd: null,
6886
6938
  // Keep any prior chains visible so the cluster does not flicker
6887
6939
  // empty across a refresh.
6888
- chainIds: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _239 => _239.chainIds]), () => ( []))
6940
+ chainIds: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _250 => _250.chainIds]), () => ( []))
6889
6941
  }
6890
6942
  }
6891
6943
  }
@@ -7096,7 +7148,7 @@ function applyAction(state, action) {
7096
7148
  flow: { ...state.flow, step: "processing" }
7097
7149
  };
7098
7150
  case "processing/quote-loaded":
7099
- if (state.flow.step !== "processing" || _optionalChain([state, 'access', _240 => _240.processing, 'access', _241 => _241.txHash, 'optionalAccess', _242 => _242.toLowerCase, 'call', _243 => _243()]) !== action.txHash.toLowerCase()) {
7151
+ if (state.flow.step !== "processing" || _optionalChain([state, 'access', _251 => _251.processing, 'access', _252 => _252.txHash, 'optionalAccess', _253 => _253.toLowerCase, 'call', _254 => _254()]) !== action.txHash.toLowerCase()) {
7100
7152
  return state;
7101
7153
  }
7102
7154
  return {
@@ -7399,6 +7451,10 @@ function useDepositStore(selector) {
7399
7451
 
7400
7452
  // src/DepositFlow.tsx
7401
7453
 
7454
+ var BankOnrampStep = _react.lazy.call(void 0, async () => {
7455
+ const module = await Promise.resolve().then(() => _interopRequireWildcard(require("./BankOnrampStep-NPGXAA7U.cjs")));
7456
+ return { default: module.BankOnrampStep };
7457
+ });
7402
7458
  function swappedWidgetPrefetchKey(method, methodSelectionSource) {
7403
7459
  return JSON.stringify([_nullishCoalesce(methodSelectionSource, () => ( null)), _nullishCoalesce(method, () => ( null))]);
7404
7460
  }
@@ -7447,7 +7503,7 @@ async function fetchPinnedQuote(params) {
7447
7503
  timeoutId = setTimeout(resolve, SWAPPED_QUOTE_FEE_TIMEOUT_MS, null);
7448
7504
  })
7449
7505
  ]);
7450
- return quote && !_chunkHMUGY66Ocjs.isDepositPolicyRefusal.call(void 0, quote) ? quote : void 0;
7506
+ return quote && !_chunkCXRH5MKOcjs.isDepositPolicyRefusal.call(void 0, quote) ? quote : void 0;
7451
7507
  } catch (e40) {
7452
7508
  return void 0;
7453
7509
  } finally {
@@ -7669,6 +7725,9 @@ function DepositFlow({
7669
7725
  initialAssetMigration,
7670
7726
  enableWallet = true,
7671
7727
  enableFiatOnramp = false,
7728
+ bankOnramp,
7729
+ onBankJourney,
7730
+ backendUrl,
7672
7731
  enableQrTransfer = true,
7673
7732
  enableGaslessDeposit = false,
7674
7733
  fiatMethods,
@@ -7691,11 +7750,11 @@ function DepositFlow({
7691
7750
  onError,
7692
7751
  debug
7693
7752
  }) {
7694
- const rpcUrls = _chunkHMUGY66Ocjs.useRpcUrls.call(void 0, );
7695
- const onStepChangeRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onStepChange);
7753
+ const rpcUrls = _chunkCXRH5MKOcjs.useRpcUrls.call(void 0, );
7754
+ const onStepChangeRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onStepChange);
7696
7755
  const analytics = useDepositAnalyticsController();
7697
- const onLifecycleRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onLifecycle);
7698
- const onErrorRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onError);
7756
+ const onLifecycleRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onLifecycle);
7757
+ const onErrorRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onError);
7699
7758
  const storeApi = useDepositStoreApi();
7700
7759
  const flowSlice = useDepositStore((s) => s.flow);
7701
7760
  const depositSlice = useDepositStore((s) => s.deposit);
@@ -7712,17 +7771,25 @@ function DepositFlow({
7712
7771
  const stableWalletSelectionKeyRef = _react.useRef.call(void 0, null);
7713
7772
  const logFlow = _react.useCallback.call(void 0,
7714
7773
  (message, data) => {
7715
- _chunkHMUGY66Ocjs.debugLog.call(void 0, debug, "deposit-flow", message, data);
7774
+ _chunkCXRH5MKOcjs.debugLog.call(void 0, debug, "deposit-flow", message, data);
7716
7775
  },
7717
7776
  [debug]
7718
7777
  );
7719
7778
  const logFlowError = _react.useCallback.call(void 0,
7720
7779
  (message, error, data) => {
7721
- _chunkHMUGY66Ocjs.debugError.call(void 0, debug, "deposit-flow", message, error, data);
7780
+ _chunkCXRH5MKOcjs.debugError.call(void 0, debug, "deposit-flow", message, error, data);
7722
7781
  },
7723
7782
  [debug]
7724
7783
  );
7725
- const enableSwappedPreconnect = enableFiatOnramp || enableExchangeConnect;
7784
+ const bankOnrampEnabled = Boolean(
7785
+ bankOnramp && (fiatMethods === void 0 || fiatMethods["bank-transfer"] === true)
7786
+ );
7787
+ const hasSwappedFiatMethod = Boolean(
7788
+ enableFiatOnramp && (!fiatMethods || Object.entries(fiatMethods).some(
7789
+ ([method, enabled]) => enabled && !(bankOnrampEnabled && method === "bank-transfer")
7790
+ ))
7791
+ );
7792
+ const enableSwappedPreconnect = hasSwappedFiatMethod || enableExchangeConnect;
7726
7793
  _react.useEffect.call(void 0, () => {
7727
7794
  if (!enableSwappedPreconnect) return;
7728
7795
  if (typeof document === "undefined") return;
@@ -7742,12 +7809,12 @@ function DepositFlow({
7742
7809
  };
7743
7810
  }, [enableSwappedPreconnect]);
7744
7811
  const dappSwitchChain = _react.useMemo.call(void 0, () => {
7745
- if (!_optionalChain([walletClientProp, 'optionalAccess', _244 => _244.switchChain])) return void 0;
7812
+ if (!_optionalChain([walletClientProp, 'optionalAccess', _255 => _255.switchChain])) return void 0;
7746
7813
  return async (chainId) => {
7747
- await _optionalChain([walletClientProp, 'access', _245 => _245.switchChain, 'optionalCall', _246 => _246({ id: chainId })]);
7814
+ await _optionalChain([walletClientProp, 'access', _256 => _256.switchChain, 'optionalCall', _257 => _257({ id: chainId })]);
7748
7815
  };
7749
7816
  }, [walletClientProp]);
7750
- const connectedWalletAddress = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _247 => _247.account, 'optionalAccess', _248 => _248.address]), () => ( null));
7817
+ const connectedWalletAddress = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _258 => _258.account, 'optionalAccess', _259 => _259.address]), () => ( null));
7751
7818
  const walletOptions = _react.useMemo.call(void 0, () => {
7752
7819
  const options = [];
7753
7820
  const seen = /* @__PURE__ */ new Set();
@@ -7761,7 +7828,7 @@ function DepositFlow({
7761
7828
  });
7762
7829
  seen.add(id);
7763
7830
  }
7764
- if (_optionalChain([walletSession, 'optionalAccess', _249 => _249.isConnected]) && walletSession.isSolana && walletSession.solanaAddress) {
7831
+ if (_optionalChain([walletSession, 'optionalAccess', _260 => _260.isConnected]) && walletSession.isSolana && walletSession.solanaAddress) {
7765
7832
  const id = _nullishCoalesce(walletSession.caipAddress, () => ( `solana:${walletSession.solanaAddress}`));
7766
7833
  if (!seen.has(id)) {
7767
7834
  options.push({
@@ -7773,7 +7840,7 @@ function DepositFlow({
7773
7840
  });
7774
7841
  seen.add(id);
7775
7842
  }
7776
- } else if (_optionalChain([walletSession, 'optionalAccess', _250 => _250.address]) && walletSession.isConnected && walletSession.canSignEvm && !seen.has(`evm:${walletSession.address.toLowerCase()}`)) {
7843
+ } else if (_optionalChain([walletSession, 'optionalAccess', _261 => _261.address]) && walletSession.isConnected && walletSession.canSignEvm && !seen.has(`evm:${walletSession.address.toLowerCase()}`)) {
7777
7844
  const id = `evm:${walletSession.address.toLowerCase()}`;
7778
7845
  if (!seen.has(id)) {
7779
7846
  options.push({
@@ -7789,19 +7856,22 @@ function DepositFlow({
7789
7856
  return options;
7790
7857
  }, [
7791
7858
  connectedWalletAddress,
7792
- _optionalChain([walletSession, 'optionalAccess', _251 => _251.address]),
7793
- _optionalChain([walletSession, 'optionalAccess', _252 => _252.isConnected]),
7794
- _optionalChain([walletSession, 'optionalAccess', _253 => _253.canSignEvm]),
7795
- _optionalChain([walletSession, 'optionalAccess', _254 => _254.icon]),
7796
- _optionalChain([walletSession, 'optionalAccess', _255 => _255.isSolana]),
7797
- _optionalChain([walletSession, 'optionalAccess', _256 => _256.solanaAddress]),
7798
- _optionalChain([walletSession, 'optionalAccess', _257 => _257.caipAddress])
7859
+ _optionalChain([walletSession, 'optionalAccess', _262 => _262.address]),
7860
+ _optionalChain([walletSession, 'optionalAccess', _263 => _263.isConnected]),
7861
+ _optionalChain([walletSession, 'optionalAccess', _264 => _264.canSignEvm]),
7862
+ _optionalChain([walletSession, 'optionalAccess', _265 => _265.icon]),
7863
+ _optionalChain([walletSession, 'optionalAccess', _266 => _266.isSolana]),
7864
+ _optionalChain([walletSession, 'optionalAccess', _267 => _267.solanaAddress]),
7865
+ _optionalChain([walletSession, 'optionalAccess', _268 => _268.caipAddress])
7799
7866
  ]);
7800
- const offeredFiatMethods = _react.useMemo.call(void 0,
7801
- () => fiatMethods ? FIAT_ONRAMP_METHODS.filter((m) => fiatMethods[m.method]) : FIAT_ONRAMP_METHODS,
7867
+ const configuredFiatMethods = _react.useMemo.call(void 0,
7868
+ () => fiatMethods ? FIAT_ONRAMP_METHODS.filter(
7869
+ (m) => fiatMethods[m.method]
7870
+ ) : FIAT_ONRAMP_METHODS,
7802
7871
  [fiatMethods]
7803
7872
  );
7804
- const fiatEnabled = enableFiatOnramp && offeredFiatMethods.length > 0;
7873
+ const swappedFiatEnabled = enableFiatOnramp && configuredFiatMethods.length > 0;
7874
+ const fiatEnabled = bankOnrampEnabled || swappedFiatEnabled;
7805
7875
  const enabledAssetMigrationIds = _react.useMemo.call(void 0,
7806
7876
  () => Object.entries(_nullishCoalesce(assetMigrations, () => ( {}))).filter(([, on]) => on).map(([id]) => id),
7807
7877
  [assetMigrations]
@@ -7815,11 +7885,11 @@ function DepositFlow({
7815
7885
  hasEnabledAssetMigration
7816
7886
  ].filter(Boolean).length;
7817
7887
  const canAutoLock = Boolean(
7818
- enableWallet && _optionalChain([walletClientProp, 'optionalAccess', _258 => _258.account]) && !walletSession && enabledFeatureCount === 1
7888
+ enableWallet && _optionalChain([walletClientProp, 'optionalAccess', _269 => _269.account]) && !walletSession && enabledFeatureCount === 1
7819
7889
  );
7820
7890
  const hasWalletOptions = enableWallet && walletOptions.length > 0;
7821
7891
  const hasReownSession = Boolean(
7822
- _optionalChain([walletSession, 'optionalAccess', _259 => _259.isConnected]) || _optionalChain([walletSession, 'optionalAccess', _260 => _260.address])
7892
+ _optionalChain([walletSession, 'optionalAccess', _270 => _270.isConnected]) || _optionalChain([walletSession, 'optionalAccess', _271 => _271.address])
7823
7893
  );
7824
7894
  const isDappImportWalletHydrating = Boolean(
7825
7895
  hasWalletClientProp && walletClientProp === void 0 || walletSession && !hasReownSession && !walletSession.isReady
@@ -7839,39 +7909,35 @@ function DepositFlow({
7839
7909
  isConnectSelectionConfirmed,
7840
7910
  selectedWalletId
7841
7911
  ]);
7842
- const setupChainId = typeof targetChain === "number" && !_chunkOY5N3E6Lcjs.isVirtualDestination.call(void 0, targetChain) ? targetChain : typeof defaultSourceChain === "number" ? defaultSourceChain : DEFAULT_SETUP_CHAIN_ID;
7843
- const targetChainId = _chunkOY5N3E6Lcjs.targetChainToChainId.call(void 0, targetChain);
7844
- const targetSymbol = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
7845
- const isTargetStablecoin = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, targetSymbol);
7912
+ const setupChainId = typeof targetChain === "number" && !_chunkFKJ6EJHHcjs.isVirtualDestination.call(void 0, targetChain) ? targetChain : typeof defaultSourceChain === "number" ? defaultSourceChain : DEFAULT_SETUP_CHAIN_ID;
7913
+ const targetChainId = _chunkFKJ6EJHHcjs.targetChainToChainId.call(void 0, targetChain);
7914
+ const targetDisplay = _chunkCXRH5MKOcjs.useTokenDisplay.call(void 0, targetChainId, targetToken);
7915
+ const targetSymbol = targetDisplay.symbol;
7916
+ const isTargetStablecoin = _chunkFKJ6EJHHcjs.isStablecoinSymbol.call(void 0, targetSymbol);
7917
+ const assetStore = _chunkCXRH5MKOcjs.useAssetStore.call(void 0, );
7846
7918
  const targetMarketPriceRef = _react.useRef.call(void 0, null);
7847
7919
  _react.useEffect.call(void 0, () => {
7848
7920
  targetMarketPriceRef.current = null;
7849
- if (isTargetStablecoin || targetSymbol === "Token") {
7850
- return;
7851
- }
7921
+ if (isTargetStablecoin || !assetStore) return;
7852
7922
  let cancelled = false;
7853
- _chunkHMUGY66Ocjs.fetchTokenPriceUsd.call(void 0, service, {
7854
- chainId: targetChainId,
7855
- address: targetToken,
7856
- symbol: targetSymbol
7857
- }).then((price) => {
7923
+ assetStore.resolvePrice({ chain: targetChainId, address: targetToken }).then((price) => {
7858
7924
  if (cancelled) return;
7859
7925
  targetMarketPriceRef.current = price;
7860
7926
  });
7861
7927
  return () => {
7862
7928
  cancelled = true;
7863
7929
  };
7864
- }, [service, targetSymbol, isTargetStablecoin, targetChain, targetToken]);
7930
+ }, [assetStore, isTargetStablecoin, targetChainId, targetToken]);
7865
7931
  const walletSignerContext = _react.useMemo.call(void 0, () => {
7866
7932
  if (flowMode === "deposit-address") {
7867
7933
  return null;
7868
7934
  }
7869
7935
  if (canAutoLock) {
7870
- const fallbackChainId = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _261 => _261.chain, 'optionalAccess', _262 => _262.id]), () => ( setupChainId));
7936
+ const fallbackChainId = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _272 => _272.chain, 'optionalAccess', _273 => _273.id]), () => ( setupChainId));
7871
7937
  return {
7872
7938
  ownerAddress: walletClientProp.account.address,
7873
7939
  walletClient: walletClientProp,
7874
- publicClient: _nullishCoalesce(publicClientProp, () => ( _chunkHMUGY66Ocjs.getPublicClient.call(void 0, fallbackChainId, rpcUrls))),
7940
+ publicClient: _nullishCoalesce(publicClientProp, () => ( _chunkCXRH5MKOcjs.getPublicClient.call(void 0, fallbackChainId, rpcUrls))),
7875
7941
  switchChain: dappSwitchChain
7876
7942
  };
7877
7943
  }
@@ -7883,20 +7949,20 @@ function DepositFlow({
7883
7949
  if (selectedOption.kind === "solana") {
7884
7950
  return null;
7885
7951
  }
7886
- if (selectedOption.kind === "connected" && _optionalChain([walletClientProp, 'optionalAccess', _263 => _263.account]) && selectedOption.address && walletClientProp.account.address.toLowerCase() === selectedOption.address.toLowerCase()) {
7887
- const fallbackChainId = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _264 => _264.chain, 'optionalAccess', _265 => _265.id]), () => ( setupChainId));
7952
+ if (selectedOption.kind === "connected" && _optionalChain([walletClientProp, 'optionalAccess', _274 => _274.account]) && selectedOption.address && walletClientProp.account.address.toLowerCase() === selectedOption.address.toLowerCase()) {
7953
+ const fallbackChainId = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess', _275 => _275.chain, 'optionalAccess', _276 => _276.id]), () => ( setupChainId));
7888
7954
  return {
7889
7955
  ownerAddress: walletClientProp.account.address,
7890
7956
  walletClient: walletClientProp,
7891
- publicClient: _nullishCoalesce(publicClientProp, () => ( _chunkHMUGY66Ocjs.getPublicClient.call(void 0, fallbackChainId, rpcUrls))),
7957
+ publicClient: _nullishCoalesce(publicClientProp, () => ( _chunkCXRH5MKOcjs.getPublicClient.call(void 0, fallbackChainId, rpcUrls))),
7892
7958
  switchChain: dappSwitchChain
7893
7959
  };
7894
7960
  }
7895
- if (selectedOption.kind === "external" && _optionalChain([walletSession, 'optionalAccess', _266 => _266.address]) && selectedOption.address && walletSession.address.toLowerCase() === selectedOption.address.toLowerCase()) {
7961
+ if (selectedOption.kind === "external" && _optionalChain([walletSession, 'optionalAccess', _277 => _277.address]) && selectedOption.address && walletSession.address.toLowerCase() === selectedOption.address.toLowerCase()) {
7896
7962
  return {
7897
7963
  ownerAddress: walletSession.address,
7898
7964
  walletClient: walletSession.walletClient,
7899
- publicClient: _nullishCoalesce(walletSession.publicClient, () => ( _chunkHMUGY66Ocjs.getPublicClient.call(void 0, setupChainId, rpcUrls))),
7965
+ publicClient: _nullishCoalesce(walletSession.publicClient, () => ( _chunkCXRH5MKOcjs.getPublicClient.call(void 0, setupChainId, rpcUrls))),
7900
7966
  switchChain: walletSession.switchChain
7901
7967
  };
7902
7968
  }
@@ -7918,7 +7984,7 @@ function DepositFlow({
7918
7984
  // nothing else here when the host switches chain, and the context would go
7919
7985
  // on holding a client bound to the old one: `chainMismatch` never clears
7920
7986
  // and the CTA stays disabled with nothing beside it.
7921
- _optionalChain([walletSession, 'optionalAccess', _267 => _267.walletClient]),
7987
+ _optionalChain([walletSession, 'optionalAccess', _278 => _278.walletClient]),
7922
7988
  setupChainId,
7923
7989
  rpcUrls
7924
7990
  ]);
@@ -7958,35 +8024,35 @@ function DepositFlow({
7958
8024
  const selectedEvmWalletOwner = _react.useMemo.call(void 0, () => {
7959
8025
  if (!selectedWalletId) return null;
7960
8026
  const opt = walletOptions.find((o) => o.id === selectedWalletId);
7961
- if (_optionalChain([opt, 'optionalAccess', _268 => _268.kind]) === "external" && opt.address) {
8027
+ if (_optionalChain([opt, 'optionalAccess', _279 => _279.kind]) === "external" && opt.address) {
7962
8028
  return opt.address;
7963
8029
  }
7964
- if (_optionalChain([opt, 'optionalAccess', _269 => _269.kind]) === "connected" && opt.address) {
8030
+ if (_optionalChain([opt, 'optionalAccess', _280 => _280.kind]) === "connected" && opt.address) {
7965
8031
  return opt.address;
7966
8032
  }
7967
8033
  return null;
7968
8034
  }, [selectedWalletId, walletOptions]);
7969
8035
  const dappImportOwner = _react.useMemo.call(void 0, () => {
7970
8036
  if (selectedEvmWalletOwner) return selectedEvmWalletOwner;
7971
- if (_optionalChain([walletSession, 'optionalAccess', _270 => _270.address]) && walletSession.isConnected) {
8037
+ if (_optionalChain([walletSession, 'optionalAccess', _281 => _281.address]) && walletSession.isConnected) {
7972
8038
  return walletSession.address;
7973
8039
  }
7974
8040
  if (connectedWalletAddress) return connectedWalletAddress;
7975
8041
  return null;
7976
8042
  }, [
7977
8043
  selectedEvmWalletOwner,
7978
- _optionalChain([walletSession, 'optionalAccess', _271 => _271.address]),
7979
- _optionalChain([walletSession, 'optionalAccess', _272 => _272.isConnected]),
8044
+ _optionalChain([walletSession, 'optionalAccess', _282 => _282.address]),
8045
+ _optionalChain([walletSession, 'optionalAccess', _283 => _283.isConnected]),
7980
8046
  connectedWalletAddress
7981
8047
  ]);
7982
8048
  const activeOwner = _react.useMemo.call(void 0,
7983
8049
  () => resolveOwnerForMode(flowMode, {
7984
- walletOwner: _nullishCoalesce(_optionalChain([signerContext, 'optionalAccess', _273 => _273.ownerAddress]), () => ( (canAutoLock ? connectedWalletAddress : selectedEvmWalletOwner))),
8050
+ walletOwner: _nullishCoalesce(_optionalChain([signerContext, 'optionalAccess', _284 => _284.ownerAddress]), () => ( (canAutoLock ? connectedWalletAddress : selectedEvmWalletOwner))),
7985
8051
  dappImportOwner
7986
8052
  }),
7987
8053
  [
7988
8054
  flowMode,
7989
- _optionalChain([signerContext, 'optionalAccess', _274 => _274.ownerAddress]),
8055
+ _optionalChain([signerContext, 'optionalAccess', _285 => _285.ownerAddress]),
7990
8056
  canAutoLock,
7991
8057
  connectedWalletAddress,
7992
8058
  selectedEvmWalletOwner,
@@ -8003,7 +8069,7 @@ function DepositFlow({
8003
8069
  ].join(":");
8004
8070
  if (lastSmartAccountLifecycleKeyRef.current === lifecycleKey) return;
8005
8071
  lastSmartAccountLifecycleKeyRef.current = lifecycleKey;
8006
- _optionalChain([onLifecycleRef, 'access', _275 => _275.current, 'optionalCall', _276 => _276({
8072
+ _optionalChain([onLifecycleRef, 'access', _286 => _286.current, 'optionalCall', _287 => _287({
8007
8073
  type: "smart-account-changed",
8008
8074
  evm: activeEntry.smartAccount,
8009
8075
  solana: _nullishCoalesce(activeEntry.solanaDepositAddress, () => ( null))
@@ -8031,7 +8097,7 @@ function DepositFlow({
8031
8097
  return;
8032
8098
  }
8033
8099
  lastConnectedLifecycleKeyRef.current = lifecycleKey;
8034
- _optionalChain([onLifecycleRef, 'access', _277 => _277.current, 'optionalCall', _278 => _278({
8100
+ _optionalChain([onLifecycleRef, 'access', _288 => _288.current, 'optionalCall', _289 => _289({
8035
8101
  type: "connected",
8036
8102
  address: activeOwner,
8037
8103
  smartAccount: activeEntry.smartAccount
@@ -8104,7 +8170,7 @@ function DepositFlow({
8104
8170
  const handleWalletDisconnect = _react.useCallback.call(void 0, () => {
8105
8171
  analytics.abandon("wallet_disconnect");
8106
8172
  analytics.resetAttempt();
8107
- _optionalChain([onDisconnect, 'optionalCall', _279 => _279()]);
8173
+ _optionalChain([onDisconnect, 'optionalCall', _290 => _290()]);
8108
8174
  storeApi.dispatch({
8109
8175
  type: "back/requested",
8110
8176
  hasWalletOptions: hasWalletOptions || Boolean(walletSession)
@@ -8116,11 +8182,14 @@ function DepositFlow({
8116
8182
  _react.useEffect.call(void 0, () => {
8117
8183
  setQrSourcePrice({ resolved: false, usd: null });
8118
8184
  if (!qrSourceAsset) return;
8185
+ if (!assetStore) {
8186
+ setQrSourcePrice({ resolved: true, usd: null });
8187
+ return;
8188
+ }
8119
8189
  let cancelled = false;
8120
- _chunkHMUGY66Ocjs.fetchTokenPriceUsd.call(void 0, service, {
8121
- chainId: qrSourceAsset.chainId,
8122
- address: qrSourceAsset.token,
8123
- symbol: qrSourceAsset.symbol
8190
+ assetStore.resolvePrice({
8191
+ chain: qrSourceAsset.chainId,
8192
+ address: qrSourceAsset.token
8124
8193
  }).then((usd) => {
8125
8194
  if (!cancelled) setQrSourcePrice({ resolved: true, usd });
8126
8195
  }).catch(() => {
@@ -8129,7 +8198,7 @@ function DepositFlow({
8129
8198
  return () => {
8130
8199
  cancelled = true;
8131
8200
  };
8132
- }, [service, qrSourceKey]);
8201
+ }, [assetStore, qrSourceKey]);
8133
8202
  const canGoBackFromHere = effectiveStep.type === "deposit-address" || effectiveStep.type === "solana-token-select" || effectiveStep.type === "solana-amount" || effectiveStep.type === "solana-confirm" || effectiveStep.type === "amount" || effectiveStep.type === "confirm" || // Without these the QR detour has no exit but the modal's close button,
8134
8203
  // which drops the user out of the deposit entirely rather than back to
8135
8204
  // the address they came from.
@@ -8140,7 +8209,7 @@ function DepositFlow({
8140
8209
  const currentBackHandler = canGoBackFromHere ? handleBack : void 0;
8141
8210
  const currentScreen = showConnectStep ? "connect" : effectiveStep.type;
8142
8211
  _react.useEffect.call(void 0, () => {
8143
- _optionalChain([onStepChangeRef, 'access', _280 => _280.current, 'optionalCall', _281 => _281(currentBackHandler, currentScreen)]);
8212
+ _optionalChain([onStepChangeRef, 'access', _291 => _291.current, 'optionalCall', _292 => _292(currentBackHandler, currentScreen)]);
8144
8213
  }, [currentBackHandler, currentScreen, onStepChangeRef]);
8145
8214
  const lastModalHeightRef = _react.useRef.call(void 0, 0);
8146
8215
  const modalContentElRef = _react.useRef.call(void 0, null);
@@ -8150,7 +8219,7 @@ function DepositFlow({
8150
8219
  modalContentElRef.current = mc;
8151
8220
  const ro = new ResizeObserver((entries) => {
8152
8221
  for (const entry of entries) {
8153
- const border = _optionalChain([entry, 'access', _282 => _282.borderBoxSize, 'optionalAccess', _283 => _283[0], 'optionalAccess', _284 => _284.blockSize]);
8222
+ const border = _optionalChain([entry, 'access', _293 => _293.borderBoxSize, 'optionalAccess', _294 => _294[0], 'optionalAccess', _295 => _295.blockSize]);
8154
8223
  lastModalHeightRef.current = typeof border === "number" ? border : entry.contentRect.height;
8155
8224
  }
8156
8225
  });
@@ -8211,7 +8280,7 @@ function DepositFlow({
8211
8280
  targetToken
8212
8281
  ]);
8213
8282
  _react.useEffect.call(void 0, () => {
8214
- _optionalChain([onLifecycleRef, 'access', _285 => _285.current, 'optionalCall', _286 => _286({
8283
+ _optionalChain([onLifecycleRef, 'access', _296 => _296.current, 'optionalCall', _297 => _297({
8215
8284
  type: "balance-changed",
8216
8285
  totalUsd: totalBalanceUsd
8217
8286
  })]);
@@ -8228,9 +8297,9 @@ function DepositFlow({
8228
8297
  const handleConfirmWallet = _react.useCallback.call(void 0,
8229
8298
  (walletId) => {
8230
8299
  const selectedOption = walletOptions.find((o) => o.id === walletId);
8231
- const mode = _optionalChain([selectedOption, 'optionalAccess', _287 => _287.kind]) === "solana" ? "solana-wallet" : "wallet";
8300
+ const mode = _optionalChain([selectedOption, 'optionalAccess', _298 => _298.kind]) === "solana" ? "solana-wallet" : "wallet";
8232
8301
  analytics.selectMethod("wallet", "user", {
8233
- network: _optionalChain([selectedOption, 'optionalAccess', _288 => _288.kind]) === "solana" ? "solana" : "evm",
8302
+ network: _optionalChain([selectedOption, 'optionalAccess', _299 => _299.kind]) === "solana" ? "solana" : "evm",
8234
8303
  integration: _nullishCoalesce(walletIntegration, () => ( "none"))
8235
8304
  });
8236
8305
  storeApi.dispatch({
@@ -8242,7 +8311,7 @@ function DepositFlow({
8242
8311
  [analytics, walletIntegration, walletOptions, storeApi]
8243
8312
  );
8244
8313
  const isSolanaWalletConnected = Boolean(
8245
- _optionalChain([walletSession, 'optionalAccess', _289 => _289.isConnected]) && _optionalChain([walletSession, 'optionalAccess', _290 => _290.isSolana])
8314
+ _optionalChain([walletSession, 'optionalAccess', _300 => _300.isConnected]) && _optionalChain([walletSession, 'optionalAccess', _301 => _301.isSolana])
8246
8315
  );
8247
8316
  const assetMigrationsKey = assetMigrations ? Object.keys(assetMigrations).filter((k) => assetMigrations[k]).sort().join(",") : "";
8248
8317
  const enabledDappImportProviders = _react.useMemo.call(void 0,
@@ -8251,7 +8320,9 @@ function DepositFlow({
8251
8320
  [assetMigrationsKey, isSolanaWalletConnected]
8252
8321
  );
8253
8322
  const initialAssetMigrationProvider = _react.useMemo.call(void 0,
8254
- () => initialAssetMigration ? _nullishCoalesce(enabledDappImportProviders.find((p) => p.id === initialAssetMigration), () => ( null)) : null,
8323
+ () => initialAssetMigration ? _nullishCoalesce(enabledDappImportProviders.find(
8324
+ (p) => p.id === initialAssetMigration
8325
+ ), () => ( null)) : null,
8255
8326
  [initialAssetMigration, enabledDappImportProviders]
8256
8327
  );
8257
8328
  const handleSelectDappImport = _react.useCallback.call(void 0,
@@ -8259,7 +8330,7 @@ function DepositFlow({
8259
8330
  const owner = dappImportOwner;
8260
8331
  if (owner) {
8261
8332
  const wallet = walletOptions.find(
8262
- (o) => _optionalChain([(_nullishCoalesce(o.address, () => ( null))), 'optionalAccess', _291 => _291.toLowerCase, 'call', _292 => _292()]) === owner.toLowerCase()
8333
+ (o) => _optionalChain([(_nullishCoalesce(o.address, () => ( null))), 'optionalAccess', _302 => _302.toLowerCase, 'call', _303 => _303()]) === owner.toLowerCase()
8263
8334
  );
8264
8335
  if (wallet) {
8265
8336
  storeApi.dispatch({
@@ -8303,7 +8374,7 @@ function DepositFlow({
8303
8374
  eoa: dappImportOwner,
8304
8375
  getPublicClient: (chainId) => {
8305
8376
  try {
8306
- return _chunkHMUGY66Ocjs.getPublicClient.call(void 0, chainId, rpcUrls);
8377
+ return _chunkCXRH5MKOcjs.getPublicClient.call(void 0, chainId, rpcUrls);
8307
8378
  } catch (e41) {
8308
8379
  return null;
8309
8380
  }
@@ -8361,7 +8432,7 @@ function DepositFlow({
8361
8432
  const storedDappImportAvailability = useDepositStore(
8362
8433
  (s) => s.dappImport.availability
8363
8434
  );
8364
- const isExcludedByRestrictedList = _chunkHMUGY66Ocjs.useRestrictedListExclusion.call(void 0, );
8435
+ const isExcludedByRestrictedList = _chunkCXRH5MKOcjs.useRestrictedListExclusion.call(void 0, );
8365
8436
  const dappImportAvailability = _react.useMemo.call(void 0,
8366
8437
  () => narrowDappImportAvailability(
8367
8438
  storedDappImportAvailability,
@@ -8416,7 +8487,7 @@ function DepositFlow({
8416
8487
  }, [activeDappImportProviderId, enabledDappImportProviders]);
8417
8488
  const activeDappImportAvailability = _react.useMemo.call(void 0, () => {
8418
8489
  if (!activeDappImportProviderId) return null;
8419
- if (!dappImportOwner || _optionalChain([dappImportAvailabilityOwner, 'optionalAccess', _293 => _293.toLowerCase, 'call', _294 => _294()]) !== dappImportOwner.toLowerCase()) {
8490
+ if (!dappImportOwner || _optionalChain([dappImportAvailabilityOwner, 'optionalAccess', _304 => _304.toLowerCase, 'call', _305 => _305()]) !== dappImportOwner.toLowerCase()) {
8420
8491
  return null;
8421
8492
  }
8422
8493
  const entry = dappImportAvailability[activeDappImportProviderId];
@@ -8459,7 +8530,7 @@ function DepositFlow({
8459
8530
  setup: setupSlice
8460
8531
  });
8461
8532
  const pinnableWallet = dappImportOwner ? _nullishCoalesce(walletOptions.find(
8462
- (o) => _optionalChain([(_nullishCoalesce(o.address, () => ( null))), 'optionalAccess', _295 => _295.toLowerCase, 'call', _296 => _296()]) === dappImportOwner.toLowerCase()
8533
+ (o) => _optionalChain([(_nullishCoalesce(o.address, () => ( null))), 'optionalAccess', _306 => _306.toLowerCase, 'call', _307 => _307()]) === dappImportOwner.toLowerCase()
8463
8534
  ), () => ( null)) : null;
8464
8535
  const outcome = resolveBootOutcome({
8465
8536
  status,
@@ -8499,17 +8570,14 @@ function DepositFlow({
8499
8570
  storeApi
8500
8571
  ]);
8501
8572
  const handleBootRetry = _react.useCallback.call(void 0, () => {
8502
- analytics.retry(
8503
- "migration_availability_failed",
8504
- "migration_boot_resolve"
8505
- );
8573
+ analytics.retry("migration_availability_failed", "migration_boot_resolve");
8506
8574
  const snapshot = storeApi.getState();
8507
8575
  const providerId = snapshot.dappImport.activeProviderId;
8508
8576
  if (!providerId) return;
8509
8577
  if (dappImportOwner) {
8510
8578
  const plan = bootRetryPlan({
8511
8579
  setupStatus: snapshot.setup.status,
8512
- availabilityEntry: _optionalChain([snapshot, 'access', _297 => _297.dappImport, 'access', _298 => _298.availabilityOwner, 'optionalAccess', _299 => _299.toLowerCase, 'call', _300 => _300()]) === dappImportOwner.toLowerCase() ? snapshot.dappImport.availability[providerId] : void 0
8580
+ availabilityEntry: _optionalChain([snapshot, 'access', _308 => _308.dappImport, 'access', _309 => _309.availabilityOwner, 'optionalAccess', _310 => _310.toLowerCase, 'call', _311 => _311()]) === dappImportOwner.toLowerCase() ? snapshot.dappImport.availability[providerId] : void 0
8513
8581
  });
8514
8582
  if (plan.restartSetup) {
8515
8583
  storeApi.dispatch({ type: "setup/retry-requested" });
@@ -8544,9 +8612,12 @@ function DepositFlow({
8544
8612
  storeApi.dispatch({ type: "connect/exchange-selected" });
8545
8613
  }, [analytics, storeApi]);
8546
8614
  const swappedAnalyticsCorrelatorRef = _react.useRef.call(void 0, null);
8547
- const handleSwappedAttemptConsumed = _react.useCallback.call(void 0, (externalCustomerId) => {
8548
- swappedAnalyticsCorrelatorRef.current = externalCustomerId;
8549
- }, []);
8615
+ const handleSwappedAttemptConsumed = _react.useCallback.call(void 0,
8616
+ (externalCustomerId) => {
8617
+ swappedAnalyticsCorrelatorRef.current = externalCustomerId;
8618
+ },
8619
+ []
8620
+ );
8550
8621
  const handleSwappedProviderHandoff = _react.useCallback.call(void 0, () => {
8551
8622
  const externalCustomerId = swappedAnalyticsCorrelatorRef.current;
8552
8623
  if (!externalCustomerId) return;
@@ -8564,45 +8635,27 @@ function DepositFlow({
8564
8635
  swappedAnalyticsCorrelatorRef.current = null;
8565
8636
  }, [analytics, flowMode]);
8566
8637
  const swappedConnectUrlRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
8567
- const acknowledgedConnectFeeRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
8568
8638
  const handleSelectExchangeConnection = _react.useCallback.call(void 0,
8569
- async (connection, disclosedFeeBps) => {
8639
+ async (connection) => {
8570
8640
  if (setupSlice.status !== "ready" || !setupSlice.smartAccount) {
8571
8641
  throw new Error("Deposit account is not ready");
8572
8642
  }
8573
8643
  const smartAccount = setupSlice.smartAccount;
8574
8644
  const owner = smartAccount.toLowerCase();
8575
8645
  const key = `${owner}:${connection}`;
8576
- let entry = swappedConnectUrlRef.current.get(key);
8577
- if (!entry) {
8578
- let response;
8579
- try {
8580
- response = await service.getSwappedConnectUrl({
8581
- smartAccount,
8582
- connection,
8583
- acceptedExchangeFeeBps: disclosedFeeBps
8584
- });
8585
- } catch (error) {
8586
- if (error instanceof _chunkHMUGY66Ocjs.SwappedConnectFeeChangedError) {
8587
- return error.exchangeFeeBps;
8588
- }
8589
- throw error;
8590
- }
8591
- entry = { smartAccount: owner, response };
8592
- }
8646
+ const entry = await _asyncNullishCoalesce(swappedConnectUrlRef.current.get(key), async () => ( {
8647
+ smartAccount: owner,
8648
+ response: await service.getSwappedConnectUrl({
8649
+ smartAccount,
8650
+ connection
8651
+ })
8652
+ }));
8593
8653
  const currentAccount = storeApi.getState().setup.smartAccount;
8594
- if (_optionalChain([currentAccount, 'optionalAccess', _301 => _301.toLowerCase, 'call', _302 => _302()]) !== owner) {
8654
+ if (_optionalChain([currentAccount, 'optionalAccess', _312 => _312.toLowerCase, 'call', _313 => _313()]) !== owner) {
8595
8655
  swappedConnectUrlRef.current.delete(key);
8596
8656
  throw new Error("Deposit account changed. Select your exchange again.");
8597
8657
  }
8598
- const actualFeeBps = _nullishCoalesce(entry.response.exchangeFeeBps, () => ( 0));
8599
- if (actualFeeBps !== disclosedFeeBps) {
8600
- swappedConnectUrlRef.current.delete(key);
8601
- acknowledgedConnectFeeRef.current.delete(key);
8602
- return actualFeeBps;
8603
- }
8604
8658
  swappedConnectUrlRef.current.set(key, entry);
8605
- acknowledgedConnectFeeRef.current.set(key, actualFeeBps);
8606
8659
  analytics.selectMethod("exchange_connect", "user", {
8607
8660
  exchange: connection
8608
8661
  });
@@ -8610,7 +8663,6 @@ function DepositFlow({
8610
8663
  type: "exchange/connection-selected",
8611
8664
  connection
8612
8665
  });
8613
- return actualFeeBps;
8614
8666
  },
8615
8667
  [analytics, service, setupSlice.status, setupSlice.smartAccount, storeApi]
8616
8668
  );
@@ -8618,25 +8670,8 @@ function DepositFlow({
8618
8670
  async (smartAccount, connection) => {
8619
8671
  const key = `${smartAccount.toLowerCase()}:${connection}`;
8620
8672
  const entry = swappedConnectUrlRef.current.get(key);
8621
- const expectedFeeBps = acknowledgedConnectFeeRef.current.get(key);
8622
- if (expectedFeeBps === void 0) {
8623
- throw new Error(
8624
- "The Exchange Fee changed. Go back and select your exchange again."
8625
- );
8626
- }
8627
8673
  swappedConnectUrlRef.current.delete(key);
8628
- const response = _optionalChain([entry, 'optionalAccess', _303 => _303.smartAccount]) === smartAccount.toLowerCase() ? entry.response : await service.getSwappedConnectUrl({
8629
- smartAccount,
8630
- connection,
8631
- acceptedExchangeFeeBps: expectedFeeBps
8632
- });
8633
- const actualFeeBps = _nullishCoalesce(response.exchangeFeeBps, () => ( 0));
8634
- if (actualFeeBps !== expectedFeeBps) {
8635
- throw new Error(
8636
- "The Exchange Fee changed. Go back and select your exchange again."
8637
- );
8638
- }
8639
- return response;
8674
+ return _optionalChain([entry, 'optionalAccess', _314 => _314.smartAccount]) === smartAccount.toLowerCase() ? entry.response : service.getSwappedConnectUrl({ smartAccount, connection });
8640
8675
  },
8641
8676
  [service]
8642
8677
  );
@@ -8695,7 +8730,6 @@ function DepositFlow({
8695
8730
  _react.useEffect.call(void 0, () => {
8696
8731
  swappedUrlPrefetchRef.current.clear();
8697
8732
  swappedConnectUrlRef.current.clear();
8698
- acknowledgedConnectFeeRef.current.clear();
8699
8733
  }, [setupSlice.smartAccount]);
8700
8734
  const hasConfiguredFiatMethods = fiatMethods !== void 0;
8701
8735
  const [regionalMethods, setRegionalMethods] = _react.useState.call(void 0, {
@@ -8705,7 +8739,7 @@ function DepositFlow({
8705
8739
  recommendedMethod: null
8706
8740
  });
8707
8741
  _react.useEffect.call(void 0, () => {
8708
- if (!fiatEnabled || hasConfiguredFiatMethods) return;
8742
+ if (!enableFiatOnramp || hasConfiguredFiatMethods) return;
8709
8743
  let cancelled = false;
8710
8744
  setRegionalMethods({
8711
8745
  status: "loading",
@@ -8743,25 +8777,47 @@ function DepositFlow({
8743
8777
  cancelled = true;
8744
8778
  clearTimeout(timeoutTimer);
8745
8779
  };
8746
- }, [analytics, fiatEnabled, hasConfiguredFiatMethods, service]);
8780
+ }, [analytics, enableFiatOnramp, hasConfiguredFiatMethods, service]);
8781
+ const swappedCashDisplay = _react.useMemo.call(void 0,
8782
+ () => !enableFiatOnramp ? { kind: "hidden" } : hasConfiguredFiatMethods ? {
8783
+ kind: "list",
8784
+ methods: configuredFiatMethods,
8785
+ recommendedMethod: _nullishCoalesce(_optionalChain([configuredFiatMethods, 'access', _315 => _315[0], 'optionalAccess', _316 => _316.method]), () => ( "bank-transfer")),
8786
+ country: null,
8787
+ source: "configured"
8788
+ } : composeFiatMethods(regionalMethods, FIAT_ONRAMP_METHODS),
8789
+ [
8790
+ configuredFiatMethods,
8791
+ enableFiatOnramp,
8792
+ hasConfiguredFiatMethods,
8793
+ regionalMethods
8794
+ ]
8795
+ );
8796
+ const swappedOffersBank = swappedCashDisplay.kind === "list" && swappedCashDisplay.methods.some(({ method }) => method === "bank-transfer");
8797
+ const [bankOnrampUnavailable, setBankOnrampUnavailable] = _react.useState.call(void 0, false);
8798
+ const bankRowOffered = bankOnrampEnabled && !bankOnrampUnavailable;
8799
+ const swappedRefusesBank = hasConfiguredFiatMethods ? !configuredFiatMethods.some(({ method }) => method === "bank-transfer") : regionalMethods.status === "ready" && regionalMethods.country !== null && !regionalMethods.methods.some(({ method }) => method === "bank-transfer");
8800
+ const handleBankOnrampUnavailable = _react.useCallback.call(void 0, () => {
8801
+ setBankOnrampUnavailable(true);
8802
+ if (swappedRefusesBank) handleProviderBack();
8803
+ }, [handleProviderBack, swappedRefusesBank]);
8747
8804
  const cashDisplay = _react.useMemo.call(void 0, () => {
8748
- if (!fiatEnabled) return { kind: "hidden" };
8749
- if (hasConfiguredFiatMethods) {
8750
- return {
8751
- kind: "list",
8752
- methods: offeredFiatMethods,
8753
- recommendedMethod: offeredFiatMethods[0].method,
8754
- country: null,
8755
- source: "configured"
8756
- };
8805
+ const swappedDisplay = swappedCashDisplay;
8806
+ if (!bankRowOffered || swappedDisplay.kind === "loading") {
8807
+ return swappedDisplay;
8757
8808
  }
8758
- return composeFiatMethods(regionalMethods, FIAT_ONRAMP_METHODS);
8759
- }, [
8760
- fiatEnabled,
8761
- hasConfiguredFiatMethods,
8762
- offeredFiatMethods,
8763
- regionalMethods
8764
- ]);
8809
+ if (swappedOffersBank) return swappedDisplay;
8810
+ const bankTransfer = FIAT_ONRAMP_METHODS.find(
8811
+ ({ method }) => method === "bank-transfer"
8812
+ );
8813
+ return {
8814
+ kind: "list",
8815
+ methods: swappedDisplay.kind === "list" ? [...swappedDisplay.methods, bankTransfer] : [bankTransfer],
8816
+ recommendedMethod: swappedDisplay.kind === "list" ? swappedDisplay.recommendedMethod : bankTransfer.method,
8817
+ country: swappedDisplay.kind === "list" ? swappedDisplay.country : null,
8818
+ source: swappedDisplay.kind === "list" ? swappedDisplay.source : "configured"
8819
+ };
8820
+ }, [bankRowOffered, swappedCashDisplay, swappedOffersBank]);
8765
8821
  _react.useEffect.call(void 0, () => {
8766
8822
  if (cashDisplay.kind === "hidden" && fiatEnabled) {
8767
8823
  analytics.friction(
@@ -8786,14 +8842,15 @@ function DepositFlow({
8786
8842
  const handlePrefetchDisplayedFiatMethod = _react.useCallback.call(void 0,
8787
8843
  (method) => {
8788
8844
  if (!displayedFiatSource) return;
8845
+ if (bankRowOffered && method === "bank-transfer") return;
8789
8846
  handlePrefetchFiatMethod(method, displayedFiatSource);
8790
8847
  },
8791
- [displayedFiatSource, handlePrefetchFiatMethod]
8848
+ [bankRowOffered, displayedFiatSource, handlePrefetchFiatMethod]
8792
8849
  );
8793
8850
  const handleNewDeposit = _react.useCallback.call(void 0, () => {
8794
8851
  analytics.completeStep();
8795
8852
  analytics.resetAttempt();
8796
- _optionalChain([onLifecycleRef, 'access', _304 => _304.current, 'optionalCall', _305 => _305({
8853
+ _optionalChain([onLifecycleRef, 'access', _317 => _317.current, 'optionalCall', _318 => _318({
8797
8854
  type: "smart-account-changed",
8798
8855
  evm: null,
8799
8856
  solana: null
@@ -8803,7 +8860,6 @@ function DepositFlow({
8803
8860
  stableWalletSelectionKeyRef.current = null;
8804
8861
  swappedUrlPrefetchRef.current.clear();
8805
8862
  swappedConnectUrlRef.current.clear();
8806
- acknowledgedConnectFeeRef.current.clear();
8807
8863
  lastSmartAccountLifecycleKeyRef.current = null;
8808
8864
  }, [analytics, onLifecycleRef, storeApi]);
8809
8865
  const setupInput = _react.useMemo.call(void 0,
@@ -8826,17 +8882,17 @@ function DepositFlow({
8826
8882
  payment
8827
8883
  ]
8828
8884
  );
8829
- const desiredSetupRequestKey = _chunkHMUGY66Ocjs.computeRequestKey.call(void 0, setupInput);
8885
+ const desiredSetupRequestKey = _chunkCXRH5MKOcjs.computeRequestKey.call(void 0, setupInput);
8830
8886
  const setupReady = setupSlice.status === "ready" && setupSlice.requestKey === desiredSetupRequestKey;
8831
8887
  _react.useEffect.call(void 0, () => {
8832
8888
  void (async () => {
8833
- const requestKey = _chunkHMUGY66Ocjs.computeRequestKey.call(void 0, setupInput);
8834
- const cacheKey = _chunkHMUGY66Ocjs.computeCacheKey.call(void 0, setupInput);
8835
- const cacheable = _chunkHMUGY66Ocjs.computeIsCacheable.call(void 0, setupInput);
8889
+ const requestKey = _chunkCXRH5MKOcjs.computeRequestKey.call(void 0, setupInput);
8890
+ const cacheKey = _chunkCXRH5MKOcjs.computeCacheKey.call(void 0, setupInput);
8891
+ const cacheable = _chunkCXRH5MKOcjs.computeIsCacheable.call(void 0, setupInput);
8836
8892
  if (storeApi.getState().setup.requestKey === requestKey) {
8837
8893
  return;
8838
8894
  }
8839
- const dedupedResult = _chunkHMUGY66Ocjs.readDedupedAccountSetupResult.call(void 0, requestKey);
8895
+ const dedupedResult = _chunkCXRH5MKOcjs.readDedupedAccountSetupResult.call(void 0, requestKey);
8840
8896
  if (dedupedResult) {
8841
8897
  storeApi.dispatch({
8842
8898
  type: "setup/started",
@@ -8862,7 +8918,7 @@ function DepositFlow({
8862
8918
  cacheable
8863
8919
  });
8864
8920
  try {
8865
- const result = await _chunkHMUGY66Ocjs.runAccountSetupDeduped.call(void 0,
8921
+ const result = await _chunkCXRH5MKOcjs.runAccountSetupDeduped.call(void 0,
8866
8922
  setupInput,
8867
8923
  { service, debug },
8868
8924
  requestKey
@@ -8877,7 +8933,7 @@ function DepositFlow({
8877
8933
  }
8878
8934
  });
8879
8935
  } catch (error) {
8880
- const message = error instanceof _chunkHMUGY66Ocjs.SetupError ? error.message : "Deposit service is temporarily unavailable. Please try again shortly.";
8936
+ const message = error instanceof _chunkCXRH5MKOcjs.SetupError ? error.message : "Deposit service is temporarily unavailable. Please try again shortly.";
8881
8937
  storeApi.dispatch({
8882
8938
  type: "setup/failed",
8883
8939
  requestKey,
@@ -8909,11 +8965,11 @@ function DepositFlow({
8909
8965
  return;
8910
8966
  }
8911
8967
  storeApi.dispatch({ type: "portfolio/loading", network, address });
8912
- const requestId = _optionalChain([readPortfolioEntry, 'call', _306 => _306(
8968
+ const requestId = _optionalChain([readPortfolioEntry, 'call', _319 => _319(
8913
8969
  storeApi.getState().portfolio,
8914
8970
  network,
8915
8971
  address
8916
- ), 'optionalAccess', _307 => _307.requestId]);
8972
+ ), 'optionalAccess', _320 => _320.requestId]);
8917
8973
  if (requestId === void 0) return;
8918
8974
  void (async () => {
8919
8975
  try {
@@ -8926,7 +8982,7 @@ function DepositFlow({
8926
8982
  address,
8927
8983
  requestId,
8928
8984
  totalUsd: portfolio.totalUsd,
8929
- chainIds: _chunkHMUGY66Ocjs.chainIdsByValue.call(void 0, portfolio.tokens)
8985
+ chainIds: _chunkCXRH5MKOcjs.chainIdsByValue.call(void 0, portfolio.tokens)
8930
8986
  });
8931
8987
  } catch (e42) {
8932
8988
  storeApi.dispatch({
@@ -8950,7 +9006,7 @@ function DepositFlow({
8950
9006
  { type: "transaction_hash", value: data.txHash },
8951
9007
  "transfer_tracking"
8952
9008
  );
8953
- _optionalChain([onLifecycleRef, 'access', _308 => _308.current, 'optionalCall', _309 => _309({ type: "submitted", ...data })]);
9009
+ _optionalChain([onLifecycleRef, 'access', _321 => _321.current, 'optionalCall', _322 => _322({ type: "submitted", ...data })]);
8954
9010
  },
8955
9011
  [analytics, logFlow, onLifecycleRef]
8956
9012
  );
@@ -8969,14 +9025,12 @@ function DepositFlow({
8969
9025
  );
8970
9026
  const handleSolanaAmountContinue = _react.useCallback.call(void 0,
8971
9027
  (token, sourceAmount, inputAmountUsd) => {
8972
- const targetSym = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
8973
- const isTargetStable = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, targetSym);
8974
- const targetTokenPriceUsd = isTargetStable ? 1 : targetMarketPriceRef.current;
9028
+ const targetTokenPriceUsd = isTargetStablecoin ? 1 : targetMarketPriceRef.current;
8975
9029
  logFlow("solana:amount:continue", {
8976
9030
  token: token.symbol,
8977
9031
  sourceAmount,
8978
9032
  inputAmountUsd,
8979
- targetSymbol: targetSym,
9033
+ targetSymbol,
8980
9034
  targetTokenPriceUsd
8981
9035
  });
8982
9036
  storeApi.dispatch({
@@ -8987,7 +9041,7 @@ function DepositFlow({
8987
9041
  targetTokenPriceUsd
8988
9042
  });
8989
9043
  },
8990
- [targetToken, targetChain, logFlow, storeApi]
9044
+ [isTargetStablecoin, targetSymbol, logFlow, storeApi]
8991
9045
  );
8992
9046
  const handleSolanaConfirmed = _react.useCallback.call(void 0,
8993
9047
  (txHash, amountUnits, routed) => {
@@ -9019,7 +9073,7 @@ function DepositFlow({
9019
9073
  sourceDecimals: tokenAtSubmit.decimals,
9020
9074
  inputAmountUsd: amountUsd
9021
9075
  });
9022
- _optionalChain([onLifecycleRef, 'access', _310 => _310.current, 'optionalCall', _311 => _311({
9076
+ _optionalChain([onLifecycleRef, 'access', _323 => _323.current, 'optionalCall', _324 => _324({
9023
9077
  type: "submitted",
9024
9078
  txHash,
9025
9079
  sourceChain: "solana",
@@ -9045,9 +9099,7 @@ function DepositFlow({
9045
9099
  (amount, targetAmount, balance) => {
9046
9100
  const entry = storeApi.getState().setup;
9047
9101
  if (entry.status !== "ready") return;
9048
- const targetSym = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
9049
- const isTargetStable = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, targetSym);
9050
- const targetTokenPriceUsd = isTargetStable ? 1 : targetMarketPriceRef.current;
9102
+ const targetTokenPriceUsd = isTargetStablecoin ? 1 : targetMarketPriceRef.current;
9051
9103
  storeApi.dispatch({
9052
9104
  type: "amount/entered",
9053
9105
  amount,
@@ -9056,7 +9108,7 @@ function DepositFlow({
9056
9108
  balance
9057
9109
  });
9058
9110
  },
9059
- [targetToken, targetChain, storeApi, activeOwner]
9111
+ [isTargetStablecoin, storeApi, activeOwner]
9060
9112
  );
9061
9113
  const handleQrReviewRequested = _react.useCallback.call(void 0,
9062
9114
  (asset) => {
@@ -9066,8 +9118,7 @@ function DepositFlow({
9066
9118
  );
9067
9119
  const handleQrAmountContinue = _react.useCallback.call(void 0,
9068
9120
  (amount, targetAmount) => {
9069
- const targetSym = _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId);
9070
- const targetTokenPriceUsd = _chunkOY5N3E6Lcjs.isStablecoinSymbol.call(void 0, targetSym) ? 1 : targetMarketPriceRef.current;
9121
+ const targetTokenPriceUsd = isTargetStablecoin ? 1 : targetMarketPriceRef.current;
9071
9122
  storeApi.dispatch({
9072
9123
  type: "qr/amount-entered",
9073
9124
  amount,
@@ -9075,7 +9126,7 @@ function DepositFlow({
9075
9126
  targetTokenPriceUsd
9076
9127
  });
9077
9128
  },
9078
- [targetToken, targetChainId, storeApi]
9129
+ [isTargetStablecoin, storeApi]
9079
9130
  );
9080
9131
  const handleDepositSubmitted = _react.useCallback.call(void 0,
9081
9132
  (txHash, chainId, amount, token, quote, routed) => {
@@ -9113,8 +9164,8 @@ function DepositFlow({
9113
9164
  sourceChain: chainId,
9114
9165
  sourceToken: token,
9115
9166
  amount,
9116
- sourceSymbol: _optionalChain([asset, 'optionalAccess', _312 => _312.symbol]),
9117
- sourceDecimals: _optionalChain([asset, 'optionalAccess', _313 => _313.decimals]),
9167
+ sourceSymbol: _optionalChain([asset, 'optionalAccess', _325 => _325.symbol]),
9168
+ sourceDecimals: _optionalChain([asset, 'optionalAccess', _326 => _326.decimals]),
9118
9169
  inputAmountUsd: _nullishCoalesce(depositAtSubmit.inputAmountUsd, () => ( void 0)),
9119
9170
  directTransfer: routed.directTransfer,
9120
9171
  sourceTxHashPending: routed.sourceTxHashPending,
@@ -9155,7 +9206,7 @@ function DepositFlow({
9155
9206
  swappedContext,
9156
9207
  initialEvent: info.initialEvent
9157
9208
  });
9158
- _optionalChain([onLifecycleRef, 'access', _314 => _314.current, 'optionalCall', _315 => _315({
9209
+ _optionalChain([onLifecycleRef, 'access', _327 => _327.current, 'optionalCall', _328 => _328({
9159
9210
  type: "submitted",
9160
9211
  txHash: info.txHash,
9161
9212
  sourceChain: SWAPPED_SOURCE_CHAIN,
@@ -9183,12 +9234,12 @@ function DepositFlow({
9183
9234
  const handleDepositSubmittedCallback = _react.useCallback.call(void 0,
9184
9235
  (txHash, sourceChain, amount) => {
9185
9236
  const depositAtSubmit = storeApi.getState().deposit;
9186
- _optionalChain([onLifecycleRef, 'access', _316 => _316.current, 'optionalCall', _317 => _317({
9237
+ _optionalChain([onLifecycleRef, 'access', _329 => _329.current, 'optionalCall', _330 => _330({
9187
9238
  type: "submitted",
9188
9239
  txHash,
9189
9240
  sourceChain,
9190
9241
  amount,
9191
- sourceDecimals: _optionalChain([depositAtSubmit, 'access', _318 => _318.selectedAsset, 'optionalAccess', _319 => _319.decimals]),
9242
+ sourceDecimals: _optionalChain([depositAtSubmit, 'access', _331 => _331.selectedAsset, 'optionalAccess', _332 => _332.decimals]),
9192
9243
  amountUsd: _nullishCoalesce(depositAtSubmit.inputAmountUsd, () => ( void 0))
9193
9244
  })]);
9194
9245
  },
@@ -9201,7 +9252,7 @@ function DepositFlow({
9201
9252
  analyticsStepForFlowStep(analyticsMethod, "processing")
9202
9253
  );
9203
9254
  analytics.outcome("completed");
9204
- _optionalChain([onLifecycleRef, 'access', _320 => _320.current, 'optionalCall', _321 => _321({
9255
+ _optionalChain([onLifecycleRef, 'access', _333 => _333.current, 'optionalCall', _334 => _334({
9205
9256
  type: "complete",
9206
9257
  txHash,
9207
9258
  destinationTxHash,
@@ -9218,7 +9269,7 @@ function DepositFlow({
9218
9269
  );
9219
9270
  analytics.outcome("failed");
9220
9271
  analytics.failure("processor_failed", false);
9221
- _optionalChain([onLifecycleRef, 'access', _322 => _322.current, 'optionalCall', _323 => _323({ type: "failed", txHash, error })]);
9272
+ _optionalChain([onLifecycleRef, 'access', _335 => _335.current, 'optionalCall', _336 => _336({ type: "failed", txHash, error })]);
9222
9273
  },
9223
9274
  [analytics, analyticsMethod, logFlowError, onLifecycleRef]
9224
9275
  );
@@ -9228,10 +9279,7 @@ function DepositFlow({
9228
9279
  if (code === "PROCESS_TIMEOUT") {
9229
9280
  analytics.friction("processor_status_poll_failed");
9230
9281
  } else {
9231
- const reason = failureReasonForCode(
9232
- code,
9233
- `${message} ${_nullishCoalesce(cause, () => ( ""))}`
9234
- );
9282
+ const reason = failureReasonForCode(code, `${message} ${_nullishCoalesce(cause, () => ( ""))}`);
9235
9283
  const failureStep = code === "SWAPPED_URL_FAILED" ? "fiat_provider_mint" : code === "SWAPPED_CONNECT_URL_FAILED" ? "exchange_provider_mint" : void 0;
9236
9284
  analytics.failure(
9237
9285
  reason,
@@ -9239,7 +9287,11 @@ function DepositFlow({
9239
9287
  failureStep
9240
9288
  );
9241
9289
  }
9242
- _optionalChain([onErrorRef, 'access', _324 => _324.current, 'optionalCall', _325 => _325({ message, code, cause })]);
9290
+ _optionalChain([onErrorRef, 'access', _337 => _337.current, 'optionalCall', _338 => _338({
9291
+ message,
9292
+ code,
9293
+ ...cause === void 0 ? {} : { cause }
9294
+ })]);
9243
9295
  },
9244
9296
  [analytics, logFlowError, onErrorRef]
9245
9297
  );
@@ -9288,9 +9340,9 @@ function DepositFlow({
9288
9340
  address: _nullishCoalesce(_nullishCoalesce(option.address, () => ( option.solanaAddress)), () => ( option.id)),
9289
9341
  state,
9290
9342
  errorReason: _nullishCoalesce(entry.message, () => ( void 0)),
9291
- balanceStatus: _nullishCoalesce(_optionalChain([portfolioEntry, 'optionalAccess', _326 => _326.status]), () => ( "loading")),
9292
- balanceUsd: _optionalChain([portfolioEntry, 'optionalAccess', _327 => _327.status]) === "ready" ? portfolioEntry.totalUsd : null,
9293
- balanceChainIds: _nullishCoalesce(_optionalChain([portfolioEntry, 'optionalAccess', _328 => _328.chainIds]), () => ( []))
9343
+ balanceStatus: _nullishCoalesce(_optionalChain([portfolioEntry, 'optionalAccess', _339 => _339.status]), () => ( "loading")),
9344
+ balanceUsd: _optionalChain([portfolioEntry, 'optionalAccess', _340 => _340.status]) === "ready" ? portfolioEntry.totalUsd : null,
9345
+ balanceChainIds: _nullishCoalesce(_optionalChain([portfolioEntry, 'optionalAccess', _341 => _341.chainIds]), () => ( []))
9294
9346
  };
9295
9347
  });
9296
9348
  }, [enableWallet, walletOptions, setupSlice, portfolioSlice]);
@@ -9323,6 +9375,7 @@ function DepositFlow({
9323
9375
  ),
9324
9376
  fiatPaymentMethods: cashDisplay.kind === "list" ? cashDisplay.methods : void 0,
9325
9377
  fiatLoading: cashDisplay.kind === "loading",
9378
+ fiatNotice: bankOnrampUnavailable && swappedRefusesBank ? "Bank transfer isn't available in your region." : void 0,
9326
9379
  recommendedMethod: cashDisplay.kind === "list" ? cashDisplay.recommendedMethod : void 0,
9327
9380
  onSelectFiatMethod: cashDisplay.kind === "list" ? handleSelectDisplayedFiatMethod : void 0,
9328
9381
  onPrefetchFiatMethod: cashDisplay.kind === "list" ? handlePrefetchDisplayedFiatMethod : void 0,
@@ -9365,12 +9418,7 @@ function DepositFlow({
9365
9418
  errorMessage: _nullishCoalesce(activeEntry.message, () => ( void 0)),
9366
9419
  onRetry: () => handleRetrySetup()
9367
9420
  }
9368
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9369
- DepositAddressSkeleton,
9370
- {
9371
- uiConfig
9372
- }
9373
- )),
9421
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DepositAddressSkeleton, { uiConfig })),
9374
9422
  effectiveStep.type === "deposit-address" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9375
9423
  DepositAddressStep,
9376
9424
  {
@@ -9449,6 +9497,29 @@ function DepositFlow({
9449
9497
  ] });
9450
9498
  }
9451
9499
  if (isFiatOnrampMode) {
9500
+ const swappedStep = step.type === "fiat-onramp" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9501
+ FiatOnrampStep,
9502
+ {
9503
+ smartAccount: step.smartAccount,
9504
+ service,
9505
+ paymentMethod: step.paymentMethod,
9506
+ methodSelectionSource: step.methodSelectionSource,
9507
+ consumePrefetchedUrl: consumeSwappedWidgetUrlPrefetch,
9508
+ onSwappedComplete: handleSwappedComplete,
9509
+ onSwappedFailed: handleDepositFailed,
9510
+ onClose: () => _optionalChain([onClose, 'optionalCall', _342 => _342(
9511
+ openExternally ? "native_dismiss_request" : "header_button"
9512
+ )]),
9513
+ onGoBack: handleProviderBack,
9514
+ onError: handleError,
9515
+ onAttemptConsumed: handleSwappedAttemptConsumed,
9516
+ onProviderHandoff: handleSwappedProviderHandoff,
9517
+ onRetry: handleSwappedRetry,
9518
+ onCancelled: () => analytics.outcome("cancelled"),
9519
+ onImmersiveChange: onSwappedImmersiveChange,
9520
+ openExternally
9521
+ }
9522
+ ) : null;
9452
9523
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9453
9524
  "div",
9454
9525
  {
@@ -9463,31 +9534,23 @@ function DepositFlow({
9463
9534
  onRetry: activeEntry.status === "error" ? () => handleRetrySetup() : void 0
9464
9535
  }
9465
9536
  ),
9466
- step.type === "fiat-onramp" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9467
- FiatOnrampStep,
9537
+ step.type === "fiat-onramp" && bankRowOffered && bankOnramp && step.paymentMethod === "bank-transfer" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccountPreparingSkeleton, {}), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9538
+ BankOnrampStep,
9468
9539
  {
9540
+ backendUrl,
9469
9541
  smartAccount: step.smartAccount,
9470
- service,
9471
- paymentMethod: step.paymentMethod,
9472
- methodSelectionSource: step.methodSelectionSource,
9473
- consumePrefetchedUrl: consumeSwappedWidgetUrlPrefetch,
9474
- onSwappedComplete: handleSwappedComplete,
9475
- onSwappedFailed: handleDepositFailed,
9476
- onClose: () => _optionalChain([onClose, 'optionalCall', _329 => _329(
9477
- openExternally ? "native_dismiss_request" : "header_button"
9478
- )]),
9542
+ bankOnramp,
9543
+ onJourney: onBankJourney,
9479
9544
  onGoBack: handleProviderBack,
9480
9545
  onError: handleError,
9481
- onAttemptConsumed: handleSwappedAttemptConsumed,
9482
- onProviderHandoff: handleSwappedProviderHandoff,
9483
- onRetry: handleSwappedRetry,
9484
- onCancelled: () => analytics.outcome("cancelled"),
9485
- onImmersiveChange: onSwappedImmersiveChange,
9486
- openExternally
9487
- }
9488
- ),
9546
+ openExternally,
9547
+ onUnavailable: handleBankOnrampUnavailable
9548
+ },
9549
+ `${backendUrl}:${step.smartAccount}`
9550
+ ) }),
9551
+ step.type === "fiat-onramp" && (!bankRowOffered || step.paymentMethod !== "bank-transfer") && swappedStep,
9489
9552
  step.type === "processing" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9490
- _chunkHMUGY66Ocjs.ProcessingStep,
9553
+ _chunkCXRH5MKOcjs.ProcessingStep,
9491
9554
  {
9492
9555
  flowLabel: payment ? "payment" : void 0,
9493
9556
  smartAccount: step.smartAccount,
@@ -9554,7 +9617,7 @@ function DepositFlow({
9554
9617
  loadUrl: () => loadSwappedConnectUrl(step.smartAccount, step.connection),
9555
9618
  onSwappedComplete: handleSwappedComplete,
9556
9619
  onSwappedFailed: handleDepositFailed,
9557
- onClose: () => _optionalChain([onClose, 'optionalCall', _330 => _330(
9620
+ onClose: () => _optionalChain([onClose, 'optionalCall', _343 => _343(
9558
9621
  openExternally ? "native_dismiss_request" : "header_button"
9559
9622
  )]),
9560
9623
  onGoBack: handleProviderBack,
@@ -9568,7 +9631,7 @@ function DepositFlow({
9568
9631
  }
9569
9632
  ),
9570
9633
  step.type === "processing" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9571
- _chunkHMUGY66Ocjs.ProcessingStep,
9634
+ _chunkCXRH5MKOcjs.ProcessingStep,
9572
9635
  {
9573
9636
  flowLabel: payment ? "payment" : void 0,
9574
9637
  smartAccount: step.smartAccount,
@@ -9604,8 +9667,8 @@ function DepositFlow({
9604
9667
  );
9605
9668
  }
9606
9669
  if (isSolanaWalletMode) {
9607
- const solanaAddr = _optionalChain([walletSession, 'optionalAccess', _331 => _331.solanaAddress]);
9608
- const solanaProvider = _optionalChain([walletSession, 'optionalAccess', _332 => _332.solanaProvider]);
9670
+ const solanaAddr = _optionalChain([walletSession, 'optionalAccess', _344 => _344.solanaAddress]);
9671
+ const solanaProvider = _optionalChain([walletSession, 'optionalAccess', _345 => _345.solanaProvider]);
9609
9672
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-modal-body", children: [
9610
9673
  effectiveStep.type === "setup" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9611
9674
  AccountPreparingSkeleton,
@@ -9634,8 +9697,9 @@ function DepositFlow({
9634
9697
  defaultAmount: effectiveStep.inputAmountUsd,
9635
9698
  uiConfig,
9636
9699
  targetChain,
9637
- targetChainName: _chunkOY5N3E6Lcjs.getChainName.call(void 0, targetChainId),
9638
- targetTokenSymbol: _chunkOY5N3E6Lcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChainId),
9700
+ targetChainName: _chunkFKJ6EJHHcjs.getChainName.call(void 0, targetChainId),
9701
+ targetTokenSymbol: targetSymbol,
9702
+ targetToken: { chain: targetChainId, address: targetToken },
9639
9703
  appBalanceUsd,
9640
9704
  onContinue: handleSolanaAmountContinue,
9641
9705
  debug
@@ -9656,7 +9720,7 @@ function DepositFlow({
9656
9720
  targetToken,
9657
9721
  service,
9658
9722
  solanaProvider,
9659
- solanaConnection: _optionalChain([walletSession, 'optionalAccess', _333 => _333.solanaConnection]),
9723
+ solanaConnection: _optionalChain([walletSession, 'optionalAccess', _346 => _346.solanaConnection]),
9660
9724
  uiConfig,
9661
9725
  onConfirm: handleSolanaConfirmed,
9662
9726
  onError: handleError,
@@ -9698,7 +9762,7 @@ function DepositFlow({
9698
9762
  ) })
9699
9763
  ] }) : null,
9700
9764
  effectiveStep.type === "processing" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9701
- _chunkHMUGY66Ocjs.ProcessingStep,
9765
+ _chunkCXRH5MKOcjs.ProcessingStep,
9702
9766
  {
9703
9767
  flowLabel: payment ? "payment" : void 0,
9704
9768
  smartAccount: effectiveStep.smartAccount,
@@ -9738,7 +9802,7 @@ function DepositFlow({
9738
9802
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9739
9803
  DappImportAssetSelectSkeleton,
9740
9804
  {
9741
- sourceLabel: _nullishCoalesce(_optionalChain([activeDappImportProvider, 'optionalAccess', _334 => _334.sourceLabel]), () => ( "")),
9805
+ sourceLabel: _nullishCoalesce(_optionalChain([activeDappImportProvider, 'optionalAccess', _347 => _347.sourceLabel]), () => ( "")),
9742
9806
  error: dappImportBootError,
9743
9807
  onRetry: handleBootRetry
9744
9808
  }
@@ -9760,7 +9824,7 @@ function DepositFlow({
9760
9824
  rows: dappImportSelectRows,
9761
9825
  onRequestConnect: _nullishCoalesce(onConnect, () => ( onRequestConnect)),
9762
9826
  onSelect: (providerId) => {
9763
- const availabilityEntry = dappImportOwner && _optionalChain([dappImportAvailabilityOwner, 'optionalAccess', _335 => _335.toLowerCase, 'call', _336 => _336()]) === dappImportOwner.toLowerCase() ? dappImportAvailability[providerId] : void 0;
9827
+ const availabilityEntry = dappImportOwner && _optionalChain([dappImportAvailabilityOwner, 'optionalAccess', _348 => _348.toLowerCase, 'call', _349 => _349()]) === dappImportOwner.toLowerCase() ? dappImportAvailability[providerId] : void 0;
9764
9828
  if (availabilityEntry === "error") {
9765
9829
  storeApi.dispatch({
9766
9830
  type: "dapp-import/availability-retry-requested"
@@ -9779,16 +9843,16 @@ function DepositFlow({
9779
9843
  }
9780
9844
  );
9781
9845
  }
9782
- if (!_optionalChain([signerContext, 'optionalAccess', _337 => _337.walletClient]) || !_optionalChain([signerContext, 'optionalAccess', _338 => _338.publicClient])) {
9846
+ if (!_optionalChain([signerContext, 'optionalAccess', _350 => _350.walletClient]) || !_optionalChain([signerContext, 'optionalAccess', _351 => _351.publicClient])) {
9783
9847
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-modal-body", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-state", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-text", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-title", children: "Connecting wallet\u2026" }) }) }) }) });
9784
9848
  }
9785
9849
  const ownerAddress = signerContext.ownerAddress;
9786
- const ownerChainId = _nullishCoalesce(_nullishCoalesce(_optionalChain([signerContext, 'access', _339 => _339.walletClient, 'optionalAccess', _340 => _340.chain, 'optionalAccess', _341 => _341.id]), () => ( _optionalChain([signerContext, 'access', _342 => _342.publicClient, 'access', _343 => _343.chain, 'optionalAccess', _344 => _344.id]))), () => ( setupChainId));
9850
+ const ownerChainId = _nullishCoalesce(_nullishCoalesce(_optionalChain([signerContext, 'access', _352 => _352.walletClient, 'optionalAccess', _353 => _353.chain, 'optionalAccess', _354 => _354.id]), () => ( _optionalChain([signerContext, 'access', _355 => _355.publicClient, 'access', _356 => _356.chain, 'optionalAccess', _357 => _357.id]))), () => ( setupChainId));
9787
9851
  const getReadClientForChain = (chainId) => {
9788
- if (_optionalChain([signerContext, 'access', _345 => _345.publicClient, 'access', _346 => _346.chain, 'optionalAccess', _347 => _347.id]) === chainId) {
9852
+ if (_optionalChain([signerContext, 'access', _358 => _358.publicClient, 'access', _359 => _359.chain, 'optionalAccess', _360 => _360.id]) === chainId) {
9789
9853
  return signerContext.publicClient;
9790
9854
  }
9791
- return _chunkHMUGY66Ocjs.getPublicClient.call(void 0, chainId, rpcUrls);
9855
+ return _chunkCXRH5MKOcjs.getPublicClient.call(void 0, chainId, rpcUrls);
9792
9856
  };
9793
9857
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-modal-body", children: [
9794
9858
  effectiveStep.type === "setup" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9814,9 +9878,9 @@ function DepositFlow({
9814
9878
  effectiveStep.type === "dapp-import-asset-select" && activeDappImportProvider && activeDappImportAvailability && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9815
9879
  DappImportAssetSelectStep,
9816
9880
  {
9817
- sourceLabel: _nullishCoalesce(_optionalChain([activeDappImportAvailability, 'access', _348 => _348.assets, 'access', _349 => _349[0], 'optionalAccess', _350 => _350.sourceLabel]), () => ( activeDappImportProvider.sourceLabel)),
9881
+ sourceLabel: _nullishCoalesce(_optionalChain([activeDappImportAvailability, 'access', _361 => _361.assets, 'access', _362 => _362[0], 'optionalAccess', _363 => _363.sourceLabel]), () => ( activeDappImportProvider.sourceLabel)),
9818
9882
  assets: activeDappImportAvailability.assets,
9819
- incompleteSummary: _optionalChain([activeDappImportAvailability, 'access', _351 => _351.incomplete, 'optionalAccess', _352 => _352.summary]),
9883
+ incompleteSummary: _optionalChain([activeDappImportAvailability, 'access', _364 => _364.incomplete, 'optionalAccess', _365 => _365.summary]),
9820
9884
  onSelect: handleDappImportAssetSelected
9821
9885
  }
9822
9886
  ),
@@ -9896,7 +9960,7 @@ function DepositFlow({
9896
9960
  }
9897
9961
  ),
9898
9962
  effectiveStep.type === "processing" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9899
- _chunkHMUGY66Ocjs.ProcessingStep,
9963
+ _chunkCXRH5MKOcjs.ProcessingStep,
9900
9964
  {
9901
9965
  flowLabel: payment ? "payment" : void 0,
9902
9966
  smartAccount: effectiveStep.smartAccount,
@@ -9933,11 +9997,115 @@ function DepositFlow({
9933
9997
  ] });
9934
9998
  }
9935
9999
 
10000
+ // src/components/history/useBankHistory.ts
10001
+
10002
+ function useBankHistory(source, open, panelOpen) {
10003
+ const [orders, setOrders] = _react.useState.call(void 0, []);
10004
+ const [unread, setUnread] = _react.useState.call(void 0, false);
10005
+ const [loading, setLoading] = _react.useState.call(void 0, false);
10006
+ const [error, setError] = _react.useState.call(void 0, null);
10007
+ const [cursor, setCursor] = _react.useState.call(void 0, null);
10008
+ const generation = _react.useRef.call(void 0, 0);
10009
+ const busy = _react.useRef.call(void 0, false);
10010
+ const seen = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
10011
+ const baselined = _react.useRef.call(void 0, false);
10012
+ const paged = _react.useRef.call(void 0, false);
10013
+ const panel = _react.useRef.call(void 0, panelOpen);
10014
+ panel.current = panelOpen;
10015
+ const load = _react.useCallback.call(void 0,
10016
+ async (next) => {
10017
+ if (!source || !open || busy.current || document.visibilityState === "hidden")
10018
+ return;
10019
+ const current = generation.current;
10020
+ busy.current = true;
10021
+ setLoading(true);
10022
+ try {
10023
+ const page = await source.listOrders({
10024
+ limit: 20,
10025
+ ...next ? { cursor: next } : {}
10026
+ });
10027
+ if (current !== generation.current) return;
10028
+ const bank = page.items.filter((order) => order.provider === "noah");
10029
+ let changed = false;
10030
+ for (const order of bank) {
10031
+ const fingerprint = JSON.stringify(order.stages);
10032
+ if (!next && seen.current.get(order.id) !== fingerprint)
10033
+ changed = true;
10034
+ seen.current.set(order.id, fingerprint);
10035
+ }
10036
+ if (baselined.current && changed && !panel.current) setUnread(true);
10037
+ if (!next) baselined.current = true;
10038
+ setOrders((previous) => {
10039
+ const merged = new Map(previous.map((order) => [order.id, order]));
10040
+ for (const order of bank) merged.set(order.id, order);
10041
+ return [...merged.values()].sort(
10042
+ (a, b) => b.createdAt.localeCompare(a.createdAt)
10043
+ );
10044
+ });
10045
+ if (next) paged.current = true;
10046
+ if (next || !paged.current) setCursor(page.nextCursor);
10047
+ setError(null);
10048
+ } catch (e43) {
10049
+ if (current === generation.current)
10050
+ setError("Bank transfer history is unavailable. Try again shortly.");
10051
+ } finally {
10052
+ if (current === generation.current) {
10053
+ busy.current = false;
10054
+ setLoading(false);
10055
+ }
10056
+ }
10057
+ },
10058
+ [source, open]
10059
+ );
10060
+ _react.useEffect.call(void 0, () => {
10061
+ generation.current += 1;
10062
+ busy.current = false;
10063
+ seen.current = /* @__PURE__ */ new Map();
10064
+ baselined.current = false;
10065
+ paged.current = false;
10066
+ setOrders([]);
10067
+ setUnread(false);
10068
+ setCursor(null);
10069
+ setError(null);
10070
+ setLoading(false);
10071
+ if (!open || !source) return;
10072
+ void load();
10073
+ const refresh = () => {
10074
+ void load();
10075
+ };
10076
+ const timer = setInterval(refresh, 3e4);
10077
+ window.addEventListener("focus", refresh);
10078
+ document.addEventListener("visibilitychange", refresh);
10079
+ return () => {
10080
+ generation.current += 1;
10081
+ clearInterval(timer);
10082
+ window.removeEventListener("focus", refresh);
10083
+ document.removeEventListener("visibilitychange", refresh);
10084
+ };
10085
+ }, [source, open, load]);
10086
+ _react.useEffect.call(void 0, () => {
10087
+ if (panelOpen) {
10088
+ setUnread(false);
10089
+ void load();
10090
+ }
10091
+ }, [panelOpen, load]);
10092
+ return {
10093
+ orders,
10094
+ unread,
10095
+ loading,
10096
+ error,
10097
+ hasMore: cursor !== null,
10098
+ loadMore: () => {
10099
+ if (cursor) void load(cursor);
10100
+ }
10101
+ };
10102
+ }
10103
+
9936
10104
  // src/DepositModal.tsx
9937
10105
 
9938
10106
  var ReownDepositInner = _react.lazy.call(void 0, async () => {
9939
10107
  await loadReownDependencies();
9940
- const module = await Promise.resolve().then(() => _interopRequireWildcard(require("./DepositModalReown-UITYXJ6W.cjs")));
10108
+ const module = await Promise.resolve().then(() => _interopRequireWildcard(require("./DepositModalReown-ALVWADG7.cjs")));
9941
10109
  return { default: module.DepositModalReown };
9942
10110
  });
9943
10111
  function buildDepositAnalyticsSessionProperties({
@@ -9954,6 +10122,7 @@ function buildDepositAnalyticsSessionProperties({
9954
10122
  sourceChain,
9955
10123
  sourceToken,
9956
10124
  defaultAmount,
10125
+ bankOnrampEnabled = false,
9957
10126
  walletIntegration,
9958
10127
  targetChain,
9959
10128
  targetToken
@@ -9966,7 +10135,7 @@ function buildDepositAnalyticsSessionProperties({
9966
10135
  enabledFundingMethods.push("wallet");
9967
10136
  }
9968
10137
  if (enableQrTransfer) enabledFundingMethods.push("transfer");
9969
- if (enableFiatOnramp && _optionalChain([configuredFiatIdentifiers, 'optionalAccess', _353 => _353.length]) !== 0) {
10138
+ if (bankOnrampEnabled || enableFiatOnramp && _optionalChain([configuredFiatIdentifiers, 'optionalAccess', _366 => _366.length]) !== 0) {
9970
10139
  enabledFundingMethods.push("fiat_onramp");
9971
10140
  }
9972
10141
  if (enableExchangeConnect) enabledFundingMethods.push("exchange_connect");
@@ -9986,7 +10155,7 @@ function buildDepositAnalyticsSessionProperties({
9986
10155
  amount: defaultAmount !== void 0,
9987
10156
  initial_asset_migration: initialAssetMigration !== void 0
9988
10157
  },
9989
- ..._chunkHMUGY66Ocjs.analyticsTargetProperties.call(void 0, { targetChain, targetToken })
10158
+ ..._chunkCXRH5MKOcjs.analyticsTargetProperties.call(void 0, { targetChain, targetToken })
9990
10159
  };
9991
10160
  }
9992
10161
  var WALLET_CLIENT_PROP = "walletClient";
@@ -9994,8 +10163,8 @@ function hasSuppliedWalletClient(props) {
9994
10163
  return Object.prototype.hasOwnProperty.call(props, WALLET_CLIENT_PROP);
9995
10164
  }
9996
10165
  function DepositModal(props) {
9997
- _chunkHMUGY66Ocjs.warnRemovedProps.call(void 0, "DepositModal", props);
9998
- _chunkHMUGY66Ocjs.checkBackendUrl.call(void 0, "DepositModal", props.backendUrl);
10166
+ _chunkCXRH5MKOcjs.warnRemovedProps.call(void 0, "DepositModal", props);
10167
+ _chunkCXRH5MKOcjs.checkBackendUrl.call(void 0, "DepositModal", props.backendUrl);
9999
10168
  const needsReown = !!props.reownAppId;
10000
10169
  const hasWalletClientProp = hasSuppliedWalletClient(props);
10001
10170
  if (needsReown) {
@@ -10038,6 +10207,7 @@ function DepositModalInner({
10038
10207
  assetMigrations,
10039
10208
  initialAssetMigration,
10040
10209
  enableFiatOnramp = false,
10210
+ bankOnramp,
10041
10211
  enableQrTransfer = true,
10042
10212
  enableGaslessDeposit = false,
10043
10213
  fiatMethods,
@@ -10068,45 +10238,74 @@ function DepositModalInner({
10068
10238
  const analyticsControllerRef = _react.useRef.call(void 0, null);
10069
10239
  const analyticsSessionIdRef = _react.useRef.call(void 0, null);
10070
10240
  const previousOpenRef = _react.useRef.call(void 0, isOpen);
10071
- const onReadyRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onReady);
10072
- const onUiStateRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onUiState);
10241
+ const onReadyRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onReady);
10242
+ const onUiStateRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onUiState);
10073
10243
  const [currentScreen, setCurrentScreen] = _react.useState.call(void 0, "connect");
10244
+ const bankScope = `${backendUrl}:${recipient}:${typeof targetChainProp === "string" ? targetChainProp : _chunkFKJ6EJHHcjs.getChainId.call(void 0, targetChainProp)}:${targetToken}`;
10245
+ const [bankSession, setBankSession] = _react.useState.call(void 0, null);
10246
+ const [bankJourneyVisible, setBankJourneyVisible] = _react.useState.call(void 0, false);
10247
+ const onBankJourney = _react.useCallback.call(void 0, (journey) => {
10248
+ setBankJourneyVisible(Boolean(journey));
10249
+ if (journey)
10250
+ setBankSession(
10251
+ journey.source ? { source: journey.source, scope: bankScope } : null
10252
+ );
10253
+ }, [bankScope]);
10254
+ const bankSource = _optionalChain([bankSession, 'optionalAccess', _367 => _367.scope]) === bankScope ? bankSession.source : null;
10255
+ _react.useEffect.call(void 0, () => {
10256
+ if (!isOpen) {
10257
+ setBankSession(null);
10258
+ setBankJourneyVisible(false);
10259
+ }
10260
+ }, [isOpen]);
10074
10261
  const [swappedImmersive, setSwappedImmersive] = _react.useState.call(void 0, false);
10075
10262
  const [submitting, setSubmitting] = _react.useState.call(void 0, false);
10076
10263
  const [backHandler, setBackHandler] = _react.useState.call(void 0,
10077
10264
  void 0
10078
10265
  );
10079
10266
  const [processingSettled, setProcessingSettled] = _react.useState.call(void 0, false);
10080
- const historyButtonVisible = !payment && _chunkHMUGY66Ocjs.isHistoryEntryVisible.call(void 0, {
10267
+ const historyButtonVisible = !payment && (bankJourneyVisible || _chunkCXRH5MKOcjs.isHistoryEntryVisible.call(void 0, {
10081
10268
  screen: currentScreen,
10082
10269
  submitting,
10083
10270
  settled: processingSettled
10084
- });
10085
- const targetChain = typeof targetChainProp === "string" ? targetChainProp : _chunkOY5N3E6Lcjs.getChainId.call(void 0, targetChainProp);
10086
- const sourceChain = sourceChainProp ? _chunkOY5N3E6Lcjs.getChainId.call(void 0, sourceChainProp) : void 0;
10087
- const rpcUrls = _chunkHMUGY66Ocjs.useStableRpcUrls.call(void 0, rpcUrlsProp);
10271
+ }));
10272
+ const targetChain = typeof targetChainProp === "string" ? targetChainProp : _chunkFKJ6EJHHcjs.getChainId.call(void 0, targetChainProp);
10273
+ const sourceChain = sourceChainProp ? _chunkFKJ6EJHHcjs.getChainId.call(void 0, sourceChainProp) : void 0;
10274
+ const rpcUrls = _chunkCXRH5MKOcjs.useStableRpcUrls.call(void 0, rpcUrlsProp);
10088
10275
  const service = _react.useMemo.call(void 0,
10089
- () => _chunkHMUGY66Ocjs.createDepositService.call(void 0, backendUrl, {
10276
+ () => _chunkCXRH5MKOcjs.createDepositService.call(void 0, backendUrl, {
10090
10277
  debug,
10091
10278
  debugScope: "service:deposit"
10092
10279
  }),
10093
10280
  [backendUrl, debug]
10094
10281
  );
10095
10282
  const historyAnalytics = _react.useMemo.call(void 0,
10096
- () => _chunkHMUGY66Ocjs.createHistoryAnalytics.call(void 0, {
10283
+ () => _chunkCXRH5MKOcjs.createHistoryAnalytics.call(void 0, {
10097
10284
  modal: "deposit",
10098
10285
  controllerRef: analyticsControllerRef,
10099
10286
  sessionIdRef: analyticsSessionIdRef
10100
10287
  }),
10101
10288
  []
10102
10289
  );
10103
- const history = _chunkHMUGY66Ocjs.useHistoryPanel.call(void 0, {
10290
+ const history = _chunkCXRH5MKOcjs.useHistoryPanel.call(void 0, {
10104
10291
  isOpen: isOpen && !payment,
10105
10292
  recipient,
10106
10293
  service,
10107
10294
  canRecover: Boolean(signRecovery),
10108
10295
  analytics: historyAnalytics
10109
10296
  });
10297
+ const bankOrders = useBankHistory(bankSource, isOpen && !payment, history.isPanelOpen);
10298
+ const bankHistory = bankJourneyVisible && !bankSource ? { ...bankOrders, loading: true } : bankOrders;
10299
+ const historyDepositsRef = _chunkG264OM23cjs.useLatestRef.call(void 0, history.deposits);
10300
+ _react.useEffect.call(void 0, () => {
10301
+ const waitingForSettlement = bankHistory.orders.some((order) => {
10302
+ if (order.stages.delivery.status !== "completed") return false;
10303
+ const { depositId } = order.stages.delivery;
10304
+ const deposit = historyDepositsRef.current.find((item) => item.id === depositId);
10305
+ return !deposit || deposit.status === "pending" || deposit.status === "processing";
10306
+ });
10307
+ if (waitingForSettlement) history.markStale();
10308
+ }, [bankHistory.orders, history.markStale, historyDepositsRef]);
10110
10309
  const {
10111
10310
  markStale: markHistoryStale,
10112
10311
  invalidate: invalidateHistory,
@@ -10140,15 +10339,15 @@ function DepositModalInner({
10140
10339
  }, [store, targetChain, targetToken]);
10141
10340
  _react.useEffect.call(void 0, () => {
10142
10341
  if (!isOpen || !modalRef.current) return;
10143
- return _chunkHMUGY66Ocjs.applyTheme.call(void 0, modalRef.current, theme);
10342
+ return _chunkCXRH5MKOcjs.applyTheme.call(void 0, modalRef.current, theme);
10144
10343
  }, [isOpen, theme]);
10145
10344
  _react.useEffect.call(void 0, () => {
10146
10345
  if (isOpen) {
10147
- _optionalChain([onReadyRef, 'access', _354 => _354.current, 'optionalCall', _355 => _355()]);
10346
+ _optionalChain([onReadyRef, 'access', _368 => _368.current, 'optionalCall', _369 => _369()]);
10148
10347
  }
10149
10348
  }, [isOpen, onReadyRef]);
10150
10349
  _react.useEffect.call(void 0, () => {
10151
- _optionalChain([onUiStateRef, 'access', _356 => _356.current, 'optionalCall', _357 => _357({
10350
+ _optionalChain([onUiStateRef, 'access', _370 => _370.current, 'optionalCall', _371 => _371({
10152
10351
  screen: currentScreen,
10153
10352
  back: backHandler,
10154
10353
  // A recovery in flight is a submission whose outcome is unknown, so a
@@ -10169,10 +10368,10 @@ function DepositModalInner({
10169
10368
  },
10170
10369
  []
10171
10370
  );
10172
- const onLifecycleRef = _chunkHMUGY66Ocjs.useLatestRef.call(void 0, onLifecycle);
10371
+ const onLifecycleRef = _chunkG264OM23cjs.useLatestRef.call(void 0, onLifecycle);
10173
10372
  const handleLifecycle = _react.useCallback.call(void 0,
10174
10373
  (event) => {
10175
- _optionalChain([onLifecycleRef, 'access', _358 => _358.current, 'optionalCall', _359 => _359(event)]);
10374
+ _optionalChain([onLifecycleRef, 'access', _372 => _372.current, 'optionalCall', _373 => _373(event)]);
10176
10375
  if (event.type === "smart-account-changed" && !event.evm && !event.solana) {
10177
10376
  invalidateHistory();
10178
10377
  }
@@ -10186,8 +10385,8 @@ function DepositModalInner({
10186
10385
  (source) => {
10187
10386
  if (recoverySubmitting) return;
10188
10387
  const analytics = analyticsControllerRef.current;
10189
- _optionalChain([analytics, 'optionalAccess', _360 => _360.abandon, 'call', _361 => _361(source === "provider_back" ? "provider_back" : "modal_close")]);
10190
- _optionalChain([analytics, 'optionalAccess', _362 => _362.close, 'call', _363 => _363(source)]);
10388
+ _optionalChain([analytics, 'optionalAccess', _374 => _374.abandon, 'call', _375 => _375(source === "provider_back" ? "provider_back" : "modal_close")]);
10389
+ _optionalChain([analytics, 'optionalAccess', _376 => _376.close, 'call', _377 => _377(source)]);
10191
10390
  onClose();
10192
10391
  },
10193
10392
  [onClose, recoverySubmitting]
@@ -10203,8 +10402,8 @@ function DepositModalInner({
10203
10402
  _react.useEffect.call(void 0, () => {
10204
10403
  if (previousOpenRef.current && !isOpen) {
10205
10404
  const analytics = analyticsControllerRef.current;
10206
- _optionalChain([analytics, 'optionalAccess', _364 => _364.abandon, 'call', _365 => _365("modal_close")]);
10207
- _optionalChain([analytics, 'optionalAccess', _366 => _366.close, 'call', _367 => _367("host_controlled")]);
10405
+ _optionalChain([analytics, 'optionalAccess', _378 => _378.abandon, 'call', _379 => _379("modal_close")]);
10406
+ _optionalChain([analytics, 'optionalAccess', _380 => _380.close, 'call', _381 => _381("host_controlled")]);
10208
10407
  }
10209
10408
  previousOpenRef.current = isOpen;
10210
10409
  }, [isOpen]);
@@ -10237,16 +10436,19 @@ function DepositModalInner({
10237
10436
  sourceChain: sourceChainProp,
10238
10437
  sourceToken,
10239
10438
  defaultAmount,
10439
+ bankOnrampEnabled: Boolean(
10440
+ bankOnramp && (fiatMethods === void 0 || fiatMethods["bank-transfer"] === true)
10441
+ ),
10240
10442
  walletIntegration,
10241
10443
  targetChain,
10242
10444
  targetToken
10243
10445
  });
10244
- const showBackButton = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _368 => _368.showBackButton]), () => ( true));
10446
+ const showBackButton = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _382 => _382.showBackButton]), () => ( true));
10245
10447
  const canGoBack = backHandler !== void 0;
10246
10448
  const hideHeaderChrome = swappedImmersive;
10247
10449
  const modalClassName = `rs-modal${hideHeaderChrome ? " rs-modal--swapped-iframe" : ""}`;
10248
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.RpcUrlsProvider, { value: rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChainCatalogProvider, { service, rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DepositStoreProvider, { store, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10249
- _chunkHMUGY66Ocjs.Modal,
10450
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.RpcUrlsProvider, { value: rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.ChainCatalogProvider, { service, rpcUrls, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.AssetMetadataProvider, { service, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DepositStoreProvider, { store, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10451
+ _chunkCXRH5MKOcjs.Modal,
10250
10452
  {
10251
10453
  isOpen,
10252
10454
  onClose: handleModalDismiss,
@@ -10255,7 +10457,7 @@ function DepositModalInner({
10255
10457
  closeOnOverlayClick,
10256
10458
  ariaLabel: "Deposit",
10257
10459
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10258
- _chunkHMUGY66Ocjs.AnalyticsSession,
10460
+ _chunkCXRH5MKOcjs.AnalyticsSession,
10259
10461
  {
10260
10462
  modal: "deposit",
10261
10463
  sessionProperties: analyticsSessionProperties,
@@ -10277,14 +10479,15 @@ function DepositModalInner({
10277
10479
  className: "rs-modal-header-back",
10278
10480
  "aria-label": "Go back",
10279
10481
  onClick: backHandler,
10280
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.ChevronLeftIcon, {})
10482
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.ChevronLeftIcon, {})
10281
10483
  }
10282
10484
  ) }),
10283
10485
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-modal-header-nav-right", children: [
10284
10486
  historyButtonVisible && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10285
- _chunkHMUGY66Ocjs.HistoryEntryButton,
10487
+ _chunkCXRH5MKOcjs.HistoryEntryButton,
10286
10488
  {
10287
- badge: history.badge,
10489
+ badge: bankJourneyVisible ? null : history.badge,
10490
+ unread: bankHistory.unread,
10288
10491
  onClick: history.openPanel,
10289
10492
  disabled: !recipient
10290
10493
  }
@@ -10296,7 +10499,7 @@ function DepositModalInner({
10296
10499
  onClick: () => closeWithSource("header_button"),
10297
10500
  className: "rs-modal-close",
10298
10501
  "aria-label": "Close",
10299
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHMUGY66Ocjs.CloseIcon, {})
10502
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.CloseIcon, {})
10300
10503
  }
10301
10504
  )
10302
10505
  ] })
@@ -10322,6 +10525,9 @@ function DepositModalInner({
10322
10525
  assetMigrations,
10323
10526
  initialAssetMigration,
10324
10527
  enableFiatOnramp,
10528
+ bankOnramp,
10529
+ onBankJourney,
10530
+ backendUrl,
10325
10531
  enableQrTransfer,
10326
10532
  enableGaslessDeposit,
10327
10533
  fiatMethods,
@@ -10333,7 +10539,7 @@ function DepositModalInner({
10333
10539
  onDisconnect,
10334
10540
  onRequestConnect,
10335
10541
  uiConfig,
10336
- appFees: _optionalChain([clientSetup, 'optionalAccess', _369 => _369.appFees]),
10542
+ appFees: _optionalChain([clientSetup, 'optionalAccess', _383 => _383.appFees]),
10337
10543
  appFeesResolved: clientSetup !== null,
10338
10544
  onStepChange: handleStepChange,
10339
10545
  onSwappedImmersiveChange: setSwappedImmersive,
@@ -10347,9 +10553,11 @@ function DepositModalInner({
10347
10553
  }
10348
10554
  ),
10349
10555
  history.isPanelOpen && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10350
- _chunkHMUGY66Ocjs.HistoryOverlay,
10556
+ _chunkCXRH5MKOcjs.HistoryOverlay,
10351
10557
  {
10352
10558
  controller: history,
10559
+ bankHistory,
10560
+ bankSupportUrl: _optionalChain([bankOnramp, 'optionalAccess', _384 => _384.supportUrl]),
10353
10561
  backLabel: "Deposit",
10354
10562
  recipient,
10355
10563
  backendUrl,
@@ -10371,7 +10579,7 @@ function DepositModalInner({
10371
10579
  }
10372
10580
  )
10373
10581
  }
10374
- ) }) }) });
10582
+ ) }) }) }) });
10375
10583
  }
10376
10584
 
10377
10585