@rozoai/intent-pay 0.1.36 → 0.1.37-beta.1

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 (72) hide show
  1. package/build/components/Common/OptionsList/index.d.ts +1 -0
  2. package/build/components/Common/TokenChainLogo/index.d.ts +7 -1
  3. package/build/components/Spinners/TokenLogoSpinner/index.d.ts +6 -1
  4. package/build/hooks/useDepositAddressOptions.d.ts +3 -2
  5. package/build/hooks/usePaymentState.d.ts +11 -5
  6. package/build/hooks/useRozoPay.d.ts +4 -4
  7. package/build/hooks/useSolanaPaymentOptions.d.ts +1 -1
  8. package/build/hooks/useStellarPaymentOptions.d.ts +1 -1
  9. package/build/hooks/useWalletPaymentOptions.d.ts +12 -7
  10. package/build/package.json.js +2 -2
  11. package/build/payment/createPaymentPayload.d.ts +3 -3
  12. package/build/payment/paymentFsm.d.ts +25 -2
  13. package/build/provider/PayContext.d.ts +3 -3
  14. package/build/src/components/Common/AmountInput/index.js +1 -1
  15. package/build/src/components/Common/AmountInput/index.js.map +1 -1
  16. package/build/src/components/Common/ConnectorList/index.js +2 -3
  17. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  18. package/build/src/components/Common/OptionsList/index.js +3 -1
  19. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  20. package/build/src/components/Common/TokenChainLogo/index.js +26 -3
  21. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  22. package/build/src/components/Pages/PayWithToken/index.js +15 -4
  23. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  24. package/build/src/components/Pages/SelectDepositAddressChain/index.js +6 -17
  25. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  26. package/build/src/components/Pages/SelectMethod/index.js +1 -3
  27. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  28. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +31 -2
  29. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  30. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +57 -24
  31. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  32. package/build/src/components/Pages/Stellar/ConnectorStellar/index.js +13 -1
  33. package/build/src/components/Pages/Stellar/ConnectorStellar/index.js.map +1 -1
  34. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +33 -36
  35. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
  36. package/build/src/components/Pages/WaitingDepositAddress/index.js +110 -33
  37. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  38. package/build/src/components/RozoPayModal/index.js +20 -11
  39. package/build/src/components/RozoPayModal/index.js.map +1 -1
  40. package/build/src/components/Spinners/TokenLogoSpinner/index.js +5 -2
  41. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  42. package/build/src/hooks/useDepositAddressOptions.js +19 -9
  43. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  44. package/build/src/hooks/usePaymentState.js +185 -71
  45. package/build/src/hooks/usePaymentState.js.map +1 -1
  46. package/build/src/hooks/useRozoPay.js +4 -2
  47. package/build/src/hooks/useRozoPay.js.map +1 -1
  48. package/build/src/hooks/useSolanaPaymentOptions.js +45 -12
  49. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  50. package/build/src/hooks/useStellarPaymentOptions.js +40 -10
  51. package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
  52. package/build/src/hooks/useTokenOptions.js +4 -3
  53. package/build/src/hooks/useTokenOptions.js.map +1 -1
  54. package/build/src/hooks/useWalletPaymentOptions.js +54 -21
  55. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  56. package/build/src/payment/createPaymentPayload.js +38 -13
  57. package/build/src/payment/createPaymentPayload.js.map +1 -1
  58. package/build/src/payment/paymentEffects.js +4 -5
  59. package/build/src/payment/paymentEffects.js.map +1 -1
  60. package/build/src/payment/paymentFsm.js.map +1 -1
  61. package/build/src/provider/RozoPayProvider.js +15 -6
  62. package/build/src/provider/RozoPayProvider.js.map +1 -1
  63. package/build/src/utils/format.js +82 -13
  64. package/build/src/utils/format.js.map +1 -1
  65. package/build/src/utils/token.js +21 -5
  66. package/build/src/utils/token.js.map +1 -1
  67. package/build/utils/format.d.ts +44 -3
  68. package/build/utils/token.d.ts +6 -2
  69. package/package.json +2 -2
  70. package/build/hooks/refreshUtils.d.ts +0 -19
  71. package/build/src/hooks/refreshUtils.js +0 -40
  72. package/build/src/hooks/refreshUtils.js.map +0 -1
