@rhinestone/deposit-modal 0.1.41 → 0.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -88,6 +88,7 @@ Notes:
88
88
  | `defaultAmount` | `string` | No | Pre-filled amount |
89
89
  | `recipient` | `Address` | No | Custom recipient address |
90
90
  | `backendUrl` | `string` | No | Backend URL |
91
+ | `solanaRpcUrl` | `string` | No | Optional Solana RPC URL override (default: `https://api.mainnet.solana.com`) |
91
92
  | `rhinestoneApiKey` | `string` | No | Optional SDK api key forwarded to `RhinestoneSDK` during smart-account setup |
92
93
  | `signerAddress` | `Address` | No | Session signer address |
93
94
  | `waitForFinalTx` | `boolean` | No | Wait for destination tx (default: true) |
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DepositModalInner
3
- } from "./chunk-6PRJUXTM.mjs";
3
+ } from "./chunk-NLL42V7D.mjs";
4
4
  import {
5
5
  ReownWalletProvider,
6
6
  useReownWallet
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPTSYSG4Ucjs = require('./chunk-PTSYSG4U.cjs');
3
+ var _chunkCDHUGROMcjs = require('./chunk-CDHUGROM.cjs');
4
4
 
5
5
 
6
6
 
@@ -29,7 +29,7 @@ function DepositModalWithReown(props) {
29
29
  reown.disconnect();
30
30
  }, [reown.disconnect]);
