@rozoai/intent-pay 0.1.1-beta.1 → 0.1.1-beta.10

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 (35) hide show
  1. package/build/components/DaimoPayButton/types.d.ts +6 -6
  2. package/build/hooks/usePaymentState.d.ts +3 -4
  3. package/build/package.json.js +2 -2
  4. package/build/payment/paymentEffects.d.ts +2 -1
  5. package/build/payment/paymentFsm.d.ts +5 -2
  6. package/build/payment/paymentStore.d.ts +4 -2
  7. package/build/provider/DaimoPayProvider.d.ts +3 -0
  8. package/build/provider/PayContext.d.ts +4 -1
  9. package/build/provider/PaymentProvider.d.ts +4 -2
  10. package/build/src/components/DaimoPayButton/index.js +38 -88
  11. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  12. package/build/src/components/Pages/Confirmation/index.js +1 -1
  13. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  14. package/build/src/components/Pages/PayWithToken/index.js +8 -2
  15. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  16. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +97 -70
  17. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  18. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +28 -13
  19. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
  20. package/build/src/components/Pages/WaitingDepositAddress/index.js +5 -3
  21. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  22. package/build/src/hooks/usePaymentState.js +145 -59
  23. package/build/src/hooks/usePaymentState.js.map +1 -1
  24. package/build/src/payment/paymentEffects.js +42 -20
  25. package/build/src/payment/paymentEffects.js.map +1 -1
  26. package/build/src/payment/paymentFsm.js +4 -0
  27. package/build/src/payment/paymentFsm.js.map +1 -1
  28. package/build/src/payment/paymentStore.js +5 -2
  29. package/build/src/payment/paymentStore.js.map +1 -1
  30. package/build/src/provider/DaimoPayProvider.js +5 -2
  31. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  32. package/build/src/provider/PayContext.js.map +1 -1
  33. package/build/src/provider/PaymentProvider.js +11 -5
  34. package/build/src/provider/PaymentProvider.js.map +1 -1
  35. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
- import { ethereum, ExternalPaymentOptions, readRozoPayOrderID, mergedMetadata, createPayment, assert, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, rozoStellarUSDC, baseUSDC, DepositAddressPaymentOptions, rozoSolanaUSDC, polygonUSDC, worldchainUSDC, getChainById, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
1
+ import { ethereum, ExternalPaymentOptions, readRozoPayOrderID, rozoStellar, rozoSolana, FeeType, solana, generateIntentTitle, mergedMetadata, createPayment, assert, debugJson, formatPaymentResponseToHydratedOrder, bscUSDT, assertNotNull, isValidSolanaAddress, rozoSolanaUSDC, rozoStellarUSDC, baseUSDC, DepositAddressPaymentOptions, polygonUSDC, worldchainUSDC, getChainById, generateEVMDeepLink, writeRozoPayOrderID } from '@rozoai/intent-common';
2
2
  import { useWallet, useConnection } from '@solana/wallet-adapter-react';
3
3
  import { VersionedTransaction, PublicKey, TransactionInstruction, Transaction } from '@solana/web3.js';
4
4
  import { useRef, useState, useEffect, useMemo, useCallback } from 'react';
5
- import { zeroAddress, getAddress, erc20Abi, hexToBytes } from 'viem';
5
+ import { getAddress, parseUnits, zeroAddress, erc20Abi, hexToBytes } from 'viem';
6
6
  import { useAccount, useEnsName, useSwitchChain, useSendTransaction, useWriteContract } from 'wagmi';
7
7
  import { getAssociatedTokenAddress, createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID, createTransferCheckedInstruction } from '@solana/spl-token';
8
8
  import { Asset, TransactionBuilder, Networks, Operation, Memo } from '@stellar/stellar-sdk';
@@ -21,7 +21,7 @@ import { useSolanaPaymentOptions } from './useSolanaPaymentOptions.js';
21
21
  import { useStellarPaymentOptions } from './useStellarPaymentOptions.js';
22
22
  import { useWalletPaymentOptions } from './useWalletPaymentOptions.js';
23
23
 
24
- function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl, }) {
24
+ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl, apiVersion = "v2", }) {
25
25
  // Cache for payment validation to avoid repeated checks
26
26
  const paymentValidationCache = useRef(new Map());
27
27
  const pay = useRozoPay();
@@ -184,24 +184,49 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
184
184
  toAddress = payParams.toStellarAddress;
185
185
  }
