@rhinestone/deposit-modal 0.3.0-alpha.4 → 0.3.0-alpha.6

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.
@@ -162,10 +162,35 @@ Modal.displayName = "Modal";
162
162
 
163
163
 
164
164
 
165
+
165
166
  var _lucidereact = require('lucide-react');
167
+
166
168
  var WalletIcon = _lucidereact.Wallet;
167
169
  var ExternalLinkIcon = _lucidereact.ExternalLink;
168
170
  var CheckIcon = _lucidereact.Check;
171
+ function TransferCryptoIcon() {
172
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
173
+ "svg",
174
+ {
175
+ width: "24",
176
+ height: "24",
177
+ viewBox: "0 6 24 24",
178
+ fill: "none",
179
+ xmlns: "http://www.w3.org/2000/svg",
180
+ "aria-hidden": "true",
181
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
182
+ "path",
183
+ {
184
+ d: "M18.0898 16.3701C19.0352 16.7225 19.8763 17.3076 20.5356 18.0713C21.1949 18.835 21.6509 19.7526 21.8616 20.7392C22.0723 21.7258 22.0307 22.7496 21.7409 23.716C21.451 24.6823 20.9222 25.5599 20.2033 26.2677C19.4844 26.9755 18.5986 27.4906 17.6278 27.7653C16.6571 28.0401 15.6327 28.0656 14.6495 27.8396C13.6663 27.6135 12.756 27.1432 12.0027 26.4721C11.2494 25.801 10.6775 24.9508 10.3398 24.0001M7 12H8V16M16.7098 19.8799L17.4098 20.5899L14.5898 23.4099M14 14C14 17.3137 11.3137 20 8 20C4.68629 20 2 17.3137 2 14C2 10.6863 4.68629 8 8 8C11.3137 8 14 10.6863 14 14Z",
185
+ stroke: "currentColor",
186
+ strokeWidth: "2",
187
+ strokeLinecap: "round",
188
+ strokeLinejoin: "round"
189
+ }
190
+ )
191
+ }
192
+ );
193
+ }
169
194
  var ChevronRightIcon = _lucidereact.ChevronRight;
170
195
  var ChevronLeftIcon = _lucidereact.ChevronLeft;
171
196
  var ChevronDownIcon = _lucidereact.ChevronDown;
@@ -175,7 +200,7 @@ var CoinsIcon = _lucidereact.Coins;
175
200
  var HistoryIcon = _lucidereact.History;
176
201
  var InfoIcon = _lucidereact.Info;
177
202
  var CopyIcon = _lucidereact.Copy;
178
- var ArrowRightIcon = _lucidereact.ArrowRight;
203
+ var ArrowUpRightIcon = _lucidereact.ArrowUpRight;
179
204
  var AlertTriangleIcon = _lucidereact.AlertTriangle;
180
205
  var PercentIcon = _lucidereact.Percent;
181
206
  var ClockIcon = _lucidereact.Clock;
@@ -280,7 +305,7 @@ function safeBigInt(value) {
280
305
  if (!value) return BigInt(0);
281
306
  try {
282
307
  return BigInt(value);
283
- } catch (e) {
308
+ } catch (e2) {
284
309
  return BigInt(0);
285
310
  }
286
311
  }
@@ -1266,26 +1291,65 @@ function ListRow({
1266
1291
  subtitle,
1267
1292
  meta,
1268
1293
  trailing,
1294
+ action,
1269
1295
  className = "",
1296
+ onClick,
1297
+ disabled,
1270
1298
  ...props
1271
1299
  }) {
1272
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1300
+ const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1301
+ leadingMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading rs-list-row-leading--media", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: leadingMedia, alt: "" }) }) : leading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading", children: leading }) : null,
1302
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-body", children: [
1303
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-text", children: [
1304
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-title", children: title }),
1305
+ subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-subtitle", children: subtitle })
1306
+ ] }),
1307
+ action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1308
+ "button",
1309
+ {
1310
+ type: "button",
1311
+ className: "rs-list-row-action",
1312
+ disabled,
1313
+ onClick: (e) => {
1314
+ e.stopPropagation();
1315
+ action.onClick();
1316
+ },
1317
+ children: action.label
1318
+ }
1319
+ ) : meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-list-row-meta", children: meta })
1320
+ ] }),
1321
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-chevron", children: _nullishCoalesce(trailing, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronRightIcon, {}))) })
1322
+ ] });
1323
+ if (action) {
1324
+ const handleKey = (e) => {
1325
+ if (disabled) return;
1326
+ if (e.key === "Enter" || e.key === " ") {
1327
+ e.preventDefault();
1328
+ _optionalChain([onClick, 'optionalCall', _56 => _56(e)]);
1329
+ }
1330
+ };
1331
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1332
+ "div",
1333
+ {
1334
+ className: `rs-list-row ${className}`.trim(),
1335
+ role: "button",
1336
+ tabIndex: disabled ? -1 : 0,
1337
+ "aria-disabled": disabled || void 0,
1338
+ onClick: disabled ? void 0 : (e) => _optionalChain([onClick, 'optionalCall', _57 => _57(e)]),
1339
+ onKeyDown: handleKey,
1340
+ children: inner
1341
+ }
1342
+ );
1343
+ }
1344
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1273
1345
  "button",
1274
1346
  {
1275
1347
  type: "button",
1276
1348
  className: `rs-list-row ${className}`.trim(),
1349
+ onClick,
1350
+ disabled,
1277
1351
  ...props,
1278
- children: [
1279
- leadingMedia ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading rs-list-row-leading--media", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: leadingMedia, alt: "" }) }) : leading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-leading", children: leading }) : null,
1280
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-body", children: [
1281
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-list-row-text", children: [
1282
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-title", children: title }),
1283
- subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-subtitle", children: subtitle })
1284
- ] }),
1285
- meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-list-row-meta", children: meta })
1286
- ] }),
1287
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-list-row-chevron", children: _nullishCoalesce(trailing, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronRightIcon, {}))) })
1288
- ]
1352
+ children: inner
1289
1353
  }
1290
1354
  );
1291
1355
  }
