@rhinestone/deposit-modal 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{DepositModalReown-CHVDFNEX.cjs → DepositModalReown-J5YFZKFS.cjs} +9 -9
  2. package/dist/{DepositModalReown-T4RRW5FM.mjs → DepositModalReown-RZ6VSMKP.mjs} +6 -6
  3. package/dist/{WithdrawModalReown-Q6MUMZTX.mjs → WithdrawModalReown-4YUV2WWV.mjs} +5 -5
  4. package/dist/{WithdrawModalReown-YZMZTN6E.cjs → WithdrawModalReown-B6BGY52S.cjs} +8 -8
  5. package/dist/caip-C_ZYFIGa.d.cts +77 -0
  6. package/dist/caip-C_ZYFIGa.d.ts +77 -0
  7. package/dist/{chunk-XOBLFIGV.cjs → chunk-4IOQIWDY.cjs} +4 -4
  8. package/dist/{chunk-UZENNYHS.mjs → chunk-5S5BQ2GM.mjs} +83 -53
  9. package/dist/{chunk-CLUR2J72.mjs → chunk-7JJ4EFDY.mjs} +13 -17
  10. package/dist/{chunk-UN6MEOOA.cjs → chunk-IRI34U6N.cjs} +71 -33
  11. package/dist/{chunk-KUURQOTT.cjs → chunk-JRFPKFL6.cjs} +102 -106
  12. package/dist/{chunk-J52W34Y7.mjs → chunk-LXTAAHPC.mjs} +2 -2
  13. package/dist/{chunk-HH46H6ZI.cjs → chunk-PUMTR35E.cjs} +49 -24
  14. package/dist/{chunk-OYPFPEIT.mjs → chunk-RXWJ267K.mjs} +153 -115
  15. package/dist/{chunk-CPMHRMPH.mjs → chunk-SX52FXKH.mjs} +48 -23
  16. package/dist/{chunk-K6J3RDDK.mjs → chunk-TYB6AA6D.mjs} +1 -1
  17. package/dist/{chunk-6P3WNDED.cjs → chunk-VURI4G2Z.cjs} +7 -7
  18. package/dist/{chunk-RLMXWLF4.cjs → chunk-WL7AXYQ4.cjs} +3 -3
  19. package/dist/{chunk-QSMPJQTX.cjs → chunk-XLXJW44N.cjs} +384 -354
  20. package/dist/{chunk-4JLYWRQA.mjs → chunk-YLIPI3NU.mjs} +1 -1
  21. package/dist/constants.cjs +4 -2
  22. package/dist/constants.d.cts +1 -1
  23. package/dist/constants.d.ts +1 -1
  24. package/dist/constants.mjs +5 -3
  25. package/dist/deposit.cjs +6 -6
  26. package/dist/deposit.d.cts +2 -2
  27. package/dist/deposit.d.ts +2 -2
  28. package/dist/deposit.mjs +5 -5
  29. package/dist/index.cjs +11 -7
  30. package/dist/index.d.cts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.mjs +12 -8
  33. package/dist/polymarket.cjs +6 -6
  34. package/dist/polymarket.mjs +3 -3
  35. package/dist/{types-6ROxwyfG.d.cts → types--LQWg_4W.d.cts} +1 -1
  36. package/dist/{types-6ROxwyfG.d.ts → types--LQWg_4W.d.ts} +1 -1
  37. package/dist/withdraw.cjs +5 -5
  38. package/dist/withdraw.d.cts +2 -2
  39. package/dist/withdraw.d.ts +2 -2
  40. package/dist/withdraw.mjs +4 -4
  41. package/package.json +1 -1
  42. package/dist/caip-CsslyHGL.d.cts +0 -62
  43. package/dist/caip-CsslyHGL.d.ts +0 -62
@@ -1,5 +1,8 @@
1
1
  import {
2
2
  CHAIN_BY_ID,
3
+ HYPERCORE_CHAIN_ID,
4
+ HYPERCORE_MAINNET_CAIP2,
5
+ HYPERCORE_SOURCE_TOKENS,
3
6
  NATIVE_TOKEN_ADDRESS,
4
7
  findTokenDecimals,
5
8
  getChainIcon,
@@ -9,11 +12,12 @@ import {
9
12
  getSupportedChainIds,
10
13
  getTokenAddress,
11
14
  getTokenDecimalsByAddress,
12
- getTokenIcon,
13
15
  getTokenSymbol,
16
+ isHyperCoreCaip2,
14
17
  isSolanaCaip2,
15
- parseEvmChainId
16
- } from "./chunk-CPMHRMPH.mjs";
18
+ parseEvmChainId,
19
+ tokenIconUrl
20
+ } from "./chunk-SX52FXKH.mjs";
17
21
 
18
22
  // src/components/ui/Modal.tsx
