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

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 (36) hide show
  1. package/dist/{DepositModalReown-3N7YYGB4.mjs → DepositModalReown-42D5V5II.mjs} +8 -5
  2. package/dist/{DepositModalReown-SBSP5ZW2.cjs → DepositModalReown-ABLVMYFL.cjs} +9 -6
  3. package/dist/{WithdrawModalReown-BB3MZAIO.mjs → WithdrawModalReown-EVHN5NOF.mjs} +3 -3
  4. package/dist/{WithdrawModalReown-4B6IMTBB.cjs → WithdrawModalReown-FJP3XTQ5.cjs} +4 -4
  5. package/dist/{chunk-QI6Q7V6O.mjs → chunk-3FHYC3K7.mjs} +26 -34
  6. package/dist/{chunk-EJH36TH2.mjs → chunk-44IFH7DZ.mjs} +1247 -916
  7. package/dist/{chunk-CTYKQ4B4.mjs → chunk-7VKAUBZ7.mjs} +201 -81
  8. package/dist/{chunk-BB6UVRAV.cjs → chunk-CPXERFGC.cjs} +110 -118
  9. package/dist/{chunk-DX2D2TRZ.cjs → chunk-ENMIKNXS.cjs} +241 -121
  10. package/dist/{chunk-UVIIWUWP.cjs → chunk-LEVCOJD6.cjs} +1193 -862
  11. package/dist/chunk-MHKHSCIA.cjs +554 -0
  12. package/dist/chunk-UCZXBHLH.mjs +554 -0
  13. package/dist/constants-DqVn968d.d.cts +52 -0
  14. package/dist/constants-DqVn968d.d.ts +52 -0
  15. package/dist/constants.cjs +8 -2
  16. package/dist/constants.d.cts +17 -48
  17. package/dist/constants.d.ts +17 -48
  18. package/dist/constants.mjs +7 -1
  19. package/dist/deposit.cjs +4 -4
  20. package/dist/deposit.d.cts +2 -2
  21. package/dist/deposit.d.ts +2 -2
  22. package/dist/deposit.mjs +3 -3
  23. package/dist/index.cjs +5 -5
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.mjs +4 -4
  27. package/dist/styles.css +180 -34
  28. package/dist/{types-xSHZSlrT.d.cts → types-D8Q4TMk7.d.cts} +17 -5
  29. package/dist/{types-xSHZSlrT.d.ts → types-D8Q4TMk7.d.ts} +17 -5
  30. package/dist/withdraw.cjs +4 -4
  31. package/dist/withdraw.d.cts +2 -2
  32. package/dist/withdraw.d.ts +2 -2
  33. package/dist/withdraw.mjs +3 -3
  34. package/package.json +1 -1
  35. package/dist/chunk-IVTXEYB2.cjs +0 -507
  36. package/dist/chunk-VA3ANS7D.mjs +0 -507
@@ -9,7 +9,9 @@
9
9
 
10
10
 
11
11
 
12
- var _chunkIVTXEYB2cjs = require('./chunk-IVTXEYB2.cjs');
12
+
13
+
14
+ var _chunkMHKHSCIAcjs = require('./chunk-MHKHSCIA.cjs');
13
15
 
14
16
  // src/components/ui/Modal.tsx
15
17
 