@@ -1566,7 +1630,7 @@ function ConnectStep({
1566
1630
  const hasReownWallet = rows.some(
1567
1631
  (row) => row.kind === "external" || row.kind === "solana"
1568
1632
  );
1569
- const showDappImports = hasReownWallet && (_nullishCoalesce(_optionalChain([dappImports, 'optionalAccess', _56 => _56.length]), () => ( 0))) > 0;
1633
+ const showDappImports = hasReownWallet && (_nullishCoalesce(_optionalChain([dappImports, 'optionalAccess', _58 => _58.length]), () => ( 0))) > 0;
1570
1634
  const extraChainCount = Math.max(0, _chunkIVTXEYB2cjs.getSupportedChainIds.call(void 0, ).length - 3);
1571
1635
  const chainBadge2 = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1572
1636
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChainBadgeIcons, {}),
@@ -1587,7 +1651,7 @@ function ConnectStep({
1587
1651
  onSelectTransferCrypto && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1588
1652
  ListRow,
1589
1653
  {
1590
- leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CoinsIcon, {}),
1654
+ leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TransferCryptoIcon, {}),
1591
1655
  title: "Transfer crypto",
1592
1656
  subtitle: transferCryptoState === "loading" ? "Preparing\u2026" : transferCryptoState === "error" ? _nullishCoalesce(transferCryptoErrorReason, () => ( "Couldn't prepare account \u2014 tap to retry")) : "Instant - No limit",
1593
1657
  meta: chainBadge2,
@@ -1599,15 +1663,17 @@ function ConnectStep({
1599
1663
  rows.map((row) => {
1600
1664
  const collapseToExternal = Boolean(onSelectTransferCrypto) && row.kind !== "solana";
1601
1665
  const subtitleText = row.state === "loading" ? "Preparing\u2026" : row.state === "error" ? _nullishCoalesce(row.errorReason, () => ( "Couldn't prepare wallet \u2014 tap to retry")) : shorten(row.address);
1666
+ const showInlineDisconnect = collapseToExternal && Boolean(onDisconnect) && row.state !== "loading";
1602
1667
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1603
1668
  ListRow,
1604
1669
  {
1605
1670
  leading: renderWalletLeading(row),
1606
1671
  title: collapseToExternal ? "External wallet" : row.label,
1607
1672
  subtitle: subtitleText,
1608
- onClick: () => _optionalChain([onConfirmWallet, 'optionalCall', _57 => _57(row.id)]),
1673
+ onClick: () => _optionalChain([onConfirmWallet, 'optionalCall', _59 => _59(row.id)]),
1609
1674
  disabled: row.state === "loading",
1610
- trailing: renderRowTrailing(row.state)
1675
+ trailing: renderRowTrailing(row.state),
1676
+ action: showInlineDisconnect && onDisconnect ? { label: "Disconnect", onClick: onDisconnect } : void 0
1611
1677
  },
1612
1678
  row.id
1613
1679
  );
@@ -1625,7 +1691,7 @@ function ConnectStep({
1625
1691
  onClick: handleConnect
1626
1692
  }
1627
1693
  ),
1628
- showDappImports && _optionalChain([dappImports, 'optionalAccess', _58 => _58.map, 'call', _59 => _59((row) => {
1694
+ showDappImports && _optionalChain([dappImports, 'optionalAccess', _60 => _60.map, 'call', _61 => _61((row) => {
1629
1695
  if (row.status === "loading") {
1630
1696
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1631
1697
  ListRow,
@@ -1646,7 +1712,7 @@ function ConnectStep({
1646
1712
  leading: row.icon,
1647
1713
  title: row.label,
1648
1714
  subtitle: formatBalanceUsd(row.status.balanceUsd),
1649
- onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _60 => _60(row.id)])
1715
+ onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _62 => _62(row.id)])
1650
1716
  },
1651
1717
  row.id
1652
1718
  );
@@ -1658,7 +1724,7 @@ function ConnectStep({
1658
1724
  leading: row.icon,
1659
1725
  title: row.label,
1660
1726
  subtitle: row.status.reason,
1661
- onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _61 => _61(row.id)])
1727
+ onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _63 => _63(row.id)])
1662
1728
  },
1663
1729
  row.id
1664
1730
  );
@@ -1676,15 +1742,6 @@ function ConnectStep({
1676
1742
  })])
1677
1743
  ] })
1678
1744
  ] }),
1679
- onDisconnect && hasReownWallet && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-screen-tight-row", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1680
- "button",
1681
- {
1682
- type: "button",
1683
- className: "rs-connect-wallet-manage",
1684
- onClick: onDisconnect,
1685
- children: "Disconnect wallet"
1686
- }
1687
- ) }),
1688
1745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PoweredBy, {})
1689
1746
  ] });
1690
1747
  }
@@ -1828,8 +1885,8 @@ function Tooltip({ content, children, className }) {
1828
1885
  function handleOutside(event) {
1829
1886
  const target = event.target;
1830
1887
  if (!target) return;
1831
- if (_optionalChain([triggerRef, 'access', _62 => _62.current, 'optionalAccess', _63 => _63.contains, 'call', _64 => _64(target)])) return;
1832
- if (_optionalChain([bubbleRef, 'access', _65 => _65.current, 'optionalAccess', _66 => _66.contains, 'call', _67 => _67(target)])) return;
1888
+ if (_optionalChain([triggerRef, 'access', _64 => _64.current, 'optionalAccess', _65 => _65.contains, 'call', _66 => _66(target)])) return;
1889
+ if (_optionalChain([bubbleRef, 'access', _67 => _67.current, 'optionalAccess', _68 => _68.contains, 'call', _69 => _69(target)])) return;
1833
1890
  setOpen(false);
1834
1891
  }
1835
1892
  function handleKey(event) {
@@ -1909,7 +1966,7 @@ function asNumber(value) {
1909
1966
  const trimmed = value.trim();
1910
1967
  if (!trimmed) return void 0;
1911
1968
  const caipMatch = trimmed.match(/^eip155:(\d+)$/);
1912
- if (_optionalChain([caipMatch, 'optionalAccess', _68 => _68[1]])) {
1969
+ if (_optionalChain([caipMatch, 'optionalAccess', _70 => _70[1]])) {
1913
1970
  const parsed2 = Number(caipMatch[1]);
1914
1971
  return Number.isFinite(parsed2) ? parsed2 : void 0;
1915
1972
  }
@@ -1928,28 +1985,28 @@ function asAddress(value) {
1928
1985
  return /^0x[a-fA-F0-9]{40}$/.test(value) ? value : void 0;
1929
1986
  }
1930
1987
  function getEventTxHash(event) {
1931
- if (!_optionalChain([event, 'optionalAccess', _69 => _69.type])) return void 0;
1988
+ if (!_optionalChain([event, 'optionalAccess', _71 => _71.type])) return void 0;
1932
1989
  if (event.type === "deposit-received") {
1933
- return asString(_optionalChain([event, 'access', _70 => _70.data, 'optionalAccess', _71 => _71.transactionHash]));
1990
+ return asString(_optionalChain([event, 'access', _72 => _72.data, 'optionalAccess', _73 => _73.transactionHash]));
1934
1991
  }
1935
1992
  if (event.type === "bridge-started" || event.type === "bridge-complete") {
1936
- const deposit = isRecord(_optionalChain([event, 'access', _72 => _72.data, 'optionalAccess', _73 => _73.deposit])) ? event.data.deposit : void 0;
1937
- const source = isRecord(_optionalChain([event, 'access', _74 => _74.data, 'optionalAccess', _75 => _75.source])) ? event.data.source : void 0;
1938
- return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _76 => _76.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _77 => _77.transactionHash]))));
1993
+ const deposit = isRecord(_optionalChain([event, 'access', _74 => _74.data, 'optionalAccess', _75 => _75.deposit])) ? event.data.deposit : void 0;
1994
+ const source = isRecord(_optionalChain([event, 'access', _76 => _76.data, 'optionalAccess', _77 => _77.source])) ? event.data.source : void 0;
1995
+ return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _78 => _78.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _79 => _79.transactionHash]))));
1939
1996
  }