19
23
  import {
@@ -1005,7 +1009,8 @@ function createDepositService(baseUrl, options) {
1005
1009
  const url = apiUrl("/quotes/preview");
1006
1010
  const body = {
1007
1011
  account: params.account,
1008
- sourceChainId: `eip155:${params.sourceChainId}`,
1012
+ // HyperCore has its own CAIP-2 namespace — never the eip155 placeholder.
1013
+ sourceChainId: params.sourceChainId === "hypercore" ? HYPERCORE_MAINNET_CAIP2 : `eip155:${params.sourceChainId}`,
1009
1014
  sourceToken: params.sourceToken,
1010
1015
  amount: params.amount
1011
1016
  };
@@ -1330,8 +1335,13 @@ function normalizeOrchestratorPortfolio(data) {
1330
1335
  function normalizeDirectToken(token) {
1331
1336
  const rawChainId = extractNumber(token, "chainId") ?? extractNumber(token.chain, "id");
1332
1337
  const rawChainString = extractString(token, "chainId") ?? extractString(token.chain, "id");
1333
- const chainId = rawChainId ?? (rawChainString ? isSolanaCaip2(rawChainString) || rawChainString.toLowerCase() === "solana" ? "solana" : parseEvmChainId(rawChainString) : null);
1338
+ const chainId = rawChainId ?? (rawChainString ? isSolanaCaip2(rawChainString) || rawChainString.toLowerCase() === "solana" ? "solana" : (
1339
+ // HyperCore (`hypercore:mainnet`) is a non-EVM source; keep its USDC
1340
+ // instead of dropping it as an unparseable chain string.
1341
+ isHyperCoreCaip2(rawChainString) || rawChainString.toLowerCase() === "hypercore" ? "hypercore" : parseEvmChainId(rawChainString)
1342
+ ) : null);
1334
1343
  if (chainId === null) return null;
1344
+ const registryChainId = typeof chainId === "number" ? chainId : chainId === "hypercore" ? HYPERCORE_CHAIN_ID : void 0;
1335
1345
  const symbol = extractString(token, "symbol") ?? extractString(token, "tokenSymbol") ?? extractString(token, "tokenName") ?? extractString(token, "name");
1336
1346
  if (!symbol) return null;
1337
1347
  const balanceValue = extractString(token, "balance") ?? extractString(token, "amount") ?? extractString(token, "value") ?? extractString(token, "rawBalance") ?? extractNumber(token, "balance")?.toString() ?? extractNumber(token, "amount")?.toString() ?? extractNumber(token, "value")?.toString() ?? extractNumber(token, "rawBalance")?.toString();
@@ -1339,14 +1349,14 @@ function normalizeDirectToken(token) {
1339
1349
  const address = extractString(token, "address") ?? extractString(token, "tokenAddress") ?? extractString(
1340
1350
  token.token,
1341
1351
  "address"
1342
- ) ?? (typeof chainId === "number" ? getTokenAddress(symbol, chainId) : void 0);
1352
+ ) ?? (registryChainId !== void 0 ? getTokenAddress(symbol, registryChainId) : void 0);
1343
1353
  if (!address) return null;
1344
1354
  const balanceUsd = extractNumber(token, "balanceUsd") ?? extractNumber(token, "usdValue") ?? extractNumber(token, "valueUsd") ?? extractNumericString(token, "balanceUsd") ?? extractNumericString(token, "usdValue") ?? extractNumericString(token, "valueUsd") ?? 0;
1345
1355
  const isSolanaToken = chainId === "solana";
1346
- const registrySymbol = isSolanaToken ? "Token" : getTokenSymbol(address, chainId);
1356
+ const registrySymbol = isSolanaToken ? "Token" : getTokenSymbol(address, registryChainId);
1347
1357
  const resolvedSymbol = isSolanaToken ? symbol : registrySymbol !== "Token" ? registrySymbol : symbol;
1348
1358
  const backendDecimals = extractNumber(token, "decimals") ?? extractNumber(token, "tokenDecimals");
1349
- const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? getTokenDecimalsByAddress(address, chainId) : backendDecimals ?? 18;
1359
+ const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? getTokenDecimalsByAddress(address, registryChainId) : backendDecimals ?? 18;
1350
1360
  return {
1351
1361
  chainId,
1352
1362
  address,
@@ -2747,11 +2757,33 @@ function ConnectStep({
2747
2757
  }
2748
2758
  ConnectStep.displayName = "ConnectStep";
2749
2759
 
2760
+ // src/components/ui/TokenIcon.tsx
2761
+ import { useState as useState2 } from "react";
2762
+ import { Fragment as Fragment3, jsx as jsx19 } from "react/jsx-runtime";
2763
+ function TokenIcon({ symbol, className, fallback }) {
2764
+ const [failedSymbol, setFailedSymbol] = useState2(null);
2765
+ if (failedSymbol === symbol) {
2766
+ return /* @__PURE__ */ jsx19(Fragment3, { children: fallback });
2767
+ }
2768
+ return /* @__PURE__ */ jsx19(
2769
+ "img",
2770
+ {
2771
+ src: tokenIconUrl(symbol),
2772
+ alt: "",
2773
+ className,
2774
+ loading: "lazy",
2775
+ decoding: "async",
2776
+ onError: () => setFailedSymbol(symbol)
2777
+ }
2778
+ );
2779
+ }
2780
+ TokenIcon.displayName = "TokenIcon";
2781
+
2750
2782
  // src/components/steps/ProcessingStep.tsx
2751
- import { useCallback as useCallback3, useEffect as useEffect6, useRef as useRef4, useState as useState5 } from "react";
2783
+ import { useCallback as useCallback3, useEffect as useEffect6, useRef as useRef4, useState as useState6 } from "react";
2752
2784
 
2753
2785
  // src/components/ui/Button.tsx
2754
- import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
2786
+ import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
2755
2787
  function Button({
2756
2788
  children,
2757
2789
  variant = "accent",
@@ -2771,7 +2803,7 @@ function Button({
2771
2803
  className
2772
2804
  ].filter(Boolean).join(" ");
2773
2805
  const showInlineLoadingText = loading && loadingText !== void 0;
2774
- return /* @__PURE__ */ jsx19(
2806
+ return /* @__PURE__ */ jsx20(
2775
2807
  "button",
2776
2808
  {
2777
2809
  className: classes,
@@ -2779,11 +2811,11 @@ function Button({
2779
2811
  "aria-busy": loading || void 0,
2780
2812
  ...props,
2781
2813
  children: showInlineLoadingText ? /* @__PURE__ */ jsxs17("span", { className: "rs-button__loading-row", children: [
2782
- /* @__PURE__ */ jsx19(Spinner, { className: "rs-spinner--sm" }),
2783
- /* @__PURE__ */ jsx19("span", { children: loadingText })
2784
- ] }) : /* @__PURE__ */ jsxs17(Fragment3, { children: [
2785
- /* @__PURE__ */ jsx19("span", { className: loading ? "rs-button__content--hidden" : "", children }),
2786
- loading && /* @__PURE__ */ jsx19("span", { className: "rs-button__spinner", children: /* @__PURE__ */ jsx19(Spinner, { className: "rs-spinner--sm" }) })
2814
+ /* @__PURE__ */ jsx20(Spinner, { className: "rs-spinner--sm" }),
2815
+ /* @__PURE__ */ jsx20("span", { children: loadingText })
2816
+ ] }) : /* @__PURE__ */ jsxs17(Fragment4, { children: [
2817
+ /* @__PURE__ */ jsx20("span", { className: loading ? "rs-button__content--hidden" : "", children }),
2818
+ loading && /* @__PURE__ */ jsx20("span", { className: "rs-button__spinner", children: /* @__PURE__ */ jsx20(Spinner, { className: "rs-spinner--sm" }) })
2787
2819
  ] })
2788
2820
  }
2789
2821
  );
@@ -2792,16 +2824,16 @@ Button.displayName = "Button";
2792
2824
 
2793
2825
  // src/components/ui/Tooltip.tsx
2794
2826
  import {
2795
- useState as useState2,
2827
+ useState as useState3,
2796
2828
  useRef as useRef3,
2797
2829
  useEffect as useEffect4,
2798
2830
  useCallback as useCallback2
2799
2831
  } from "react";
2800
2832
  import { createPortal as createPortal2 } from "react-dom";
2801
- import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
2833
+ import { jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
2802
2834
  function Tooltip({ content, children, className }) {
2803
- const [open, setOpen] = useState2(false);
2804
- const [position, setPosition] = useState2(null);
2835
+ const [open, setOpen] = useState3(false);
2836
+ const [position, setPosition] = useState3(null);
2805
2837
  const triggerRef = useRef3(null);
2806
2838
  const bubbleRef = useRef3(null);
2807
2839
  const updatePosition = useCallback2(() => {
@@ -2847,7 +2879,7 @@ function Tooltip({ content, children, className }) {
2847
2879
  onMouseEnter: () => setOpen(true),
2848
2880
  onMouseLeave: () => setOpen(false),
2849
2881
  children: [
2850
- /* @__PURE__ */ jsx20(
2882
+ /* @__PURE__ */ jsx21(
2851
2883
  "span",
2852
2884
  {
2853
2885
  className: "rs-tooltip-trigger",
@@ -2869,7 +2901,7 @@ function Tooltip({ content, children, className }) {
2869
2901
  }
2870
2902
  ),
2871
2903
  open && position && typeof document !== "undefined" && createPortal2(
2872
- /* @__PURE__ */ jsx20(
2904
+ /* @__PURE__ */ jsx21(
2873
2905
  "span",
2874
2906
  {
2875
2907
  ref: bubbleRef,
@@ -2888,16 +2920,16 @@ function Tooltip({ content, children, className }) {
2888
2920
  Tooltip.displayName = "Tooltip";
2889
2921
 
2890
2922
  // src/components/ui/FeesAccordion.tsx
2891
- import { useState as useState3 } from "react";
2892
- import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
2923
+ import { useState as useState4 } from "react";
2924
+ import { jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
2893
2925
  function FeesAccordion({ total, rows, tooltip }) {
2894
- const [open, setOpen] = useState3(false);
2926
+ const [open, setOpen] = useState4(false);
2895
2927
  const expandable = rows.length > 0;
2896
2928
  return /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion", children: [
2897
2929
  /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion-summary", children: [
2898
2930
  /* @__PURE__ */ jsxs19("span", { className: "rs-fees-accordion-label", children: [
2899
- /* @__PURE__ */ jsx21("span", { children: "Fees" }),
2900
- tooltip && /* @__PURE__ */ jsx21(Tooltip, { content: tooltip, children: /* @__PURE__ */ jsx21("span", { className: "rs-review-detail-info", "aria-label": "Fees info", children: /* @__PURE__ */ jsx21(InfoIcon, {}) }) })
2931
+ /* @__PURE__ */ jsx22("span", { children: "Fees" }),
2932
+ tooltip && /* @__PURE__ */ jsx22(Tooltip, { content: tooltip, children: /* @__PURE__ */ jsx22("span", { className: "rs-review-detail-info", "aria-label": "Fees info", children: /* @__PURE__ */ jsx22(InfoIcon, {}) }) })
2901
2933
  ] }),
2902
2934
  /* @__PURE__ */ jsxs19(
2903
2935
  "button",
@@ -2909,35 +2941,35 @@ function FeesAccordion({ total, rows, tooltip }) {
2909
2941
  disabled: !expandable,
2910
2942
  onClick: () => expandable && setOpen((o) => !o),
2911
2943
  children: [
2912
- /* @__PURE__ */ jsx21("span", { children: total }),
2913
- expandable && /* @__PURE__ */ jsx21(
2944
+ /* @__PURE__ */ jsx22("span", { children: total }),
2945
+ expandable && /* @__PURE__ */ jsx22(
2914
2946
  "span",
2915
2947
  {
2916
2948
  className: `rs-fees-accordion-chevron${open ? " rs-fees-accordion-chevron--open" : ""}`,
2917
2949
  "aria-hidden": "true",
2918
- children: /* @__PURE__ */ jsx21(ChevronDownIcon, {})
2950
+ children: /* @__PURE__ */ jsx22(ChevronDownIcon, {})
2919
2951
  }
2920
2952
  )
2921
2953
  ]
2922
2954
  }
2923
2955
  )
2924
2956
  ] }),
2925
- expandable && open && /* @__PURE__ */ jsx21("div", { className: "rs-fees-accordion-rows", children: rows.map((row, i) => /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion-row", children: [
2926
- /* @__PURE__ */ jsx21("span", { children: row.label }),
2957
+ expandable && open && /* @__PURE__ */ jsx22("div", { className: "rs-fees-accordion-rows", children: rows.map((row, i) => /* @__PURE__ */ jsxs19("div", { className: "rs-fees-accordion-row", children: [
2958
+ /* @__PURE__ */ jsx22("span", { children: row.label }),
2927
2959
  /* @__PURE__ */ jsxs19("span", { className: "rs-review-detail-value", children: [
2928
- /* @__PURE__ */ jsx21(
2960
+ /* @__PURE__ */ jsx22(
2929
2961
  "span",
2930
2962
  {
2931
2963
  className: row.strike ? "rs-review-detail-value--strike" : void 0,
2932
2964
  children: row.value
2933
2965
  }
2934
2966
  ),
2935
- row.tooltip && /* @__PURE__ */ jsx21(Tooltip, { content: row.tooltip, children: /* @__PURE__ */ jsx21(
2967
+ row.tooltip && /* @__PURE__ */ jsx22(Tooltip, { content: row.tooltip, children: /* @__PURE__ */ jsx22(
2936
2968
  "span",
2937
2969
  {
2938
2970
  className: "rs-review-detail-info",
2939
2971
  "aria-label": `${row.label} info`,
2940
- children: /* @__PURE__ */ jsx21(InfoIcon, {})
2972
+ children: /* @__PURE__ */ jsx22(InfoIcon, {})
2941
2973
  }
2942
2974
  ) })
2943
2975
  ] })
@@ -2947,13 +2979,13 @@ function FeesAccordion({ total, rows, tooltip }) {
2947
2979
  FeesAccordion.displayName = "FeesAccordion";
2948
2980
 
2949
2981
  // src/components/steps/SwappedReceipt.tsx
2950
- import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
2982
+ import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
2951
2983
  function SwappedReceipt({
2952
2984
  onrampMethod,
2953
2985
  onrampMethodIcon,
2954
2986
  amountPaid,
2955
2987
  depositedAmount,
2956
- depositedIcon,
2988
+ depositedSymbol,
2957
2989
  feesTotal,
2958
2990
  feeRows,
2959
2991
  feesTooltip,
@@ -2963,27 +2995,27 @@ function SwappedReceipt({
2963
2995
  }) {
2964
2996
  return /* @__PURE__ */ jsxs20("div", { className: "rs-screen", children: [
2965
2997
  /* @__PURE__ */ jsxs20("div", { className: "rs-screen-body rs-screen-body--gap-32", children: [
2966
- /* @__PURE__ */ jsx22(BodyHeader, { icon: /* @__PURE__ */ jsx22(CheckIcon, {}), title: "Deposit successful" }),
2998
+ /* @__PURE__ */ jsx23(BodyHeader, { icon: /* @__PURE__ */ jsx23(CheckIcon, {}), title: "Deposit successful" }),
2967
2999
  /* @__PURE__ */ jsxs20("div", { className: "rs-review-details", children: [
2968
3000
  onrampMethod && /* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
2969
- /* @__PURE__ */ jsx22("span", { children: "Onramp method" }),
3001
+ /* @__PURE__ */ jsx23("span", { children: "Onramp method" }),
2970
3002
  /* @__PURE__ */ jsxs20("span", { className: "rs-review-detail-value", children: [
2971
- /* @__PURE__ */ jsx22("span", { children: onrampMethod }),
2972
- onrampMethodIcon && /* @__PURE__ */ jsx22("span", { className: "rs-review-detail-icon rs-review-detail-icon--square", children: /* @__PURE__ */ jsx22("img", { src: onrampMethodIcon, alt: "" }) })
3003
+ /* @__PURE__ */ jsx23("span", { children: onrampMethod }),
3004
+ onrampMethodIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon rs-review-detail-icon--square", children: /* @__PURE__ */ jsx23("img", { src: onrampMethodIcon, alt: "" }) })
2973
3005
  ] })
2974
3006
  ] }),
2975
3007
  amountPaid && /* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
2976
- /* @__PURE__ */ jsx22("span", { children: "Amount paid" }),
2977
- /* @__PURE__ */ jsx22("span", { className: "rs-review-detail-value", children: amountPaid })
3008
+ /* @__PURE__ */ jsx23("span", { children: "Amount paid" }),
3009
+ /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-value", children: amountPaid })
2978
3010
  ] }),
2979
3011
  /* @__PURE__ */ jsxs20("div", { className: "rs-review-detail-row", children: [
2980
- /* @__PURE__ */ jsx22("span", { children: "Deposited amount" }),
3012
+ /* @__PURE__ */ jsx23("span", { children: "Deposited amount" }),
2981
3013
  /* @__PURE__ */ jsxs20("span", { className: "rs-review-detail-value", children: [
2982
- /* @__PURE__ */ jsx22("span", { children: depositedAmount }),
2983
- depositedIcon && /* @__PURE__ */ jsx22("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx22("img", { src: depositedIcon, alt: "" }) })
3014
+ /* @__PURE__ */ jsx23("span", { children: depositedAmount }),
3015
+ depositedSymbol && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23(TokenIcon, { symbol: depositedSymbol }) })
2984
3016
  ] })
2985
3017
  ] }),
2986
- feesTotal != null && /* @__PURE__ */ jsx22(
3018
+ feesTotal != null && /* @__PURE__ */ jsx23(
2987
3019
  FeesAccordion,
2988
3020
  {
2989
3021
  total: feesTotal,
@@ -2993,11 +3025,11 @@ function SwappedReceipt({
2993
3025
  )
2994
3026
  ] }),
2995
3027
  /* @__PURE__ */ jsxs20("div", { className: "rs-screen-button-row", children: [
2996
- onNewDeposit && /* @__PURE__ */ jsx22(Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: newLabel }),
2997
- onClose && /* @__PURE__ */ jsx22(Button, { onClick: onClose, fullWidth: true, children: "Done" })
3028
+ onNewDeposit && /* @__PURE__ */ jsx23(Button, { variant: "outline", onClick: onNewDeposit, fullWidth: true, children: newLabel }),
3029
+ onClose && /* @__PURE__ */ jsx23(Button, { onClick: onClose, fullWidth: true, children: "Done" })
2998
3030
  ] })
2999
3031
  ] }),
3000
- /* @__PURE__ */ jsx22(PoweredBy, {})
3032
+ /* @__PURE__ */ jsx23(PoweredBy, {})
3001
3033
  ] });
3002
3034
  }
3003
3035
  SwappedReceipt.displayName = "SwappedReceipt";
@@ -3071,8 +3103,10 @@ function getEventSourceDetails(event) {
3071
3103
  return {};
3072
3104
  }
3073
3105
  function asChain(value) {
3074
- if (typeof value === "string" && value.trim().startsWith("solana")) {
3075
- return "solana";
3106
+ if (typeof value === "string") {
3107
+ const trimmed = value.trim();
3108
+ if (trimmed.startsWith("solana")) return "solana";
3109
+ if (trimmed.startsWith("hypercore")) return "hypercore";
3076
3110
  }
3077
3111
  return asNumber(value);
3078
3112
  }
@@ -3166,6 +3200,11 @@ function resolveTokenDisplay(token, chain, fallback) {
3166
3200
  if (solanaToken) {
3167
3201
  return { symbol: solanaToken.symbol, decimals: solanaToken.decimals };
3168
3202
  }
3203
+ } else if (chain === "hypercore") {
3204
+ const t = HYPERCORE_SOURCE_TOKENS.find(
3205
+ (x) => x.address.toLowerCase() === token.toLowerCase()
3206
+ );
3207
+ if (t) return { symbol: t.symbol, decimals: t.decimals };
3169
3208
  } else if (EVM_ADDRESS_RE.test(token)) {
3170
3209
  const symbol = getTokenSymbol(token, chain);
3171
3210
  const decimals = findTokenDecimals(token, chain);
@@ -3255,9 +3294,9 @@ function formatReceiveEstimate(params) {
3255
3294
  }
3256
3295
 
3257
3296
  // src/core/useTokenPrices.ts
3258
- import { useEffect as useEffect5, useState as useState4 } from "react";
3297
+ import { useEffect as useEffect5, useState as useState5 } from "react";
3259
3298
  function useTokenPrices(service, symbols) {
3260
- const [prices, setPrices] = useState4({});
3299
+ const [prices, setPrices] = useState5({});
3261
3300
  const symbolsKey = [
3262
3301
  ...new Set(
3263
3302
  symbols.filter((symbol) => Boolean(symbol)).map((symbol) => symbol.toUpperCase())
@@ -3280,7 +3319,7 @@ function useTokenPrices(service, symbols) {
3280
3319
  }
3281
3320
 
3282
3321
  // src/components/steps/ProcessingStep.tsx
3283
- import { Fragment as Fragment4, jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
3322
+ import { Fragment as Fragment5, jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
3284
3323
  function SuccessBadge() {
3285
3324
  return /* @__PURE__ */ jsxs21(
3286
3325
  "svg",
@@ -3292,7 +3331,7 @@ function SuccessBadge() {
3292
3331
  xmlns: "http://www.w3.org/2000/svg",
3293
3332
  "aria-hidden": "true",
3294
3333
  children: [
3295
- /* @__PURE__ */ jsx23(
3334
+ /* @__PURE__ */ jsx24(
3296
3335
  "rect",
3297
3336
  {
3298
3337
  width: "40",
@@ -3301,7 +3340,7 @@ function SuccessBadge() {
3301
3340
  fill: "var(--rs-icon-wrapper-bg)"
3302
3341
  }
3303
3342
  ),
3304
- /* @__PURE__ */ jsx23(
3343
+ /* @__PURE__ */ jsx24(
3305
3344
  "path",
3306
3345
  {
3307
3346
  d: "M28 14L17 25L12 20",
@@ -3326,8 +3365,8 @@ function FailedBadge() {
3326
3365
  xmlns: "http://www.w3.org/2000/svg",
3327
3366
  "aria-hidden": "true",
3328
3367
  children: [
3329
- /* @__PURE__ */ jsx23("rect", { width: "40", height: "40", rx: "8", fill: "#FB2C36" }),
3330
- /* @__PURE__ */ jsx23(
3368
+ /* @__PURE__ */ jsx24("rect", { width: "40", height: "40", rx: "8", fill: "#FB2C36" }),
3369
+ /* @__PURE__ */ jsx24(
3331
3370
  "path",
3332
3371
  {
3333
3372
  d: "M26 14L14 26M14 14L26 26",
@@ -3459,9 +3498,9 @@ function formatTimer(seconds) {
3459
3498
  return `${mins}:${String(secs).padStart(2, "0")}`;
3460
3499
  }
3461
3500
  function TickerChar({ value }) {
3462
- const [current, setCurrent] = useState5(value);
3463
- const [previous, setPrevious] = useState5(null);
3464
- const [animKey, setAnimKey] = useState5(0);
3501
+ const [current, setCurrent] = useState6(value);
3502
+ const [previous, setPrevious] = useState6(null);
3503
+ const [animKey, setAnimKey] = useState6(0);
3465
3504
  useEffect6(() => {
3466
3505
  if (value === current) return;
3467
3506
  setPrevious(current);
@@ -3471,15 +3510,15 @@ function TickerChar({ value }) {
3471
3510
  return () => clearTimeout(timeout);
3472
3511
  }, [value, current]);
3473
3512
  return /* @__PURE__ */ jsxs21("span", { className: "rs-ticker-slot", children: [
3474
- previous !== null && /* @__PURE__ */ jsx23("span", { className: "rs-ticker-out", children: previous }, `out-${animKey}`),
3475
- /* @__PURE__ */ jsx23("span", { className: "rs-ticker-in", children: current }, `in-${animKey}`)
3513
+ previous !== null && /* @__PURE__ */ jsx24("span", { className: "rs-ticker-out", children: previous }, `out-${animKey}`),
3514
+ /* @__PURE__ */ jsx24("span", { className: "rs-ticker-in", children: current }, `in-${animKey}`)
3476
3515
  ] });
3477
3516
  }
3478
3517
  function Ticker({ value }) {
3479
- return /* @__PURE__ */ jsx23("span", { className: "rs-ticker", "aria-label": value, children: value.split("").map((char, index) => (
3518
+ return /* @__PURE__ */ jsx24("span", { className: "rs-ticker", "aria-label": value, children: value.split("").map((char, index) => (
3480
3519
  // Position-stable key so each slot keeps its own animation state.
3481
3520
  // eslint-disable-next-line react/no-array-index-key
3482
- /* @__PURE__ */ jsx23(TickerChar, { value: char }, index)
3521
+ /* @__PURE__ */ jsx24(TickerChar, { value: char }, index)
3483
3522
  )) });
3484
3523
  }
3485
3524
  function getPhaseStartTime(phaseId, phaseTimings) {
@@ -3607,7 +3646,7 @@ function ProcessingStep({
3607
3646
  const onDepositFailedRef = useLatestRef(onDepositFailed);
3608
3647
  const onErrorRef = useLatestRef(onError);
3609
3648
  const initialTerminalEventRef = useRef4(null);
3610
- const [state, setState] = useState5(() => {
3649
+ const [state, setState] = useState6(() => {
3611
3650
  if (directTransfer) return { type: "complete" };
3612
3651
  const initial = getInitialProcessingState(
3613
3652
  initialEvent,
@@ -3621,8 +3660,8 @@ function ProcessingStep({
3621
3660
  }
3622
3661
  return { type: "processing" };
3623
3662
  });
3624
- const [elapsedSeconds, setElapsedSeconds] = useState5(0);
3625
- const [phaseTimings, setPhaseTimings] = useState5(() => {
3663
+ const [elapsedSeconds, setElapsedSeconds] = useState6(0);
3664
+ const [phaseTimings, setPhaseTimings] = useState6(() => {
3626
3665
  const saved = loadPhaseTimings(txHash);
3627
3666
  if (saved) {
3628
3667
  startTimeRef.current = saved.startedAt;
@@ -3630,7 +3669,7 @@ function ProcessingStep({
3630
3669
  }
3631
3670
  return { startedAt: startTimeRef.current };
3632
3671
  });
3633
- const [hasEscalatedDelay, setHasEscalatedDelay] = useState5(false);
3672
+ const [hasEscalatedDelay, setHasEscalatedDelay] = useState6(false);
3634
3673
  const updatePhaseTimings = useCallback3(
3635
3674
  (updater) => {
3636
3675
  setPhaseTimings((previous) => {
@@ -3734,7 +3773,7 @@ function ProcessingStep({
3734
3773
  (previous) => syncPhaseTimings(previous, state.lastEvent)
3735
3774
  );
3736
3775
  }, [state.lastEvent?.time, state.lastEvent?.type, updatePhaseTimings]);
3737
- const [swappedFiatContext, setSwappedFiatContext] = useState5(null);
3776
+ const [swappedFiatContext, setSwappedFiatContext] = useState6(null);
3738
3777
  useEffect6(() => {
3739
3778
  let cancelled = false;
3740
3779
  let timeoutId;
@@ -4010,10 +4049,8 @@ function ProcessingStep({
4010
4049
  const delayPhaseId = isProcessing && currentPhaseId && activePhaseElapsedMs >= SOFT_DELAY_MS[currentPhaseId] ? currentPhaseId : void 0;
4011
4050
  void delayPhaseId;
4012
4051
  void hasEscalatedDelay;
4013
- const targetTokenIcon = getTokenIcon(targetSymbol);
4014
4052
  const sourceChainIcon = getChainIcon(displaySourceChain);
4015
4053
  const targetChainIcon = getChainIcon(targetChain);
4016
- const sourceTokenIcon = getTokenIcon(sourceSymbol);
4017
4054
  const sourceChainName = getChainName(displaySourceChain);
4018
4055
  const targetChainName = getChainName(targetChain);
4019
4056
  const timerText = formatTimer(elapsedSeconds);
@@ -4022,12 +4059,12 @@ function ProcessingStep({
4022
4059
  const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
4023
4060
  const handleRetry = onRetry ?? onNewDeposit;
4024
4061
  const headerContent = isComplete ? /* @__PURE__ */ jsxs21("div", { className: "rs-body-header", children: [
4025
- /* @__PURE__ */ jsx23(SuccessBadge, {}),
4026
- /* @__PURE__ */ jsx23("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx23("h2", { className: "rs-body-header-title", children: stateTitle }) })
4062
+ /* @__PURE__ */ jsx24(SuccessBadge, {}),
4063
+ /* @__PURE__ */ jsx24("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx24("h2", { className: "rs-body-header-title", children: stateTitle }) })
4027
4064
  ] }) : isFailed ? /* @__PURE__ */ jsxs21("div", { className: "rs-body-header", children: [
4028
- /* @__PURE__ */ jsx23(FailedBadge, {}),
4029
- /* @__PURE__ */ jsx23("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx23("h2", { className: "rs-body-header-title", children: stateTitle }) })
4030
- ] }) : /* @__PURE__ */ jsx23(BodyHeader, { icon: /* @__PURE__ */ jsx23(WalletIcon, {}), title: stateTitle });
4065
+ /* @__PURE__ */ jsx24(FailedBadge, {}),
4066
+ /* @__PURE__ */ jsx24("div", { className: "rs-body-header-text", children: /* @__PURE__ */ jsx24("h2", { className: "rs-body-header-title", children: stateTitle }) })
4067
+ ] }) : /* @__PURE__ */ jsx24(BodyHeader, { icon: /* @__PURE__ */ jsx24(WalletIcon, {}), title: stateTitle });
4031
4068
  if (isComplete && isSwappedOrder) {
4032
4069
  const effectivePaymentMethod = swappedContext?.method ?? swappedFiatContext?.paymentMethod ?? null;
4033
4070
  const onrampMethod = effectivePaymentMethod ? formatPaymentMethod(effectivePaymentMethod) : null;
@@ -4070,14 +4107,14 @@ function ProcessingStep({
4070
4107
  }
4071
4108
  const chargeableQuoteFeeUsd = feeSponsored ? 0 : (marketFeeUsd ?? 0) + (networkFeeUsd ?? 0);
4072
4109
  const feesTotal = feeRows.length > 0 ? formatUsdFee((onrampFeeUsd ?? 0) + chargeableQuoteFeeUsd) : null;
4073
- return /* @__PURE__ */ jsx23(
4110
+ return /* @__PURE__ */ jsx24(
4074
4111
  SwappedReceipt,
4075
4112
  {
4076
4113
  onrampMethod,
4077
4114
  onrampMethodIcon,
4078
4115
  amountPaid,
4079
4116
  depositedAmount,
4080
- depositedIcon: targetTokenIcon,
4117
+ depositedSymbol: targetSymbol,
4081
4118
  feesTotal,
4082
4119
  feeRows,
4083
4120
  feesTooltip,
@@ -4092,11 +4129,11 @@ function ProcessingStep({
4092
4129
  headerContent,
4093
4130
  /* @__PURE__ */ jsxs21("div", { className: "rs-review-details", children: [
4094
4131
  /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4095
- /* @__PURE__ */ jsx23("span", { children: "Source chain" }),
4132
+ /* @__PURE__ */ jsx24("span", { children: "Source chain" }),
4096
4133
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4097
- /* @__PURE__ */ jsx23("span", { children: sourceChainName }),
4098
- sourceChainIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceChainIcon, alt: "" }) }),
4099
- sourceExplorerUrl && /* @__PURE__ */ jsx23(
4134
+ /* @__PURE__ */ jsx24("span", { children: sourceChainName }),
4135
+ sourceChainIcon && /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx24("img", { src: sourceChainIcon, alt: "" }) }),
4136
+ sourceExplorerUrl && /* @__PURE__ */ jsx24(
4100
4137
  "a",
4101
4138
  {
4102
4139
  href: sourceExplorerUrl,
@@ -4104,17 +4141,17 @@ function ProcessingStep({
4104
4141
  rel: "noopener noreferrer",
4105
4142
  className: "rs-review-detail-link",
4106
4143
  "aria-label": "View source transaction",
4107
- children: /* @__PURE__ */ jsx23(ExternalLinkIcon, {})
4144
+ children: /* @__PURE__ */ jsx24(ExternalLinkIcon, {})
4108
4145
  }
4109
4146
  )
4110
4147
  ] })
4111
4148
  ] }),
4112
4149
  /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4113
- /* @__PURE__ */ jsx23("span", { children: "Destination chain" }),
4150
+ /* @__PURE__ */ jsx24("span", { children: "Destination chain" }),
4114
4151
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4115
- /* @__PURE__ */ jsx23("span", { children: targetChainName }),
4116
- targetChainIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: targetChainIcon, alt: "" }) }),
4117
- destExplorerUrl && /* @__PURE__ */ jsx23(
4152
+ /* @__PURE__ */ jsx24("span", { children: targetChainName }),
4153
+ targetChainIcon && /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx24("img", { src: targetChainIcon, alt: "" }) }),
4154
+ destExplorerUrl && /* @__PURE__ */ jsx24(
4118
4155
  "a",
4119
4156
  {
4120
4157
  href: destExplorerUrl,
@@ -4122,18 +4159,18 @@ function ProcessingStep({
4122
4159
  rel: "noopener noreferrer",
4123
4160
  className: "rs-review-detail-link",
4124
4161
  "aria-label": "View destination transaction",
4125
- children: /* @__PURE__ */ jsx23(ExternalLinkIcon, {})
4162
+ children: /* @__PURE__ */ jsx24(ExternalLinkIcon, {})
4126
4163
  }
4127
4164
  )
4128
4165
  ] })
4129
4166
  ] }),
4130
4167
  /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4131
- /* @__PURE__ */ jsx23("span", { children: isProcessing ? "Time elapsed" : "Total time" }),
4132
- /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-value", children: /* @__PURE__ */ jsx23(Ticker, { value: timerText }) })
4168
+ /* @__PURE__ */ jsx24("span", { children: isProcessing ? "Time elapsed" : "Total time" }),
4169
+ /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-value", children: /* @__PURE__ */ jsx24(Ticker, { value: timerText }) })
4133
4170
  ] }),
4134
- isSwappedOrder ? /* @__PURE__ */ jsxs21(Fragment4, { children: [
4171
+ isSwappedOrder ? /* @__PURE__ */ jsxs21(Fragment5, { children: [
4135
4172
  swappedFiatContext?.paidAmountUsd != null && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4136
- /* @__PURE__ */ jsx23("span", { children: "You pay" }),
4173
+ /* @__PURE__ */ jsx24("span", { children: "You pay" }),
4137
4174
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4138
4175
  "$",
4139
4176
  swappedFiatContext.paidAmountUsd.toFixed(2),
@@ -4145,50 +4182,50 @@ function ProcessingStep({
4145
4182
  ] })
4146
4183
  ] }),
4147
4184
  swappedFiatContext?.onrampFeeUsd != null && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4148
- /* @__PURE__ */ jsx23("span", { children: "On-ramp fee" }),
4185
+ /* @__PURE__ */ jsx24("span", { children: "On-ramp fee" }),
4149
4186
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4150
4187
  "$",
4151
4188
  swappedFiatContext.onrampFeeUsd.toFixed(2)
4152
4189
  ] })
4153
4190
  ] }),
4154
4191
  formattedBridgingCost && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4155
- /* @__PURE__ */ jsx23("span", { children: "Bridging cost" }),
4192
+ /* @__PURE__ */ jsx24("span", { children: "Bridging cost" }),
4156
4193
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4157
4194
  /* @__PURE__ */ jsxs21("span", { children: [
4158
4195
  formattedBridgingCost,
4159
4196
  " ",
4160
4197
  sourceSymbol
4161
4198
  ] }),
4162
- sourceTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceTokenIcon, alt: "" }) })
4199
+ /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx24(TokenIcon, { symbol: sourceSymbol }) })
4163
4200
  ] })
4164
4201
  ] })
4165
4202
  ] }) : /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4166
- /* @__PURE__ */ jsx23("span", { children: isProcessing ? "You send" : "You sent" }),
4203
+ /* @__PURE__ */ jsx24("span", { children: isProcessing ? "You send" : "You sent" }),
4167
4204
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4168
4205
  /* @__PURE__ */ jsxs21("span", { children: [
4169
4206
  formattedSentAmount,
4170
4207
  " ",
4171
4208
  sourceSymbol
4172
4209
  ] }),
4173
- sourceTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: sourceTokenIcon, alt: "" }) })
4210
+ /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx24(TokenIcon, { symbol: sourceSymbol }) })
4174
4211
  ] })
4175
4212
  ] }),
4176
4213
  /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4177
- /* @__PURE__ */ jsx23("span", { children: isProcessing ? "Receive" : "Received" }),
4214
+ /* @__PURE__ */ jsx24("span", { children: isProcessing ? "Receive" : "Received" }),
4178
4215
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4179
- /* @__PURE__ */ jsx23("span", { children: receiveDisplay }),
4180
- targetTokenIcon && /* @__PURE__ */ jsx23("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx23("img", { src: targetTokenIcon, alt: "" }) })
4216
+ /* @__PURE__ */ jsx24("span", { children: receiveDisplay }),
4217
+ /* @__PURE__ */ jsx24("span", { className: "rs-review-detail-icon", children: /* @__PURE__ */ jsx24(TokenIcon, { symbol: targetSymbol }) })
4181
4218
  ] })
4182
4219
  ] }),
4183
4220
  isFailed && balanceAfterUsd !== void 0 && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4184
- /* @__PURE__ */ jsx23("span", { children: "Balance" }),
4221
+ /* @__PURE__ */ jsx24("span", { children: "Balance" }),
4185
4222
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4186
4223
  "$",
4187
4224
  balanceAfterUsd.toFixed(2)
4188
4225
  ] })
4189
4226
  ] }),
4190
4227
  isSwappedOrder ? quotedFeeAmount !== void 0 && /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4191
- /* @__PURE__ */ jsx23("span", { children: "Fees" }),
4228
+ /* @__PURE__ */ jsx24("span", { children: "Fees" }),
4192
4229
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4193
4230
  /* @__PURE__ */ jsxs21(
4194
4231
  "span",
@@ -4201,12 +4238,12 @@ function ProcessingStep({
4201
4238
  ]
4202
4239
  }
4203
4240
  ),
4204
- /* @__PURE__ */ jsx23(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx23(
4241
+ /* @__PURE__ */ jsx24(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx24(
4205
4242
  "span",
4206
4243
  {
4207
4244
  className: "rs-review-detail-info",
4208
4245
  "aria-label": "Fee info",
4209
- children: /* @__PURE__ */ jsx23(InfoIcon, {})
4246
+ children: /* @__PURE__ */ jsx24(InfoIcon, {})
4210
4247
  }
4211
4248
  ) })
4212
4249
  ] })
@@ -4214,7 +4251,7 @@ function ProcessingStep({
4214
4251
  const feeValue = quotedFeeAmount ?? formattedBridgingCost;
4215
4252
  if (feeValue === void 0) return null;
4216
4253
  return /* @__PURE__ */ jsxs21("div", { className: "rs-review-detail-row", children: [
4217
- /* @__PURE__ */ jsx23("span", { children: "Fees" }),
4254
+ /* @__PURE__ */ jsx24("span", { children: "Fees" }),
4218
4255
  /* @__PURE__ */ jsxs21("span", { className: "rs-review-detail-value", children: [
4219
4256
  /* @__PURE__ */ jsxs21(
4220
4257
  "span",
@@ -4227,20 +4264,20 @@ function ProcessingStep({
4227
4264
  ]
4228
4265
  }
4229
4266
  ),
4230
- /* @__PURE__ */ jsx23(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx23(
4267
+ /* @__PURE__ */ jsx24(Tooltip, { content: feeTooltip, children: /* @__PURE__ */ jsx24(
4231
4268
  "span",
4232
4269
  {
4233
4270
  className: "rs-review-detail-info",
4234
4271
  "aria-label": "Fee info",
4235
- children: /* @__PURE__ */ jsx23(InfoIcon, {})
4272
+ children: /* @__PURE__ */ jsx24(InfoIcon, {})
4236
4273
  }
4237
4274
  ) })
4238
4275
  ] })
4239
4276
  ] });
4240
4277
  })()
4241
4278
  ] }),
4242
- isFailed && failureMessage && /* @__PURE__ */ jsx23(Callout, { variant: "error", children: failureMessage }),
4243
- isProcessing && /* @__PURE__ */ jsx23(
4279
+ isFailed && failureMessage && /* @__PURE__ */ jsx24(Callout, { variant: "error", children: failureMessage }),
4280
+ isProcessing && /* @__PURE__ */ jsx24(
4244
4281
  Button,
4245
4282
  {
4246
4283
  fullWidth: true,
@@ -4255,14 +4292,14 @@ function ProcessingStep({
4255
4292
  "New ",
4256
4293
  flowNoun
4257
4294
  ] }),
4258
- onClose && /* @__PURE__ */ jsx23(Button, { onClick: onClose, fullWidth: true, children: "Done" })
4295
+ onClose && /* @__PURE__ */ jsx24(Button, { onClick: onClose, fullWidth: true, children: "Done" })
4259
4296
  ] }),
4260
4297
  isFailed && /* @__PURE__ */ jsxs21("div", { className: "rs-screen-button-row", children: [
4261
- onClose && /* @__PURE__ */ jsx23(Button, { variant: "outline", onClick: onClose, fullWidth: true, children: "Cancel" }),
4262
- handleRetry && /* @__PURE__ */ jsx23(Button, { onClick: handleRetry, fullWidth: true, children: "Try again" })
4298
+ onClose && /* @__PURE__ */ jsx24(Button, { variant: "outline", onClick: onClose, fullWidth: true, children: "Cancel" }),
4299
+ handleRetry && /* @__PURE__ */ jsx24(Button, { onClick: handleRetry, fullWidth: true, children: "Try again" })
4263
4300
  ] })
4264
4301
  ] }),
4265
- /* @__PURE__ */ jsx23(PoweredBy, {})
4302
+ /* @__PURE__ */ jsx24(PoweredBy, {})
4266
4303
  ] });
4267
4304
  }
4268
4305
 
@@ -4344,6 +4381,7 @@ export {
4344
4381
  ConnectStep,
4345
4382
  useLatestRef,
4346
4383
  Button,
4384
+ TokenIcon,
4347
4385
  debugLog,
4348
4386
  debugError,
4349
4387
  getAssetId,