@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.
- package/README.md +151 -61
- package/dist/BankOnrampStep-JG32OCM2.mjs +435 -0
- package/dist/BankOnrampStep-NPGXAA7U.cjs +435 -0
- package/dist/{DepositModalReown-XBNY6QCI.mjs → DepositModalReown-3FGTPER6.mjs} +6 -5
- package/dist/{DepositModalReown-UITYXJ6W.cjs → DepositModalReown-ALVWADG7.cjs} +21 -20
- package/dist/WithdrawModal-5YWFJSYY.cjs +12 -0
- package/dist/WithdrawModal-LL4Z5WZP.mjs +12 -0
- package/dist/{bearer-transport-CVHNBgoV.d.cts → bearer-transport-DZyeDG64.d.cts} +5 -1
- package/dist/{bearer-transport-CVHNBgoV.d.ts → bearer-transport-DZyeDG64.d.ts} +5 -1
- package/dist/{caip-BMi-9t09.d.cts → caip-nwFFL46o.d.cts} +2 -2
- package/dist/{caip-BMi-9t09.d.ts → caip-nwFFL46o.d.ts} +2 -2
- package/dist/{chunk-NITKDXHR.mjs → chunk-247GJH57.mjs} +480 -272
- package/dist/{chunk-FTWKAJGN.mjs → chunk-2FOPO4N5.mjs} +1 -1
- package/dist/{chunk-5NWLS5BQ.mjs → chunk-32ERBFMO.mjs} +1432 -961
- package/dist/chunk-5QUWEFD4.mjs +19 -0
- package/dist/chunk-6CTJFR3T.mjs +113 -0
- package/dist/{chunk-X6N2XPTO.mjs → chunk-B2LZQIGB.mjs} +1 -1
- package/dist/{chunk-EG4H7OMC.cjs → chunk-BTEG2VNZ.cjs} +171 -130
- package/dist/{chunk-HMUGY66O.cjs → chunk-CXRH5MKO.cjs} +1502 -1031
- package/dist/chunk-E7IMWVMN.mjs +346 -0
- package/dist/{chunk-PYOC6K24.cjs → chunk-EKFXUF5A.cjs} +1 -1
- package/dist/chunk-FKJ6EJHH.cjs +346 -0
- package/dist/chunk-FMUSY563.cjs +19 -0
- package/dist/{chunk-LVCD6RHF.cjs → chunk-FVJKUTHF.cjs} +2 -2
- package/dist/chunk-G264OM23.cjs +224 -0
- package/dist/{chunk-BIL4ENC3.mjs → chunk-HP7S7AD6.mjs} +73 -32
- package/dist/{chunk-ISLVD5HQ.cjs → chunk-OPT5EW6L.cjs} +10 -5
- package/dist/chunk-PYRXOP2Y.cjs +113 -0
- package/dist/{chunk-ZGHVJ2XM.mjs → chunk-XBJCZYBX.mjs} +8 -3
- package/dist/chunk-YY4ZOAH5.mjs +224 -0
- package/dist/{chunk-OCWSMLOP.cjs → chunk-Z4RBTNKX.cjs} +980 -772
- package/dist/compliance.cjs +4 -7
- package/dist/compliance.d.cts +26 -3
- package/dist/compliance.d.ts +26 -3
- package/dist/compliance.mjs +6 -9
- package/dist/constants-BQDxVNgr.d.cts +29 -0
- package/dist/constants-DjGQW5N5.d.ts +29 -0
- package/dist/constants.cjs +3 -37
- package/dist/constants.d.cts +4 -20
- package/dist/constants.d.ts +4 -20
- package/dist/constants.mjs +4 -38
- package/dist/deposit.cjs +7 -6
- package/dist/deposit.d.cts +5 -3
- package/dist/deposit.d.ts +5 -3
- package/dist/deposit.mjs +6 -5
- package/dist/embed.cjs +21 -20
- package/dist/embed.d.cts +3 -2
- package/dist/embed.d.ts +3 -2
- package/dist/embed.mjs +7 -6
- package/dist/index.cjs +8 -35
- package/dist/index.d.cts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.mjs +9 -36
- package/dist/onramp.cjs +4 -33
- package/dist/onramp.d.cts +51 -33
- package/dist/onramp.d.ts +51 -33
- package/dist/onramp.mjs +5 -34
- package/dist/polymarket.cjs +6 -6
- package/dist/polymarket.mjs +2 -2
- package/dist/ramp-types-HYWd7CW0.d.cts +108 -0
- package/dist/ramp-types-HYWd7CW0.d.ts +108 -0
- package/dist/styles.css +255 -0
- package/dist/{types-BShYNpvO.d.cts → types-BxSrazbq.d.ts} +20 -2
- package/dist/{types-BOxa1DE-.d.ts → types-CixUBhrM.d.cts} +20 -2
- package/dist/withdraw.cjs +6 -5
- package/dist/withdraw.d.cts +4 -3
- package/dist/withdraw.d.ts +4 -3
- package/dist/withdraw.mjs +5 -4
- package/package.json +9 -17
- package/dist/WithdrawModal-DY6A55OA.mjs +0 -11
- package/dist/WithdrawModal-V42OK7L3.cjs +0 -11
- package/dist/chunk-ADEWTBSN.cjs +0 -19
- package/dist/chunk-EAGMY3QE.mjs +0 -962
- package/dist/chunk-OY5N3E6L.cjs +0 -962
- package/dist/chunk-PP4QE32S.mjs +0 -19
- package/dist/constants-BT4ctuHo.d.cts +0 -64
- package/dist/constants-D21ZdNOP.d.ts +0 -64
- package/dist/offramp.cjs +0 -25
- package/dist/offramp.d.cts +0 -28
- package/dist/offramp.d.ts +0 -28
- package/dist/offramp.mjs +0 -25
- package/dist/ramp-types-C6aUz4SZ.d.cts +0 -43
- 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
|
|
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
|
-
|
|
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 =
|
|
253
|
-
const catalogChain =
|
|
254
|
-
const name = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _2 => _2.name]), () => (
|
|
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
|
-
|
|
262
|
+
_chunkCXRH5MKOcjs.CdnIcon,
|
|
258
263
|
{
|
|
259
|
-
src: _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess', _4 => _4.iconUrl]), () => (
|
|
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,
|
|
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:
|
|
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:
|
|
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:
|
|
314
|
+
iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "polymarket")
|
|
310
315
|
},
|
|
311
316
|
{
|
|
312
317
|
id: "aave",
|
|
313
318
|
label: "Aave",
|
|
314
|
-
iconUrl:
|
|
319
|
+
iconUrl: _chunkFKJ6EJHHcjs.cdnIconUrl.call(void 0, "dapps", "aave")
|
|
315
320
|
},
|
|
316
321
|
{
|
|
317
322
|
id: "hyperliquid",
|
|
318
323
|
label: "Hyperliquid",
|
|
319
|
-
iconUrl:
|
|
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:
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
381
|
-
if (name === "bank") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
382
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
470
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG264OM23cjs.WalletIcon, {});
|
|
466
471
|
}
|
|
467
|
-
var TRANSFER_CRYPTO_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
468
|
-
var WALLET_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
469
|
-
var EXCHANGE_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
470
|
-
var MIGRATE_ASSETS_LEADING = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
471
|
-
var SMALL_SPINNER = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
675
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
670
676
|
{
|
|
671
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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 =
|
|
731
|
-
const isExcludedByRestrictedList =
|
|
732
|
-
const { catalog } =
|
|
733
|
-
const chainName =
|
|
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
|
|
743
|
+
return _chunkCXRH5MKOcjs.getAssetId.call(void 0, {
|
|
737
744
|
chainId: defaultSourceChain,
|
|
738
745
|
token: defaultSourceToken
|
|
739
746
|
});
|
|
740
747
|
}, [defaultSourceChain, defaultSourceToken]);
|
|
741
|
-
const onTotalBalanceComputedRef =
|
|
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 =
|
|
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() ===
|
|
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
|
|
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() ===
|
|
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
|
|
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
|
-
|
|
872
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
852
873
|
{
|
|
853
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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,
|
|
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,
|
|
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 =
|
|
885
|
-
const chainIcon =
|
|
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
|
-
|
|
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,
|
|
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 ?
|
|
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
|
-
|
|
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,
|
|
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',
|
|
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 =
|
|
976
|
+
const id = _chunkCXRH5MKOcjs.getAssetId.call(void 0, {
|
|
955
977
|
chainId: connectedChainId,
|
|
956
|
-
token:
|
|
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',
|
|
962
|
-
const nativeDecimals = _nullishCoalesce(_optionalChain([catalogChain, 'optionalAccess',
|
|
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:
|
|
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',
|
|
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',
|
|
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',
|
|
1162
|
+
_optionalChain([walletClient, 'optionalAccess', _30 => _30.chain, 'optionalAccess', _31 => _31.id]) && walletClient.chain.id !== asset.chainId
|
|
1141
1163
|
);
|
|
1142
|
-
const targetChainId =
|
|
1143
|
-
const targetSymbol =
|
|
1144
|
-
const isSourceStablecoin =
|
|
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 =
|
|
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(
|
|
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
|
|
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 =
|
|
1282
|
-
const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
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 =
|
|
1289
|
-
const boundViolation =
|
|
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',
|
|
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',
|
|
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',
|
|
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 =
|
|
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,
|
|
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 ? `${
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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:
|
|
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,
|
|
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,
|
|
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,
|
|
1525
|
+
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
|
|
1492
1526
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1493
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
1623
|
-
if (!sameAddress(_optionalChain([permitted, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
1768
|
-
return () => _optionalChain([onSubmittingChangeRef, 'access',
|
|
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',
|
|
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',
|
|
1787
|
-
const targetChainId =
|
|
1788
|
-
const
|
|
1789
|
-
const
|
|
1790
|
-
const
|
|
1791
|
-
const
|
|
1792
|
-
const
|
|
1793
|
-
const
|
|
1794
|
-
const
|
|
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 } =
|
|
1800
|
-
_optionalChain([quote, 'optionalAccess',
|
|
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 && !
|
|
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',
|
|
1813
|
-
const boundsFor =
|
|
1814
|
-
const activeRefusal = _nullishCoalesce((_optionalChain([previewRefusal, 'optionalAccess',
|
|
1815
|
-
const blockedReason = activeRefusal ?
|
|
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 =
|
|
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 =
|
|
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
|
|
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 } :
|
|
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',
|
|
1851
|
-
const estimatedTimeDisplay = servedExpectedSeconds !== void 0 ?
|
|
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(
|
|
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 (
|
|
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 (
|
|
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
|
|
2108
|
+
const safeToTransfer = !submitStarted || err instanceof _chunkCXRH5MKOcjs.PermitDepositSubmitError && err.safeToTransfer;
|
|
2071
2109
|
if (safeToTransfer) setPermitDisabled(true);
|
|
2072
|
-
const message = safeToTransfer ?
|
|
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',
|
|
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 (
|
|
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',
|
|
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 =
|
|
2125
|
-
const message = uncertain ? "Deposit submission status is uncertain. Check your activity before trying again." :
|
|
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',
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
2203
|
-
const targetSymbol =
|
|
2204
|
-
const
|
|
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 (
|
|
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(
|
|
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 =
|
|
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 =
|
|
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
|
|
2257
|
-
prices: targetTokenPriceUsd !== null && targetTokenPriceUsd > 0 ? { [targetSymbol.toUpperCase()]: targetTokenPriceUsd } :
|
|
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',
|
|
2262
|
-
const estimatedTime = expectedSeconds !== void 0 ?
|
|
2263
|
-
const { display: quotedFee, struck } =
|
|
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,
|
|
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:
|
|
2272
|
-
sourceChainIcon:
|
|
2273
|
-
targetChainName:
|
|
2274
|
-
targetChainIcon:
|
|
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,
|
|
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,
|
|
2330
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Button, { onClick: onClose, fullWidth: true, children: "Close" })
|
|
2288
2331
|
] }),
|
|
2289
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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 =
|
|
2355
|
+
const evmChainIds = _chunkFKJ6EJHHcjs.getSupportedChainIds.call(void 0, );
|
|
2313
2356
|
const defaultChainId = evmChainIds.includes(BASE_CHAIN_ID) ? BASE_CHAIN_ID : evmChainIds[0];
|
|
2314
|
-
const
|
|
2315
|
-
const
|
|
2316
|
-
const
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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',
|
|
2343
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2344
|
-
|
|
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
|
-
|
|
2396
|
+
"span",
|
|
2355
2397
|
{
|
|
2356
|
-
|
|
2357
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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 =
|
|
2447
|
+
const eventTxHash = _chunkCXRH5MKOcjs.getEventTxHash.call(void 0, event);
|
|
2406
2448
|
if (!eventTxHash) return false;
|
|
2407
|
-
return
|
|
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',
|
|
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,
|
|
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 =
|
|
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 =
|
|
2500
|
-
const onFailedRef =
|
|
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',
|
|
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',
|
|
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',
|
|
2545
|
-
const destination = _optionalChain([eventForTx, 'access',
|
|
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',
|
|
2548
|
-
typeof _optionalChain([destination, 'optionalAccess',
|
|
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',
|
|
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',
|
|
2557
|
-
const errorMessage = _nullishCoalesce(_optionalChain([eventForTx, 'access',
|
|
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 =
|
|
2637
|
+
const explorerTxUrl = _chunkCXRH5MKOcjs.useExplorerTxUrl.call(void 0, );
|
|
2596
2638
|
const sourceExplorerUrl = sourceChain === "unknown" ? void 0 : explorerTxUrl(sourceChain, txHash);
|
|
2597
|
-
const destExplorerUrl = destinationTxHash ? explorerTxUrl(
|
|
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,
|
|
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,
|
|
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,
|
|
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() ===
|
|
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
|
|
2731
|
-
if (chain === "hypercore") return
|
|
2732
|
-
return
|
|
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',
|
|
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',
|
|
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
|
-
|
|
2790
|
-
|
|
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',
|
|
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',
|
|
2819
|
-
const token = _nullishCoalesce(_nullishCoalesce(asString(_optionalChain([source, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
2845
|
-
const fromCatalog = !offer.restricted && Array.isArray(_optionalChain([catalogChain, 'optionalAccess',
|
|
2846
|
-
const address = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess',
|
|
2847
|
-
const decimals = _nullishCoalesce(_optionalChain([fromShortlist, 'optionalAccess',
|
|
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
|
-
|
|
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 =
|
|
2924
|
+
const offer = _chunkCXRH5MKOcjs.useDepositOffer.call(void 0, );
|
|
2892
2925
|
const BASE_CHAIN_ID2 = 8453;
|
|
2893
|
-
const evmChainIds =
|
|
2894
|
-
const { catalog, isLoading: catalogLoading, shortlist } =
|
|
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 =
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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
|
|
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',
|
|
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',
|
|
3042
|
-
const clickedTokenDropdown = _optionalChain([tokenDropdownRef, 'access',
|
|
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',
|
|
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',
|
|
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 =
|
|
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 || !
|
|
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
|
|
3155
|
-
|
|
3156
|
-
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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,
|
|
3229
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3230
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
3239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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
|
-
|
|
3308
|
+
_chunkCXRH5MKOcjs.CdnIcon,
|
|
3261
3309
|
{
|
|
3262
|
-
src: _nullishCoalesce(_optionalChain([catalogFor, 'call',
|
|
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,
|
|
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
|
-
|
|
3327
|
+
_chunkCXRH5MKOcjs.CdnIcon,
|
|
3280
3328
|
{
|
|
3281
|
-
src: _nullishCoalesce(_optionalChain([catalogFor, 'call',
|
|
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
|
-
(
|
|
3297
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3298
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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:
|
|
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',
|
|
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',
|
|
3736
|
-
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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
|
|
3859
|
+
const orderId = expectedOrderUuidRef.current;
|
|
3860
|
+
const res = orderId ? await service.fetchSwappedOrder(orderId) : null;
|
|
3801
3861
|
if (cancelled) return;
|
|
3802
|
-
const isCurrentOrder = res !== null &&
|
|
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',
|
|
3830
|
-
_optionalChain([rescheduleDepositPollRef, 'access',
|
|
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 =
|
|
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 || !
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
3899
|
-
orderCryptoAmount: _nullishCoalesce(_nullishCoalesce(parsed.orderCryptoAmount, () => ( _optionalChain([prev, 'optionalAccess',
|
|
3900
|
-
transactionId: _nullishCoalesce(_nullishCoalesce(parsed.transactionId, () => ( _optionalChain([prev, 'optionalAccess',
|
|
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',
|
|
3903
|
-
paidAmountEur: _nullishCoalesce(_optionalChain([prev, 'optionalAccess',
|
|
3904
|
-
onrampFeeUsd: _nullishCoalesce(_optionalChain([prev, 'optionalAccess',
|
|
3905
|
-
paymentMethod: _nullishCoalesce(_optionalChain([prev, 'optionalAccess',
|
|
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',
|
|
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 (
|
|
3982
|
+
if (_chunkCXRH5MKOcjs.isFailedEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))) {
|
|
3923
3983
|
return {
|
|
3924
3984
|
kind: "failed",
|
|
3925
|
-
message:
|
|
3985
|
+
message: _chunkCXRH5MKOcjs.failureMessageForEvent.call(void 0, _nullishCoalesce(latestEvent, () => ( void 0)))
|
|
3926
3986
|
};
|
|
3927
3987
|
}
|
|
3928
|
-
if (_optionalChain([orderState, 'optionalAccess',
|
|
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',
|
|
3936
|
-
}, [onCancelled, _optionalChain([orderState, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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(
|
|
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 (!
|
|
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',
|
|
4027
|
+
_optionalChain([onSwappedFailedRef, 'access', _208 => _208.current, 'optionalCall', _209 => _209(
|
|
3968
4028
|
txHash,
|
|
3969
|
-
|
|
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',
|
|
4034
|
+
_optionalChain([onImmersiveChangeRef, 'access', _210 => _210.current, 'optionalCall', _211 => _211(immersive)]);
|
|
3975
4035
|
}, [immersive]);
|
|
3976
|
-
_react.useEffect.call(void 0, () => () => _optionalChain([onImmersiveChangeRef, 'access',
|
|
4036
|
+
_react.useEffect.call(void 0, () => () => _optionalChain([onImmersiveChangeRef, 'access', _212 => _212.current, 'optionalCall', _213 => _213(false)]), []);
|
|
3977
4037
|
const handleRetry = () => {
|
|
3978
|
-
_optionalChain([onRetry, 'optionalCall',
|
|
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',
|
|
3997
|
-
currency: _nullishCoalesce(_optionalChain([orderState, 'optionalAccess',
|
|
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,
|
|
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,
|
|
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,
|
|
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',
|
|
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,
|
|
4143
|
+
loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.PoweredBy, {})
|
|
4084
4144
|
] });
|
|
4085
4145
|
}
|
|
4086
4146
|
function deriveStepStates(swappedStatus, latestEvent) {
|
|
4087
|
-
if (
|
|
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',
|
|
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',
|
|
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,
|
|
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',
|
|
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
|
-
|
|
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',
|
|
4413
|
+
_optionalChain([onError, 'optionalCall', _224 => _224(message, "SWAPPED_CONNECT_URL_FAILED")]);
|
|
4369
4414
|
} finally {
|
|
4370
4415
|
setSelectingConnection(null);
|
|
4371
4416
|
}
|
|
4372
4417
|
},
|
|
4373
|
-
[
|
|
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
|
-
|
|
4423
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
4379
4424
|
{
|
|
4380
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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 (!
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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',
|
|
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
|
|
4589
|
+
return _chunkCXRH5MKOcjs.tokenFormatter.format(numeric);
|
|
4550
4590
|
} catch (e30) {
|
|
4551
4591
|
return "--";
|
|
4552
4592
|
}
|
|
4553
4593
|
};
|
|
4554
|
-
const chainIcon =
|
|
4555
|
-
const chainName =
|
|
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
|
-
|
|
4599
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
4560
4600
|
{
|
|
4561
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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 ?
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
4678
|
-
const isMaxDefault = _optionalChain([defaultAmount, 'optionalAccess',
|
|
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
|
|
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 (!
|
|
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 =
|
|
4781
|
-
const maxDepositUsd = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
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 =
|
|
4788
|
-
const boundViolation =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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:
|
|
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,
|
|
4976
|
+
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
|
|
4929
4977
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4930
|
-
|
|
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,
|
|
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(
|
|
5007
|
+
return _nullishCoalesce(_chunkCXRH5MKOcjs.rpcUrlFor.call(void 0, rpcUrls, "solana"), () => ( DEFAULT_SOLANA_RPC_URL));
|
|
4960
5008
|
}
|
|
4961
5009
|
function hasConfiguredSolanaRpcUrl(rpcUrls) {
|
|
4962
|
-
return
|
|
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 =
|
|
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',
|
|
5086
|
-
return () => _optionalChain([onSubmittingChangeRef, 'access',
|
|
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 =
|
|
5089
|
-
const targetSymbol =
|
|
5090
|
-
const sourceChainName =
|
|
5091
|
-
const targetChainName =
|
|
5092
|
-
const sourceChainIcon =
|
|
5093
|
-
const targetChainIcon =
|
|
5094
|
-
const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
5095
|
-
const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess',
|
|
5096
|
-
const formattedAmount = sourceAmount && Number.isFinite(Number(sourceAmount)) ? _nullishCoalesce(
|
|
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 =
|
|
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
|
-
|
|
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 } :
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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',
|
|
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
|
-
|
|
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 =
|
|
5196
|
-
|
|
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',
|
|
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,
|
|
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,
|
|
5276
|
+
error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCXRH5MKOcjs.Callout, { variant: "error", children: error }),
|
|
5226
5277
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5227
|
-
|
|
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,
|
|
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
|
-
|
|
5304
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
5254
5305
|
{
|
|
5255
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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 ?
|
|
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 ?
|
|
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 =
|
|
5268
|
-
const badge =
|
|
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,
|
|
5279
|
-
|
|
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,
|
|
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,
|
|
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 ?
|
|
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
|
-
|
|
5414
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
5363
5415
|
{
|
|
5364
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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
|
-
|
|
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,
|
|
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',
|
|
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,
|
|
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
|
-
|
|
5464
|
+
_chunkG264OM23cjs.BodyHeader,
|
|
5413
5465
|
{
|
|
5414
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
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,
|
|
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',
|
|
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 =
|
|
5680
|
+
const chainId = _chunkFKJ6EJHHcjs.parseEvmChainId.call(void 0, position.chain);
|
|
5629
5681
|
if (chainId === null) continue;
|
|
5630
|
-
if (!
|
|
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:
|
|
5796
|
+
multicallAddress: _chunkFVJKUTHFcjs.MULTICALL3_ADDRESS,
|
|
5745
5797
|
contracts: [
|
|
5746
5798
|
{
|
|
5747
5799
|
address: proxyWallet,
|
|
5748
|
-
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 !==
|
|
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:
|
|
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:
|
|
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:
|
|
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: [
|
|
5903
|
+
args: [_chunkFVJKUTHFcjs.POLYMARKET_COLLATERAL_OFFRAMP_ADDRESS, amount]
|
|
5852
5904
|
})
|
|
5853
5905
|
},
|
|
5854
5906
|
{
|
|
5855
|
-
target:
|
|
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: [
|
|
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
|
|
5924
|
+
const proxyWallet = await _chunkFVJKUTHFcjs.fetchPolymarketProxyWallet.call(void 0, eoa, signal);
|
|
5873
5925
|
if (!proxyWallet) return null;
|
|
5874
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
5875
|
-
const polygonClient = getPublicClient2(
|
|
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
|
|
5929
|
+
const balances = await _chunkFVJKUTHFcjs.readPolymarketBalances.call(void 0, {
|
|
5878
5930
|
publicClient: polygonClient,
|
|
5879
5931
|
proxyWallet
|
|
5880
5932
|
});
|
|
5881
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
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',
|
|
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
|
|
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 ?
|
|
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:
|
|
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 ?
|
|
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:
|
|
5978
|
-
depositChainId:
|
|
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',
|
|
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 =
|
|
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',
|
|
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',
|
|
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 && !
|
|
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 =
|
|
7695
|
-
const onStepChangeRef =
|
|
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 =
|
|
7698
|
-
const onErrorRef =
|
|
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
|
-
|
|
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
|
-
|
|
7780
|
+
_chunkCXRH5MKOcjs.debugError.call(void 0, debug, "deposit-flow", message, error, data);
|
|
7722
7781
|
},
|
|
7723
7782
|
[debug]
|
|
7724
7783
|
);
|
|
7725
|
-
const
|
|
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',
|
|
7812
|
+
if (!_optionalChain([walletClientProp, 'optionalAccess', _255 => _255.switchChain])) return void 0;
|
|
7746
7813
|
return async (chainId) => {
|
|
7747
|
-
await _optionalChain([walletClientProp, 'access',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
7793
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
7794
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
7795
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
7796
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
7797
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
7798
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
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
|
|
7801
|
-
() => fiatMethods ? FIAT_ONRAMP_METHODS.filter(
|
|
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
|
|
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',
|
|
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',
|
|
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" && !
|
|
7843
|
-
const targetChainId =
|
|
7844
|
-
const
|
|
7845
|
-
const
|
|
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 ||
|
|
7850
|
-
return;
|
|
7851
|
-
}
|
|
7921
|
+
if (isTargetStablecoin || !assetStore) return;
|
|
7852
7922
|
let cancelled = false;
|
|
7853
|
-
|
|
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
|
-
}, [
|
|
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',
|
|
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, () => (
|
|
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',
|
|
7887
|
-
const fallbackChainId = _nullishCoalesce(_optionalChain([walletClientProp, 'optionalAccess',
|
|
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, () => (
|
|
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',
|
|
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, () => (
|
|
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',
|
|
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',
|
|
8027
|
+
if (_optionalChain([opt, 'optionalAccess', _279 => _279.kind]) === "external" && opt.address) {
|
|
7962
8028
|
return opt.address;
|
|
7963
8029
|
}
|
|
7964
|
-
if (_optionalChain([opt, 'optionalAccess',
|
|
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',
|
|
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',
|
|
7979
|
-
_optionalChain([walletSession, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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
|
-
|
|
8121
|
-
|
|
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
|
-
}, [
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
8300
|
+
const mode = _optionalChain([selectedOption, 'optionalAccess', _298 => _298.kind]) === "solana" ? "solana-wallet" : "wallet";
|
|
8232
8301
|
analytics.selectMethod("wallet", "user", {
|
|
8233
|
-
network: _optionalChain([selectedOption, 'optionalAccess',
|
|
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',
|
|
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(
|
|
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',
|
|
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
|
|
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 =
|
|
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',
|
|
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',
|
|
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',
|
|
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,
|
|
8548
|
-
|
|
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
|
|
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
|
-
|
|
8577
|
-
|
|
8578
|
-
|
|
8579
|
-
|
|
8580
|
-
|
|
8581
|
-
|
|
8582
|
-
|
|
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',
|
|
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
|
-
|
|
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 (!
|
|
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,
|
|
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
|
-
|
|
8749
|
-
if (
|
|
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
|
-
|
|
8759
|
-
|
|
8760
|
-
|
|
8761
|
-
|
|
8762
|
-
|
|
8763
|
-
|
|
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',
|
|
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 =
|
|
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 =
|
|
8834
|
-
const cacheKey =
|
|
8835
|
-
const cacheable =
|
|
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 =
|
|
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
|
|
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
|
|
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',
|
|
8968
|
+
const requestId = _optionalChain([readPortfolioEntry, 'call', _319 => _319(
|
|
8913
8969
|
storeApi.getState().portfolio,
|
|
8914
8970
|
network,
|
|
8915
8971
|
address
|
|
8916
|
-
), 'optionalAccess',
|
|
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:
|
|
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',
|
|
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
|
|
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
|
|
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
|
-
[
|
|
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',
|
|
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
|
|
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
|
-
[
|
|
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
|
|
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
|
-
[
|
|
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',
|
|
9117
|
-
sourceDecimals: _optionalChain([asset, 'optionalAccess',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
9292
|
-
balanceUsd: _optionalChain([portfolioEntry, 'optionalAccess',
|
|
9293
|
-
balanceChainIds: _nullishCoalesce(_optionalChain([portfolioEntry, 'optionalAccess',
|
|
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
|
-
|
|
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
|
-
|
|
9471
|
-
|
|
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
|
-
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
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
|
-
|
|
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',
|
|
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
|
-
|
|
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',
|
|
9608
|
-
const solanaProvider = _optionalChain([walletSession, 'optionalAccess',
|
|
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:
|
|
9638
|
-
targetTokenSymbol:
|
|
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',
|
|
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
|
-
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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
|
|
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',
|
|
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',
|
|
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
|
-
|
|
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-
|
|
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',
|
|
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
|
-
...
|
|
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
|
-
|
|
9998
|
-
|
|
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 =
|
|
10072
|
-
const onUiStateRef =
|
|
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 &&
|
|
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 :
|
|
10086
|
-
const sourceChain = sourceChainProp ?
|
|
10087
|
-
const rpcUrls =
|
|
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
|
-
() =>
|
|
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
|
-
() =>
|
|
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 =
|
|
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
|
|
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',
|
|
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',
|
|
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 =
|
|
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',
|
|
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',
|
|
10190
|
-
_optionalChain([analytics, 'optionalAccess',
|
|
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',
|
|
10207
|
-
_optionalChain([analytics, 'optionalAccess',
|
|
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',
|
|
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,
|
|
10249
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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',
|
|
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
|
-
|
|
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
|
|