1940
1997
  if (event.type === "bridge-failed" || event.type === "error") {
1941
- const deposit = isRecord(_optionalChain([event, 'access', _78 => _78.data, 'optionalAccess', _79 => _79.deposit])) ? event.data.deposit : void 0;
1942
- const source = isRecord(_optionalChain([event, 'access', _80 => _80.data, 'optionalAccess', _81 => _81.source])) ? event.data.source : void 0;
1943
- return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _82 => _82.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _83 => _83.transactionHash]))));
1998
+ const deposit = isRecord(_optionalChain([event, 'access', _80 => _80.data, 'optionalAccess', _81 => _81.deposit])) ? event.data.deposit : void 0;
1999
+ const source = isRecord(_optionalChain([event, 'access', _82 => _82.data, 'optionalAccess', _83 => _83.source])) ? event.data.source : void 0;
2000
+ return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _84 => _84.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _85 => _85.transactionHash]))));
1944
2001
  }
1945
2002
  if (event.type === "post-bridge-swap-complete" || event.type === "post-bridge-swap-failed") {
1946
- const deposit = isRecord(_optionalChain([event, 'access', _84 => _84.data, 'optionalAccess', _85 => _85.deposit])) ? event.data.deposit : void 0;
1947
- return asString(_optionalChain([deposit, 'optionalAccess', _86 => _86.transactionHash]));
2003
+ const deposit = isRecord(_optionalChain([event, 'access', _86 => _86.data, 'optionalAccess', _87 => _87.deposit])) ? event.data.deposit : void 0;
2004
+ return asString(_optionalChain([deposit, 'optionalAccess', _88 => _88.transactionHash]));
1948
2005
  }
1949
2006
  return void 0;
1950
2007
  }
1951
2008
  function getEventSourceDetails(event) {
1952
- if (!_optionalChain([event, 'optionalAccess', _87 => _87.type]) || !isRecord(event.data)) return {};
2009
+ if (!_optionalChain([event, 'optionalAccess', _89 => _89.type]) || !isRecord(event.data)) return {};
1953
2010
  if (event.type === "deposit-received") {
1954
2011
  return {
1955
2012
  chainId: asNumber(event.data.chain),
@@ -1961,15 +2018,15 @@ function getEventSourceDetails(event) {
1961
2018
  const deposit = isRecord(event.data.deposit) ? event.data.deposit : void 0;
1962
2019
  if (event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "bridge-failed" || event.type === "error" || event.type === "post-bridge-swap-complete" || event.type === "post-bridge-swap-failed") {
1963
2020
  return {
1964
- chainId: _nullishCoalesce(asNumber(_optionalChain([source, 'optionalAccess', _88 => _88.chain])), () => ( asNumber(_optionalChain([deposit, 'optionalAccess', _89 => _89.chain])))),
1965
- amount: _nullishCoalesce(asAmount(_optionalChain([source, 'optionalAccess', _90 => _90.amount])), () => ( asAmount(_optionalChain([deposit, 'optionalAccess', _91 => _91.amount])))),
1966
- token: _nullishCoalesce(_nullishCoalesce(asAddress(_optionalChain([source, 'optionalAccess', _92 => _92.asset])), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _93 => _93.asset])))), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _94 => _94.token]))))
2021
+ chainId: _nullishCoalesce(asNumber(_optionalChain([source, 'optionalAccess', _90 => _90.chain])), () => ( asNumber(_optionalChain([deposit, 'optionalAccess', _91 => _91.chain])))),
2022
+ amount: _nullishCoalesce(asAmount(_optionalChain([source, 'optionalAccess', _92 => _92.amount])), () => ( asAmount(_optionalChain([deposit, 'optionalAccess', _93 => _93.amount])))),
2023
+ token: _nullishCoalesce(_nullishCoalesce(asAddress(_optionalChain([source, 'optionalAccess', _94 => _94.asset])), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _95 => _95.asset])))), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _96 => _96.token]))))
1967
2024
  };
1968
2025
  }
1969
2026
  return {};
1970
2027
  }
1971
2028
  function isDepositEvent(event) {
1972
- return _optionalChain([event, 'optionalAccess', _95 => _95.type]) === "deposit-received" || _optionalChain([event, 'optionalAccess', _96 => _96.type]) === "bridge-started" || _optionalChain([event, 'optionalAccess', _97 => _97.type]) === "bridge-complete" || _optionalChain([event, 'optionalAccess', _98 => _98.type]) === "bridge-failed" || _optionalChain([event, 'optionalAccess', _99 => _99.type]) === "post-bridge-swap-complete" || _optionalChain([event, 'optionalAccess', _100 => _100.type]) === "post-bridge-swap-failed" || _optionalChain([event, 'optionalAccess', _101 => _101.type]) === "error";
2029
+ return _optionalChain([event, 'optionalAccess', _97 => _97.type]) === "deposit-received" || _optionalChain([event, 'optionalAccess', _98 => _98.type]) === "bridge-started" || _optionalChain([event, 'optionalAccess', _99 => _99.type]) === "bridge-complete" || _optionalChain([event, 'optionalAccess', _100 => _100.type]) === "bridge-failed" || _optionalChain([event, 'optionalAccess', _101 => _101.type]) === "post-bridge-swap-complete" || _optionalChain([event, 'optionalAccess', _102 => _102.type]) === "post-bridge-swap-failed" || _optionalChain([event, 'optionalAccess', _103 => _103.type]) === "error";
1973
2030
  }