@@ -174,14 +176,14 @@ function TransferCryptoIcon() {
174
176
  {
175
177
  width: "24",
176
178
  height: "24",
177
- viewBox: "0 6 24 24",
179
+ viewBox: "8 8 24 24",
178
180
  fill: "none",
179
181
  xmlns: "http://www.w3.org/2000/svg",
180
182
  "aria-hidden": "true",
181
183
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
182
184
  "path",
183
185
  {
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",
186
+ d: "M26.0898 18.3701C27.0352 18.7225 27.8763 19.3076 28.5356 20.0713C29.1949 20.835 29.6509 21.7526 29.8616 22.7392C30.0723 23.7258 30.0307 24.7496 29.7409 25.716C29.451 26.6823 28.9222 27.5599 28.2033 28.2677C27.4844 28.9755 26.5986 29.4906 25.6278 29.7653C24.6571 30.0401 23.6327 30.0656 22.6495 29.8396C21.6663 29.6135 20.756 29.1432 20.0027 28.4721C19.2494 27.801 18.6775 26.9508 18.3398 26.0001M15 14H16V18M24.7098 21.8799L25.4098 22.5899L22.5898 25.4099M22 16C22 19.3137 19.3137 22 16 22C12.6863 22 10 19.3137 10 16C10 12.6863 12.6863 10 16 10C19.3137 10 22 12.6863 22 16Z",
185
187
  stroke: "currentColor",
186
188
  strokeWidth: "2",
187
189
  strokeLinecap: "round",
@@ -196,7 +198,6 @@ var ChevronLeftIcon = _lucidereact.ChevronLeft;
196
198
  var ChevronDownIcon = _lucidereact.ChevronDown;
197
199
  var CloseIcon = _lucidereact.X;
198
200
  var HandCoinsIcon = _lucidereact.HandCoins;
199
- var CoinsIcon = _lucidereact.Coins;
200
201
  var HistoryIcon = _lucidereact.History;
201
202
  var InfoIcon = _lucidereact.Info;
202
203
  var CopyIcon = _lucidereact.Copy;
@@ -266,6 +267,9 @@ var SOLANA_MAINNET_CAIP2 = `solana:${SOLANA_MAINNET_GENESIS}`;
266
267
  function toEvmCaip2(chainId) {
267
268
  return `eip155:${chainId}`;
268
269
  }
270
+ function targetChainToCaip2(targetChain) {
271
+ return targetChain === "solana" ? SOLANA_MAINNET_CAIP2 : toEvmCaip2(targetChain);
272
+ }
269
273
  function parseEvmChainId(value) {
270
274
  if (typeof value === "number" && Number.isFinite(value)) {
271
275
  return value;
@@ -512,9 +516,9 @@ function createDepositService(baseUrl, options) {
512
516
  error,
513
517
  { status: response.status, ownerAddress: params.ownerAddress }
514
518
  );
515
- throw new Error(
516
- error.error || `Setup account failed: ${response.status}`
517
- );
519
+ const detail = Array.isArray(error.details) ? error.details.map((d) => _optionalChain([d, 'optionalAccess', _6 => _6.message])).filter(Boolean).join("; ") : void 0;
520
+ const base = error.error || `Setup account failed: ${response.status}`;
521
+ throw new Error(detail ? `${base}: ${detail}` : base);
518
522
  }
519
523
  const normalized = normalizeSetupAccountResponse(await response.json());
520
524
  debugLog(debug, scope, "setupAccount:success", {
@@ -564,8 +568,8 @@ function createDepositService(baseUrl, options) {
564
568
  const result = await response.json();
565
569
  debugLog(debug, scope, "registerAccount:success", {
566
570
  address: params.address,
567
- evmDepositAddress: _optionalChain([result, 'optionalAccess', _6 => _6.evmDepositAddress]),
568
- hasSolanaDepositAddress: Boolean(_optionalChain([result, 'optionalAccess', _7 => _7.solanaDepositAddress]))
571
+ evmDepositAddress: _optionalChain([result, 'optionalAccess', _7 => _7.evmDepositAddress]),
572
+ hasSolanaDepositAddress: Boolean(_optionalChain([result, 'optionalAccess', _8 => _8.solanaDepositAddress]))
569
573
  });
570
574
  return result;
571
575
  },
@@ -667,9 +671,9 @@ function createDepositService(baseUrl, options) {
667
671
  }
668
672
  const data = await response.json();
669
673
  const result = {
670
- isRegistered: _optionalChain([data, 'optionalAccess', _8 => _8.isRegistered]) === true,
671
- targetChain: _optionalChain([data, 'optionalAccess', _9 => _9.targetChain]),
672
- targetToken: _optionalChain([data, 'optionalAccess', _10 => _10.targetToken])
674
+ isRegistered: _optionalChain([data, 'optionalAccess', _9 => _9.isRegistered]) === true,
675
+ targetChain: _optionalChain([data, 'optionalAccess', _10 => _10.targetChain]),
676
+ targetToken: _optionalChain([data, 'optionalAccess', _11 => _11.targetToken])
673
677
  };
674
678
  debugLog(debug, scope, "checkAccount:success", {
675
679
  address,
@@ -699,12 +703,12 @@ function createDepositService(baseUrl, options) {
699
703
  return { lastEvent: void 0 };
700
704
  }
701
705
  const body = await response.json();
702
- const row = _optionalChain([body, 'access', _11 => _11.deposits, 'optionalAccess', _12 => _12[0]]);
706
+ const row = _optionalChain([body, 'access', _12 => _12.deposits, 'optionalAccess', _13 => _13[0]]);
703
707
  const lastEvent = row ? depositRowToEvent(row) : void 0;
704
708
  debugLog(debug, scope, "fetchStatus:success", {
705
709
  address,
706
710
  txHash: shortRef(normalized),
707
- eventType: _optionalChain([lastEvent, 'optionalAccess', _13 => _13.type])
711
+ eventType: _optionalChain([lastEvent, 'optionalAccess', _14 => _14.type])
708
712
  });
709
713
  return { lastEvent };
710
714
  },
@@ -725,11 +729,11 @@ function createDepositService(baseUrl, options) {
725
729
  return { lastEvent: void 0 };
726
730
  }
727
731
  const body = await response.json();
728
- const row = _optionalChain([body, 'access', _14 => _14.deposits, 'optionalAccess', _15 => _15[0]]);
732
+ const row = _optionalChain([body, 'access', _15 => _15.deposits, 'optionalAccess', _16 => _16[0]]);
729
733
  const lastEvent = row ? depositRowToEvent(row) : void 0;
730
734
  debugLog(debug, scope, "fetchLatestStatus:success", {
731
735
  address,
732
- eventType: _optionalChain([lastEvent, 'optionalAccess', _16 => _16.type])
736
+ eventType: _optionalChain([lastEvent, 'optionalAccess', _17 => _17.type])
733
737
  });
734
738
  return { lastEvent };
735
739
  },
@@ -791,7 +795,47 @@ function createDepositService(baseUrl, options) {
791
795
  smartAccount,
792
796
  chainId,
793
797
  safeAddress,
794
- txHash: _optionalChain([result, 'optionalAccess', _17 => _17.txHash]) ? shortRef(result.txHash) : void 0
798
+ txHash: _optionalChain([result, 'optionalAccess', _18 => _18.txHash]) ? shortRef(result.txHash) : void 0
799
+ });
800
+ return result;
801
+ },
802
+ async submitPolymarketWithdraw(params) {
803
+ const { depositWallet, owner, nonce, deadline, calls, signature } = params;
804
+ const url = apiUrl(`/polymarket/withdraw`);
805
+ debugLog(debug, scope, "submitPolymarketWithdraw:request", {
806
+ url,
807
+ depositWallet,
808
+ owner,
809
+ nonce,
810
+ callCount: calls.length
811
+ });
812
+ const response = await fetch(url, {
813
+ method: "POST",
814
+ headers: { "Content-Type": "application/json" },
815
+ body: JSON.stringify({
816
+ depositWallet,
817
+ owner,
818
+ nonce,
819
+ deadline,
820
+ calls,
821
+ signature
822
+ })
823
+ });
824
+ if (!response.ok) {
825
+ const error = await response.json().catch(() => ({ error: "Unknown error" }));
826
+ debugError(debug, scope, "submitPolymarketWithdraw:failed", error, {
827
+ status: response.status,
828
+ depositWallet,
829
+ owner
830
+ });
831
+ throw new Error(
832
+ error.error || `Polymarket withdraw failed: ${response.status}`
833
+ );
834
+ }
835
+ const result = await response.json();
836
+ debugLog(debug, scope, "submitPolymarketWithdraw:success", {
837
+ depositWallet,
838
+ txHash: _optionalChain([result, 'optionalAccess', _19 => _19.txHash]) ? shortRef(result.txHash) : void 0
795
839
  });
796
840
  return result;
797
841
  },
@@ -826,8 +870,8 @@ function createDepositService(baseUrl, options) {
826
870
  );
827
871
  }
828
872
  const data = await response.json();
829
- const deposits = Array.isArray(_optionalChain([data, 'optionalAccess', _18 => _18.deposits])) ? data.deposits : [];
830
- const nextCursor = _nullishCoalesce(_nullishCoalesce(_optionalChain([data, 'optionalAccess', _19 => _19.nextCursor]), () => ( _optionalChain([data, 'optionalAccess', _20 => _20.next_cursor]))), () => ( null));
873
+ const deposits = Array.isArray(_optionalChain([data, 'optionalAccess', _20 => _20.deposits])) ? data.deposits : [];
874
+ const nextCursor = _nullishCoalesce(_nullishCoalesce(_optionalChain([data, 'optionalAccess', _21 => _21.nextCursor]), () => ( _optionalChain([data, 'optionalAccess', _22 => _22.next_cursor]))), () => ( null));
831
875
  debugLog(debug, scope, "fetchDepositHistory:success", {
832
876
  recipient: shortRef(params.recipient),
833
877
  count: deposits.length,
@@ -836,6 +880,16 @@ function createDepositService(baseUrl, options) {
836
880
  return { deposits, nextCursor };
837
881
  },
838
882
  async checkLiquidity(params) {
883
+ if (params.destinationChainId === "solana") {
884
+ const token = _chunkMHKHSCIAcjs.getSolanaTokenByMint.call(void 0, params.destinationToken);
885
+ return {
886
+ hasLiquidity: true,
887
+ symbol: _nullishCoalesce(_optionalChain([token, 'optionalAccess', _23 => _23.symbol]), () => ( "Token")),
888
+ decimals: _nullishCoalesce(_optionalChain([token, 'optionalAccess', _24 => _24.decimals]), () => ( 9)),
889
+ unlimited: true,
890
+ maxAmount: null
891
+ };
892
+ }
839
893
  const searchParams = new URLSearchParams({
840
894
  sourceChainId: String(params.sourceChainId),
841
895
  sourceToken: params.sourceToken,
@@ -878,21 +932,51 @@ function createDepositService(baseUrl, options) {
878
932
  maxAmount: result.maxAmount
879
933
  });
880
934
  return result;
935
+ },
936
+ async fetchPrices(symbols) {
937
+ const list = symbols.filter((s) => s.length > 0);
938
+ if (list.length === 0) return {};
939
+ const url = apiUrl(
940
+ `/prices?${new URLSearchParams({ symbols: list.join(",") }).toString()}`
941
+ );
942
+ try {
943
+ const response = await fetch(url, {
944
+ method: "GET",
945
+ headers: { "Content-Type": "application/json" },
946
+ cache: "no-store"
947
+ });
948
+ if (!response.ok) {
949
+ debugError(debug, scope, "fetchPrices:failed", {
950
+ status: response.status
951
+ });
952
+ return {};
953
+ }
954
+ const data = await response.json();
955
+ return Object.fromEntries(
956
+ Object.entries(_nullishCoalesce(data.prices, () => ( {}))).map(([symbol, price]) => [
957
+ symbol.toUpperCase(),
958
+ price
959
+ ])
960
+ );
961
+ } catch (err) {
962
+ debugError(debug, scope, "fetchPrices:error", err);
963
+ return {};
964
+ }
881
965
  }
882
966
  };
883
967
  }
884
968
  function normalizeDirectPortfolio(data) {
885
969
  const rawTokens = _nullishCoalesce(_nullishCoalesce(extractArray(data, "tokens"), () => ( extractArray(
886
- _optionalChain([data, 'optionalAccess', _21 => _21.data]),
970
+ _optionalChain([data, 'optionalAccess', _25 => _25.data]),
887
971
  "tokens"
888
972
  ))), () => ( []));
889
- const totalUsd = _nullishCoalesce(_nullishCoalesce(extractNumber(data, "totalUsd"), () => ( extractNumber(_optionalChain([data, 'optionalAccess', _22 => _22.data]), "totalUsd"))), () => ( 0));
973
+ const totalUsd = _nullishCoalesce(_nullishCoalesce(extractNumber(data, "totalUsd"), () => ( extractNumber(_optionalChain([data, 'optionalAccess', _26 => _26.data]), "totalUsd"))), () => ( 0));
890
974
  const tokens = rawTokens.map((token) => normalizeDirectToken(token)).filter((token) => Boolean(token));
891
975
  return { tokens, totalUsd };
892
976
  }
893
977
  function extractOrchestratorPortfolio(data) {
894
978
  const portfolio = _nullishCoalesce(extractArray(data, "portfolio"), () => ( extractArray(
895
- _optionalChain([data, 'optionalAccess', _23 => _23.data]),
979
+ _optionalChain([data, 'optionalAccess', _27 => _27.data]),
896
980
  "portfolio"
897
981
  )));
898
982
  if (!portfolio || !Array.isArray(portfolio)) return null;
@@ -903,17 +987,17 @@ function normalizeOrchestratorPortfolio(data) {
903
987
  for (const tokenData of data.portfolio || []) {
904
988
  const chainBalances = _nullishCoalesce(_nullishCoalesce(tokenData.tokenChainBalance, () => ( tokenData.chainBalances)), () => ( []));
905
989
  for (const chainBalance of chainBalances) {
906
- const unlocked = _nullishCoalesce(_optionalChain([chainBalance, 'access', _24 => _24.balance, 'optionalAccess', _25 => _25.unlocked]), () => ( "0"));
990
+ const unlocked = _nullishCoalesce(_optionalChain([chainBalance, 'access', _28 => _28.balance, 'optionalAccess', _29 => _29.unlocked]), () => ( "0"));
907
991
  const normalizedName = tokenData.tokenName.trim();
908
992
  const isNativeSymbol = normalizedName.toUpperCase() === "ETH" || normalizedName.toUpperCase() === "ETHER";
909
- const tokenAddress = _nullishCoalesce(_nullishCoalesce(chainBalance.tokenAddress, () => ( extractTokenAddress(tokenData, chainBalance.chainId))), () => ( _chunkIVTXEYB2cjs.getTokenAddress.call(void 0, tokenData.tokenName, chainBalance.chainId)));
910
- const resolvedTokenAddress = isNativeSymbol ? _chunkIVTXEYB2cjs.NATIVE_TOKEN_ADDRESS : tokenAddress;
993
+ const tokenAddress = _nullishCoalesce(_nullishCoalesce(chainBalance.tokenAddress, () => ( extractTokenAddress(tokenData, chainBalance.chainId))), () => ( _chunkMHKHSCIAcjs.getTokenAddress.call(void 0, tokenData.tokenName, chainBalance.chainId)));
994
+ const resolvedTokenAddress = isNativeSymbol ? _chunkMHKHSCIAcjs.NATIVE_TOKEN_ADDRESS : tokenAddress;
911
995
  if (!resolvedTokenAddress) {
912
996
  continue;
913
997
  }
914
- const registrySymbol = _chunkIVTXEYB2cjs.getTokenSymbol.call(void 0, resolvedTokenAddress, chainBalance.chainId);
998
+ const registrySymbol = _chunkMHKHSCIAcjs.getTokenSymbol.call(void 0, resolvedTokenAddress, chainBalance.chainId);
915
999
  const symbol = registrySymbol !== "Token" ? registrySymbol : normalizedName || "Token";
916
- const decimals = registrySymbol !== "Token" ? _chunkIVTXEYB2cjs.getTokenDecimalsByAddress.call(void 0, resolvedTokenAddress, chainBalance.chainId) : _nullishCoalesce(tokenData.tokenDecimals, () => ( 18));
1000
+ const decimals = registrySymbol !== "Token" ? _chunkMHKHSCIAcjs.getTokenDecimalsByAddress.call(void 0, resolvedTokenAddress, chainBalance.chainId) : _nullishCoalesce(tokenData.tokenDecimals, () => ( 18));
917
1001
  tokens.push({
918
1002
  chainId: chainBalance.chainId,
919
1003
  address: resolvedTokenAddress,
@@ -937,19 +1021,19 @@ function normalizeDirectToken(token) {
937
1021
  if (chainId === null) return null;
938
1022
  const symbol = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "symbol"), () => ( extractString(token, "tokenSymbol"))), () => ( extractString(token, "tokenName"))), () => ( extractString(token, "name")));
939
1023
  if (!symbol) return null;
940
- const balanceValue = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "balance"), () => ( extractString(token, "amount"))), () => ( extractString(token, "value"))), () => ( extractString(token, "rawBalance"))), () => ( _optionalChain([extractNumber, 'call', _26 => _26(token, "balance"), 'optionalAccess', _27 => _27.toString, 'call', _28 => _28()]))), () => ( _optionalChain([extractNumber, 'call', _29 => _29(token, "amount"), 'optionalAccess', _30 => _30.toString, 'call', _31 => _31()]))), () => ( _optionalChain([extractNumber, 'call', _32 => _32(token, "value"), 'optionalAccess', _33 => _33.toString, 'call', _34 => _34()]))), () => ( _optionalChain([extractNumber, 'call', _35 => _35(token, "rawBalance"), 'optionalAccess', _36 => _36.toString, 'call', _37 => _37()])));
1024
+ const balanceValue = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "balance"), () => ( extractString(token, "amount"))), () => ( extractString(token, "value"))), () => ( extractString(token, "rawBalance"))), () => ( _optionalChain([extractNumber, 'call', _30 => _30(token, "balance"), 'optionalAccess', _31 => _31.toString, 'call', _32 => _32()]))), () => ( _optionalChain([extractNumber, 'call', _33 => _33(token, "amount"), 'optionalAccess', _34 => _34.toString, 'call', _35 => _35()]))), () => ( _optionalChain([extractNumber, 'call', _36 => _36(token, "value"), 'optionalAccess', _37 => _37.toString, 'call', _38 => _38()]))), () => ( _optionalChain([extractNumber, 'call', _39 => _39(token, "rawBalance"), 'optionalAccess', _40 => _40.toString, 'call', _41 => _41()])));
941
1025
  if (!balanceValue) return null;