186
186
  const appId = payParams?.appId ?? DEFAULT_ROZO_APP_ID;
187
+ const feeType = payParams?.feeType ?? FeeType.ExactIn;
187
188
  const toChain = payParams.toChain;
188
189
  const toToken = payParams.toToken;
189
190
  const toUnits = payParams.toUnits;
190
- const preferredChain = walletOption.required.token.chainId;
191
+ const preferredChain = walletOption.required.token.chainId === solana.chainId
192
+ ? rozoSolana.chainId
193
+ : walletOption.required.token.chainId;
191
194
  const preferredTokenAddress = walletOption.required.token.token;
195
+ const calculatedToUnits = feeType === FeeType.ExactIn
196
+ ? Number(toUnits)
197
+ : Number(toUnits) - Number(walletOption?.fees.usd ?? 0);
198
+ const isAbleToIncludeReceiverMemo = [
199
+ rozoSolana.chainId,
200
+ rozoStellar.chainId,
201
+ ].includes(toChain);
192
202
  const payload = {
203
+ apiVersion,
204
+ title: payParams?.intent ??
205
+ payParams?.metadata?.intent ??
206
+ generateIntentTitle({
207
+ toChainId: toChain,
208
+ toTokenAddress: toToken,
209
+ preferredChainId: preferredChain,
210
+ preferredTokenAddress: preferredTokenAddress,
211
+ }),
212
+ feeType,
193
213
  appId,
194
214
  toChain,
195
215
  toToken,
196
216
  toAddress,
197
217
  preferredChain,
198
218
  preferredTokenAddress,
199
- toUnits,
219
+ toUnits: calculatedToUnits.toFixed(2),
220
+ ...(isAbleToIncludeReceiverMemo && payParams?.receiverMemo
221
+ ? { receiverMemo: payParams.receiverMemo }
222
+ : {}),
200
223
  metadata: mergedMetadata({
201
224
  ...(payParams?.metadata ?? {}),
202
225
  }),
203
226
  };
227
+ log?.(`[handleCreateRozoPayment] payload: ${JSON.stringify(payload, null, 2)}`);
204
228
  const response = await createPayment(payload);
229
+ log?.(`[handleCreateRozoPayment] response: ${JSON.stringify(response, null, 2)}`);
205
230
  if (!response?.id) {
206
231
  throw new Error("Payment creation failed");
207
232
  }
@@ -222,7 +247,8 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
222
247
  assert(ethWalletAddress != null, `[PAY TOKEN] null ethWalletAddress when paying on ethereum`);
223
248
  assert(pay.paymentState === "preview" ||
224
249
  pay.paymentState === "unhydrated" ||
225
- pay.paymentState === "payment_unpaid", `[PAY TOKEN] paymentState is ${pay.paymentState}, must be preview or unhydrated or payment_unpaid`);
250
+ pay.paymentState === "payment_unpaid" ||
251
+ pay.paymentState === "payment_started", `[PAY TOKEN] paymentState is ${pay.paymentState}, must be preview, unhydrated, payment_unpaid, or payment_started`);
226
252
  const { required, fees } = walletOption;
227
253
  // Early validation using cached validation
228
254
  if (!validatePaymentRequirements(walletOption, pay.paymentState)) {
@@ -230,10 +256,23 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
230
256
  }
231
257
  // @NOTE: Fee handled by Rozo API
232
258
  // const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);
233
- const paymentAmount = BigInt(required.amount);
259
+ const paymentAmount = parseUnits(required.usd.toString(), required.token.decimals);
260
+ console.log("paymentAmount", paymentAmount);
261
+ console.log("required", required);
234
262
  // Check if we need to create a new Rozo payment (cache this check)
235
- const needRozoPayment = "payinchainid" in pay.order.metadata &&
236
- Number(pay.order.metadata.payinchainid) !== required.token.chainId;
263
+ const previousChainId = pay.order.preferredChainId
264
+ ? Number(pay.order.preferredChainId)
265
+ : null;
266
+ // If we have an existing payment and chain differs, MUST create new payment
267
+ // Also check if order has externalId (existing payment) and we're on different chain
268
+ const hasExistingPayment = pay.order.externalId != null;
269
+ const needRozoPayment = (previousChainId !== null &&
270
+ previousChainId !== required.token.chainId) ||
271
+ (hasExistingPayment &&
272
+ previousChainId === null &&
273
+ pay.order.destFinalCallTokenAmount?.token?.chainId !==
274
+ required.token.chainId);
275
+ log?.(`[PAY TOKEN] Chain check: previous=${previousChainId}, current=${required.token.chainId}, hasExistingPayment=${hasExistingPayment}, needRozoPayment=${needRozoPayment}`);
237
276
  // Prepare transaction parameters early (before async operations)