1974
2031
  function isHexString(value) {
1975
2032
  return value.startsWith("0x") || value.startsWith("0X");
@@ -1983,6 +2040,66 @@ function txRefsMatch(a, b) {
1983
2040
 
1984
2041
  // src/components/steps/ProcessingStep.tsx
1985
2042
 
2043
+ function SuccessBadge() {
2044
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2045
+ "svg",
2046
+ {
2047
+ width: "40",
2048
+ height: "40",
2049
+ viewBox: "0 0 40 40",
2050
+ fill: "none",
2051
+ xmlns: "http://www.w3.org/2000/svg",
2052
+ "aria-hidden": "true",
2053
+ children: [
2054
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2055
+ "rect",
2056
+ {
2057
+ width: "40",
2058
+ height: "40",
2059
+ rx: "8",
2060
+ fill: "var(--rs-icon-wrapper-bg)"
2061
+ }
2062
+ ),
2063
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2064
+ "path",
2065
+ {
2066
+ d: "M28 14L17 25L12 20",
2067
+ stroke: "var(--rs-icon-wrapper-icon)",
2068
+ strokeWidth: "2",
2069
+ strokeLinecap: "round",
2070
+ strokeLinejoin: "round"
2071
+ }
2072
+ )
2073
+ ]
2074
+ }
2075
+ );
2076
+ }
2077
+ function FailedBadge() {
2078
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2079
+ "svg",
2080
+ {
2081
+ width: "40",
2082
+ height: "40",
2083
+ viewBox: "0 0 40 40",
2084
+ fill: "none",
2085
+ xmlns: "http://www.w3.org/2000/svg",
2086
+ "aria-hidden": "true",
2087
+ children: [
2088
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "40", height: "40", rx: "8", fill: "#FB2C36" }),
2089
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2090
+ "path",
2091
+ {
2092
+ d: "M26 14L14 26M14 14L26 26",
2093
+ stroke: "white",
2094
+ strokeWidth: "2",
2095
+ strokeLinecap: "round",
2096
+ strokeLinejoin: "round"
2097
+ }
2098
+ )
2099
+ ]
2100
+ }
2101
+ );
2102
+ }
1986
2103
  var INITIAL_POLL_INTERVAL = 3e3;
1987
2104
  var MAX_POLL_INTERVAL = 3e4;
1988
2105
  var BACKOFF_MULTIPLIER = 1.5;
@@ -2001,7 +2118,7 @@ function loadPhaseTimings(txHash) {
2001
2118
  const parsed = JSON.parse(raw);
2002
2119
  if (typeof parsed.startedAt !== "number") return null;
2003
2120
  return parsed;
2004
- } catch (e2) {
2121
+ } catch (e3) {
2005
2122
  return null;
2006
2123
  }
2007
2124
  }
@@ -2012,7 +2129,7 @@ function savePhaseTimings(txHash, timings) {
2012
2129
  `${PHASE_TIMINGS_PREFIX}:${txHash}`,
2013
2130
  JSON.stringify(timings)
2014
2131
  );
2015
- } catch (e3) {
2132
+ } catch (e4) {
2016
2133
  }
2017
2134
  }
2018
2135
  function isEventForTx(event, txHash) {
@@ -2021,7 +2138,7 @@ function isEventForTx(event, txHash) {
2021
2138
  return txRefsMatch(eventTxHash, txHash);
2022
2139
  }
2023
2140
  function formatBridgeFailedMessage(event) {
2024
- const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _102 => _102.data]), () => ( {}));
2141
+ const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _104 => _104.data]), () => ( {}));
2025
2142
  const code = typeof eventData.errorCode === "string" ? eventData.errorCode : void 0;
2026
2143
  const backendMessage = typeof eventData.message === "string" ? eventData.message.trim() : "";