942
1026
  const address = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractString(token, "address"), () => ( extractString(token, "tokenAddress"))), () => ( extractString(
943
1027
  token.token,
944
1028
  "address"
945
- ))), () => ( (typeof chainId === "number" ? _chunkIVTXEYB2cjs.getTokenAddress.call(void 0, symbol, chainId) : void 0)));
1029
+ ))), () => ( (typeof chainId === "number" ? _chunkMHKHSCIAcjs.getTokenAddress.call(void 0, symbol, chainId) : void 0)));
946
1030
  if (!address) return null;
947
1031
  const balanceUsd = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(extractNumber(token, "balanceUsd"), () => ( extractNumber(token, "usdValue"))), () => ( extractNumber(token, "valueUsd"))), () => ( extractNumericString(token, "balanceUsd"))), () => ( extractNumericString(token, "usdValue"))), () => ( extractNumericString(token, "valueUsd"))), () => ( 0));
948
1032
  const isSolanaToken = chainId === "solana";
949
- const registrySymbol = isSolanaToken ? "Token" : _chunkIVTXEYB2cjs.getTokenSymbol.call(void 0, address, chainId);
1033
+ const registrySymbol = isSolanaToken ? "Token" : _chunkMHKHSCIAcjs.getTokenSymbol.call(void 0, address, chainId);
950
1034
  const resolvedSymbol = isSolanaToken ? symbol : registrySymbol !== "Token" ? registrySymbol : symbol;
951
1035
  const backendDecimals = _nullishCoalesce(extractNumber(token, "decimals"), () => ( extractNumber(token, "tokenDecimals")));
952
- const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? _chunkIVTXEYB2cjs.getTokenDecimalsByAddress.call(void 0, address, chainId) : _nullishCoalesce(backendDecimals, () => ( 18));
1036
+ const resolvedDecimals = !isSolanaToken && registrySymbol !== "Token" ? _chunkMHKHSCIAcjs.getTokenDecimalsByAddress.call(void 0, address, chainId) : _nullishCoalesce(backendDecimals, () => ( 18));
953
1037
  return {
954
1038
  chainId,
955
1039
  address,
@@ -962,7 +1046,7 @@ function normalizeDirectToken(token) {
962
1046
  }
963
1047
  function extractTokenAddress(tokenData, chainId) {
964
1048
  const token = tokenData;
965
- return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(token.tokenAddress, () => ( token.address)), () => ( _optionalChain([token, 'access', _38 => _38.addresses, 'optionalAccess', _39 => _39[chainId]]))), () => ( _optionalChain([token, 'access', _40 => _40.token, 'optionalAccess', _41 => _41.address]))), () => ( _optionalChain([token, 'access', _42 => _42.token, 'optionalAccess', _43 => _43.addresses, 'optionalAccess', _44 => _44[chainId]])));
1049
+ return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(token.tokenAddress, () => ( token.address)), () => ( _optionalChain([token, 'access', _42 => _42.addresses, 'optionalAccess', _43 => _43[chainId]]))), () => ( _optionalChain([token, 'access', _44 => _44.token, 'optionalAccess', _45 => _45.address]))), () => ( _optionalChain([token, 'access', _46 => _46.token, 'optionalAccess', _47 => _47.addresses, 'optionalAccess', _48 => _48[chainId]])));
966
1050
  }