238
277
  const isNativeToken = required.token.token === zeroAddress;
239
278
  const tokenAddress = isNativeToken
@@ -242,12 +281,9 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
242
281
  // Get hydrated order efficiently with parallel preparation
243
282
  let hydratedOrder;
244
283
  let paymentId;
245
- if (pay.paymentState === "payment_unpaid" && !needRozoPayment) {
246
- // Order is already hydrated, use it directly
247
- hydratedOrder = pay.order;
248
- }
249
- else if (needRozoPayment) {
250
- // Create Rozo payment and hydrate in one step
284
+ // CRITICAL: Always check needRozoPayment FIRST - if switching chains, MUST create new payment
285
+ if (needRozoPayment) {
286
+ // Create Rozo payment and hydrate in one step (cross-chain switch)
251
287
  const res = await handleCreateRozoPayment(walletOption, store);
252
288
  if (!res) {
253
289
  throw new Error("Failed to create Rozo payment");
@@ -255,23 +291,67 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
255
291
  paymentId = res.id;
256
292
  hydratedOrder = formatPaymentResponseToHydratedOrder(res);
257
293
  }
294
+ else if (pay.paymentState === "payment_unpaid" ||
295
+ pay.paymentState === "payment_started") {
296
+ // Order is already hydrated for same chain, use it directly
297
+ hydratedOrder = pay.order;
298
+ }
258
299
  else {
259
- // Hydrate existing order
300
+ // Hydrate existing order (from preview/unhydrated state)
260
301
  const res = await pay.hydrateOrder(ethWalletAddress, walletOption);
261
302
  hydratedOrder = res.order;
262
303
  }
263
304
  if (paymentId ?? hydratedOrder.externalId) {
264
305
  const newId = (paymentId ?? hydratedOrder.externalId) || undefined;
265
306
  setRozoPaymentId(newId);
266
- pay.setPaymentStarted(String(newId), hydratedOrder);
307
+ // Handle payment state transitions
308
+ const currentState = pay.paymentState;
309
+ if (currentState === "payment_started" && paymentId) {
310
+ // A new payment was created while in payment_started state (cross-chain switch)
311
+ // First transition back to payment_unpaid, then to payment_started with new order
312
+ const oldPaymentId = pay.order.externalId;
313
+ if (oldPaymentId) {
314
+ try {
315
+ await pay.setPaymentUnpaid(oldPaymentId);
316
+ await pay.setPaymentStarted(String(newId), hydratedOrder);
317
+ }
318
+ catch (e) {
319
+ // State might have changed during async operations
320
+ console.warn("[PAY TOKEN] State transition failed, attempting direct start:", e);
321
+ // Try to set started directly if state is already unpaid
322
+ try {
323
+ await pay.setPaymentStarted(String(newId), hydratedOrder);
324
+ }
325
+ catch (e2) {
326
+ console.error("[PAY TOKEN] Could not start payment:", e2);
327
+ throw e2;
328
+ }
329
+ }
330
+ }
331
+ else {
332
+ await pay.setPaymentStarted(String(newId), hydratedOrder);
333
+ }
334
+ }
335
+ else if (currentState !== "payment_started") {
336
+ // State is not payment_started (preview, unhydrated, or payment_unpaid)
337
+ // Transition to payment_started
338
+ try {
339
+ await pay.setPaymentStarted(String(newId), hydratedOrder);
340
+ }
341
+ catch (e) {
342
+ console.error("[PAY TOKEN] Could not start payment:", e);
343
+ throw e;
344
+ }
345
+ }
346
+ // else: reusing the same order in payment_started state (no paymentId), no state change needed
267
347
  }
268
- const destinationAddress = hydratedOrder.destFinalCall.to;
348
+ const destinationAddress = hydratedOrder.intentAddr;
269
349
  // Execute transaction with optimized error handling
270
350
  const paymentTxHash = await (async () => {
271
351
  try {
272
352
  if (isNativeToken) {
273
353
  return await sendTransactionAsync({
274
- to: destinationAddress,
354
+ to: getAddress(destinationAddress),
275
355
  value: paymentAmount,
276
356
  });
277
357
  }
@@ -284,7 +364,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
284
364
  address: tokenAddress,
285
365
  chainId: required.token.chainId,
286
366
  functionName: "transfer",
287
- args: [destinationAddress, paymentAmount],
367
+ args: [getAddress(destinationAddress), paymentAmount],
288
368
  });
289
369
  }
290
370
  }
@@ -351,6 +431,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
351
431
  // @NOTE: This is Pay In Solana by Rozo
352
432
  const payWithSolanaTokenRozo = async (walletPaymentOption, rozoPayment) => {
353
433
  try {
434
+ log?.(`[PAY SOLANA] Starting Solana payment transaction: ${JSON.stringify(rozoPayment, null, 2)}`);
354
435
  const payerPublicKey = solanaWallet.publicKey;
355
436
  // Initial validation
356
437
  if (!payerPublicKey) {
@@ -368,10 +449,28 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
368
449
  });
369
450
  log("[PAY SOLANA] Setting up transaction...");
370
451
  const instructions = [];
452
+ // Validate destination address before creating PublicKey
453
+ if (!rozoPayment.destAddress || rozoPayment.destAddress.trim() === "") {
454
+ throw new Error("Destination address is required for Solana payment");
455
+ }
456
+ // Validate that the address is a valid Solana Base58 address
457
+ // Check for invalid characters that would cause Base58 decode errors
458
+ if (!isValidSolanaAddress(rozoPayment.destAddress)) {
459
+ throw new Error(`Invalid Solana destination address format: ${rozoPayment.destAddress}`);
460
+ }
371
461
  // Set up token addresses
372
- const mintAddress = new PublicKey(rozoPayment.tokenAddress ?? "");
373
- const fromKey = new PublicKey(payerPublicKey);
374
- const toKey = new PublicKey(rozoPayment.destAddress);
462
+ let mintAddress;
463
+ let fromKey;
464
+ let toKey;
465
+ try {
466
+ mintAddress = new PublicKey(walletPaymentOption.required.token.token);
467
+ fromKey = new PublicKey(payerPublicKey);
468
+ toKey = new PublicKey(rozoPayment.destAddress);
469
+ }
470
+ catch (error) {
471
+ throw new Error(`Invalid Solana address format: ${error.message}. ` +
472
+ `Destination address: ${rozoPayment.destAddress}`);
473
+ }
375
474
  log("[PAY SOLANA] Transaction details:", {
376
475
  tokenMint: mintAddress.toString(),
377
476
  fromKey: fromKey.toString(),
@@ -397,7 +496,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
397
496
  log("[PAY SOLANA] Adding transfer instruction...");
398
497
  const transferAmount = parseFloat(rozoPayment.usdcAmount) * 1_000_000;
399
498
  log("[PAY SOLANA] Transfer amount (with decimals):", transferAmount);
400
- instructions.push(createTransferCheckedInstruction(senderTokenAccount, mintAddress, recipientTokenAccount, fromKey, transferAmount, 6));
499
+ instructions.push(createTransferCheckedInstruction(senderTokenAccount, mintAddress, recipientTokenAccount, fromKey, transferAmount, rozoSolanaUSDC.decimals));
401
500
  // Add memo if provided
402
501
  if (rozoPayment.memo) {
403
502
  log("[PAY SOLANA] Adding memo instruction:", rozoPayment.memo);
@@ -431,6 +530,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
431
530
  return { txHash: txHash, success: true };
432
531
  }
433
532
  catch (error) {
533
+ console.error(`[PAY SOLANA] Error: ${error}`);
434
534
  throw error;
435
535
  }
436
536
  };
@@ -452,7 +552,6 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
452
552
  if (!stellarServer || !stellarKit) {
453
553
  throw new Error("Stellar services not initialized");
454
554
  }
455
- const token = walletPaymentOption.required.token;
456
555
  const destinationAddress = rozoPayment.destAddress;
457
556
  const issuer = rozoStellarUSDC.token.split(":")[1];
458
557
  // Setup Stellar payment
@@ -460,38 +559,17 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
460
559
  const sourceAccount = await stellarServer.loadAccount(stellarPublicKey);
461
560
  const destAsset = new Asset("USDC", issuer);
462
561
  const fee = String(await stellarServer.fetchBaseFee());
463
- // Build transaction based on token type
464
- let transaction;
465
- const isXlmToken = token.symbol === "XLM";
466
- if (isXlmToken) {
467
- // const estimatedDestMinAmount = await convertXlmToUsdc(amount);
468
- transaction = new TransactionBuilder(sourceAccount, {
469
- fee,
470
- networkPassphrase: Networks.PUBLIC,
471
- })
472
- .addOperation(Operation.pathPaymentStrictSend({
473
- sendAsset: Asset.native(),
474
- sendAmount: String(rozoPayment.stellarAmount),
475
- destination: destinationAddress,
476
- destAsset,
477
- destMin: rozoPayment.usdcAmount,
478
- path: [],
479
- }))
480
- .setTimeout(180);
481
- }
482
- else {
483
- // For other tokens, use direct payment
484
- transaction = new TransactionBuilder(sourceAccount, {
485
- fee,
486
- networkPassphrase: Networks.PUBLIC,
487
- })
488
- .addOperation(Operation.payment({
489
- destination: destinationAddress,
490
- asset: destAsset,
491
- amount: String(rozoPayment.usdcAmount),
492
- }))
493
- .setTimeout(180);
494
- }
562
+ // Build transaction
563
+ const transaction = new TransactionBuilder(sourceAccount, {
564
+ fee,
565
+ networkPassphrase: Networks.PUBLIC,
566
+ })
567
+ .addOperation(Operation.payment({
568
+ destination: destinationAddress,
569
+ asset: destAsset,
570
+ amount: String(rozoPayment.usdcAmount),
571
+ }))
572
+ .setTimeout(180);
495
573
  if (rozoPayment.memo) {
496
574
  transaction.addMemo(Memo.text(String(rozoPayment.memo)));
497
575
  }
@@ -563,11 +641,11 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
563
641
  const evmDeeplink = generateEVMDeepLink({
564
642
  amountUnits: order.destFinalCallTokenAmount.amount,
565
643
  chainId: order.destFinalCallTokenAmount.token.chainId,
566
- recipientAddress: order.destFinalCall.to,
644
+ recipientAddress: order.intentAddr,
567
645
  tokenAddress: order.destFinalCallTokenAmount.token.token,
568
646
  });
569
647
  return {
570
- address: order.destFinalCall.to,
648
+ address: order.intentAddr,
571
649
  amount: String(order.usdValue),
572
650
  suffix: `${token.symbol} ${chain.name}`,
573
651
  uri: evmDeeplink,
@@ -681,6 +759,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
681
759
  setPaymentWaitingMessage(undefined);
682
760
  // Set the new payParams
683
761
  if (mergedPayParams) {
762
+ if (mergedPayParams.toChain === rozoStellar.chainId) {
763
+ mergedPayParams.toStellarAddress = mergedPayParams.toAddress;
764
+ mergedPayParams.toAddress = getAddress("0x0000000000000000000000000000000000000000");
765
+ }
766
+ else if (mergedPayParams.toChain === rozoSolana.chainId) {
767
+ mergedPayParams.toSolanaAddress = mergedPayParams.toAddress;
768
+ mergedPayParams.toAddress = getAddress("0x0000000000000000000000000000000000000000");
769
+ }
684
770
  await pay.createPreviewOrder(mergedPayParams);
685
771
  setCurrPayParams(mergedPayParams);
686
772
  setIsDepositFlow(mergedPayParams.toUnits == null);
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { assert, getKnownToken, TokenLogo, readRozoPayOrderID, FeeType, getOrderDestChainId, baseUSDC, generateIntentTitle, mergedMetadata, createPayment, formatPaymentResponseToHydratedOrder, getPayment, RozoPayOrderMode, RozoPayOrderStatusSource, RozoPayOrderStatusDest, RozoPayIntentStatus } from '@rozoai/intent-common';
1
+ import { assert, getKnownToken, TokenLogo, readRozoPayOrderID, FeeType, getOrderDestChainId, baseUSDC, generateIntentTitle, rozoSolana, rozoStellar, mergedMetadata, createPayment, formatPaymentResponseToHydratedOrder, getPayment, RozoPayOrderMode, RozoPayOrderStatusSource, RozoPayOrderStatusDest, RozoPayIntentStatus } from '@rozoai/intent-common';
2
2
  import { parseUnits, formatUnits } from 'viem';
3
3
  import { DEFAULT_ROZO_APP_ID } from '../constants/rozoConfig.js';
4
4
  import { parseErrorMessage } from '../utils/errorParser.js';
@@ -22,9 +22,10 @@ function stopPoller(key) {
22
22
  * @param store The payment store to subscribe to.
23
23
  * @param trpc TRPC client pointing to the Rozo Pay API.
24
24
  * @param log The logger to use for logging.
25
+ * @param apiVersion The API version to use for payment operations.
25
26
  * @returns A function that can be used to unsubscribe from the store.
26
27
  */
27
- function attachPaymentEffectHandlers(store, trpc, log) {
28
+ function attachPaymentEffectHandlers(store, trpc, log, apiVersion = "v2") {
28
29
  const unsubscribe = store.subscribe(({ prev, next, event }) => {
29
30
  log(`[EFFECT] processing effects for event ${event.type} on state transition ${prev.type} -> ${next.type}`);
30
31
  /* --------------------------------------------------
@@ -48,17 +49,22 @@ function attachPaymentEffectHandlers(store, trpc, log) {
48
49
  * -------------------------------------------------- */
49
50
  switch (event.type) {
50
51
  case "set_pay_params":
51
- runSetPayParamsEffects(store, trpc, event);
52
+ runSetPayParamsEffects(store, trpc, event, apiVersion);
52
53
  break;
53
54
  case "set_pay_id":
54
- runSetPayIdEffects(store, trpc, event);
55
+ runSetPayIdEffects(store, trpc, event, apiVersion);
55
56
  break;
56
57
  case "hydrate_order": {
57
58
  if (prev.type === "preview") {
58
- runHydratePayParamsEffects(store, trpc, prev, event, log);
59
+ runHydratePayParamsEffects(store, trpc, prev, event, log, apiVersion);
59
60
  }
60
61
  else if (prev.type === "unhydrated") {
61
- runHydratePayIdEffects(store, trpc, prev);
62
+ runHydratePayIdEffects(store, trpc, prev, event, apiVersion);
63
+ }
64
+ else if (prev.type === "payment_started") {
65
+ // Order is already hydrated in payment_started state, no effect needed
66
+ // This can happen when user goes back and selects the same payment method again
67
+ log(`[EFFECT] skipping ${event.type} on state ${prev.type} - order already hydrated`);
62
68
  }
63
69
  else {
64
70
  log(`[EFFECT] invalid event ${event.type} on state ${prev.type}`);
@@ -90,7 +96,7 @@ function attachPaymentEffectHandlers(store, trpc, log) {
90
96
  };
91
97
  return cleanup;
92
98
  }
93
- async function runSetPayParamsEffects(store, trpc, event) {
99
+ async function runSetPayParamsEffects(store, trpc, event, apiVersion = "v2") {
94
100
  const payParams = event.payParams;
95
101
  // toUnits is undefined if and only if we're in deposit flow.
96
102
  // Set dummy value for deposit flow, since user can edit the amount.
@@ -185,6 +191,8 @@ async function runSetPayParamsEffects(store, trpc, event) {
185
191
  toSolanaAddress: payParams.toSolanaAddress,
186
192
  toAddress: payParams.toAddress,
187
193
  feeType: payParams.feeType,
194
+ receiverMemo: payParams.receiverMemo,
195
+ metadata: payParams.metadata,
188
196
  },
189
197
  });
190
198
  }
@@ -196,7 +204,7 @@ async function runSetPayParamsEffects(store, trpc, event) {
196
204
  });
197
205
  }
198
206
  }
199
- async function runSetPayIdEffects(store, trpc, event) {
207
+ async function runSetPayIdEffects(store, trpc, event, apiVersion = "v2") {
200
208
  try {
201
209
  const { order } = await trpc.getOrder.query({
202
210
  id: readRozoPayOrderID(event.payId).toString(),
@@ -214,12 +222,15 @@ async function runSetPayIdEffects(store, trpc, event) {
214
222
  });
215
223
  }
216
224
  }
217
- async function runHydratePayParamsEffects(store, trpc, prev, event, log) {
225
+ async function runHydratePayParamsEffects(store, trpc, prev, event, log, apiVersion = "v2") {
218
226
  const order = prev.order;
219
227
  const payParams = prev.payParamsData;
220
228
  const walletOption = event.walletPaymentOption;
221
229
  const feeType = payParams.feeType ?? FeeType.ExactIn;
222
230
  const toUnits = formatUnits(BigInt(order.destFinalCallTokenAmount.amount), order.destFinalCallTokenAmount.token.decimals);
231
+ const calculatedToUnits = feeType === FeeType.ExactIn
232
+ ? Number(toUnits)
233
+ : Number(toUnits) - Number(walletOption?.fees.usd ?? 0);
223
234
  const toChain = getOrderDestChainId(order);
224
235
  const toToken = order.destFinalCallTokenAmount.token.token;
225
236
  /**
@@ -237,25 +248,34 @@ async function runHydratePayParamsEffects(store, trpc, prev, event, log) {
237
248
  }
238
249
  const preferredChain = walletOption?.required.token.chainId ?? baseUSDC.chainId;
239
250
  const preferredTokenAddress = walletOption?.required.token.token ?? baseUSDC.token;
251
+ const title = payParams?.metadata?.intent ??
252
+ generateIntentTitle({
253
+ toChainId: toChain,
254
+ toTokenAddress: toToken,
255
+ preferredChainId: preferredChain,
256
+ preferredTokenAddress: preferredTokenAddress,
257
+ });
240
258
  try {
241
259
  log?.("[Payment Effect]: createRozoPayment");
260
+ const isAbleToIncludeReceiverMemo = [
261
+ rozoSolana.chainId,
262
+ rozoStellar.chainId,
263
+ ].includes(toChain);
242
264
  const payload = {
265
+ title,
266
+ apiVersion,
243
267
  appId: payParams?.appId ?? DEFAULT_ROZO_APP_ID,
244
- title: payParams?.metadata?.intent ??
245
- generateIntentTitle({
246
- toChainId: toChain,
247
- toTokenAddress: toToken,
248
- preferredChainId: preferredChain,
249
- preferredTokenAddress: preferredTokenAddress,
250
- }),
251
268
  description: payParams?.metadata?.description ?? "",
252
- type: feeType,
269
+ feeType,
253
270
  toChain,
254
271
  toToken,
255
272
  toAddress,
273
+ toUnits: calculatedToUnits.toFixed(2),
256
274
  preferredChain,
257
275
  preferredTokenAddress,
258
- toUnits,
276
+ ...(isAbleToIncludeReceiverMemo && payParams?.receiverMemo
277
+ ? { receiverMemo: payParams.receiverMemo }
278
+ : {}),
259
279
  metadata: mergedMetadata({
260
280
  ...(order?.metadata ?? {}),
261
281
  }),
@@ -298,14 +318,14 @@ async function runHydratePayParamsEffects(store, trpc, prev, event, log) {
298
318
  store.dispatch({ type: "error", order: prev.order, message: e.message });
299
319
  }
300
320
  }
301
- async function runHydratePayIdEffects(store, trpc, prev, event) {
321
+ async function runHydratePayIdEffects(store, trpc, prev, event, apiVersion = "v2") {
302
322
  const order = prev.order;
303
323
  try {
304
324
  // const { hydratedOrder } = await trpc.hydrateOrder.query({
305
325
  // id: order.id.toString(),
306
326
  // refundAddress: event.refundAddress,
307
327
  // });
308
- const orderData = await getPayment(order.id.toString());
328
+ const orderData = await getPayment(order.id.toString(), apiVersion);
309
329
  if (!orderData?.data) {
310
330
  throw new Error("Order not found");
311
331
  }
@@ -314,6 +334,8 @@ async function runHydratePayIdEffects(store, trpc, prev, event) {
314
334
  id: order.id ?? BigInt(orderData.data.id),
315
335
  mode: RozoPayOrderMode.HYDRATED,
316
336
  intentAddr: orderData.data.source.receiverAddress,
337
+ preferredChainId: order.preferredChainId ?? null,
338
+ preferredTokenAddress: order.preferredTokenAddress ?? null,
317
339
  // handoffAddr: orderData.data.metadata.receivingAddress as Address,
318
340
  // escrowContractAddress: orderData.data.metadata
319
341
  // .receivingAddress as `0x${string}`,