2027
2144
  function toUserFacingFailure(raw) {
@@ -2053,12 +2170,12 @@ function formatBridgeFailedMessage(event) {
2053
2170
  return { message: "Bridge failed" };
2054
2171
  }
2055
2172
  function parseWebhookTimestamp(event) {
2056
- if (typeof _optionalChain([event, 'optionalAccess', _103 => _103.time]) !== "string") return void 0;
2173
+ if (typeof _optionalChain([event, 'optionalAccess', _105 => _105.time]) !== "string") return void 0;
2057
2174
  const timestamp = Date.parse(event.time);
2058
2175
  return Number.isFinite(timestamp) ? timestamp : void 0;
2059
2176
  }
2060
2177
  function syncPhaseTimings(previous, event) {
2061
- if (!_optionalChain([event, 'optionalAccess', _104 => _104.type])) return previous;
2178
+ if (!_optionalChain([event, 'optionalAccess', _106 => _106.type])) return previous;
2062
2179
  const timestamp = _nullishCoalesce(parseWebhookTimestamp(event), () => ( Date.now()));
2063
2180
  const setReceived = (event.type === "deposit-received" || event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "bridge-failed" || event.type === "post-bridge-swap-complete" || event.type === "post-bridge-swap-failed" || event.type === "error") && previous.receivedAt === void 0;
2064
2181
  const setBridging = (event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "post-bridge-swap-complete") && previous.bridgingAt === void 0;
@@ -2099,9 +2216,9 @@ function getCurrentPhaseId(state, phaseTimings, isEarlyComplete) {
2099
2216
  if (state.type === "complete") {
2100
2217
  return void 0;
2101
2218
  }
2102
- if (_optionalChain([state, 'access', _105 => _105.lastEvent, 'optionalAccess', _106 => _106.type]) === "bridge-started" || _optionalChain([state, 'access', _107 => _107.lastEvent, 'optionalAccess', _108 => _108.type]) === "bridge-complete")
2219
+ if (_optionalChain([state, 'access', _107 => _107.lastEvent, 'optionalAccess', _108 => _108.type]) === "bridge-started" || _optionalChain([state, 'access', _109 => _109.lastEvent, 'optionalAccess', _110 => _110.type]) === "bridge-complete")
2103
2220
  return "bridging";
2104
- if (_optionalChain([state, 'access', _109 => _109.lastEvent, 'optionalAccess', _110 => _110.type]) === "deposit-received") return "received";
2221
+ if (_optionalChain([state, 'access', _111 => _111.lastEvent, 'optionalAccess', _112 => _112.type]) === "deposit-received") return "received";
2105
2222
  return "confirming";
2106
2223
  }
2107
2224
  function ProcessingStep({
@@ -2175,7 +2292,7 @@ function ProcessingStep({
2175
2292
  flowLabel
2176
2293
  });
2177
2294
  const context = processingContextRef.current;
2178
- _optionalChain([onDepositCompleteRef, 'access', _111 => _111.current, 'optionalCall', _112 => _112(txHash, void 0, {
2295
+ _optionalChain([onDepositCompleteRef, 'access', _113 => _113.current, 'optionalCall', _114 => _114(txHash, void 0, {
2179
2296
  amount: context.amount,
2180
2297
  sourceChain: context.sourceChain,
2181
2298
  sourceToken: context.sourceToken,
@@ -2212,7 +2329,7 @@ function ProcessingStep({
2212
2329
  _react.useEffect.call(void 0, () => {
2213
2330
  if (!state.lastEvent) return;
2214
2331
  setPhaseTimings((previous) => syncPhaseTimings(previous, state.lastEvent));
2215
- }, [_optionalChain([state, 'access', _113 => _113.lastEvent, 'optionalAccess', _114 => _114.time]), _optionalChain([state, 'access', _115 => _115.lastEvent, 'optionalAccess', _116 => _116.type])]);
2332
+ }, [_optionalChain([state, 'access', _115 => _115.lastEvent, 'optionalAccess', _116 => _116.time]), _optionalChain([state, 'access', _117 => _117.lastEvent, 'optionalAccess', _118 => _118.type])]);
2216
2333
  _react.useEffect.call(void 0, () => {
2217
2334
  savePhaseTimings(txHash, phaseTimings);
2218
2335
  }, [txHash, phaseTimings]);
@@ -2240,21 +2357,21 @@ function ProcessingStep({
2240
2357
  debugLog(debug, "processing", "poll:event", {
2241
2358
  type: lastEvent2.type,
2242
2359
  matchesTx: eventMatchesTx,
2243
- intentId: _optionalChain([eventData, 'optionalAccess', _117 => _117.intentId])
2360
+ intentId: _optionalChain([eventData, 'optionalAccess', _119 => _119.intentId])
2244
2361
  });
2245
2362
  }
2246
2363
  if (!isMounted) return;
2247
2364
  const awaitingPostBridgeSwap = processingContextRef.current.waitForFinalTx && processingContextRef.current.hasPostBridgeActions;
2248
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _118 => _118.type]) === "post-bridge-swap-complete") {
2365
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _120 => _120.type]) === "post-bridge-swap-complete") {
2249
2366
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2250
- const swapTxHash = _optionalChain([eventForCurrentTx, 'access', _119 => _119.data, 'optionalAccess', _120 => _120.swap, 'optionalAccess', _121 => _121.transactionHash]);
2367
+ const swapTxHash = _optionalChain([eventForCurrentTx, 'access', _121 => _121.data, 'optionalAccess', _122 => _122.swap, 'optionalAccess', _123 => _123.transactionHash]);
2251
2368
  debugLog(debug, "processing", "state:complete", {
2252
2369
  txHash,
2253
2370
  destinationTxHash: swapTxHash,
2254
2371
  event: eventForCurrentTx.type
2255
2372
  });
2256
2373
  const context = processingContextRef.current;
2257
- _optionalChain([onDepositCompleteRef, 'access', _122 => _122.current, 'optionalCall', _123 => _123(txHash, swapTxHash, {
2374
+ _optionalChain([onDepositCompleteRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125(txHash, swapTxHash, {
2258
2375
  amount: context.amount,
2259
2376
  sourceChain: context.sourceChain,
2260
2377
  sourceToken: context.sourceToken,
@@ -2263,7 +2380,7 @@ function ProcessingStep({
2263
2380
  })]);
2264
2381
  return;
2265
2382
  }
2266
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _124 => _124.type]) === "post-bridge-swap-failed") {
2383
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _126 => _126.type]) === "post-bridge-swap-failed") {
2267
2384
  const formatted = formatBridgeFailedMessage(eventForCurrentTx);
2268
2385
  setState({
2269
2386
  type: "failed",
@@ -2275,19 +2392,19 @@ function ProcessingStep({
2275
2392
  message: formatted.message,
2276
2393
  code: formatted.code
2277
2394
  });
2278
- _optionalChain([onDepositFailedRef, 'access', _125 => _125.current, 'optionalCall', _126 => _126(txHash, formatted.message)]);
2395
+ _optionalChain([onDepositFailedRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128(txHash, formatted.message)]);
2279
2396
  return;
2280
2397
  }
2281
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _127 => _127.type]) === "bridge-complete" && !awaitingPostBridgeSwap) {
2398
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _129 => _129.type]) === "bridge-complete" && !awaitingPostBridgeSwap) {
2282
2399
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2283
- const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _128 => _128.data, 'optionalAccess', _129 => _129.destination, 'optionalAccess', _130 => _130.transactionHash]);
2400
+ const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _130 => _130.data, 'optionalAccess', _131 => _131.destination, 'optionalAccess', _132 => _132.transactionHash]);
2284
2401
  debugLog(debug, "processing", "state:complete", {
2285
2402
  txHash,
2286
2403
  destinationTxHash: destinationTxHash2,
2287
2404
  event: eventForCurrentTx.type
2288
2405
  });
2289
2406
  const context = processingContextRef.current;
2290
- _optionalChain([onDepositCompleteRef, 'access', _131 => _131.current, 'optionalCall', _132 => _132(txHash, destinationTxHash2, {
2407
+ _optionalChain([onDepositCompleteRef, 'access', _133 => _133.current, 'optionalCall', _134 => _134(txHash, destinationTxHash2, {
2291
2408
  amount: context.amount,
2292
2409
  sourceChain: context.sourceChain,
2293
2410
  sourceToken: context.sourceToken,
@@ -2296,14 +2413,14 @@ function ProcessingStep({
2296
2413
  })]);
2297
2414
  return;
2298
2415
  }
2299
- if (!waitForFinalTx && _optionalChain([eventForCurrentTx, 'optionalAccess', _133 => _133.type]) === "bridge-started") {
2416
+ if (!waitForFinalTx && _optionalChain([eventForCurrentTx, 'optionalAccess', _135 => _135.type]) === "bridge-started") {
2300
2417
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2301
2418
  debugLog(debug, "processing", "state:early-complete", {
2302
2419
  txHash,
2303
2420
  event: eventForCurrentTx.type
2304
2421
  });
2305
2422
  const context = processingContextRef.current;
2306
- _optionalChain([onDepositCompleteRef, 'access', _134 => _134.current, 'optionalCall', _135 => _135(txHash, void 0, {
2423
+ _optionalChain([onDepositCompleteRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137(txHash, void 0, {
2307
2424
  amount: context.amount,
2308
2425
  sourceChain: context.sourceChain,
2309
2426
  sourceToken: context.sourceToken,
@@ -2312,7 +2429,7 @@ function ProcessingStep({
2312
2429
  })]);
2313
2430
  return;
2314
2431
  }
2315
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _136 => _136.type]) === "bridge-failed") {
2432
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _138 => _138.type]) === "bridge-failed") {
2316
2433
  const formatted = formatBridgeFailedMessage(eventForCurrentTx);
2317
2434
  setState({
2318
2435
  type: "failed",
@@ -2324,11 +2441,11 @@ function ProcessingStep({
2324
2441
  message: formatted.message,
2325
2442
  code: formatted.code
2326
2443
  });
2327
- _optionalChain([onDepositFailedRef, 'access', _137 => _137.current, 'optionalCall', _138 => _138(txHash, formatted.message)]);
2444
+ _optionalChain([onDepositFailedRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140(txHash, formatted.message)]);
2328
2445
  return;
2329
2446
  }
2330
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _139 => _139.type]) === "error") {
2331
- const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _140 => _140.data, 'optionalAccess', _141 => _141.message]), () => ( "Unknown error"));
2447
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _141 => _141.type]) === "error") {
2448
+ const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _142 => _142.data, 'optionalAccess', _143 => _143.message]), () => ( "Unknown error"));
2332
2449
  setState({
2333
2450
  type: "failed",
2334
2451
  message: errorMessage,
@@ -2338,7 +2455,7 @@ function ProcessingStep({
2338
2455
  txHash,
2339
2456
  message: errorMessage
2340
2457
  });
2341
- _optionalChain([onDepositFailedRef, 'access', _142 => _142.current, 'optionalCall', _143 => _143(txHash, errorMessage)]);
2458
+ _optionalChain([onDepositFailedRef, 'access', _144 => _144.current, 'optionalCall', _145 => _145(txHash, errorMessage)]);
2342
2459
  return;
2343
2460
  }
2344
2461
  setState((previous) => ({
@@ -2399,7 +2516,7 @@ function ProcessingStep({
2399
2516
  txHash,
2400
2517
  timeoutMs: ESCALATED_DELAY_MS
2401
2518
  });
2402
- _optionalChain([onErrorRef, 'access', _144 => _144.current, 'optionalCall', _145 => _145(message, "PROCESS_TIMEOUT")]);
2519
+ _optionalChain([onErrorRef, 'access', _146 => _146.current, 'optionalCall', _147 => _147(message, "PROCESS_TIMEOUT")]);
2403
2520
  }, ESCALATED_DELAY_MS);
2404
2521
  return () => clearTimeout(timeoutId);
2405
2522
  }, [debug, directTransfer, onErrorRef, state.type, txHash]);
@@ -2408,12 +2525,12 @@ function ProcessingStep({
2408
2525
  const isProcessing = state.type === "processing";
2409
2526
  const lastEvent = state.lastEvent;
2410
2527
  const failureMessage = state.type === "failed" ? state.message : void 0;
2411
- const isEarlyComplete = !waitForFinalTx && _optionalChain([lastEvent, 'optionalAccess', _146 => _146.type]) === "bridge-started";
2528
+ const isEarlyComplete = !waitForFinalTx && _optionalChain([lastEvent, 'optionalAccess', _148 => _148.type]) === "bridge-started";
2412
2529
  const timelineNowMs = _nullishCoalesce(phaseTimings.endedAt, () => ( Date.now()));
2413
2530
  const flowNoun = flowLabel === "withdraw" ? "withdrawal" : "deposit";
2414
2531
  const flowCapitalized = flowLabel === "withdraw" ? "Withdrawal" : "Deposit";
2415
- const isPostBridgeSwapEvent = _optionalChain([lastEvent, 'optionalAccess', _147 => _147.type]) === "post-bridge-swap-complete" || _optionalChain([lastEvent, 'optionalAccess', _148 => _148.type]) === "post-bridge-swap-failed";
2416
- const destinationTxHash = isPostBridgeSwapEvent ? _optionalChain([lastEvent, 'optionalAccess', _149 => _149.data, 'optionalAccess', _150 => _150.swap, 'optionalAccess', _151 => _151.transactionHash]) || null : _optionalChain([lastEvent, 'optionalAccess', _152 => _152.data, 'optionalAccess', _153 => _153.destination, 'optionalAccess', _154 => _154.transactionHash]) || null;
2532
+ const isPostBridgeSwapEvent = _optionalChain([lastEvent, 'optionalAccess', _149 => _149.type]) === "post-bridge-swap-complete" || _optionalChain([lastEvent, 'optionalAccess', _150 => _150.type]) === "post-bridge-swap-failed";
2533
+ const destinationTxHash = isPostBridgeSwapEvent ? _optionalChain([lastEvent, 'optionalAccess', _151 => _151.data, 'optionalAccess', _152 => _152.swap, 'optionalAccess', _153 => _153.transactionHash]) || null : _optionalChain([lastEvent, 'optionalAccess', _154 => _154.data, 'optionalAccess', _155 => _155.destination, 'optionalAccess', _156 => _156.transactionHash]) || null;
2417
2534
  const sourceDetails = getEventSourceDetails(lastEvent);
2418
2535
  const displaySourceChain = _nullishCoalesce(sourceDetails.chainId, () => ( sourceChain));
2419
2536
  const displaySourceToken = _nullishCoalesce(sourceDetails.token, () => ( sourceToken));
@@ -2432,7 +2549,7 @@ function ProcessingStep({
2432
2549
  const numeric = Number(raw);
2433
2550
  if (!Number.isFinite(numeric)) return raw;
2434
2551
  return numeric.toLocaleString("en-US", { maximumFractionDigits: 6 });
2435
- } catch (e4) {
2552
+ } catch (e5) {
2436
2553
  return Number(displayAmount).toLocaleString("en-US", {
2437
2554
  maximumFractionDigits: 6
2438
2555
  });
@@ -2457,96 +2574,94 @@ function ProcessingStep({
2457
2574
  const sourceChainName = _chunkIVTXEYB2cjs.getChainName.call(void 0, displaySourceChain);
2458
2575
  const targetChainName = _chunkIVTXEYB2cjs.getChainName.call(void 0, targetChain);
2459
2576
  const totalTimeText = formatElapsedTime(elapsedSeconds);
2460
- const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _155 => _155.feeSponsored]), () => ( false));
2461
- const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _156 => _156.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
2577
+ const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _157 => _157.feeSponsored]), () => ( false));
2578
+ const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _158 => _158.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
2462
2579
  const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
2463
- const stateVariant = isComplete ? "success" : isFailed ? "error" : "default";
2464
- const stateIcon = isComplete ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CheckIcon, {}) : isFailed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CloseIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WalletIcon, {});
2465
2580
  const handleRetry = _nullishCoalesce(onRetry, () => ( onNewDeposit));