967
1051
  function extractArray(data, key) {
968
1052
  if (!data || typeof data !== "object") return null;
@@ -1101,19 +1185,19 @@ var CUSTOM_PRIMARY_VARS = [
1101
1185
  function applyTheme(element, theme) {
1102
1186
  if (!element) return;
1103
1187
  const parent = element.parentElement;
1104
- const targets = _optionalChain([parent, 'optionalAccess', _45 => _45.classList, 'access', _46 => _46.contains, 'call', _47 => _47("rs-modal-content")]) ? [element, parent] : [element];
1105
- if (_optionalChain([theme, 'optionalAccess', _48 => _48.mode])) {
1188
+ const targets = _optionalChain([parent, 'optionalAccess', _49 => _49.classList, 'access', _50 => _50.contains, 'call', _51 => _51("rs-modal-content")]) ? [element, parent] : [element];
1189
+ if (_optionalChain([theme, 'optionalAccess', _52 => _52.mode])) {
1106
1190
  for (const t of targets) t.setAttribute("data-theme", theme.mode);
1107
1191
  } else {
1108
1192
  for (const t of targets) t.removeAttribute("data-theme");
1109
1193
  }
1110
- if (_optionalChain([theme, 'optionalAccess', _49 => _49.fontColor])) {
1194
+ if (_optionalChain([theme, 'optionalAccess', _53 => _53.fontColor])) {
1111
1195
  setVar(targets, "--rs-foreground", theme.fontColor);
1112
1196
  }
1113
- if (_optionalChain([theme, 'optionalAccess', _50 => _50.iconColor])) {
1197
+ if (_optionalChain([theme, 'optionalAccess', _54 => _54.iconColor])) {
1114
1198
  setVar(targets, "--rs-icon", theme.iconColor);
1115
1199
  }
1116
- if (_optionalChain([theme, 'optionalAccess', _51 => _51.ctaColor])) {
1200
+ if (_optionalChain([theme, 'optionalAccess', _55 => _55.ctaColor])) {
1117
1201
  const derived = deriveCustomPrimary(theme.ctaColor);
1118
1202
  if (derived) {
1119
1203
  setVar(targets, "--rs-primary", derived.base);
@@ -1138,18 +1222,18 @@ function applyTheme(element, theme) {
1138
1222
  }
1139
1223
  } else {
1140
1224
  for (const v of CUSTOM_PRIMARY_VARS) clearVar(targets, v);
1141
- if (_optionalChain([theme, 'optionalAccess', _52 => _52.ctaHoverColor])) {
1225
+ if (_optionalChain([theme, 'optionalAccess', _56 => _56.ctaHoverColor])) {
1142
1226
  setVar(targets, "--rs-primary-hover", theme.ctaHoverColor);
1143
1227
  }
1144
1228
  }
1145
- if (_optionalChain([theme, 'optionalAccess', _53 => _53.borderColor])) {
1229
+ if (_optionalChain([theme, 'optionalAccess', _57 => _57.borderColor])) {
1146
1230
  setVar(targets, "--rs-border", theme.borderColor);
1147
1231
  setVar(targets, "--rs-border-surface", theme.borderColor);
1148
1232
  }
1149
- if (_optionalChain([theme, 'optionalAccess', _54 => _54.backgroundColor])) {
1233
+ if (_optionalChain([theme, 'optionalAccess', _58 => _58.backgroundColor])) {
1150
1234
  setVar(targets, "--rs-background", theme.backgroundColor);
1151
1235
  }
1152
- if (_optionalChain([theme, 'optionalAccess', _55 => _55.radius])) {
1236
+ if (_optionalChain([theme, 'optionalAccess', _59 => _59.radius])) {
1153
1237
  const scale = RADIUS_SCALE[theme.radius];
1154
1238
  setVar(targets, "--rs-radius-sm", scale.sm);
1155
1239
  setVar(targets, "--rs-radius-md", scale.md);
@@ -1325,7 +1409,7 @@ function ListRow({
1325
1409
  if (disabled) return;
1326
1410
  if (e.key === "Enter" || e.key === " ") {
1327
1411
  e.preventDefault();
1328
- _optionalChain([onClick, 'optionalCall', _56 => _56(e)]);
1412
+ _optionalChain([onClick, 'optionalCall', _60 => _60(e)]);
1329
1413
  }
1330
1414
  };
1331
1415
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1335,7 +1419,7 @@ function ListRow({
1335
1419
  role: "button",
1336
1420
  tabIndex: disabled ? -1 : 0,
1337
1421
  "aria-disabled": disabled || void 0,
1338
- onClick: disabled ? void 0 : (e) => _optionalChain([onClick, 'optionalCall', _57 => _57(e)]),
1422
+ onClick: disabled ? void 0 : (e) => _optionalChain([onClick, 'optionalCall', _61 => _61(e)]),
1339
1423
  onKeyDown: handleKey,
1340
1424
  children: inner
1341
1425
  }
@@ -1630,8 +1714,8 @@ function ConnectStep({
1630
1714
  const hasReownWallet = rows.some(
1631
1715
  (row) => row.kind === "external" || row.kind === "solana"
1632
1716
  );
1633
- const showDappImports = hasReownWallet && (_nullishCoalesce(_optionalChain([dappImports, 'optionalAccess', _58 => _58.length]), () => ( 0))) > 0;
1634
- const extraChainCount = Math.max(0, _chunkIVTXEYB2cjs.getSupportedChainIds.call(void 0, ).length - 3);
1717
+ const showDappImports = hasReownWallet && (_nullishCoalesce(_optionalChain([dappImports, 'optionalAccess', _62 => _62.length]), () => ( 0))) > 0;
1718
+ const extraChainCount = Math.max(0, _chunkMHKHSCIAcjs.getSupportedChainIds.call(void 0, ).length - 3);
1635
1719
  const chainBadge2 = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1636
1720
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChainBadgeIcons, {}),
1637
1721
  extraChainCount > 0 ? `+${extraChainCount} chains` : "All chains"
@@ -1663,14 +1747,14 @@ function ConnectStep({
1663
1747
  rows.map((row) => {
1664
1748
  const collapseToExternal = Boolean(onSelectTransferCrypto) && row.kind !== "solana";
1665
1749
  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";
1750
+ const showInlineDisconnect = Boolean(onSelectTransferCrypto) && Boolean(onDisconnect) && row.state !== "loading";
1667
1751
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1668
1752
  ListRow,
1669
1753
  {
1670
1754
  leading: renderWalletLeading(row),
1671
1755
  title: collapseToExternal ? "External wallet" : row.label,
1672
1756
  subtitle: subtitleText,
1673
- onClick: () => _optionalChain([onConfirmWallet, 'optionalCall', _59 => _59(row.id)]),
1757
+ onClick: () => _optionalChain([onConfirmWallet, 'optionalCall', _63 => _63(row.id)]),
1674
1758
  disabled: row.state === "loading",
1675
1759
  trailing: renderRowTrailing(row.state),
1676
1760
  action: showInlineDisconnect && onDisconnect ? { label: "Disconnect", onClick: onDisconnect } : void 0
@@ -1691,7 +1775,7 @@ function ConnectStep({
1691
1775
  onClick: handleConnect
1692
1776
  }
1693
1777
  ),
1694
- showDappImports && _optionalChain([dappImports, 'optionalAccess', _60 => _60.map, 'call', _61 => _61((row) => {
1778
+ showDappImports && _optionalChain([dappImports, 'optionalAccess', _64 => _64.map, 'call', _65 => _65((row) => {
1695
1779
  if (row.status === "loading") {
1696
1780
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1697
1781
  ListRow,
@@ -1712,7 +1796,7 @@ function ConnectStep({
1712
1796
  leading: row.icon,
1713
1797
  title: row.label,
1714
1798
  subtitle: formatBalanceUsd(row.status.balanceUsd),
1715
- onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _62 => _62(row.id)])
1799
+ onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _66 => _66(row.id)])
1716
1800
  },
1717
1801
  row.id
1718
1802
  );
@@ -1724,7 +1808,7 @@ function ConnectStep({
1724
1808
  leading: row.icon,
1725
1809
  title: row.label,
1726
1810
  subtitle: row.status.reason,
1727
- onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _63 => _63(row.id)])
1811
+ onClick: () => _optionalChain([onSelectDappImport, 'optionalCall', _67 => _67(row.id)])
1728
1812
  },
1729
1813
  row.id
1730
1814
  );
@@ -1754,7 +1838,8 @@ var currencyFormatter = new Intl.NumberFormat("en-US", {
1754
1838
  maximumFractionDigits: 2
1755
1839
  });
1756
1840
  var tokenFormatter = new Intl.NumberFormat("en-US", {
1757
- maximumFractionDigits: 6
1841
+ minimumFractionDigits: 2,
1842
+ maximumFractionDigits: 5
1758
1843
  });
1759
1844
  function formatUserError(raw) {
1760
1845
  const lower = raw.toLowerCase();
@@ -1885,8 +1970,8 @@ function Tooltip({ content, children, className }) {
1885
1970
  function handleOutside(event) {
1886
1971
  const target = event.target;
1887
1972
  if (!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;
1973
+ if (_optionalChain([triggerRef, 'access', _68 => _68.current, 'optionalAccess', _69 => _69.contains, 'call', _70 => _70(target)])) return;
1974
+ if (_optionalChain([bubbleRef, 'access', _71 => _71.current, 'optionalAccess', _72 => _72.contains, 'call', _73 => _73(target)])) return;
1890
1975
  setOpen(false);
1891
1976
  }
1892
1977
  function handleKey(event) {
@@ -1953,6 +2038,46 @@ function Tooltip({ content, children, className }) {
1953
2038
  }
1954
2039
  Tooltip.displayName = "Tooltip";
1955
2040
 
2041
+ // src/components/ui/Callout.tsx
2042
+
2043
+ function CircleAlertIcon() {
2044
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2045
+ "svg",
2046
+ {
2047
+ width: "16",
2048
+ height: "16",
2049
+ viewBox: "0 0 16 16",
2050
+ fill: "none",
2051
+ xmlns: "http://www.w3.org/2000/svg",
2052
+ "aria-hidden": "true",
2053
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2054
+ "path",
2055
+ {
2056
+ d: "M10 5.99992L6 9.99992M6 5.99992L10 9.99992M14.6667 7.99992C14.6667 11.6818 11.6819 14.6666 8 14.6666C4.3181 14.6666 1.33333 11.6818 1.33333 7.99992C1.33333 4.31802 4.3181 1.33325 8 1.33325C11.6819 1.33325 14.6667 4.31802 14.6667 7.99992Z",
2057
+ stroke: "currentColor",
2058
+ strokeWidth: "1.33333",
2059
+ strokeLinecap: "round",
2060
+ strokeLinejoin: "round"
2061
+ }
2062
+ )
2063
+ }
2064
+ );
2065
+ }
2066
+ function Callout({ variant = "error", children, role }) {
2067
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2068
+ "div",
2069
+ {
2070
+ className: `rs-callout rs-callout--${variant}`,
2071
+ role: _nullishCoalesce(role, () => ( (variant === "error" ? "alert" : "status"))),
2072
+ children: [
2073
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-callout-icon", children: variant === "error" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CircleAlertIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertTriangleIcon, {}) }),
2074
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "rs-callout-text", children })
2075
+ ]
2076
+ }
2077
+ );
2078
+ }
2079
+ Callout.displayName = "Callout";
2080
+
1956
2081
  // src/core/webhook.ts
1957
2082
  function isRecord(value) {
1958
2083
  return typeof value === "object" && value !== null;
@@ -1966,7 +2091,7 @@ function asNumber(value) {
1966
2091
  const trimmed = value.trim();
1967
2092
  if (!trimmed) return void 0;
1968
2093
  const caipMatch = trimmed.match(/^eip155:(\d+)$/);
1969
- if (_optionalChain([caipMatch, 'optionalAccess', _70 => _70[1]])) {
2094
+ if (_optionalChain([caipMatch, 'optionalAccess', _74 => _74[1]])) {
1970
2095
  const parsed2 = Number(caipMatch[1]);
1971
2096
  return Number.isFinite(parsed2) ? parsed2 : void 0;
1972
2097
  }
@@ -1985,28 +2110,28 @@ function asAddress(value) {
1985
2110
  return /^0x[a-fA-F0-9]{40}$/.test(value) ? value : void 0;
1986
2111
  }
1987
2112
  function getEventTxHash(event) {
1988
- if (!_optionalChain([event, 'optionalAccess', _71 => _71.type])) return void 0;
2113
+ if (!_optionalChain([event, 'optionalAccess', _75 => _75.type])) return void 0;
1989
2114
  if (event.type === "deposit-received") {
1990
- return asString(_optionalChain([event, 'access', _72 => _72.data, 'optionalAccess', _73 => _73.transactionHash]));
2115
+ return asString(_optionalChain([event, 'access', _76 => _76.data, 'optionalAccess', _77 => _77.transactionHash]));
1991
2116
  }
1992
2117
  if (event.type === "bridge-started" || event.type === "bridge-complete") {
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]))));
2118
+ const deposit = isRecord(_optionalChain([event, 'access', _78 => _78.data, 'optionalAccess', _79 => _79.deposit])) ? event.data.deposit : void 0;
2119
+ const source = isRecord(_optionalChain([event, 'access', _80 => _80.data, 'optionalAccess', _81 => _81.source])) ? event.data.source : void 0;
2120
+ return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _82 => _82.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _83 => _83.transactionHash]))));
1996
2121
  }
1997
2122
  if (event.type === "bridge-failed" || event.type === "error") {
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]))));
2123
+ const deposit = isRecord(_optionalChain([event, 'access', _84 => _84.data, 'optionalAccess', _85 => _85.deposit])) ? event.data.deposit : void 0;
2124
+ const source = isRecord(_optionalChain([event, 'access', _86 => _86.data, 'optionalAccess', _87 => _87.source])) ? event.data.source : void 0;
2125
+ return _nullishCoalesce(asString(_optionalChain([deposit, 'optionalAccess', _88 => _88.transactionHash])), () => ( asString(_optionalChain([source, 'optionalAccess', _89 => _89.transactionHash]))));
2001
2126
  }
2002
2127
  if (event.type === "post-bridge-swap-complete" || event.type === "post-bridge-swap-failed") {
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]));
2128
+ const deposit = isRecord(_optionalChain([event, 'access', _90 => _90.data, 'optionalAccess', _91 => _91.deposit])) ? event.data.deposit : void 0;
2129
+ return asString(_optionalChain([deposit, 'optionalAccess', _92 => _92.transactionHash]));
2005
2130
  }
2006
2131
  return void 0;
2007
2132
  }
2008
2133
  function getEventSourceDetails(event) {
2009
- if (!_optionalChain([event, 'optionalAccess', _89 => _89.type]) || !isRecord(event.data)) return {};
2134
+ if (!_optionalChain([event, 'optionalAccess', _93 => _93.type]) || !isRecord(event.data)) return {};
2010
2135
  if (event.type === "deposit-received") {
2011
2136
  return {
2012
2137
  chainId: asNumber(event.data.chain),
@@ -2018,15 +2143,15 @@ function getEventSourceDetails(event) {
2018
2143
  const deposit = isRecord(event.data.deposit) ? event.data.deposit : void 0;
2019
2144
  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") {
2020
2145
  return {
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]))))
2146
+ chainId: _nullishCoalesce(asNumber(_optionalChain([source, 'optionalAccess', _94 => _94.chain])), () => ( asNumber(_optionalChain([deposit, 'optionalAccess', _95 => _95.chain])))),
2147
+ amount: _nullishCoalesce(asAmount(_optionalChain([source, 'optionalAccess', _96 => _96.amount])), () => ( asAmount(_optionalChain([deposit, 'optionalAccess', _97 => _97.amount])))),
2148
+ token: _nullishCoalesce(_nullishCoalesce(asAddress(_optionalChain([source, 'optionalAccess', _98 => _98.asset])), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _99 => _99.asset])))), () => ( asAddress(_optionalChain([deposit, 'optionalAccess', _100 => _100.token]))))
2024
2149
  };
2025
2150
  }
2026
2151
  return {};
2027
2152
  }
2028
2153
  function isDepositEvent(event) {
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";
2154
+ return _optionalChain([event, 'optionalAccess', _101 => _101.type]) === "deposit-received" || _optionalChain([event, 'optionalAccess', _102 => _102.type]) === "bridge-started" || _optionalChain([event, 'optionalAccess', _103 => _103.type]) === "bridge-complete" || _optionalChain([event, 'optionalAccess', _104 => _104.type]) === "bridge-failed" || _optionalChain([event, 'optionalAccess', _105 => _105.type]) === "post-bridge-swap-complete" || _optionalChain([event, 'optionalAccess', _106 => _106.type]) === "post-bridge-swap-failed" || _optionalChain([event, 'optionalAccess', _107 => _107.type]) === "error";
2030
2155
  }
2031
2156
  function isHexString(value) {
2032
2157
  return value.startsWith("0x") || value.startsWith("0X");
@@ -2138,7 +2263,7 @@ function isEventForTx(event, txHash) {
2138
2263
  return txRefsMatch(eventTxHash, txHash);
2139
2264
  }
2140
2265
  function formatBridgeFailedMessage(event) {
2141
- const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _104 => _104.data]), () => ( {}));
2266
+ const eventData = _nullishCoalesce(_optionalChain([event, 'optionalAccess', _108 => _108.data]), () => ( {}));
2142
2267
  const code = typeof eventData.errorCode === "string" ? eventData.errorCode : void 0;