31
31
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32
- _chunkPTSYSG4Ucjs.DepositModalInner,
32
+ _chunkCDHUGROMcjs.DepositModalInner,
33
33
  {
34
34
  ...props,
35
35
  reownWallet: reownWithSolana,
@@ -56,6 +56,7 @@ var _react = require('react');
56
56
 
57
57
  // src/DepositFlow.tsx
58
58
 
59
+ var _viem = require('viem');
59
60
 
60
61
  // src/components/steps/SetupStep.tsx
61
62
 
@@ -245,7 +246,7 @@ function SetupStep({
245
246
 
246
247
  // src/components/steps/AssetSelectStep.tsx
247
248
 
248
- var _viem = require('viem');
249
+
249
250
 
250
251
  function AssetSelectStep({
251
252
  address,
@@ -1262,9 +1263,14 @@ var SOLANA_TOKENS = [
1262
1263
  decimals: 6
1263
1264
  }
1264
1265
  ];
1265
- var DEFAULT_SOLANA_RPC_URL = "https://api.mainnet-beta.solana.com";
1266
+ var DEFAULT_SOLANA_RPC_URL = "https://api.mainnet.solana.com";
1266
1267
  var configuredSolanaRpcUrl = null;
1267
1268
  var cachedConnections = /* @__PURE__ */ new Map();
1269
+ function configureSolanaRpcUrl(rpcUrl) {
1270
+ const normalized = _optionalChain([rpcUrl, 'optionalAccess', _17 => _17.trim, 'call', _18 => _18()]);
1271
+ configuredSolanaRpcUrl = normalized ? normalized : null;
1272
+ cachedConnections.clear();
1273
+ }
1268
1274
  function getSolanaRpcUrl() {
1269
1275
  return _nullishCoalesce(configuredSolanaRpcUrl, () => ( DEFAULT_SOLANA_RPC_URL));
1270
1276
  }
@@ -1396,7 +1402,7 @@ function resolveSolanaTokenMeta(token) {
1396
1402
  return {};
1397
1403
  }
1398
1404
  function getDepositEventDetails(event) {
1399
- if (!_optionalChain([event, 'optionalAccess', _17 => _17.type]) || !isRecord(event.data)) return {};
1405
+ if (!_optionalChain([event, 'optionalAccess', _19 => _19.type]) || !isRecord(event.data)) return {};
1400
1406
  if (event.type === "deposit-received") {
1401
1407
  const chainId = asChainId(event.data.chain);
1402
1408
  const token = asString(event.data.token);
@@ -1410,12 +1416,12 @@ function getDepositEventDetails(event) {
1410
1416
  }
1411
1417
  if (event.type === "bridge-started") {
1412
1418
  const source = isRecord(event.data.source) ? event.data.source : void 0;
1413
- const chainId = asChainId(_optionalChain([source, 'optionalAccess', _18 => _18.chain]));
1414
- const token = asString(_optionalChain([source, 'optionalAccess', _19 => _19.asset]));
1419
+ const chainId = asChainId(_optionalChain([source, 'optionalAccess', _20 => _20.chain]));
1420
+ const token = asString(_optionalChain([source, 'optionalAccess', _21 => _21.asset]));
1415
1421
  const solanaMeta = chainId === "solana" ? resolveSolanaTokenMeta(token) : {};
1416
1422
  return {
1417
1423
  chainId,
1418
- amount: asAmount(_optionalChain([source, 'optionalAccess', _20 => _20.amount])),
1424
+ amount: asAmount(_optionalChain([source, 'optionalAccess', _22 => _22.amount])),
1419
1425
  token,
1420
1426
  ...solanaMeta
1421
1427
  };
@@ -1468,9 +1474,9 @@ function DepositAddressStep({
1468
1474
  const matched = _nullishCoalesce(SOLANA_TOKENS.find((t) => t.symbol === sourceTokenSymbol), () => ( SOLANA_TOKENS[0]));
1469
1475
  sourceSelectionRef.current = {
1470
1476
  chainId: "solana",
1471
- token: _optionalChain([matched, 'optionalAccess', _21 => _21.mint]),
1472
- sourceSymbol: _optionalChain([matched, 'optionalAccess', _22 => _22.symbol]),
1473
- sourceDecimals: _optionalChain([matched, 'optionalAccess', _23 => _23.decimals])
1477
+ token: _optionalChain([matched, 'optionalAccess', _23 => _23.mint]),
1478
+ sourceSymbol: _optionalChain([matched, 'optionalAccess', _24 => _24.symbol]),
1479
+ sourceDecimals: _optionalChain([matched, 'optionalAccess', _25 => _25.decimals])
1474
1480
  };
1475
1481
  return;
1476
1482
  }
@@ -1486,8 +1492,8 @@ function DepositAddressStep({
1486
1492
  function handlePointerDown(event) {
1487
1493
  const target = event.target;
1488
1494
  if (!target) return;
1489
- const clickedChainDropdown = _optionalChain([chainDropdownRef, 'access', _24 => _24.current, 'optionalAccess', _25 => _25.contains, 'call', _26 => _26(target)]);
1490
- const clickedTokenDropdown = _optionalChain([tokenDropdownRef, 'access', _27 => _27.current, 'optionalAccess', _28 => _28.contains, 'call', _29 => _29(target)]);
1495
+ const clickedChainDropdown = _optionalChain([chainDropdownRef, 'access', _26 => _26.current, 'optionalAccess', _27 => _27.contains, 'call', _28 => _28(target)]);
1496
+ const clickedTokenDropdown = _optionalChain([tokenDropdownRef, 'access', _29 => _29.current, 'optionalAccess', _30 => _30.contains, 'call', _31 => _31(target)]);
1491
1497
  if (clickedChainDropdown || clickedTokenDropdown) return;
1492
1498
  setChainDropdownOpen(false);
1493
1499
  setTokenDropdownOpen(false);
@@ -1563,7 +1569,7 @@ function DepositAddressStep({
1563
1569
  if (!cancelled) {
1564
1570
  const msg = err instanceof Error ? err.message : "Failed to check status";
1565
1571
  setPollingError(msg);
1566
- _optionalChain([onError, 'optionalCall', _30 => _30(msg, "STATUS_POLL_ERROR")]);
1572
+ _optionalChain([onError, 'optionalCall', _32 => _32(msg, "STATUS_POLL_ERROR")]);
1567
1573
  }
1568
1574
  }
1569
1575
  if (!cancelled && !depositHandledRef.current) {
@@ -1844,7 +1850,7 @@ function SolanaTokenSelectStep({
1844
1850
  setTokenBalances(results);
1845
1851
  setLoading(false);
1846
1852
  const totalUsd = results.reduce((sum, r) => sum + r.balanceUsd, 0);
1847
- _optionalChain([onTotalBalanceComputed, 'optionalCall', _31 => _31(totalUsd)]);
1853
+ _optionalChain([onTotalBalanceComputed, 'optionalCall', _33 => _33(totalUsd)]);
1848
1854
  }
1849
1855
  void loadBalances();
1850
1856
  return () => {
@@ -2179,6 +2185,8 @@ function SolanaConfirmStep({
2179
2185
  solanaDepositAddress,
2180
2186
  token,
2181
2187
  amount,
2188
+ targetAmount,
2189
+ targetTokenPriceUsd,
2182
2190
  targetChain,
2183
2191
  targetToken,
2184
2192
  service,
@@ -2192,6 +2200,18 @@ function SolanaConfirmStep({
2192
2200
  const targetSymbol = _chunkNELAYNA3cjs.getTokenSymbol.call(void 0, targetToken, targetChain);
2193
2201
  const isSameToken = token.symbol.toUpperCase() === targetSymbol.toUpperCase();
2194
2202
  const formattedAmount = amount && !Number.isNaN(Number(amount)) ? Number(amount).toLocaleString("en-US", { maximumFractionDigits: 6 }) : "0";
2203
+ const formattedReceiveAmount = (() => {
2204
+ if (isSameToken) return formattedAmount;
2205
+ const dollarValue = Number(targetAmount);
2206
+ if (!Number.isFinite(dollarValue) || dollarValue <= 0)
2207
+ return formattedAmount;
2208
+ if (targetTokenPriceUsd !== null && targetTokenPriceUsd > 0) {
2209
+ const tokenAmount = dollarValue / targetTokenPriceUsd;
2210
+ return tokenAmount.toLocaleString("en-US", { maximumFractionDigits: 6 });
2211
+ }
2212
+ return formattedAmount;
2213
+ })();
2214
+ const receiveAmount = isSameToken ? formattedReceiveAmount : `~ ${formattedReceiveAmount}`;
2195
2215
  const handleConfirm = async () => {
2196
2216
  if (!solanaProvider) {
2197
2217
  _chunkLT3QKJI2cjs.debugLog.call(void 0, debug, "solana-confirm", "submit:blocked", {
@@ -2253,7 +2273,7 @@ function SolanaConfirmStep({
2253
2273
  _chunkLT3QKJI2cjs.debugLog.call(void 0, debug, "solana-confirm", "tx:build:success", {
2254
2274
  token: token.symbol,
2255
2275
  instructionCount: transaction.instructions.length,
2256
- feePayer: _optionalChain([transaction, 'access', _32 => _32.feePayer, 'optionalAccess', _33 => _33.toBase58, 'call', _34 => _34()]),
2276
+ feePayer: _optionalChain([transaction, 'access', _34 => _34.feePayer, 'optionalAccess', _35 => _35.toBase58, 'call', _36 => _36()]),
2257
2277
  recentBlockhash: transaction.recentBlockhash
2258
2278
  });
2259
2279
  const txHash = await sendSolanaTransaction(
@@ -2275,7 +2295,7 @@ function SolanaConfirmStep({
2275
2295
  amount
2276
2296
  });
2277
2297
  setError(message);
2278
- _optionalChain([onError, 'optionalCall', _35 => _35(message, "SOLANA_TRANSFER_ERROR")]);
2298
+ _optionalChain([onError, 'optionalCall', _37 => _37(message, "SOLANA_TRANSFER_ERROR")]);
2279
2299
  } finally {
2280
2300
  setIsSubmitting(false);
2281
2301
  }
@@ -2371,7 +2391,9 @@ function SolanaConfirmStep({
2371
2391
  style: { width: 16, height: 16, borderRadius: "50%" }
2372
2392
  }
2373
2393
  ),
2374
- isSameToken ? `~ ${formattedAmount} ${targetSymbol}` : `~ equivalent in ${targetSymbol}`
2394
+ receiveAmount,
2395
+ " ",
2396
+ targetSymbol
2375
2397
  ]
2376
2398
  }
2377
2399
  )
@@ -2489,12 +2511,12 @@ function DepositFlow({
2489
2511
  return null;
2490
2512
  }, []);
2491
2513
  const dappSwitchChain = _react.useMemo.call(void 0, () => {
2492
- if (!_optionalChain([dappWalletClient, 'optionalAccess', _36 => _36.switchChain])) return void 0;
2514
+ if (!_optionalChain([dappWalletClient, 'optionalAccess', _38 => _38.switchChain])) return void 0;
2493
2515
  return async (chainId) => {
2494
- await _optionalChain([dappWalletClient, 'access', _37 => _37.switchChain, 'optionalCall', _38 => _38({ id: chainId })]);
2516
+ await _optionalChain([dappWalletClient, 'access', _39 => _39.switchChain, 'optionalCall', _40 => _40({ id: chainId })]);
2495
2517
  };
2496
2518
  }, [dappWalletClient]);
2497
- const connectedWalletAddress = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _39 => _39.account, 'optionalAccess', _40 => _40.address]), () => ( null));
2519
+ const connectedWalletAddress = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _41 => _41.account, 'optionalAccess', _42 => _42.address]), () => ( null));
2498
2520
  const walletOptions = _react.useMemo.call(void 0, () => {
2499
2521
  const options = [];
2500
2522
  const seen = /* @__PURE__ */ new Set();
@@ -2508,7 +2530,7 @@ function DepositFlow({
2508
2530
  });
2509
2531
  seen.add(id);
2510
2532
  }
2511
- if (_optionalChain([reownWallet, 'optionalAccess', _41 => _41.isConnected]) && reownWallet.isSolana && reownWallet.solanaAddress && dappAddress) {
2533
+ if (_optionalChain([reownWallet, 'optionalAccess', _43 => _43.isConnected]) && reownWallet.isSolana && reownWallet.solanaAddress && dappAddress) {
2512
2534
  const id = _nullishCoalesce(reownWallet.caipAddress, () => ( `solana:${reownWallet.solanaAddress}`));
2513
2535
  if (!seen.has(id)) {
2514
2536
  options.push({
@@ -2520,7 +2542,7 @@ function DepositFlow({
2520
2542
  });
2521
2543
  seen.add(id);
2522
2544
  }
2523
- } else if (_optionalChain([reownWallet, 'optionalAccess', _42 => _42.address]) && reownWallet.isConnected && reownWallet.walletClient && reownWallet.publicClient && !seen.has(`evm:${reownWallet.address.toLowerCase()}`)) {
2545
+ } else if (_optionalChain([reownWallet, 'optionalAccess', _44 => _44.address]) && reownWallet.isConnected && reownWallet.walletClient && reownWallet.publicClient && !seen.has(`evm:${reownWallet.address.toLowerCase()}`)) {
2524
2546
  const id = `evm:${reownWallet.address.toLowerCase()}`;
2525
2547
  if (!seen.has(id)) {
2526
2548
  options.push({
@@ -2537,19 +2559,19 @@ function DepositFlow({
2537
2559
  }, [
2538
2560
  connectedWalletAddress,
2539
2561
  dappAddress,
2540
- _optionalChain([reownWallet, 'optionalAccess', _43 => _43.address]),
2541
- _optionalChain([reownWallet, 'optionalAccess', _44 => _44.isConnected]),
2542
- _optionalChain([reownWallet, 'optionalAccess', _45 => _45.walletClient]),
2543
- _optionalChain([reownWallet, 'optionalAccess', _46 => _46.publicClient]),
2544
- _optionalChain([reownWallet, 'optionalAccess', _47 => _47.icon]),
2545
- _optionalChain([reownWallet, 'optionalAccess', _48 => _48.isSolana]),
2546
- _optionalChain([reownWallet, 'optionalAccess', _49 => _49.solanaAddress]),
2547
- _optionalChain([reownWallet, 'optionalAccess', _50 => _50.caipAddress])
2562
+ _optionalChain([reownWallet, 'optionalAccess', _45 => _45.address]),
2563
+ _optionalChain([reownWallet, 'optionalAccess', _46 => _46.isConnected]),
2564
+ _optionalChain([reownWallet, 'optionalAccess', _47 => _47.walletClient]),
2565
+ _optionalChain([reownWallet, 'optionalAccess', _48 => _48.publicClient]),
2566
+ _optionalChain([reownWallet, 'optionalAccess', _49 => _49.icon]),
2567
+ _optionalChain([reownWallet, 'optionalAccess', _50 => _50.isSolana]),
2568
+ _optionalChain([reownWallet, 'optionalAccess', _51 => _51.solanaAddress]),
2569
+ _optionalChain([reownWallet, 'optionalAccess', _52 => _52.caipAddress])
2548
2570
  ]);
2549
- const canAutoLock = _optionalChain([dappWalletClient, 'optionalAccess', _51 => _51.account]) && dappAddress && !reownWallet;
2571
+ const canAutoLock = _optionalChain([dappWalletClient, 'optionalAccess', _53 => _53.account]) && dappAddress && !reownWallet;
2550
2572
  const hasWalletOptions = walletOptions.length > 0;
2551
2573
  const hasReownSession = Boolean(
2552
- _optionalChain([reownWallet, 'optionalAccess', _52 => _52.isConnected]) || _optionalChain([reownWallet, 'optionalAccess', _53 => _53.address])
2574
+ _optionalChain([reownWallet, 'optionalAccess', _54 => _54.isConnected]) || _optionalChain([reownWallet, 'optionalAccess', _55 => _55.address])
2553
2575
  );
2554
2576
  const showConnectStep = flowMode === null && !canAutoLock && !isConnectSelectionConfirmed;
2555
2577
  const walletSelectionKey = _react.useMemo.call(void 0, () => {
@@ -2580,7 +2602,7 @@ function DepositFlow({
2580
2602
  };
2581
2603
  }
2582
2604
  if (canAutoLock) {
2583
- const fallbackChainId = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _54 => _54.chain, 'optionalAccess', _55 => _55.id]), () => ( targetChain));
2605
+ const fallbackChainId = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _56 => _56.chain, 'optionalAccess', _57 => _57.id]), () => ( targetChain));
2584
2606
  return {
2585
2607
  ownerAddress: dappWalletClient.account.address,
2586
2608
  walletClient: dappWalletClient,
@@ -2589,7 +2611,9 @@ function DepositFlow({
2589
2611
  };
2590
2612
  }
2591
2613
  if (!isConnectSelectionConfirmed || !selectedWalletId) return null;
2592
- const selectedOption = walletOptions.find((option) => option.id === selectedWalletId);
2614
+ const selectedOption = walletOptions.find(
2615
+ (option) => option.id === selectedWalletId
2616
+ );
2593
2617
  if (!selectedOption) return null;
2594
2618
  if (selectedOption.kind === "solana") {
2595
2619
  if (!dappAddress) return null;
@@ -2600,8 +2624,8 @@ function DepositFlow({
2600
2624
  switchChain: void 0
2601
2625
  };
2602
2626
  }
2603
- if (selectedOption.kind === "connected" && _optionalChain([dappWalletClient, 'optionalAccess', _56 => _56.account]) && selectedOption.address && dappWalletClient.account.address.toLowerCase() === selectedOption.address.toLowerCase()) {
2604
- const fallbackChainId = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _57 => _57.chain, 'optionalAccess', _58 => _58.id]), () => ( targetChain));
2627
+ if (selectedOption.kind === "connected" && _optionalChain([dappWalletClient, 'optionalAccess', _58 => _58.account]) && selectedOption.address && dappWalletClient.account.address.toLowerCase() === selectedOption.address.toLowerCase()) {
2628
+ const fallbackChainId = _nullishCoalesce(_optionalChain([dappWalletClient, 'optionalAccess', _59 => _59.chain, 'optionalAccess', _60 => _60.id]), () => ( targetChain));
2605
2629
  return {
2606
2630
  ownerAddress: dappWalletClient.account.address,
2607
2631
  walletClient: dappWalletClient,
@@ -2609,7 +2633,7 @@ function DepositFlow({
2609
2633
  switchChain: dappSwitchChain
2610
2634
  };
2611
2635
  }
2612
- if (selectedOption.kind === "external" && _optionalChain([reownWallet, 'optionalAccess', _59 => _59.address]) && selectedOption.address && reownWallet.address.toLowerCase() === selectedOption.address.toLowerCase()) {
2636
+ if (selectedOption.kind === "external" && _optionalChain([reownWallet, 'optionalAccess', _61 => _61.address]) && selectedOption.address && reownWallet.address.toLowerCase() === selectedOption.address.toLowerCase()) {
2613
2637
  return {
2614
2638
  ownerAddress: reownWallet.address,
2615
2639
  walletClient: reownWallet.walletClient,
@@ -2673,7 +2697,7 @@ function DepositFlow({
2673
2697
  walletSignerContext,
2674
2698
  walletSelectionKey
2675
2699
  ]);
2676
- const sessionKeyAddress = _nullishCoalesce(_nullishCoalesce(dappAddress, () => ( _optionalChain([signerContext, 'optionalAccess', _60 => _60.ownerAddress]))), () => ( null));
2700
+ const sessionKeyAddress = _nullishCoalesce(_nullishCoalesce(dappAddress, () => ( _optionalChain([signerContext, 'optionalAccess', _62 => _62.ownerAddress]))), () => ( null));
2677
2701
  const lastTargetRef = _react.useRef.call(void 0, null);
2678
2702
  _react.useEffect.call(void 0, () => {
2679
2703
  const prev = lastTargetRef.current;
@@ -2749,7 +2773,7 @@ function DepositFlow({
2749
2773
  const stepIndex = step.type === "setup" ? 0 : step.type === "deposit-address" ? 1 : step.type === "select-asset" ? 1 : step.type === "solana-token-select" ? 1 : step.type === "solana-amount" ? 2 : step.type === "amount" ? 2 : step.type === "confirm" ? 3 : step.type === "solana-confirm" ? 3 : 4;
2750
2774
  const currentBackHandler = step.type === "deposit-address" ? handleBackFromDepositAddress : step.type === "select-asset" && signerContext && !canAutoLock ? handleBackFromSelectAsset : step.type === "solana-token-select" ? handleBackFromSolanaTokenSelect : step.type === "solana-amount" ? handleBackFromSolanaAmount : step.type === "solana-confirm" ? handleBackFromSolanaConfirm : step.type === "amount" ? handleBackFromAmount : step.type === "confirm" ? handleBackFromConfirm : void 0;
2751
2775
  _react.useEffect.call(void 0, () => {
2752
- _optionalChain([onStepChange, 'optionalCall', _61 => _61(stepIndex, currentBackHandler)]);
2776
+ _optionalChain([onStepChange, 'optionalCall', _63 => _63(stepIndex, currentBackHandler)]);
2753
2777
  }, [stepIndex, currentBackHandler, onStepChange]);
2754
2778
  _react.useEffect.call(void 0, () => {
2755
2779
  logFlow("state:changed", {
@@ -2768,7 +2792,7 @@ function DepositFlow({
2768
2792
  targetToken
2769
2793
  ]);
2770
2794
  _react.useEffect.call(void 0, () => {
2771
- _optionalChain([onTotalBalanceChange, 'optionalCall', _62 => _62(totalBalanceUsd)]);
2795
+ _optionalChain([onTotalBalanceChange, 'optionalCall', _64 => _64(totalBalanceUsd)]);
2772
2796
  }, [totalBalanceUsd, onTotalBalanceChange]);
2773
2797
  const isDepositAddressMode = flowMode === "deposit-address";
2774
2798
  const isSolanaWalletMode = flowMode === "solana-wallet";
@@ -2794,12 +2818,23 @@ function DepositFlow({
2794
2818
  flowMode: isDepositAddressMode ? "deposit-address" : isSolanaWalletMode ? "solana-wallet" : "wallet"
2795
2819
  });
2796
2820
  if (isDepositAddressMode) {
2797
- setStep({ type: "deposit-address", smartAccount, solanaDepositAddress });
2821
+ setStep({
2822
+ type: "deposit-address",
2823
+ smartAccount,
2824
+ solanaDepositAddress
2825
+ });
2798
2826
  } else if (isSolanaWalletMode) {
2799
2827
  if (solanaDepositAddress) {
2800
- setStep({ type: "solana-token-select", smartAccount, solanaDepositAddress });
2828
+ setStep({
2829
+ type: "solana-token-select",
2830
+ smartAccount,
2831
+ solanaDepositAddress
2832
+ });
2801
2833
  } else {
2802
- _optionalChain([onError, 'optionalCall', _63 => _63({ message: "Solana deposit address not available. Please try again.", code: "SOLANA_SETUP_FAILED" })]);
2834
+ _optionalChain([onError, 'optionalCall', _65 => _65({
2835
+ message: "Solana deposit address not available. Please try again.",
2836
+ code: "SOLANA_SETUP_FAILED"
2837
+ })]);
2803
2838
  }
2804
2839
  } else {
2805
2840
  setStep({ type: "select-asset", smartAccount });
@@ -2831,7 +2866,7 @@ function DepositFlow({
2831
2866
  directTransfer
2832
2867
  };
2833
2868
  });
2834
- _optionalChain([onDepositSubmitted, 'optionalCall', _64 => _64({ txHash, sourceChain: chainId, amount })]);
2869
+ _optionalChain([onDepositSubmitted, 'optionalCall', _66 => _66({ txHash, sourceChain: chainId, amount })]);
2835
2870
  },
2836
2871
  [onDepositSubmitted, targetChain, targetToken]
2837
2872
  );
@@ -2854,24 +2889,37 @@ function DepositFlow({
2854
2889
  );
2855
2890
  const handleSolanaAmountContinue = _react.useCallback.call(void 0,
2856
2891
  (token, amount) => {
2892
+ const targetSym = _chunkNELAYNA3cjs.getTokenSymbol.call(void 0, targetToken, targetChain);
2893
+ const isTargetStable = _chunkNELAYNA3cjs.isStablecoinSymbol.call(void 0, targetSym);
2894
+ const targetTokenPriceUsd = isTargetStable ? 1 : getTokenPriceUsd(targetSym);
2857
2895
  logFlow("solana:amount:continue", {
2858
2896
  token: token.symbol,
2859
- amount
2897
+ amount,
2898
+ targetSymbol: targetSym,
2899
+ targetTokenPriceUsd
2860
2900
  });
2861
2901
  setStep((prev) => {
2862
2902
  if (prev.type !== "solana-amount") return prev;
2903
+ const sourceBalance = Number(
2904
+ _viem.formatUnits.call(void 0, prev.balance, prev.token.decimals)
2905
+ );
2906
+ const sourceTokenPriceUsd = Number.isFinite(sourceBalance) && sourceBalance > 0 && prev.balanceUsd > 0 ? prev.balanceUsd / sourceBalance : null;
2907
+ const parsedAmount = Number(amount);
2908
+ const targetAmount = sourceTokenPriceUsd !== null && Number.isFinite(parsedAmount) && parsedAmount > 0 ? (parsedAmount * sourceTokenPriceUsd).toString() : amount;
2863
2909
  return {
2864
2910
  type: "solana-confirm",
2865
2911
  smartAccount: prev.smartAccount,
2866
2912
  solanaDepositAddress: prev.solanaDepositAddress,
2867
2913
  token,
2868
2914
  amount,
2915
+ targetAmount,
2916
+ targetTokenPriceUsd,
2869
2917
  balance: prev.balance,
2870
2918
  balanceUsd: prev.balanceUsd
2871
2919
  };
2872
2920
  });
2873
2921
  },
2874
- [logFlow]
2922
+ [targetToken, targetChain, getTokenPriceUsd, logFlow]
2875
2923
  );
2876
2924
  const handleSolanaConfirmed = _react.useCallback.call(void 0,
2877
2925
  (txHash, amountUnits) => {
@@ -2893,7 +2941,7 @@ function DepositFlow({
2893
2941
  sourceDecimals: prev.token.decimals
2894
2942
  };
2895
2943
  });
2896
- _optionalChain([onDepositSubmitted, 'optionalCall', _65 => _65({
2944
+ _optionalChain([onDepositSubmitted, 'optionalCall', _67 => _67({
2897
2945
  txHash,
2898
2946
  sourceChain: "solana",
2899
2947
  amount: amountUnits
@@ -2903,7 +2951,7 @@ function DepositFlow({
2903
2951
  );
2904
2952
  const handleConnected = _react.useCallback.call(void 0,
2905
2953
  (addr, smartAccount) => {
2906
- _optionalChain([onConnected, 'optionalCall', _66 => _66({ address: addr, smartAccount })]);
2954
+ _optionalChain([onConnected, 'optionalCall', _68 => _68({ address: addr, smartAccount })]);
2907
2955
  },
2908
2956
  [onConnected]
2909
2957
  );
@@ -2966,28 +3014,28 @@ function DepositFlow({
2966
3014
  );
2967
3015
  const handleDepositSubmittedCallback = _react.useCallback.call(void 0,
2968
3016
  (txHash, sourceChain, amount) => {
2969
- _optionalChain([onDepositSubmitted, 'optionalCall', _67 => _67({ txHash, sourceChain, amount })]);
3017
+ _optionalChain([onDepositSubmitted, 'optionalCall', _69 => _69({ txHash, sourceChain, amount })]);
2970
3018
  },
2971
3019
  [onDepositSubmitted]
2972
3020
  );
2973
3021
  const handleDepositComplete = _react.useCallback.call(void 0,
2974
3022
  (txHash, destinationTxHash) => {
2975
3023
  logFlow("deposit:complete", { txHash, destinationTxHash });
2976
- _optionalChain([onDepositComplete, 'optionalCall', _68 => _68({ txHash, destinationTxHash })]);
3024
+ _optionalChain([onDepositComplete, 'optionalCall', _70 => _70({ txHash, destinationTxHash })]);
2977
3025
  },
2978
3026
  [logFlow, onDepositComplete]
2979
3027
  );
2980
3028
  const handleDepositFailed = _react.useCallback.call(void 0,
2981
3029
  (txHash, error) => {
2982
3030
  logFlowError("deposit:failed", error, { txHash });
2983
- _optionalChain([onDepositFailed, 'optionalCall', _69 => _69({ txHash, error })]);
3031
+ _optionalChain([onDepositFailed, 'optionalCall', _71 => _71({ txHash, error })]);
2984
3032
  },
2985
3033
  [logFlowError, onDepositFailed]
2986
3034
  );
2987
3035
  const handleError = _react.useCallback.call(void 0,
2988
3036
  (message, code) => {
2989
3037
  logFlowError("flow:error", message, { code });
2990
- _optionalChain([onError, 'optionalCall', _70 => _70({ message, code })]);
3038
+ _optionalChain([onError, 'optionalCall', _72 => _72({ message, code })]);
2991
3039
  },
2992
3040
  [logFlowError, onError]
2993
3041
  );
@@ -3030,7 +3078,7 @@ function DepositFlow({
3030
3078
  if (walletId) {
3031
3079
  const selectedOption = walletOptions.find((o) => o.id === walletId);
3032
3080
  setSelectedWalletId(walletId);
3033
- if (_optionalChain([selectedOption, 'optionalAccess', _71 => _71.kind]) === "solana") {
3081
+ if (_optionalChain([selectedOption, 'optionalAccess', _73 => _73.kind]) === "solana") {
3034
3082
  handleSelectSolanaWallet();
3035
3083
  } else {
3036
3084
  handleSelectProvider();
@@ -3076,7 +3124,7 @@ function DepositFlow({
3076
3124
  const selectedOption = walletOptions.find(
3077
3125
  (o) => o.id === selectedWalletIdEffective
3078
3126
  );
3079
- if (_optionalChain([selectedOption, 'optionalAccess', _72 => _72.kind]) === "solana") {
3127
+ if (_optionalChain([selectedOption, 'optionalAccess', _74 => _74.kind]) === "solana") {
3080
3128
  handleSelectSolanaWallet();
3081
3129
  } else {
3082
3130
  handleSelectProvider();
@@ -3142,8 +3190,8 @@ function DepositFlow({
3142
3190
  }
3143
3191
  if (isSolanaWalletMode) {
3144
3192
  if (!sessionKeyAddress) return null;
3145
- const solanaAddr = _optionalChain([reownWallet, 'optionalAccess', _73 => _73.solanaAddress]);
3146
- const solanaProvider = _optionalChain([reownWallet, 'optionalAccess', _74 => _74.solanaProvider]);
3193
+ const solanaAddr = _optionalChain([reownWallet, 'optionalAccess', _75 => _75.solanaAddress]);
3194
+ const solanaProvider = _optionalChain([reownWallet, 'optionalAccess', _76 => _76.solanaProvider]);
3147
3195
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-modal-body", children: [
3148
3196
  step.type === "setup" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3149
3197
  SetupStep,
@@ -3189,6 +3237,8 @@ function DepositFlow({
3189
3237
  solanaDepositAddress: step.solanaDepositAddress,
3190
3238
  token: step.token,
3191
3239
  amount: step.amount,
3240
+ targetAmount: step.targetAmount,
3241
+ targetTokenPriceUsd: step.targetTokenPriceUsd,
3192
3242
  targetChain,
3193
3243
  targetToken,
3194
3244
  service,
@@ -3199,13 +3249,37 @@ function DepositFlow({
3199
3249
  }
3200
3250
  ) : step.type === "solana-confirm" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-step", children: [
3201
3251
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-loading-state", children: [
3202
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step-icon rs-step-icon--error", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" }) }) }),
3252
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step-icon rs-step-icon--error", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3253
+ "svg",
3254
+ {
3255
+ viewBox: "0 0 24 24",
3256
+ fill: "none",
3257
+ stroke: "currentColor",
3258
+ strokeWidth: "2",
3259
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3260
+ "path",
3261
+ {
3262
+ strokeLinecap: "round",
3263
+ strokeLinejoin: "round",
3264
+ d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"
3265
+ }
3266
+ )
3267
+ }
3268
+ ) }),
3203
3269
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rs-loading-text", children: [
3204
3270
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-title rs-text-error", children: "Wallet disconnected" }),
3205
3271
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-subtitle", children: "Please reconnect your Solana wallet to continue." })
3206
3272
  ] })
3207
3273
  ] }),
3208
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step-footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "rs-button rs-button--default rs-button--full-width", onClick: handleBackFromSolanaConfirm, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Go Back" }) }) })
3274
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step-footer", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3275
+ "button",
3276
+ {
3277
+ type: "button",
3278
+ className: "rs-button rs-button--default rs-button--full-width",
3279
+ onClick: handleBackFromSolanaConfirm,
3280
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Go Back" })
3281
+ }
3282
+ ) })
3209
3283
  ] }) : null,
3210
3284
  step.type === "processing" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3211
3285
  _chunkLT3QKJI2cjs.ProcessingStep,
@@ -3231,13 +3305,13 @@ function DepositFlow({
3231
3305
  )
3232
3306
  ] });
3233
3307
  }
3234
- if (!_optionalChain([signerContext, 'optionalAccess', _75 => _75.walletClient]) || !_optionalChain([signerContext, 'optionalAccess', _76 => _76.publicClient])) {
3308
+ if (!_optionalChain([signerContext, 'optionalAccess', _77 => _77.walletClient]) || !_optionalChain([signerContext, 'optionalAccess', _78 => _78.publicClient])) {
3235
3309
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-modal-body", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-step", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-state", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-text", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rs-loading-title", children: "Connecting wallet..." }) }) }) }) });
3236
3310
  }
3237
3311
  const ownerAddress = signerContext.ownerAddress;
3238
- const ownerChainId = _nullishCoalesce(_nullishCoalesce(_optionalChain([signerContext, 'access', _77 => _77.walletClient, 'optionalAccess', _78 => _78.chain, 'optionalAccess', _79 => _79.id]), () => ( _optionalChain([signerContext, 'access', _80 => _80.publicClient, 'access', _81 => _81.chain, 'optionalAccess', _82 => _82.id]))), () => ( targetChain));
3312
+ const ownerChainId = _nullishCoalesce(_nullishCoalesce(_optionalChain([signerContext, 'access', _79 => _79.walletClient, 'optionalAccess', _80 => _80.chain, 'optionalAccess', _81 => _81.id]), () => ( _optionalChain([signerContext, 'access', _82 => _82.publicClient, 'access', _83 => _83.chain, 'optionalAccess', _84 => _84.id]))), () => ( targetChain));
3239
3313
  const getReadClientForChain = (chainId) => {
3240
- if (_optionalChain([signerContext, 'access', _83 => _83.publicClient, 'access', _84 => _84.chain, 'optionalAccess', _85 => _85.id]) === chainId) {
3314
+ if (_optionalChain([signerContext, 'access', _85 => _85.publicClient, 'access', _86 => _86.chain, 'optionalAccess', _87 => _87.id]) === chainId) {
3241
3315
  return signerContext.publicClient;
3242
3316
  }
3243
3317
  return _chunkLT3QKJI2cjs.getPublicClient.call(void 0, chainId);
@@ -3336,7 +3410,7 @@ function DepositFlow({
3336
3410
  // src/DepositModal.tsx
3337
3411
 
3338
3412
  var ReownDepositInner = _react.lazy.call(void 0,
3339
- () => Promise.resolve().then(() => _interopRequireWildcard(require("./DepositModalReown-GAQLILGK.cjs"))).then((m) => ({ default: m.DepositModalReown }))
3413
+ () => Promise.resolve().then(() => _interopRequireWildcard(require("./DepositModalReown-EEXNSXI4.cjs"))).then((m) => ({ default: m.DepositModalReown }))
3340
3414
  );
3341
3415
  function DepositModal(props) {
3342
3416
  const needsReown = !!props.reownAppId;
@@ -3360,6 +3434,7 @@ function DepositModalInner({
3360
3434
  defaultAmount,
3361
3435
  recipient,
3362
3436
  backendUrl = _chunkNELAYNA3cjs.DEFAULT_BACKEND_URL,
3437
+ solanaRpcUrl,
3363
3438
  signerAddress = _chunkNELAYNA3cjs.DEFAULT_SIGNER_ADDRESS,
3364
3439
  sessionChainIds,
3365
3440
  forceRegister = false,
@@ -3388,7 +3463,10 @@ function DepositModalInner({
3388
3463
  const targetChain = _chunkNELAYNA3cjs.getChainId.call(void 0, targetChainProp);
3389
3464
  const sourceChain = sourceChainProp ? _chunkNELAYNA3cjs.getChainId.call(void 0, sourceChainProp) : void 0;
3390
3465
  const service = _react.useMemo.call(void 0,
3391
- () => _chunkLT3QKJI2cjs.createDepositService.call(void 0, backendUrl, { debug, debugScope: "service:deposit" }),
3466
+ () => _chunkLT3QKJI2cjs.createDepositService.call(void 0, backendUrl, {
3467
+ debug,
3468
+ debugScope: "service:deposit"
3469
+ }),
3392
3470
  [backendUrl, debug]
3393
3471
  );
3394
3472
  _react.useEffect.call(void 0, () => {
@@ -3396,11 +3474,14 @@ function DepositModalInner({
3396
3474
  _chunkLT3QKJI2cjs.applyTheme.call(void 0, modalRef.current, theme);
3397
3475
  }
3398
3476
  }, [isOpen, theme]);
3477
+ _react.useEffect.call(void 0, () => {
3478
+ configureSolanaRpcUrl(solanaRpcUrl);
3479
+ }, [solanaRpcUrl]);
3399
3480
  const hasCalledReady = _react.useRef.call(void 0, false);
3400
3481
  _react.useEffect.call(void 0, () => {
3401
3482
  if (isOpen && !hasCalledReady.current) {
3402
3483
  hasCalledReady.current = true;
3403
- _optionalChain([onReady, 'optionalCall', _86 => _86()]);
3484
+ _optionalChain([onReady, 'optionalCall', _88 => _88()]);
3404
3485
  }
3405
3486
  }, [isOpen, onReady]);
3406
3487
  _react.useEffect.call(void 0, () => {
@@ -3419,14 +3500,14 @@ function DepositModalInner({
3419
3500
  setTotalBalanceUsd(balance2);
3420
3501
  }, []);
3421
3502
  const handleBack = _react.useCallback.call(void 0, () => {
3422
- _optionalChain([backHandlerRef, 'access', _87 => _87.current, 'optionalCall', _88 => _88()]);
3503
+ _optionalChain([backHandlerRef, 'access', _89 => _89.current, 'optionalCall', _90 => _90()]);
3423
3504
  }, []);
3424
- const showLogo = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _89 => _89.showLogo]), () => ( false));
3425
- const showStepper = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _90 => _90.showStepper]), () => ( false));
3426
- const showBackButton = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _91 => _91.showBackButton]), () => ( true));
3427
- const balance = _optionalChain([uiConfig, 'optionalAccess', _92 => _92.balance]);
3428
- const logoUrl = _nullishCoalesce(_optionalChain([branding, 'optionalAccess', _93 => _93.logoUrl]), () => ( "https://github.com/rhinestonewtf.png"));
3429
- const title = _nullishCoalesce(_optionalChain([branding, 'optionalAccess', _94 => _94.title]), () => ( "Deposit"));
3505
+ const showLogo = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _91 => _91.showLogo]), () => ( false));
3506
+ const showStepper = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _92 => _92.showStepper]), () => ( false));
3507
+ const showBackButton = _nullishCoalesce(_optionalChain([uiConfig, 'optionalAccess', _93 => _93.showBackButton]), () => ( true));
3508
+ const balance = _optionalChain([uiConfig, 'optionalAccess', _94 => _94.balance]);
3509
+ const logoUrl = _nullishCoalesce(_optionalChain([branding, 'optionalAccess', _95 => _95.logoUrl]), () => ( "https://github.com/rhinestonewtf.png"));
3510
+ const title = _nullishCoalesce(_optionalChain([branding, 'optionalAccess', _96 => _96.title]), () => ( "Deposit"));
3430
3511
  const canGoBack = currentStepIndex > 0 && currentStepIndex < 4 && backHandlerRef.current !== void 0;
3431
3512
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3432
3513
  _chunkLT3QKJI2cjs.Modal,
@@ -56,6 +56,7 @@ import {
56
56
 
57
57
  // src/DepositFlow.tsx
58
58
  import { useState as useState10, useCallback as useCallback3, useMemo as useMemo7, useEffect as useEffect8, useRef as useRef5 } from "react";
59
+ import { formatUnits as formatUnits5 } from "viem";
59
60
 
60
61
  // src/components/steps/SetupStep.tsx
61
62
  import { useState, useEffect, useRef, useCallback } from "react";
@@ -1262,9 +1263,14 @@ var SOLANA_TOKENS = [
1262
1263
  decimals: 6
1263
1264
  }
1264
1265
  ];
1265
- var DEFAULT_SOLANA_RPC_URL = "https://api.mainnet-beta.solana.com";
1266
+ var DEFAULT_SOLANA_RPC_URL = "https://api.mainnet.solana.com";
1266
1267
  var configuredSolanaRpcUrl = null;
1267
1268
  var cachedConnections = /* @__PURE__ */ new Map();
1269
+ function configureSolanaRpcUrl(rpcUrl) {
1270
+ const normalized = rpcUrl?.trim();
1271
+ configuredSolanaRpcUrl = normalized ? normalized : null;
1272
+ cachedConnections.clear();
1273
+ }
1268
1274
  function getSolanaRpcUrl() {
1269
1275
  return configuredSolanaRpcUrl ?? DEFAULT_SOLANA_RPC_URL;
1270
1276
  }
@@ -2179,6 +2185,8 @@ function SolanaConfirmStep({
2179
2185
  solanaDepositAddress,
2180
2186
  token,
2181
2187
  amount,
2188
+ targetAmount,
2189
+ targetTokenPriceUsd,
2182
2190
  targetChain,
2183
2191
  targetToken,
2184
2192
  service,
@@ -2192,6 +2200,18 @@ function SolanaConfirmStep({
2192
2200
  const targetSymbol = getTokenSymbol(targetToken, targetChain);
2193
2201
  const isSameToken = token.symbol.toUpperCase() === targetSymbol.toUpperCase();
2194
2202
  const formattedAmount = amount && !Number.isNaN(Number(amount)) ? Number(amount).toLocaleString("en-US", { maximumFractionDigits: 6 }) : "0";
2203
+ const formattedReceiveAmount = (() => {
2204
+ if (isSameToken) return formattedAmount;
2205
+ const dollarValue = Number(targetAmount);
2206
+ if (!Number.isFinite(dollarValue) || dollarValue <= 0)
2207
+ return formattedAmount;
2208
+ if (targetTokenPriceUsd !== null && targetTokenPriceUsd > 0) {
2209
+ const tokenAmount = dollarValue / targetTokenPriceUsd;
2210
+ return tokenAmount.toLocaleString("en-US", { maximumFractionDigits: 6 });
2211
+ }
2212
+ return formattedAmount;
2213
+ })();
2214
+ const receiveAmount = isSameToken ? formattedReceiveAmount : `~ ${formattedReceiveAmount}`;
2195
2215
  const handleConfirm = async () => {
2196
2216
  if (!solanaProvider) {
2197
2217
  debugLog(debug, "solana-confirm", "submit:blocked", {
@@ -2371,7 +2391,9 @@ function SolanaConfirmStep({
2371
2391
  style: { width: 16, height: 16, borderRadius: "50%" }
2372
2392
  }
2373
2393
  ),
2374
- isSameToken ? `~ ${formattedAmount} ${targetSymbol}` : `~ equivalent in ${targetSymbol}`
2394
+ receiveAmount,
2395
+ " ",
2396
+ targetSymbol
2375
2397
  ]
2376
2398
  }
2377
2399
  )
@@ -2589,7 +2611,9 @@ function DepositFlow({
2589
2611
  };
2590
2612
  }
2591
2613
  if (!isConnectSelectionConfirmed || !selectedWalletId) return null;
2592
- const selectedOption = walletOptions.find((option) => option.id === selectedWalletId);
2614
+ const selectedOption = walletOptions.find(
2615
+ (option) => option.id === selectedWalletId
2616
+ );
2593
2617
  if (!selectedOption) return null;
2594
2618
  if (selectedOption.kind === "solana") {
2595
2619
  if (!dappAddress) return null;
@@ -2794,12 +2818,23 @@ function DepositFlow({
2794
2818
  flowMode: isDepositAddressMode ? "deposit-address" : isSolanaWalletMode ? "solana-wallet" : "wallet"
2795
2819
  });
2796
2820
  if (isDepositAddressMode) {
2797
- setStep({ type: "deposit-address", smartAccount, solanaDepositAddress });
2821
+ setStep({
2822
+ type: "deposit-address",
2823
+ smartAccount,
2824
+ solanaDepositAddress
2825
+ });
2798
2826
  } else if (isSolanaWalletMode) {
2799
2827
  if (solanaDepositAddress) {
2800
- setStep({ type: "solana-token-select", smartAccount, solanaDepositAddress });
2828
+ setStep({
2829
+ type: "solana-token-select",
2830
+ smartAccount,
2831
+ solanaDepositAddress
2832
+ });
2801
2833
  } else {
2802
- onError?.({ message: "Solana deposit address not available. Please try again.", code: "SOLANA_SETUP_FAILED" });
2834
+ onError?.({
2835
+ message: "Solana deposit address not available. Please try again.",
2836
+ code: "SOLANA_SETUP_FAILED"
2837
+ });
2803
2838
  }
2804
2839
  } else {
2805
2840
  setStep({ type: "select-asset", smartAccount });
@@ -2854,24 +2889,37 @@ function DepositFlow({
2854
2889
  );
2855
2890
  const handleSolanaAmountContinue = useCallback3(
2856
2891
  (token, amount) => {
2892
+ const targetSym = getTokenSymbol(targetToken, targetChain);
2893
+ const isTargetStable = isStablecoinSymbol(targetSym);
2894
+ const targetTokenPriceUsd = isTargetStable ? 1 : getTokenPriceUsd(targetSym);
2857
2895
  logFlow("solana:amount:continue", {
2858
2896
  token: token.symbol,
2859
- amount
2897
+ amount,
2898
+ targetSymbol: targetSym,
2899
+ targetTokenPriceUsd
2860
2900
  });
2861
2901
  setStep((prev) => {
2862
2902
  if (prev.type !== "solana-amount") return prev;
2903
+ const sourceBalance = Number(
2904
+ formatUnits5(prev.balance, prev.token.decimals)
2905
+ );
2906
+ const sourceTokenPriceUsd = Number.isFinite(sourceBalance) && sourceBalance > 0 && prev.balanceUsd > 0 ? prev.balanceUsd / sourceBalance : null;
2907
+ const parsedAmount = Number(amount);
2908
+ const targetAmount = sourceTokenPriceUsd !== null && Number.isFinite(parsedAmount) && parsedAmount > 0 ? (parsedAmount * sourceTokenPriceUsd).toString() : amount;
2863
2909
  return {
2864
2910
  type: "solana-confirm",
2865
2911
  smartAccount: prev.smartAccount,
2866
2912
  solanaDepositAddress: prev.solanaDepositAddress,
2867
2913
  token,
2868
2914
  amount,
2915
+ targetAmount,
2916
+ targetTokenPriceUsd,
2869
2917
  balance: prev.balance,
2870
2918
  balanceUsd: prev.balanceUsd
2871
2919
  };
2872
2920
  });
2873
2921
  },
2874
- [logFlow]
2922
+ [targetToken, targetChain, getTokenPriceUsd, logFlow]
2875
2923
  );
2876
2924
  const handleSolanaConfirmed = useCallback3(
2877
2925
  (txHash, amountUnits) => {
@@ -3189,6 +3237,8 @@ function DepositFlow({
3189
3237
  solanaDepositAddress: step.solanaDepositAddress,
3190
3238
  token: step.token,
3191
3239
  amount: step.amount,
3240
+ targetAmount: step.targetAmount,
3241
+ targetTokenPriceUsd: step.targetTokenPriceUsd,
3192
3242
  targetChain,
3193
3243
  targetToken,
3194
3244
  service,
@@ -3199,13 +3249,37 @@ function DepositFlow({
3199
3249
  }
3200
3250
  ) : step.type === "solana-confirm" ? /* @__PURE__ */ jsxs10("div", { className: "rs-step", children: [
3201
3251
  /* @__PURE__ */ jsxs10("div", { className: "rs-loading-state", children: [
3202
- /* @__PURE__ */ jsx10("div", { className: "rs-step-icon rs-step-icon--error", children: /* @__PURE__ */ jsx10("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx10("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" }) }) }),
3252
+ /* @__PURE__ */ jsx10("div", { className: "rs-step-icon rs-step-icon--error", children: /* @__PURE__ */ jsx10(
3253
+ "svg",
3254
+ {
3255
+ viewBox: "0 0 24 24",
3256
+ fill: "none",
3257
+ stroke: "currentColor",
3258
+ strokeWidth: "2",
3259
+ children: /* @__PURE__ */ jsx10(
3260
+ "path",
3261
+ {
3262
+ strokeLinecap: "round",
3263
+ strokeLinejoin: "round",
3264
+ d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"
3265
+ }
3266
+ )
3267
+ }
3268
+ ) }),
3203
3269
  /* @__PURE__ */ jsxs10("div", { className: "rs-loading-text", children: [
3204
3270
  /* @__PURE__ */ jsx10("div", { className: "rs-loading-title rs-text-error", children: "Wallet disconnected" }),
3205
3271
  /* @__PURE__ */ jsx10("div", { className: "rs-loading-subtitle", children: "Please reconnect your Solana wallet to continue." })
3206
3272
  ] })
3207
3273
  ] }),
3208
- /* @__PURE__ */ jsx10("div", { className: "rs-step-footer", children: /* @__PURE__ */ jsx10("button", { type: "button", className: "rs-button rs-button--default rs-button--full-width", onClick: handleBackFromSolanaConfirm, children: /* @__PURE__ */ jsx10("span", { children: "Go Back" }) }) })
3274
+ /* @__PURE__ */ jsx10("div", { className: "rs-step-footer", children: /* @__PURE__ */ jsx10(
3275
+ "button",
3276
+ {
3277
+ type: "button",
3278
+ className: "rs-button rs-button--default rs-button--full-width",
3279
+ onClick: handleBackFromSolanaConfirm,
3280
+ children: /* @__PURE__ */ jsx10("span", { children: "Go Back" })
3281
+ }
3282
+ ) })
3209
3283
  ] }) : null,
3210
3284
  step.type === "processing" && /* @__PURE__ */ jsx10(
3211
3285
  ProcessingStep,
@@ -3336,7 +3410,7 @@ function DepositFlow({
3336
3410
  // src/DepositModal.tsx
3337
3411
  import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
3338
3412
  var ReownDepositInner = lazy(
3339
- () => import("./DepositModalReown-WS6WNWJP.mjs").then((m) => ({ default: m.DepositModalReown }))
3413
+ () => import("./DepositModalReown-3GPEVG26.mjs").then((m) => ({ default: m.DepositModalReown }))
3340
3414
  );
3341
3415
  function DepositModal(props) {
3342
3416
  const needsReown = !!props.reownAppId;
@@ -3360,6 +3434,7 @@ function DepositModalInner({
3360
3434
  defaultAmount,
3361
3435
  recipient,
3362
3436
  backendUrl = DEFAULT_BACKEND_URL,
3437
+ solanaRpcUrl,
3363
3438
  signerAddress = DEFAULT_SIGNER_ADDRESS,
3364
3439
  sessionChainIds,
3365
3440
  forceRegister = false,
@@ -3388,7 +3463,10 @@ function DepositModalInner({
3388
3463
  const targetChain = getChainId(targetChainProp);
3389
3464
  const sourceChain = sourceChainProp ? getChainId(sourceChainProp) : void 0;
3390
3465
  const service = useMemo8(
3391
- () => createDepositService(backendUrl, { debug, debugScope: "service:deposit" }),
3466
+ () => createDepositService(backendUrl, {
3467
+ debug,
3468
+ debugScope: "service:deposit"
3469
+ }),
3392
3470
  [backendUrl, debug]
3393
3471
  );
3394
3472
  useEffect9(() => {
@@ -3396,6 +3474,9 @@ function DepositModalInner({
3396
3474
  applyTheme(modalRef.current, theme);
3397
3475
  }
3398
3476
  }, [isOpen, theme]);
3477
+ useEffect9(() => {
3478
+ configureSolanaRpcUrl(solanaRpcUrl);
3479
+ }, [solanaRpcUrl]);
3399
3480
  const hasCalledReady = useRef6(false);
3400
3481
  useEffect9(() => {
3401
3482
  if (isOpen && !hasCalledReady.current) {
package/dist/deposit.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPTSYSG4Ucjs = require('./chunk-PTSYSG4U.cjs');
3
+ var _chunkCDHUGROMcjs = require('./chunk-CDHUGROM.cjs');
4
4
  require('./chunk-LT3QKJI2.cjs');
5
5
  require('./chunk-NELAYNA3.cjs');
6
6
 
7
7
 
8
- exports.DepositModal = _chunkPTSYSG4Ucjs.DepositModal;
8
+ exports.DepositModal = _chunkCDHUGROMcjs.DepositModal;
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { d as DepositModalProps } from './types-CybmMKTE.cjs';
3
- export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData } from './types-CybmMKTE.cjs';
2
+ import { d as DepositModalProps } from './types-CyUiKQ4H.cjs';
3
+ export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData } from './types-CyUiKQ4H.cjs';
4
4
  import 'viem';
5
5
  import './safe.cjs';
6
6
 
package/dist/deposit.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { d as DepositModalProps } from './types-e8CHSm2u.js';
3
- export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData } from './types-e8CHSm2u.js';
2
+ import { d as DepositModalProps } from './types-DQG7NEBI.js';
3
+ export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData } from './types-DQG7NEBI.js';
4
4
  import 'viem';
5
5
  import './safe.js';
6
6
 
package/dist/deposit.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DepositModal
3
- } from "./chunk-6PRJUXTM.mjs";
3
+ } from "./chunk-NLL42V7D.mjs";
4
4
  import "./chunk-QIK6ONMQ.mjs";
5
5
  import "./chunk-ZJQZEIHA.mjs";
6
6
  export {
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPTSYSG4Ucjs = require('./chunk-PTSYSG4U.cjs');
3
+ var _chunkCDHUGROMcjs = require('./chunk-CDHUGROM.cjs');
4
4
 
5
5
 
6
6
  var _chunk37CTMJMOcjs = require('./chunk-37CTMJMO.cjs');
@@ -66,4 +66,4 @@ var _chunkNELAYNA3cjs = require('./chunk-NELAYNA3.cjs');
66
66
 
67
67
 
68
68
 
69
- exports.CHAIN_BY_ID = _chunkNELAYNA3cjs.CHAIN_BY_ID; exports.DEFAULT_BACKEND_URL = _chunkNELAYNA3cjs.DEFAULT_BACKEND_URL; exports.DEFAULT_SIGNER_ADDRESS = _chunkNELAYNA3cjs.DEFAULT_SIGNER_ADDRESS; exports.DepositModal = _chunkPTSYSG4Ucjs.DepositModal; exports.NATIVE_TOKEN_ADDRESS = _chunkNELAYNA3cjs.NATIVE_TOKEN_ADDRESS; exports.SOURCE_CHAINS = _chunkNELAYNA3cjs.SOURCE_CHAINS; exports.SUPPORTED_CHAINS = _chunkNELAYNA3cjs.SUPPORTED_CHAINS; exports.WithdrawModal = _chunk37CTMJMOcjs.WithdrawModal; exports.chainRegistry = _chunkNELAYNA3cjs.chainRegistry; exports.findChainIdForToken = _chunkNELAYNA3cjs.findChainIdForToken; exports.getChainBadge = _chunkNELAYNA3cjs.getChainBadge; exports.getChainIcon = _chunkNELAYNA3cjs.getChainIcon; exports.getChainId = _chunkNELAYNA3cjs.getChainId; exports.getChainName = _chunkNELAYNA3cjs.getChainName; exports.getChainObject = _chunkNELAYNA3cjs.getChainObject; exports.getExplorerName = _chunkNELAYNA3cjs.getExplorerName; exports.getExplorerTxUrl = _chunkNELAYNA3cjs.getExplorerTxUrl; exports.getExplorerUrl = _chunkNELAYNA3cjs.getExplorerUrl; exports.getSupportedChainIds = _chunkNELAYNA3cjs.getSupportedChainIds; exports.getSupportedTargetTokens = _chunkNELAYNA3cjs.getSupportedTargetTokens; exports.getSupportedTokenSymbolsForChain = _chunkNELAYNA3cjs.getSupportedTokenSymbolsForChain; exports.getTargetTokenSymbolsForChain = _chunkNELAYNA3cjs.getTargetTokenSymbolsForChain; exports.getTokenAddress = _chunkNELAYNA3cjs.getTokenAddress; exports.getTokenDecimals = _chunkNELAYNA3cjs.getTokenDecimals; exports.getTokenDecimalsByAddress = _chunkNELAYNA3cjs.getTokenDecimalsByAddress; exports.getTokenIcon = _chunkNELAYNA3cjs.getTokenIcon; exports.getTokenSymbol = _chunkNELAYNA3cjs.getTokenSymbol; exports.getUsdcAddress = _chunkNELAYNA3cjs.getUsdcAddress; exports.getUsdcDecimals = _chunkNELAYNA3cjs.getUsdcDecimals; exports.isSupportedTokenAddressForChain = _chunkNELAYNA3cjs.isSupportedTokenAddressForChain;
69
+ exports.CHAIN_BY_ID = _chunkNELAYNA3cjs.CHAIN_BY_ID; exports.DEFAULT_BACKEND_URL = _chunkNELAYNA3cjs.DEFAULT_BACKEND_URL; exports.DEFAULT_SIGNER_ADDRESS = _chunkNELAYNA3cjs.DEFAULT_SIGNER_ADDRESS; exports.DepositModal = _chunkCDHUGROMcjs.DepositModal; exports.NATIVE_TOKEN_ADDRESS = _chunkNELAYNA3cjs.NATIVE_TOKEN_ADDRESS; exports.SOURCE_CHAINS = _chunkNELAYNA3cjs.SOURCE_CHAINS; exports.SUPPORTED_CHAINS = _chunkNELAYNA3cjs.SUPPORTED_CHAINS; exports.WithdrawModal = _chunk37CTMJMOcjs.WithdrawModal; exports.chainRegistry = _chunkNELAYNA3cjs.chainRegistry; exports.findChainIdForToken = _chunkNELAYNA3cjs.findChainIdForToken; exports.getChainBadge = _chunkNELAYNA3cjs.getChainBadge; exports.getChainIcon = _chunkNELAYNA3cjs.getChainIcon; exports.getChainId = _chunkNELAYNA3cjs.getChainId; exports.getChainName = _chunkNELAYNA3cjs.getChainName; exports.getChainObject = _chunkNELAYNA3cjs.getChainObject; exports.getExplorerName = _chunkNELAYNA3cjs.getExplorerName; exports.getExplorerTxUrl = _chunkNELAYNA3cjs.getExplorerTxUrl; exports.getExplorerUrl = _chunkNELAYNA3cjs.getExplorerUrl; exports.getSupportedChainIds = _chunkNELAYNA3cjs.getSupportedChainIds; exports.getSupportedTargetTokens = _chunkNELAYNA3cjs.getSupportedTargetTokens; exports.getSupportedTokenSymbolsForChain = _chunkNELAYNA3cjs.getSupportedTokenSymbolsForChain; exports.getTargetTokenSymbolsForChain = _chunkNELAYNA3cjs.getTargetTokenSymbolsForChain; exports.getTokenAddress = _chunkNELAYNA3cjs.getTokenAddress; exports.getTokenDecimals = _chunkNELAYNA3cjs.getTokenDecimals; exports.getTokenDecimalsByAddress = _chunkNELAYNA3cjs.getTokenDecimalsByAddress; exports.getTokenIcon = _chunkNELAYNA3cjs.getTokenIcon; exports.getTokenSymbol = _chunkNELAYNA3cjs.getTokenSymbol; exports.getUsdcAddress = _chunkNELAYNA3cjs.getUsdcAddress; exports.getUsdcDecimals = _chunkNELAYNA3cjs.getUsdcDecimals; exports.isSupportedTokenAddressForChain = _chunkNELAYNA3cjs.isSupportedTokenAddressForChain;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DepositModal } from './deposit.cjs';
2
2
  export { WithdrawModal } from './withdraw.cjs';
3
- export { A as AssetOption, C as ChainId, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-CybmMKTE.cjs';
3
+ export { A as AssetOption, C as ChainId, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-CyUiKQ4H.cjs';
4
4
  export { CHAIN_BY_ID, DEFAULT_BACKEND_URL, DEFAULT_SIGNER_ADDRESS, NATIVE_TOKEN_ADDRESS, SOURCE_CHAINS, SUPPORTED_CHAINS, chainRegistry, findChainIdForToken, getChainBadge, getChainIcon, getChainId, getChainName, getChainObject, getExplorerName, getExplorerTxUrl, getExplorerUrl, getSupportedChainIds, getSupportedTargetTokens, getSupportedTokenSymbolsForChain, getTargetTokenSymbolsForChain, getTokenAddress, getTokenDecimals, getTokenDecimalsByAddress, getTokenIcon, getTokenSymbol, getUsdcAddress, getUsdcDecimals, isSupportedTokenAddressForChain } from './constants.cjs';
5
5
  export { SafeTransactionRequest } from './safe.cjs';
6
6
  import 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DepositModal } from './deposit.js';
2
2
  export { WithdrawModal } from './withdraw.js';
3
- export { A as AssetOption, C as ChainId, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-e8CHSm2u.js';
3
+ export { A as AssetOption, C as ChainId, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-DQG7NEBI.js';
4
4
  export { CHAIN_BY_ID, DEFAULT_BACKEND_URL, DEFAULT_SIGNER_ADDRESS, NATIVE_TOKEN_ADDRESS, SOURCE_CHAINS, SUPPORTED_CHAINS, chainRegistry, findChainIdForToken, getChainBadge, getChainIcon, getChainId, getChainName, getChainObject, getExplorerName, getExplorerTxUrl, getExplorerUrl, getSupportedChainIds, getSupportedTargetTokens, getSupportedTokenSymbolsForChain, getTargetTokenSymbolsForChain, getTokenAddress, getTokenDecimals, getTokenDecimalsByAddress, getTokenIcon, getTokenSymbol, getUsdcAddress, getUsdcDecimals, isSupportedTokenAddressForChain } from './constants.js';
5
5
  export { SafeTransactionRequest } from './safe.js';
6
6
  import 'react/jsx-runtime';
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DepositModal
3
- } from "./chunk-6PRJUXTM.mjs";
3
+ } from "./chunk-NLL42V7D.mjs";
4
4
  import {
5
5
  WithdrawModal
6
6
  } from "./chunk-KWAFKVV6.mjs";
package/dist/reown.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPTSYSG4Ucjs = require('./chunk-PTSYSG4U.cjs');
3
+ var _chunkCDHUGROMcjs = require('./chunk-CDHUGROM.cjs');
4
4
 
5
5
 
6
6
  var _chunk37CTMJMOcjs = require('./chunk-37CTMJMO.cjs');
@@ -9,4 +9,4 @@ require('./chunk-NELAYNA3.cjs');
9
9
 
10
10
 
11
11
 
12
- exports.DepositModal = _chunkPTSYSG4Ucjs.DepositModal; exports.WithdrawModal = _chunk37CTMJMOcjs.WithdrawModal;
12
+ exports.DepositModal = _chunkCDHUGROMcjs.DepositModal; exports.WithdrawModal = _chunk37CTMJMOcjs.WithdrawModal;
package/dist/reown.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DepositModal } from './deposit.cjs';
2
2
  export { WithdrawModal } from './withdraw.cjs';
3
- export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-CybmMKTE.cjs';
3
+ export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-CyUiKQ4H.cjs';
4
4
  export { SafeTransactionRequest } from './safe.cjs';
5
5
  import 'react/jsx-runtime';
6
6
  import 'viem';
package/dist/reown.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DepositModal } from './deposit.js';
2
2
  export { WithdrawModal } from './withdraw.js';
3
- export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-e8CHSm2u.js';
3
+ export { A as AssetOption, a as ConnectedEventData, D as DepositCompleteEventData, b as DepositFailedEventData, c as DepositModalBranding, d as DepositModalProps, e as DepositModalTheme, f as DepositModalUIConfig, g as DepositSubmittedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, i as WithdrawModalProps, j as WithdrawSubmittedEventData } from './types-DQG7NEBI.js';
4
4
  export { SafeTransactionRequest } from './safe.js';
5
5
  import 'react/jsx-runtime';
6
6
  import 'viem';
package/dist/reown.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DepositModal
3
- } from "./chunk-6PRJUXTM.mjs";
3
+ } from "./chunk-NLL42V7D.mjs";
4
4
  import {
5
5
  WithdrawModal
6
6
  } from "./chunk-KWAFKVV6.mjs";
package/dist/styles.css CHANGED
@@ -1655,6 +1655,8 @@
1655
1655
  }
1656
1656
 
1657
1657
  .rs-amount-token-value {
1658
+ width: 100%;
1659
+ text-align: center;
1658
1660
  font-size: 14px;
1659
1661
  color: var(--rs-muted);
1660
1662
  margin-top: 2px;
@@ -77,6 +77,7 @@ interface DepositModalProps {
77
77
  defaultAmount?: string;
78
78
  recipient: Address;
79
79
  backendUrl?: string;
80
+ solanaRpcUrl?: string;
80
81
  rhinestoneApiKey?: string;
81
82
  signerAddress?: Address;
82
83
  sessionChainIds?: number[];
@@ -77,6 +77,7 @@ interface DepositModalProps {
77
77
  defaultAmount?: string;
78
78
  recipient: Address;
79
79
  backendUrl?: string;
80
+ solanaRpcUrl?: string;
80
81
  rhinestoneApiKey?: string;
81
82
  signerAddress?: Address;
82
83
  sessionChainIds?: number[];
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { i as WithdrawModalProps } from './types-CybmMKTE.cjs';
3
- export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, j as WithdrawSubmittedEventData } from './types-CybmMKTE.cjs';
2
+ import { i as WithdrawModalProps } from './types-CyUiKQ4H.cjs';
3
+ export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, j as WithdrawSubmittedEventData } from './types-CyUiKQ4H.cjs';
4
4
  export { SafeTransactionRequest } from './safe.cjs';
5
5
  import 'viem';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { i as WithdrawModalProps } from './types-e8CHSm2u.js';
3
- export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, j as WithdrawSubmittedEventData } from './types-e8CHSm2u.js';
2
+ import { i as WithdrawModalProps } from './types-DQG7NEBI.js';
3
+ export { A as AssetOption, a as ConnectedEventData, E as ErrorEventData, W as WithdrawCompleteEventData, h as WithdrawFailedEventData, j as WithdrawSubmittedEventData } from './types-DQG7NEBI.js';
4
4
  export { SafeTransactionRequest } from './safe.js';
5
5
  import 'viem';
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/deposit-modal",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "description": "React modal component for Rhinestone cross-chain deposits",
5
5
  "author": "Rhinestone <dev@rhinestone.wtf>",
6
6
  "bugs": {
@@ -65,9 +65,9 @@
65
65
  "react-dom": ">=18",
66
66
  "viem": ">=2",
67
67
  "wagmi": ">=3",
68
- "@reown/appkit": ">=1",
69
- "@reown/appkit-adapter-wagmi": ">=1",
70
- "@reown/appkit-adapter-solana": ">=1",
68
+ "@reown/appkit": ">=1.6.0",
69
+ "@reown/appkit-adapter-wagmi": ">=1.6.0",
70
+ "@reown/appkit-adapter-solana": ">=1.6.0",
71
71
  "@solana/web3.js": ">=1",
72
72
  "@solana/spl-token": ">=0.4",
73
73
  "@tanstack/react-query": ">=5"
@@ -87,9 +87,9 @@
87
87
  "qrcode-generator": "^2.0.4"
88
88
  },
89
89
  "devDependencies": {
90
- "@reown/appkit": "^1.8.17",
91
- "@reown/appkit-adapter-solana": "^1.8.18",
92
- "@reown/appkit-adapter-wagmi": "^1.8.17",
90
+ "@reown/appkit": "1.8.19",
91
+ "@reown/appkit-adapter-solana": "1.8.19",
92
+ "@reown/appkit-adapter-wagmi": "1.8.19",
93
93
  "@size-limit/preset-small-lib": "^12.0.0",
94
94
  "@solana/spl-token": "^0.4.14",
95
95
  "@solana/web3.js": "^1.98.4",
@@ -158,5 +158,8 @@
158
158
  "repository": {
159
159
  "type": "git",
160
160
  "url": "https://github.com/rhinestonewtf/deposit-modal"
161
+ },
162
+ "overrides": {
163
+ "@reown/appkit-common": "1.8.19"
161
164
  }
162
165
  }