2581
+ const headerContent = isComplete ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-body-header", children: [
2582
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SuccessBadge, {}),
2583
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-body-header-text", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "rs-body-header-title", children: stateTitle }) })
2584
+ ] }) : isFailed ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-body-header", children: [
2585
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FailedBadge, {}),
2586
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-body-header-text", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "rs-body-header-title", children: stateTitle }) })
2587
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BodyHeader, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WalletIcon, {}), title: stateTitle });
2466
2588
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen", children: [
2467
2589
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
2468
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2469
- BodyHeader,
2470
- {
2471
- variant: stateVariant,
2472
- icon: stateIcon,
2473
- title: stateTitle
2474
- }
2475
- ),
2476
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-details", children: [
2477
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2590
+ headerContent,
2591
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-details", children: [
2592
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2478
2593
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Source chain" }),
2479
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2594
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2480
2595
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: sourceChainName }),
2481
- sourceChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceChainIcon, alt: "" }) }),
2596
+ sourceChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceChainIcon, alt: "" }) }),
2482
2597
  sourceExplorerUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2483
2598
  "a",
2484
2599
  {
2485
2600
  href: sourceExplorerUrl,
2486
2601
  target: "_blank",
2487
2602
  rel: "noopener noreferrer",
2488
- className: "rs-amount-detail-link",
2603
+ className: "rs-review-detail-link",
2489
2604
  "aria-label": "View source transaction",
2490
2605
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon, {})
2491
2606
  }