2143
2268
  const backendMessage = typeof eventData.message === "string" ? eventData.message.trim() : "";
2144
2269
  function toUserFacingFailure(raw) {
@@ -2170,12 +2295,12 @@ function formatBridgeFailedMessage(event) {
2170
2295
  return { message: "Bridge failed" };
2171
2296
  }
2172
2297
  function parseWebhookTimestamp(event) {
2173
- if (typeof _optionalChain([event, 'optionalAccess', _105 => _105.time]) !== "string") return void 0;
2298
+ if (typeof _optionalChain([event, 'optionalAccess', _109 => _109.time]) !== "string") return void 0;
2174
2299
  const timestamp = Date.parse(event.time);
2175
2300
  return Number.isFinite(timestamp) ? timestamp : void 0;
2176
2301
  }
2177
2302
  function syncPhaseTimings(previous, event) {
2178
- if (!_optionalChain([event, 'optionalAccess', _106 => _106.type])) return previous;
2303
+ if (!_optionalChain([event, 'optionalAccess', _110 => _110.type])) return previous;
2179
2304
  const timestamp = _nullishCoalesce(parseWebhookTimestamp(event), () => ( Date.now()));
2180
2305
  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;
2181
2306
  const setBridging = (event.type === "bridge-started" || event.type === "bridge-complete" || event.type === "post-bridge-swap-complete") && previous.bridgingAt === void 0;
@@ -2216,9 +2341,9 @@ function getCurrentPhaseId(state, phaseTimings, isEarlyComplete) {
2216
2341
  if (state.type === "complete") {
2217
2342
  return void 0;
2218
2343
  }
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")
2344
+ if (_optionalChain([state, 'access', _111 => _111.lastEvent, 'optionalAccess', _112 => _112.type]) === "bridge-started" || _optionalChain([state, 'access', _113 => _113.lastEvent, 'optionalAccess', _114 => _114.type]) === "bridge-complete")
2220
2345
  return "bridging";
2221
- if (_optionalChain([state, 'access', _111 => _111.lastEvent, 'optionalAccess', _112 => _112.type]) === "deposit-received") return "received";
2346
+ if (_optionalChain([state, 'access', _115 => _115.lastEvent, 'optionalAccess', _116 => _116.type]) === "deposit-received") return "received";
2222
2347
  return "confirming";
2223
2348
  }
2224
2349
  function ProcessingStep({
@@ -2292,7 +2417,7 @@ function ProcessingStep({
2292
2417
  flowLabel
2293
2418
  });
2294
2419
  const context = processingContextRef.current;
2295
- _optionalChain([onDepositCompleteRef, 'access', _113 => _113.current, 'optionalCall', _114 => _114(txHash, void 0, {
2420
+ _optionalChain([onDepositCompleteRef, 'access', _117 => _117.current, 'optionalCall', _118 => _118(txHash, void 0, {
2296
2421
  amount: context.amount,
2297
2422
  sourceChain: context.sourceChain,
2298
2423
  sourceToken: context.sourceToken,
@@ -2329,7 +2454,7 @@ function ProcessingStep({
2329
2454
  _react.useEffect.call(void 0, () => {
2330
2455
  if (!state.lastEvent) return;
2331
2456
  setPhaseTimings((previous) => syncPhaseTimings(previous, state.lastEvent));
2332
- }, [_optionalChain([state, 'access', _115 => _115.lastEvent, 'optionalAccess', _116 => _116.time]), _optionalChain([state, 'access', _117 => _117.lastEvent, 'optionalAccess', _118 => _118.type])]);
2457
+ }, [_optionalChain([state, 'access', _119 => _119.lastEvent, 'optionalAccess', _120 => _120.time]), _optionalChain([state, 'access', _121 => _121.lastEvent, 'optionalAccess', _122 => _122.type])]);
2333
2458
  _react.useEffect.call(void 0, () => {
2334
2459
  savePhaseTimings(txHash, phaseTimings);
2335
2460
  }, [txHash, phaseTimings]);
@@ -2357,21 +2482,21 @@ function ProcessingStep({
2357
2482
  debugLog(debug, "processing", "poll:event", {
2358
2483
  type: lastEvent2.type,
2359
2484
  matchesTx: eventMatchesTx,
2360
- intentId: _optionalChain([eventData, 'optionalAccess', _119 => _119.intentId])
2485
+ intentId: _optionalChain([eventData, 'optionalAccess', _123 => _123.intentId])
2361
2486
  });
2362
2487
  }
2363
2488
  if (!isMounted) return;
2364
2489
  const awaitingPostBridgeSwap = processingContextRef.current.waitForFinalTx && processingContextRef.current.hasPostBridgeActions;
2365
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _120 => _120.type]) === "post-bridge-swap-complete") {
2490
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _124 => _124.type]) === "post-bridge-swap-complete") {
2366
2491
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2367
- const swapTxHash = _optionalChain([eventForCurrentTx, 'access', _121 => _121.data, 'optionalAccess', _122 => _122.swap, 'optionalAccess', _123 => _123.transactionHash]);
2492
+ const swapTxHash = _optionalChain([eventForCurrentTx, 'access', _125 => _125.data, 'optionalAccess', _126 => _126.swap, 'optionalAccess', _127 => _127.transactionHash]);
2368
2493
  debugLog(debug, "processing", "state:complete", {
2369
2494
  txHash,
2370
2495
  destinationTxHash: swapTxHash,
2371
2496
  event: eventForCurrentTx.type
2372
2497
  });
2373
2498
  const context = processingContextRef.current;
2374
- _optionalChain([onDepositCompleteRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125(txHash, swapTxHash, {
2499
+ _optionalChain([onDepositCompleteRef, 'access', _128 => _128.current, 'optionalCall', _129 => _129(txHash, swapTxHash, {
2375
2500
  amount: context.amount,
2376
2501
  sourceChain: context.sourceChain,
2377
2502
  sourceToken: context.sourceToken,
@@ -2380,7 +2505,7 @@ function ProcessingStep({
2380
2505
  })]);
2381
2506
  return;
2382
2507
  }
2383
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _126 => _126.type]) === "post-bridge-swap-failed") {
2508
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _130 => _130.type]) === "post-bridge-swap-failed") {
2384
2509
  const formatted = formatBridgeFailedMessage(eventForCurrentTx);
2385
2510
  setState({
2386
2511
  type: "failed",
@@ -2392,19 +2517,19 @@ function ProcessingStep({
2392
2517
  message: formatted.message,
2393
2518
  code: formatted.code
2394
2519
  });
2395
- _optionalChain([onDepositFailedRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128(txHash, formatted.message)]);
2520
+ _optionalChain([onDepositFailedRef, 'access', _131 => _131.current, 'optionalCall', _132 => _132(txHash, formatted.message)]);
2396
2521
  return;
2397
2522
  }
2398
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _129 => _129.type]) === "bridge-complete" && !awaitingPostBridgeSwap) {
2523
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _133 => _133.type]) === "bridge-complete" && !awaitingPostBridgeSwap) {
2399
2524
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2400
- const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _130 => _130.data, 'optionalAccess', _131 => _131.destination, 'optionalAccess', _132 => _132.transactionHash]);
2525
+ const destinationTxHash2 = _optionalChain([eventForCurrentTx, 'access', _134 => _134.data, 'optionalAccess', _135 => _135.destination, 'optionalAccess', _136 => _136.transactionHash]);
2401
2526
  debugLog(debug, "processing", "state:complete", {
2402
2527
  txHash,
2403
2528
  destinationTxHash: destinationTxHash2,
2404
2529
  event: eventForCurrentTx.type
2405
2530
  });
2406
2531
  const context = processingContextRef.current;
2407
- _optionalChain([onDepositCompleteRef, 'access', _133 => _133.current, 'optionalCall', _134 => _134(txHash, destinationTxHash2, {
2532
+ _optionalChain([onDepositCompleteRef, 'access', _137 => _137.current, 'optionalCall', _138 => _138(txHash, destinationTxHash2, {
2408
2533
  amount: context.amount,
2409
2534
  sourceChain: context.sourceChain,
2410
2535
  sourceToken: context.sourceToken,
@@ -2413,14 +2538,14 @@ function ProcessingStep({
2413
2538
  })]);
2414
2539
  return;
2415
2540
  }
2416
- if (!waitForFinalTx && _optionalChain([eventForCurrentTx, 'optionalAccess', _135 => _135.type]) === "bridge-started") {
2541
+ if (!waitForFinalTx && _optionalChain([eventForCurrentTx, 'optionalAccess', _139 => _139.type]) === "bridge-started") {
2417
2542
  setState({ type: "complete", lastEvent: eventForCurrentTx });
2418
2543
  debugLog(debug, "processing", "state:early-complete", {
2419
2544
  txHash,
2420
2545
  event: eventForCurrentTx.type
2421
2546
  });
2422
2547
  const context = processingContextRef.current;
2423
- _optionalChain([onDepositCompleteRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137(txHash, void 0, {
2548
+ _optionalChain([onDepositCompleteRef, 'access', _140 => _140.current, 'optionalCall', _141 => _141(txHash, void 0, {
2424
2549
  amount: context.amount,
2425
2550
  sourceChain: context.sourceChain,
2426
2551
  sourceToken: context.sourceToken,
@@ -2429,7 +2554,7 @@ function ProcessingStep({
2429
2554
  })]);
2430
2555
  return;
2431
2556
  }
2432
- if (_optionalChain([eventForCurrentTx, 'optionalAccess', _138 => _138.type]) === "bridge-failed") {
2557
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _142 => _142.type]) === "bridge-failed") {
2433
2558
  const formatted = formatBridgeFailedMessage(eventForCurrentTx);
2434
2559
  setState({
2435
2560
  type: "failed",
@@ -2441,11 +2566,11 @@ function ProcessingStep({
2441
2566
  message: formatted.message,
2442
2567
  code: formatted.code
2443
2568
  });
2444
- _optionalChain([onDepositFailedRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140(txHash, formatted.message)]);
2569
+ _optionalChain([onDepositFailedRef, 'access', _143 => _143.current, 'optionalCall', _144 => _144(txHash, formatted.message)]);
2445
2570
  return;
2446
2571
  }
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"));
2572
+ if (_optionalChain([eventForCurrentTx, 'optionalAccess', _145 => _145.type]) === "error") {
2573
+ const errorMessage = _nullishCoalesce(_optionalChain([eventForCurrentTx, 'access', _146 => _146.data, 'optionalAccess', _147 => _147.message]), () => ( "Unknown error"));
2449
2574
  setState({
2450
2575
  type: "failed",
2451
2576
  message: errorMessage,
@@ -2455,7 +2580,7 @@ function ProcessingStep({
2455
2580
  txHash,
2456
2581
  message: errorMessage
2457
2582
  });
2458
- _optionalChain([onDepositFailedRef, 'access', _144 => _144.current, 'optionalCall', _145 => _145(txHash, errorMessage)]);
2583
+ _optionalChain([onDepositFailedRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149(txHash, errorMessage)]);
2459
2584
  return;
2460
2585
  }
2461
2586
  setState((previous) => ({
@@ -2516,7 +2641,7 @@ function ProcessingStep({
2516
2641
  txHash,
2517
2642
  timeoutMs: ESCALATED_DELAY_MS
2518
2643
  });
2519
- _optionalChain([onErrorRef, 'access', _146 => _146.current, 'optionalCall', _147 => _147(message, "PROCESS_TIMEOUT")]);
2644
+ _optionalChain([onErrorRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151(message, "PROCESS_TIMEOUT")]);
2520
2645
  }, ESCALATED_DELAY_MS);
2521
2646
  return () => clearTimeout(timeoutId);
2522
2647
  }, [debug, directTransfer, onErrorRef, state.type, txHash]);
@@ -2525,21 +2650,21 @@ function ProcessingStep({
2525
2650
  const isProcessing = state.type === "processing";
2526
2651
  const lastEvent = state.lastEvent;
2527
2652
  const failureMessage = state.type === "failed" ? state.message : void 0;
2528
- const isEarlyComplete = !waitForFinalTx && _optionalChain([lastEvent, 'optionalAccess', _148 => _148.type]) === "bridge-started";
2653
+ const isEarlyComplete = !waitForFinalTx && _optionalChain([lastEvent, 'optionalAccess', _152 => _152.type]) === "bridge-started";
2529
2654
  const timelineNowMs = _nullishCoalesce(phaseTimings.endedAt, () => ( Date.now()));
2530
2655
  const flowNoun = flowLabel === "withdraw" ? "withdrawal" : "deposit";
2531
2656
  const flowCapitalized = flowLabel === "withdraw" ? "Withdrawal" : "Deposit";
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;
2657
+ const isPostBridgeSwapEvent = _optionalChain([lastEvent, 'optionalAccess', _153 => _153.type]) === "post-bridge-swap-complete" || _optionalChain([lastEvent, 'optionalAccess', _154 => _154.type]) === "post-bridge-swap-failed";
2658
+ const destinationTxHash = isPostBridgeSwapEvent ? _optionalChain([lastEvent, 'optionalAccess', _155 => _155.data, 'optionalAccess', _156 => _156.swap, 'optionalAccess', _157 => _157.transactionHash]) || null : _optionalChain([lastEvent, 'optionalAccess', _158 => _158.data, 'optionalAccess', _159 => _159.destination, 'optionalAccess', _160 => _160.transactionHash]) || null;
2534
2659
  const sourceDetails = getEventSourceDetails(lastEvent);
2535
2660
  const displaySourceChain = _nullishCoalesce(sourceDetails.chainId, () => ( sourceChain));
2536
2661
  const displaySourceToken = _nullishCoalesce(sourceDetails.token, () => ( sourceToken));
2537
2662
  const displayAmount = _nullishCoalesce(sourceDetails.amount, () => ( amount));
2538
- const sourceExplorerUrl = _chunkIVTXEYB2cjs.getExplorerTxUrl.call(void 0, displaySourceChain, txHash);
2539
- const destExplorerUrl = destinationTxHash ? _chunkIVTXEYB2cjs.getExplorerTxUrl.call(void 0, targetChain, destinationTxHash) : null;
2663
+ const sourceExplorerUrl = _chunkMHKHSCIAcjs.getExplorerTxUrl.call(void 0, displaySourceChain, txHash);
2664
+ const destExplorerUrl = destinationTxHash ? _chunkMHKHSCIAcjs.getExplorerTxUrl.call(void 0, targetChain, destinationTxHash) : null;
2540
2665
  const isEvmSourceToken = /^0x[a-fA-F0-9]{40}$/.test(displaySourceToken);
2541
- const sourceSymbol = displaySourceChain === "solana" ? _nullishCoalesce(providedSourceSymbol, () => ( "SOL")) : isEvmSourceToken ? _chunkIVTXEYB2cjs.getTokenSymbol.call(void 0, displaySourceToken, displaySourceChain) : _nullishCoalesce(providedSourceSymbol, () => ( "Token"));
2542
- const sourceDecimals = displaySourceChain === "solana" ? _nullishCoalesce(providedSourceDecimals, () => ( 9)) : isEvmSourceToken ? _chunkIVTXEYB2cjs.getTokenDecimalsByAddress.call(void 0,
2666
+ const sourceSymbol = displaySourceChain === "solana" ? _nullishCoalesce(providedSourceSymbol, () => ( "SOL")) : isEvmSourceToken ? _chunkMHKHSCIAcjs.getTokenSymbol.call(void 0, displaySourceToken, displaySourceChain) : _nullishCoalesce(providedSourceSymbol, () => ( "Token"));
2667
+ const sourceDecimals = displaySourceChain === "solana" ? _nullishCoalesce(providedSourceDecimals, () => ( 9)) : isEvmSourceToken ? _chunkMHKHSCIAcjs.getTokenDecimalsByAddress.call(void 0,
2543
2668
  displaySourceToken,
2544
2669
  displaySourceChain
2545
2670
  ) : _nullishCoalesce(providedSourceDecimals, () => ( 18));
@@ -2562,20 +2687,18 @@ function ProcessingStep({
2562
2687
  void delayPhaseId;
2563
2688
  void hasEscalatedDelay;
2564
2689
  const targetSymbol = (() => {
2565
- if (typeof targetToken === "string" && /^0x[a-fA-F0-9]{40}$/.test(targetToken)) {
2566
- return _chunkIVTXEYB2cjs.getTokenSymbol.call(void 0, targetToken, targetChain);
2567
- }
2568
- return _nullishCoalesce(providedSourceSymbol, () => ( "USDC"));
2690
+ const resolved = _chunkMHKHSCIAcjs.getTargetTokenSymbol.call(void 0, targetToken, targetChain);
2691
+ return resolved !== "Token" ? resolved : _nullishCoalesce(providedSourceSymbol, () => ( "USDC"));
2569
2692
  })();
2570
- const targetTokenIcon = _chunkIVTXEYB2cjs.getTokenIcon.call(void 0, targetSymbol);
2571
- const sourceChainIcon = _chunkIVTXEYB2cjs.getChainIcon.call(void 0, displaySourceChain);
2572
- const targetChainIcon = _chunkIVTXEYB2cjs.getChainIcon.call(void 0, targetChain);
2573
- const sourceTokenIcon = _chunkIVTXEYB2cjs.getTokenIcon.call(void 0, sourceSymbol);
2574
- const sourceChainName = _chunkIVTXEYB2cjs.getChainName.call(void 0, displaySourceChain);
2575
- const targetChainName = _chunkIVTXEYB2cjs.getChainName.call(void 0, targetChain);
2693
+ const targetTokenIcon = _chunkMHKHSCIAcjs.getTokenIcon.call(void 0, targetSymbol);
2694
+ const sourceChainIcon = _chunkMHKHSCIAcjs.getChainIcon.call(void 0, displaySourceChain);
2695
+ const targetChainIcon = _chunkMHKHSCIAcjs.getChainIcon.call(void 0, targetChain);
2696
+ const sourceTokenIcon = _chunkMHKHSCIAcjs.getTokenIcon.call(void 0, sourceSymbol);
2697
+ const sourceChainName = _chunkMHKHSCIAcjs.getChainName.call(void 0, displaySourceChain);
2698
+ const targetChainName = _chunkMHKHSCIAcjs.getChainName.call(void 0, targetChain);
2576
2699
  const totalTimeText = formatElapsedTime(elapsedSeconds);
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.")));
2700
+ const feeSponsored = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _161 => _161.feeSponsored]), () => ( false));
2701
+ const feeTooltip = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _162 => _162.feeTooltip]), () => ( (feeSponsored ? "Network fees are sponsored for this deposit." : "Network fees apply.")));
2579
2702
  const stateTitle = isComplete ? `${flowCapitalized} successful` : isFailed ? `${flowCapitalized} failed` : "Processing...";
2580
2703
  const handleRetry = _nullishCoalesce(onRetry, () => ( onNewDeposit));
2581
2704
  const headerContent = isComplete ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-body-header", children: [
@@ -2666,17 +2789,14 @@ function ProcessingStep({
2666
2789
  "span",
2667
2790
  {
2668
2791
  style: feeSponsored ? { textDecoration: "line-through" } : void 0,
2669
- children: "$0.05"
2792
+ children: "$0.04"
2670
2793
  }
2671
2794
  ),
2672
2795
  /* @__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, {}) }) })
2673
2796
  ] })
2674
2797
  ] })
2675
2798
  ] }),
2676
- isFailed && failureMessage && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-amount-error", role: "alert", children: [
2677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertTriangleIcon, { style: { width: 16, height: 16, flexShrink: 0 } }),
2678
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: failureMessage })
2679
- ] }),
2799
+ isFailed && failureMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Callout, { variant: "error", children: failureMessage }),
2680
2800
  isProcessing && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2681
2801
  Button,
2682
2802
  {
@@ -2781,7 +2901,7 @@ async function executeSafeEthTransfer(params) {
2781
2901
  throw new Error("Wallet not connected");
2782
2902
  }
2783
2903
  if (chain.id !== chainId) {
2784
- throw new Error(`Switch to ${_chunkIVTXEYB2cjs.getChainName.call(void 0, chainId)} to sign`);
2904
+ throw new Error(`Switch to ${_chunkMHKHSCIAcjs.getChainName.call(void 0, chainId)} to sign`);
2785
2905
  }
2786
2906
  const isOwner = await publicClient.readContract({
2787
2907
  address: safeAddress,
@@ -2864,7 +2984,7 @@ async function executeSafeErc20Transfer(params) {
2864
2984
  throw new Error("Wallet not connected");
2865
2985
  }
2866
2986
  if (chain.id !== chainId) {
2867
- throw new Error(`Switch to ${_chunkIVTXEYB2cjs.getChainName.call(void 0, chainId)} to sign`);
2987
+ throw new Error(`Switch to ${_chunkMHKHSCIAcjs.getChainName.call(void 0, chainId)} to sign`);
2868
2988
  }
2869
2989
  const isOwner = await publicClient.readContract({
2870
2990
  address: safeAddress,
@@ -2994,7 +3114,7 @@ var clientCache = /* @__PURE__ */ new Map();
2994
3114
  function getPublicClient(chainId) {
2995
3115
  let client = clientCache.get(chainId);
2996
3116
  if (!client) {
2997
- const chain = _chunkIVTXEYB2cjs.CHAIN_BY_ID[chainId];
3117
+ const chain = _chunkMHKHSCIAcjs.CHAIN_BY_ID[chainId];
2998
3118
  client = _viem.createPublicClient.call(void 0, {
2999
3119
  chain,
3000
3120
  transport: _viem.http.call(void 0, )
@@ -3107,4 +3227,4 @@ function accountFromPrivateKey(privateKey) {
3107
3227
 
3108
3228
 
3109
3229
 
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;
3230
+ exports.Modal = Modal; exports.WalletIcon = WalletIcon; exports.ExternalLinkIcon = ExternalLinkIcon; exports.CheckIcon = CheckIcon; exports.TransferCryptoIcon = TransferCryptoIcon; exports.ChevronLeftIcon = ChevronLeftIcon; exports.ChevronDownIcon = ChevronDownIcon; exports.CloseIcon = CloseIcon; exports.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.PoweredBy = PoweredBy; exports.Spinner = Spinner; exports.ConnectStep = ConnectStep; exports.Button = Button; exports.Callout = Callout; exports.debugLog = debugLog; exports.debugError = debugError; exports.toEvmCaip2 = toEvmCaip2; exports.targetChainToCaip2 = targetChainToCaip2; 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;