@@ -1,10 +1,11 @@
1
- import { ExternalPaymentOptions, rozoStellar, TokenSymbol, assert, getPayment, checkoutPayment, buildCheckoutPayload, createPayment, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, isValidSolanaAddress, rozoSolanaUSDC, rozoStellarUSDC, rozoStellarEURC, solana, rozoSolana, stellar, getChainById, getKnownToken, generateSolanaDeepLink, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
1
+ import { ExternalPaymentOptions, rozoStellar, TokenSymbol, assert, isNativeToken, getPayment, checkoutPayment, buildCheckoutPayload, createPayment, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, isValidSolanaAddress, solanaSOL, stellarXLM, rozoStellarUSDC, rozoStellarEURC, solana, rozoSolana, stellar, FeeType, getChainById, getKnownToken, generateSolanaDeepLink, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
2
2
  import { useWallet, useConnection } from '@solana/wallet-adapter-react';
3
- import { VersionedTransaction, PublicKey, Transaction } from '@solana/web3.js';
3
+ import { VersionedTransaction, PublicKey, SystemProgram, Transaction } from '@solana/web3.js';
4
4
  import { useRef, useState, useEffect, useCallback, useMemo } from 'react';
5
- import { parseUnits, zeroAddress, getAddress, erc20Abi, hexToBytes } from 'viem';
5
+ import { getAddress, erc20Abi, hexToBytes, parseUnits } from 'viem';
6
6
  import { useAccount, useSwitchChain, useSendTransaction, useWriteContract, useWalletClient, useCapabilities } from 'wagmi';
7
7
  import { useWriteContracts } from 'wagmi/experimental';
8
+ import { tokenBaseAmountToDecimalString, tokenAmountToBaseUnits } from '../utils/format.js';
8
9
  import { convertPreferredSymbolsToTokens } from '../utils/token.js';
9
10
  import { createMemoInstruction } from '@solana/spl-memo';
10
11
  import { getAssociatedTokenAddress, createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID, createTransferCheckedInstruction } from '@solana/spl-token';
@@ -52,7 +53,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
52
53
  const { data: walletClient } = useWalletClient();
53
54
  const { data: walletCapabilities, isPending: capabilitiesPending } = useCapabilities();
54
55
  const { writeContractsAsync } = useWriteContracts();
55
- // ponytail: order.metadata.dataSuffix survives ROZO_INVOICE_URL redirects where the
56
+ // order.metadata.dataSuffix survives ROZO_INVOICE_URL redirects where the
56
57
  // consumer's wagmi config (globalDataSuffix) is absent. Invoice checkout fetches the
57
58
  // order first and passes metadata.dataSuffix into getDefaultConfig, but this fallback
58
59
  // covers the in-SDK path where the order is already loaded.
@@ -161,12 +162,26 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
161
162
  }
162
163
  // payId mode: derive filtering params from the loaded order so that
163
164
  // payment option hooks apply the same token filtering as appId mode.
164
- // e.g. if destination is USDC, only show USDC/USDT sources (not EURC).
165
+ // e.g. if destination is USDC, allow paying with USDC/USDT/native tokens
166
+ // (we don't support payout to native tokens yet, but paying *with* native
167
+ // source balances is fine). EURC destinations are payable only with EURC.
165
168
  if (pay.order && pay.order.destFinalCallTokenAmount) {
166
169
  const destSymbol = pay.order.destFinalCallTokenAmount.token.symbol;
167
- // Derive preferredSymbol from destination: EURC destinations show EURC,
168
- // everything else defaults to USDC + USDT.
169
- const preferredSymbol = destSymbol === TokenSymbol.EURC ? [TokenSymbol.EURC] : [TokenSymbol.USDC, TokenSymbol.USDT];
170
+ // Derive preferredSymbol from destination: EURC destinations must be
171
+ // paid with EURC only. Everything else defaults to USDC + USDT plus
172
+ // native tokens as payable sources (payout is still fixed to
173
+ // toChain/toToken and never native).
174
+ const preferredSymbol = destSymbol === TokenSymbol.EURC
175
+ ? [TokenSymbol.EURC]
176
+ : [
177
+ TokenSymbol.USDC,
178
+ TokenSymbol.USDT,
179
+ TokenSymbol.ETH,
180
+ TokenSymbol.BNB,
181
+ TokenSymbol.POL,
182
+ TokenSymbol.SOL,
183
+ TokenSymbol.XLM,
184
+ ];
170
185
  const preferredTokens = convertPreferredSymbolsToTokens(preferredSymbol, undefined);
171
186
  return {
172
187
  toChain: pay.order.destFinalCallTokenAmount.token.chainId,
@@ -214,6 +229,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
214
229
  const depositAddressOptions = useDepositAddressOptions({
215
230
  trpc,
216
231
  usdRequired,
232
+ mode: pay.order?.mode,
217
233
  payParams: stablePayParams,
218
234
  });
219
235
  const chainOrderUsdLimits = useOrderUsdLimits({ trpc });
@@ -253,15 +269,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
253
269
  // Read from ref instead of closure to get latest value and avoid stale state
254
270
  const payParams = currPayParamsRef.current;
255
271
  const order = pay.order;
256
- // Narrow order to the specific shapes supported by buildCreatePaymentPayload.
257
- // In error/idle states `pay.order` can be a plain RozoPayOrder or null,
258
- // which is not assignable to the expected OrderLike type.
259
- const orderForPayload = order && "org" in order
260
- ? order
261
- : undefined;
262
272
  // If payment already exists (payId mode or rozoPaymentId set), checkout instead of create.
273
+ // backend forbids `checkout` when rotating to a native source token
274
+ // (SOL/ETH/XLM) — "create a new order instead" — so route native sources to the
275
+ // create branch below instead of calling checkout.
263
276
  const existingPayId = order?.externalId ?? rozoPaymentId ?? undefined;
264
- if (!payParams || existingPayId) {
277
+ const rotateToNative = walletOption != null && isNativeToken(walletOption.required.token.token);
278
+ const shouldCheckout = !!existingPayId && !rotateToNative;
279
+ if (!payParams || shouldCheckout) {
265
280
  if (!existingPayId) {
266
281
  throw new Error("No pay params provided");
267
282
  }
@@ -270,11 +285,20 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
270
285
  if (!paymentRes?.data) {
271
286
  throw new Error("Failed to fetch payment");
272
287
  }
288
+ // Use required.amount (base units, already priced by the backend)
289
+ // converted to a human-readable token amount — NOT required.usd,
290
+ // which only equals the token amount for 1:1-USD-pegged tokens
291
+ // (USDC/USDT). For native ETH/BNB/POL/SOL/XLM this would send the
292
+ // wrong amount to the backend (e.g. "1.00" instead of "0.0005").
293
+ // Some endpoints return required.amount as an already-human-readable
294
+ // decimal string instead of integer base units, so detect the shape
295
+ // first — BigInt() throws on decimal strings.
296
+ const sourceAmount = tokenBaseAmountToDecimalString(walletOption.required.amount, walletOption.required.token.decimals);
273
297
  const checkoutRes = await checkoutPayment(existingPayId, buildCheckoutPayload(paymentRes.data, {
274
298
  chainId: walletOption.required.token.chainId,
275
299
  tokenSymbol: walletOption.required.token.symbol,
276
300
  tokenAddress: walletOption.required.token.token,
277
- amount: String(walletOption.required.usd),
301
+ amount: sourceAmount,
278
302
  }));
279
303
  if (!checkoutRes?.data) {
280
304
  throw new Error("Failed to checkout payment");
@@ -293,6 +317,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
293
317
  }
294
318
  }
295
319
  try {
320
+ // Narrow order to the specific shapes supported by buildCreatePaymentPayload.
321
+ // In error/idle states `pay.order` can be a plain RozoPayOrder or null,
322
+ // which lacks `destFinalCallTokenAmount`; passing it through would throw
323
+ // when we derive the destination amount. Fall back to the payParams-only
324
+ // branch (order undefined) in that case.
325
+ const orderForPayload = order && "org" in order
326
+ ? order
327
+ : undefined;
296
328
  const payload = buildCreatePaymentPayload({
297
329
  payParams,
298
330
  order: orderForPayload,
@@ -333,9 +365,11 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
333
365
  if (!validatePaymentRequirements(walletOption, pay.paymentState)) {
334
366
  throw new Error(`[PAY TOKEN] required token ${debugJson(required)} does not match fees token ${debugJson(fees)}`);
335
367
  }
336
- // @NOTE: Fee handled by Rozo API
337
- // const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);
338
- const paymentAmount = parseUnits(required.usd.toString(), required.token.decimals);
368
+ // Use required.amount (base units, already priced by the backend) —
369
+ // NOT required.usd, which only equals the token amount for 1:1-USD-pegged
370
+ // tokens (USDC/USDT). For native ETH/BNB/POL this would send the wrong
371
+ // amount (e.g. 1.00 ETH instead of ~0.0006 ETH for a $1 payment).
372
+ const paymentAmount = tokenAmountToBaseUnits(required.amount, required.token.decimals);
339
373
  // Check if we need to create a new Rozo payment (cache this check)
340
374
  const previousChainId = pay.order.preferredChainId ? Number(pay.order.preferredChainId) : null;
341
375
  // If we have an existing payment and chain differs, MUST create new payment
@@ -347,8 +381,11 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
347
381
  pay.order.destFinalCallTokenAmount?.token?.chainId !== required.token.chainId);
348
382
  log?.(`[PAY TOKEN] Chain check: previous=${previousChainId}, current=${required.token.chainId}, hasExistingPayment=${hasExistingPayment}, needRozoPayment=${needRozoPayment}`);
349
383
  // Prepare transaction parameters early (before async operations)
350
- const isNativeToken = required.token.token === zeroAddress;
351
- const tokenAddress = isNativeToken ? null : getAddress(required.token.token);
384
+ // Case-insensitive native detection: `required.token.token` is checksummed
385
+ // (from the API) while viem's `ethAddress` is lowercase, so a direct `===`
386
+ // would misclassify native ETH as an ERC20 and take the wrong transfer path.
387
+ const isNative = isNativeToken(required.token.token);
388
+ const tokenAddress = isNative ? null : getAddress(required.token.token);
352
389
  // Get hydrated order efficiently with parallel preparation
353
390
  let hydratedOrder;
354
391
  let paymentId;
@@ -445,7 +482,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
445
482
  // Execute transaction with optimized error handling
446
483
  const paymentTxHash = await (async () => {
447
484
  try {
448
- if (isNativeToken) {
485
+ if (required.token.chainId !== bscUSDT.chainId) {
486
+ await switchChainAsync({ chainId: required.token.chainId });
487
+ }
488
+ log?.(`[PAY ERC20] dataSuffix: ${resolvedDataSuffix ?? "(none)"}`);
489
+ // EIP-5792 path: only when wallet advertises dataSuffix capability (Base App / Coinbase Wallet).
490
+ const chainCapabilities = walletCapabilities?.[required.token.chainId];
491
+ const supportsDataSuffix = !capabilitiesPending && resolvedDataSuffix != null && !!chainCapabilities?.dataSuffix;
492
+ if (isNative) {
449
493
  // dataSuffix intentionally omitted — appending data to bare ETH transfers
450
494
  // changes wallet UI display; builder-code attribution targets contract calls.
451
495
  return await sendTransactionAsync({
@@ -454,13 +498,6 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
454
498
  });
455
499
  }
456
500
  else {
457
- if (required.token.chainId !== bscUSDT.chainId) {
458
- await switchChainAsync({ chainId: required.token.chainId });
459
- }
460
- log?.(`[PAY ERC20] dataSuffix: ${resolvedDataSuffix ?? "(none)"}`);
461
- // EIP-5792 path: only when wallet advertises dataSuffix capability (Base App / Coinbase Wallet).
462
- const chainCapabilities = walletCapabilities?.[required.token.chainId];
463
- const supportsDataSuffix = !capabilitiesPending && resolvedDataSuffix != null && !!chainCapabilities?.dataSuffix;
464
501
  if (supportsDataSuffix) {
465
502
  if (!walletClient)
466
503
  throw new Error("No walletClient available");
@@ -593,11 +630,9 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
593
630
  throw new Error(`Invalid Solana destination address format: ${rozoPayment.destAddress}`);
594
631
  }
595
632
  // Set up token addresses
596
- let mintAddress;
597
633
  let fromKey;
598
634
  let toKey;
599
635
  try {
600
- mintAddress = new PublicKey(walletPaymentOption.required.token.token);
601
636
  fromKey = new PublicKey(payerPublicKey);
602
637
  toKey = new PublicKey(rozoPayment.destAddress);
603
638
  }
@@ -605,32 +640,77 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
605
640
  throw new Error(`Invalid Solana address format: ${error.message}. ` +
606
641
  `Destination address: ${rozoPayment.destAddress}`);
607
642
  }
608
- log("[PAY SOLANA] Transaction details:", {
609
- tokenMint: mintAddress.toString(),
610
- fromKey: fromKey.toString(),
611
- toKey: toKey.toString(),
612
- amount: walletPaymentOption.required.usd,
613
- memo: rozoPayment.memo,
614
- });
615
- // Get token accounts for sender and recipient
616
- log("[PAY SOLANA] Deriving associated token accounts...");
617
- const senderTokenAccount = await getAssociatedTokenAddress(mintAddress, fromKey);
618
- const recipientTokenAccount = await getAssociatedTokenAddress(mintAddress, toKey);
619
- log("[PAY SOLANA] Sender token account:", senderTokenAccount.toString());
620
- log("[PAY SOLANA] Recipient token account:", recipientTokenAccount.toString());
621
- // Check if recipient token account exists
622
- log("[PAY SOLANA] Checking if recipient token account exists...");
623
- const recipientTokenInfo = await connection.getAccountInfo(recipientTokenAccount);
624
- // Create recipient token account if it doesn't exist
625
- if (!recipientTokenInfo) {
626
- log("[PAY SOLANA] Creating recipient token account...");
627
- instructions.push(createAssociatedTokenAccountInstruction(payerPublicKey, recipientTokenAccount, toKey, mintAddress, TOKEN_PROGRAM_ID));
643
+ const isNativeSol = walletPaymentOption.required.token.token === solanaSOL.token;
644
+ if (isNativeSol) {
645
+ if (!rozoPayment.sourceAmount) {
646
+ throw new Error("Source amount is required for native SOL payment");
647
+ }
648
+ // Native SOL: plain lamport transfer, no token account / mint involved.
649
+ // Use required.amount (already computed by the backend in lamports,
650
+ // correctly priced from USD via the live SOL/USD rate) instead of
651
+ // re-deriving from required.usd, which would incorrectly treat SOL
652
+ // as pegged 1:1 to USD.
653
+ log("[PAY SOLANA] Transaction details (native SOL):", {
654
+ fromKey: fromKey.toString(),
655
+ toKey: toKey.toString(),
656
+ amount: walletPaymentOption.required.amount,
657
+ usd: walletPaymentOption.required.usd,
658
+ memo: rozoPayment.memo,
659
+ });
660
+ // Keep as bigint — SystemProgram.transfer accepts number | bigint.
661
+ // Converting to Number would lose precision for amounts > 2^53 base units.
662
+ const lamports = tokenAmountToBaseUnits(walletPaymentOption.required.amount, solanaSOL.decimals);
663
+ log("[PAY SOLANA] Transfer amount (lamports):", lamports.toString());
664
+ instructions.push(SystemProgram.transfer({
665
+ fromPubkey: fromKey,
666
+ toPubkey: toKey,
667
+ lamports: parseUnits(rozoPayment.sourceAmount, solanaSOL.decimals),
668
+ }));
669
+ }
670
+ else {
671
+ let mintAddress;
672
+ try {
673
+ mintAddress = new PublicKey(walletPaymentOption.required.token.token);
674
+ }
675
+ catch (error) {
676
+ throw new Error(`Invalid Solana address format: ${error.message}. ` +
677
+ `Destination address: ${rozoPayment.destAddress}`);
678
+ }
679
+ log("[PAY SOLANA] Transaction details:", {
680
+ tokenMint: mintAddress.toString(),
681
+ fromKey: fromKey.toString(),
682
+ toKey: toKey.toString(),
683
+ amount: walletPaymentOption.required.amount,
684
+ usd: walletPaymentOption.required.usd,
685
+ memo: rozoPayment.memo,
686
+ });
687
+ // Get token accounts for sender and recipient
688
+ log("[PAY SOLANA] Deriving associated token accounts...");
689
+ const senderTokenAccount = await getAssociatedTokenAddress(mintAddress, fromKey);
690
+ const recipientTokenAccount = await getAssociatedTokenAddress(mintAddress, toKey);
691
+ log("[PAY SOLANA] Sender token account:", senderTokenAccount.toString());
692
+ log("[PAY SOLANA] Recipient token account:", recipientTokenAccount.toString());
693
+ // Check if recipient token account exists
694
+ log("[PAY SOLANA] Checking if recipient token account exists...");
695
+ const recipientTokenInfo = await connection.getAccountInfo(recipientTokenAccount);
696
+ // Create recipient token account if it doesn't exist
697
+ if (!recipientTokenInfo) {
698
+ log("[PAY SOLANA] Creating recipient token account...");
699
+ instructions.push(createAssociatedTokenAccountInstruction(payerPublicKey, recipientTokenAccount, toKey, mintAddress, TOKEN_PROGRAM_ID));
700
+ }
701
+ // Add transfer instruction
702
+ // Use required.amount (already computed by the backend in the
703
+ // token's base units, correctly priced from USD) instead of
704
+ // re-deriving from required.usd with a hardcoded 6-decimal
705
+ // assumption, which silently breaks for non-1:1-USD or
706
+ // differently-decimaled SPL tokens.
707
+ log("[PAY SOLANA] Adding transfer instruction...");
708
+ // Keep as bigint — createTransferCheckedInstruction accepts number | bigint.
709
+ // Converting to Number would lose precision for amounts > 2^53 base units.
710
+ const transferAmount = tokenAmountToBaseUnits(walletPaymentOption.required.amount, walletPaymentOption.required.token.decimals);
711
+ log("[PAY SOLANA] Transfer amount (base units):", transferAmount.toString());
712
+ instructions.push(createTransferCheckedInstruction(senderTokenAccount, mintAddress, recipientTokenAccount, fromKey, transferAmount, walletPaymentOption.required.token.decimals));
628
713
  }
629
- // Add transfer instruction
630
- log("[PAY SOLANA] Adding transfer instruction...");
631
- const transferAmount = parseFloat(walletPaymentOption.required.usd.toString()) * 1_000_000;
632
- log("[PAY SOLANA] Transfer amount (with decimals):", transferAmount);
633
- instructions.push(createTransferCheckedInstruction(senderTokenAccount, mintAddress, recipientTokenAccount, fromKey, transferAmount, rozoSolanaUSDC.decimals));
634
714
  // Add memo if provided
635
715
  if (rozoPayment.memo) {
636
716
  log("[PAY SOLANA] Adding memo instruction:", rozoPayment.memo);
@@ -693,18 +773,29 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
693
773
  await setStellarWallet(stellarConnector);
694
774
  }
695
775
  const sourceAccount = await stellarServer.loadAccount(stellarPublicKey);
696
- let issuer = "";
697
- if (walletPaymentOption.required.token.token === rozoStellarUSDC.token) {
698
- issuer = rozoStellarUSDC.token.split(":")[1];
776
+ let destAsset;
777
+ if (walletPaymentOption.required.token.token === stellarXLM.token) {
778
+ destAsset = Asset.native();
779
+ }
780
+ else if (walletPaymentOption.required.token.token === rozoStellarUSDC.token) {
781
+ destAsset = new Asset(walletPaymentOption.required.token.symbol, rozoStellarUSDC.token.split(":")[1]);
699
782
  }
700
783
  else if (walletPaymentOption.required.token.token === rozoStellarEURC.token) {
701
- issuer = rozoStellarEURC.token.split(":")[1];
784
+ destAsset = new Asset(walletPaymentOption.required.token.symbol, rozoStellarEURC.token.split(":")[1]);
702
785
  }
703
786
  else {
704
787
  throw new Error("Unsupported token");
705
788
  }
706
- const destAsset = new Asset(walletPaymentOption.required.token.symbol, issuer);
707
789
  const fee = String(await stellarServer.fetchBaseFee());
790
+ // Use required.amount (base units, already priced by the backend)
791
+ // converted to a human-readable token amount — NOT required.usd,
792
+ // which only equals the token amount for 1:1-USD-pegged tokens
793
+ // (USDC/EURC). For native XLM this would send the wrong amount
794
+ // (e.g. "1.00" XLM instead of the correct ~2.7 XLM for a $1 payment).
795
+ // Some endpoints return required.amount as an already-human-readable
796
+ // decimal string instead of integer base units, so detect the shape
797
+ // first — BigInt() throws on decimal strings.
798
+ const paymentAmount = tokenBaseAmountToDecimalString(walletPaymentOption.required.amount, walletPaymentOption.required.token.decimals);
708
799
  // Build transaction
709
800
  const transaction = new TransactionBuilder(sourceAccount, {
710
801
  fee,
@@ -713,7 +804,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
713
804
  .addOperation(Operation.payment({
714
805
  destination: destinationAddress,
715
806
  asset: destAsset,
716
- amount: String(walletPaymentOption.required.usd),
807
+ amount: paymentAmount,
717
808
  }))
718
809
  .setTimeout(180);
719
810
  if (rozoPayment.memo) {
@@ -788,17 +879,29 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
788
879
  }
789
880
  else {
790
881
  log?.("[PAY DEPOSIT ADDRESS] hydrating order");
882
+ // hydrateOrder needs required.amount so buildCreatePaymentPayload
883
+ // can set preferredAmountUnits. For BOTH native (SOL/ETH/XLM) and
884
+ // 1:1-USD-pegged sources, the amount must come from the fee response
885
+ // (BE-computed source amount in source units, fee-inclusive) — NOT the
886
+ // destination USD value. Otherwise tokenBaseAmountToDecimalString
887
+ // formats the toUnits through the source decimals and the BE rejects
888
+ // the underflowing pay-in (e.g. "10" with 6 decimals → "0.00001").
889
+ const isNativeSource = isNativeToken(option.token.token);
890
+ const sourceAmountUnits = String(fees?.source?.amount ??
891
+ (isNativeSource ? "" : (pay.order?.destFinalCallTokenAmount?.usd ?? "0")));
892
+ if (isNativeSource && sourceAmountUnits === "") {
893
+ throw new Error("Fee source amount required for native token deposit");
894
+ }
895
+ const actualFeeType = payParams?.feeType ?? FeeType.ExactIn;
791
896
  const result = await pay.hydrateOrder(undefined, {
792
897
  required: {
793
- token: {
794
- token: option.token.token,
795
- chainId: option.token.chainId,
796
- },
898
+ amount: sourceAmountUnits,
899
+ token: option.token,
797
900
  },
798
901
  fees: {
799
902
  usd: fees?.source?.fee != null ? parseFloat(fees.source.fee) : 0,
800
903
  },
801
- });
904
+ }, actualFeeType);
802
905
  order = result.order;
803
906
  }
804
907
  log?.(`[PAY DEPOSIT ADDRESS] hydrated order ${order.id} for ${order.usdValue} USD, checking out with deposit address: ${option}`);
@@ -815,12 +918,23 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
815
918
  if (!preferredToken) {
816
919
  throw new Error("Preferred token not found");
817
920
  }
921
+ // Amount the user must send, in source-token units. Prefer the backend's
922
+ // source.amount (surfaced via metadata by formatPaymentResponseToHydratedOrder)
923
+ // over usdValue: for native sources (SOL/ETH/XLM) the source amount differs
924
+ // from the USD/destination value, so usdValue would show e.g. "1.3 SOL"
925
+ // instead of the correct ~0.0169 SOL. For 1:1-USD sources they coincide.
926
+ const isNativeDepositSource = isNativeToken(option.token.token);
927
+ const metaSourceAmount = order.metadata?.sourceAmountUnits;
928
+ if (isNativeDepositSource && metaSourceAmount == null) {
929
+ throw new Error("sourceAmountUnits missing on hydrated order for native deposit source");
930
+ }
931
+ const sourceAmountUnits = metaSourceAmount != null ? String(metaSourceAmount) : String(order.usdValue);
818
932
  let uriDeeplink = null;
819
933
  // Use Solana deep link if it's a Solana chain.
820
934
  // Solana pay-in no longer requires a memo.
821
935
  if ([solana.chainId, rozoSolana.chainId].includes(preferredToken.chainId)) {
822
936
  uriDeeplink = generateSolanaDeepLink({
823
- amountUnits: order.destFinalCallTokenAmount.usd.toString(),
937
+ amountUnits: sourceAmountUnits,
824
938
  recipientAddress: order.intentAddr,
825
939
  tokenAddress: preferredToken.token,
826
940
  });
@@ -832,7 +946,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
832
946
  // Otherwise use EVM deep link
833
947
  else {
834
948
  uriDeeplink = generateEVMDeepLink({
835
- amountUnits: parseUnits(order.destFinalCallTokenAmount.usd.toString(), preferredToken.decimals).toString(),
949
+ amountUnits: parseUnits(sourceAmountUnits, preferredToken.decimals).toString(),
836
950
  chainId: preferredToken.chainId,
837
951
  recipientAddress: order.intentAddr,
838
952
  tokenAddress: preferredToken.token,
@@ -840,7 +954,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
840
954
  }
841
955
  return {
842
956
  address: order.intentAddr,
843
- amount: String(order.usdValue),
957
+ amount: sourceAmountUnits,
844
958
  suffix: `${option.token.symbol} ${chain.name}`,
845
959
  uri: uriDeeplink ?? "",
846
960
  expirationS: Math.floor(Date.now() / 1000) + 300,
@@ -855,7 +969,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
855
969
  order: pay.order,
856
970
  message,
857
971
  });
858
- return null;
972
+ return undefined;
859
973
  }
860
974
  finally {
861
975
  // Remove from processing set when done (allow retries after completion/failure)
@@ -1 +1 @@
1
- {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -70,22 +70,24 @@ function useRozoPay() {
70
70
  const previewOrderState = await waitForPaymentState(store, "unhydrated", "payment_unpaid", "payment_started", "payment_completed", "payment_bounced");
71
71
  return previewOrderState;
72
72
  }, [dispatch, store]);
73
- const hydrateOrder = useCallback(async (refundAddress, walletPaymentOption) => {
73
+ const hydrateOrder = useCallback(async (refundAddress, walletPaymentOption, feeType) => {
74
74
  dispatch({
75
75
  type: "hydrate_order",
76
76
  refundAddress,
77
77
  walletPaymentOption,
78
+ feeType,
78
79
  });
79
80
  // Wait for the order to enter the "payment_unpaid" state, which means it
80
81
  // has been successfully hydrated.
81
82
  const hydratedOrderState = await waitForPaymentState(store, "payment_unpaid");
82
83
  return hydratedOrderState;
83
84
  }, [dispatch, store, paymentFsmState.type, order?.id]);
84
- const hydrateOrderRozo = useCallback(async (refundAddress, walletPaymentOption) => {
85
+ const hydrateOrderRozo = useCallback(async (refundAddress, walletPaymentOption, feeType) => {
85
86
  dispatch({
86
87
  type: "hydrate_order",
87
88
  refundAddress,
88
89
  walletPaymentOption,
90
+ feeType,
89
91
  });
90
92
  const hydratedOrderState = await waitForPaymentState(store, "payment_unpaid");
91
93
  return hydratedOrderState;