2492
2607
  )
2493
2608
  ] })
2494
2609
  ] }),
2495
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2610
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2496
2611
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Destination chain" }),
2497
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2612
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2498
2613
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: targetChainName }),
2499
- targetChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetChainIcon, alt: "" }) }),
2614
+ targetChainIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetChainIcon, alt: "" }) }),
2500
2615
  destExplorerUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2501
2616
  "a",
2502
2617
  {
2503
2618
  href: destExplorerUrl,
2504
2619
  target: "_blank",
2505
2620
  rel: "noopener noreferrer",
2506
- className: "rs-amount-detail-link",
2621
+ className: "rs-review-detail-link",
2507
2622
  "aria-label": "View destination transaction",
2508
2623
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalLinkIcon, {})
2509
2624
  }
2510
2625
  )
2511
2626
  ] })
2512
2627
  ] }),
2513
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2628
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2514
2629
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: isProcessing ? "Estimated time" : "Total time" }),
2515
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-value", children: isProcessing ? estimatedTime : totalTimeText })
2630
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-value", children: isProcessing ? estimatedTime : totalTimeText })
2516
2631
  ] }),
2517
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2632
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2518
2633
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "You send" }),
2519
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2634
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2520
2635
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
2521
2636
  formattedReceivedAmount,
2522
2637
  " ",
2523
2638
  sourceSymbol
2524
2639
  ] }),
2525
- sourceTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceTokenIcon, alt: "" }) })
2640
+ sourceTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: sourceTokenIcon, alt: "" }) })
2526
2641
  ] })
2527
2642
  ] }),
2528
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2643
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2529
2644
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Receive" }),
2530
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2645
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2531
2646
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
2532
2647
  "~",
2533
2648
  formattedReceivedAmount,
2534
2649
  " ",
2535
2650
  targetSymbol
2536
2651
  ] }),
2537
- targetTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetTokenIcon, alt: "" }) })
2652
+ targetTokenIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: targetTokenIcon, alt: "" }) })
2538
2653
  ] })
2539
2654
  ] }),
2540
- isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2655
+ isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2541
2656
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Balance" }),
2542
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2657
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2543
2658
  "$",
2544
2659
  balanceAfterUsd.toFixed(2)
2545
2660
  ] })
2546
2661
  ] }),
2547
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-detail-row", children: [
2662
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-review-detail-row", children: [
2548
2663
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Fees" }),
2549
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-amount-detail-value", children: [
2664
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "rs-review-detail-value", children: [
2550
2665
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2551
2666
  "span",
2552
2667
  {
@@ -2554,7 +2669,7 @@ function ProcessingStep({
2554
2669
  children: "$0.05"
2555
2670
  }
2556
2671
  ),
2557
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tooltip, { content: feeTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-amount-detail-info", "aria-label": "Fee info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoIcon, {}) }) })
2672
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tooltip, { content: feeTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-review-detail-info", "aria-label": "Fee info", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoIcon, {}) }) })
2558
2673
  ] })
2559
2674
  ] })
2560
2675
  ] }),
@@ -2562,7 +2677,16 @@ function ProcessingStep({
2562
2677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertTriangleIcon, { style: { width: 16, height: 16, flexShrink: 0 } }),
2563
2678
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: failureMessage })
2564
2679
  ] }),
2565
- isProcessing && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { fullWidth: true, disabled: true, loading: true, children: "Submitting transaction..." }),
2680
+ isProcessing && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2681
+ Button,
2682
+ {
2683
+ fullWidth: true,
2684
+ disabled: true,
2685
+ loading: true,
2686
+ loadingText: "Submitting transaction...",
2687
+ children: "Submitting transaction..."
2688
+ }
2689
+ ),
2566
2690
  isComplete && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-screen-button-row", children: [
2567
2691
  onNewDeposit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: [
2568
2692
  "New ",
@@ -2902,7 +3026,7 @@ function loadSessionOwnerFromStorage(eoaAddress) {
2902
3026
  privateKey: parsed.privateKey,
2903
3027
  address: account.address
2904
3028
  };
2905
- } catch (e5) {
3029
+ } catch (e6) {
2906
3030
  return null;
2907
3031
  }
2908
3032
  }
@@ -2983,4 +3107,4 @@ function accountFromPrivateKey(privateKey) {
2983
3107
 
2984
3108
 
2985
3109
 
2986
- exports.Modal = Modal; exports.WalletIcon = WalletIcon; exports.ExternalLinkIcon = ExternalLinkIcon; exports.CheckIcon = CheckIcon; exports.ChevronLeftIcon = ChevronLeftIcon; exports.ChevronDownIcon = ChevronDownIcon; exports.CloseIcon = CloseIcon; exports.HandCoinsIcon = HandCoinsIcon; exports.CoinsIcon = CoinsIcon; exports.HistoryIcon = HistoryIcon; exports.InfoIcon = InfoIcon; exports.CopyIcon = CopyIcon; exports.ArrowRightIcon = ArrowRightIcon; exports.AlertTriangleIcon = AlertTriangleIcon; exports.PercentIcon = PercentIcon; exports.ClockIcon = ClockIcon; exports.PlusCircleIcon = PlusCircleIcon; exports.CircleArrowOutUpLeftIcon = CircleArrowOutUpLeftIcon; exports.BodyHeader = BodyHeader; exports.ListRow = ListRow; exports.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.ConnectStep = ConnectStep; exports.Button = Button; exports.debugLog = debugLog; exports.debugError = debugError; exports.toEvmCaip2 = toEvmCaip2; exports.parseEvmChainId = parseEvmChainId; exports.isSolanaCaip2 = isSolanaCaip2; exports.getAssetId = getAssetId; exports.portfolioToAssets = portfolioToAssets; exports.isNativeAsset = isNativeAsset; exports.buildSessionDetails = buildSessionDetails; exports.createDepositService = createDepositService; exports.currencyFormatter = currencyFormatter; exports.tokenFormatter = tokenFormatter; exports.formatUserError = formatUserError; exports.Tooltip = Tooltip; exports.getEventTxHash = getEventTxHash; exports.isDepositEvent = isDepositEvent; exports.txRefsMatch = txRefsMatch; exports.useLatestRef = useLatestRef; exports.ProcessingStep = ProcessingStep; exports.SAFE_ABI = SAFE_ABI; exports.executeSafeEthTransfer = executeSafeEthTransfer; exports.executeSafeErc20Transfer = executeSafeErc20Transfer; exports.buildSafeTransaction = buildSafeTransaction; exports.getPublicClient = getPublicClient; exports.loadSessionOwnerFromStorage = loadSessionOwnerFromStorage; exports.saveSessionOwnerToStorage = saveSessionOwnerToStorage; exports.createSessionOwnerKey = createSessionOwnerKey; exports.accountFromPrivateKey = accountFromPrivateKey; exports.applyTheme = applyTheme;
3110
+ exports.Modal = Modal; exports.WalletIcon = WalletIcon; exports.ExternalLinkIcon = ExternalLinkIcon; exports.CheckIcon = CheckIcon; exports.ChevronLeftIcon = ChevronLeftIcon; exports.ChevronDownIcon = ChevronDownIcon; exports.CloseIcon = CloseIcon; exports.HandCoinsIcon = HandCoinsIcon; exports.CoinsIcon = CoinsIcon; exports.HistoryIcon = HistoryIcon; exports.InfoIcon = InfoIcon; exports.CopyIcon = CopyIcon; exports.ArrowUpRightIcon = ArrowUpRightIcon; exports.AlertTriangleIcon = AlertTriangleIcon; exports.PercentIcon = PercentIcon; exports.ClockIcon = ClockIcon; exports.PlusCircleIcon = PlusCircleIcon; exports.CircleArrowOutUpLeftIcon = CircleArrowOutUpLeftIcon; exports.BodyHeader = BodyHeader; exports.ListRow = ListRow; exports.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.ConnectStep = ConnectStep; exports.Button = Button; exports.debugLog = debugLog; exports.debugError = debugError; exports.toEvmCaip2 = toEvmCaip2; exports.parseEvmChainId = parseEvmChainId; exports.isSolanaCaip2 = isSolanaCaip2; exports.getAssetId = getAssetId; exports.portfolioToAssets = portfolioToAssets; exports.isNativeAsset = isNativeAsset; exports.buildSessionDetails = buildSessionDetails; exports.createDepositService = createDepositService; exports.currencyFormatter = currencyFormatter; exports.tokenFormatter = tokenFormatter; exports.formatUserError = formatUserError; exports.Tooltip = Tooltip; exports.getEventTxHash = getEventTxHash; exports.isDepositEvent = isDepositEvent; exports.txRefsMatch = txRefsMatch; exports.useLatestRef = useLatestRef; exports.ProcessingStep = ProcessingStep; exports.SAFE_ABI = SAFE_ABI; exports.executeSafeEthTransfer = executeSafeEthTransfer; exports.executeSafeErc20Transfer = executeSafeErc20Transfer; exports.buildSafeTransaction = buildSafeTransaction; exports.getPublicClient = getPublicClient; exports.loadSessionOwnerFromStorage = loadSessionOwnerFromStorage; exports.saveSessionOwnerToStorage = saveSessionOwnerToStorage; exports.createSessionOwnerKey = createSessionOwnerKey; exports.accountFromPrivateKey = accountFromPrivateKey; exports.applyTheme = applyTheme;