@rozoai/intent-pay 0.1.38-beta.3 → 0.1.38-beta.5

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 (67) hide show
  1. package/build/components/Common/TokenChainLogo/index.d.ts +1 -7
  2. package/build/components/Spinners/TokenLogoSpinner/index.d.ts +1 -6
  3. package/build/hooks/useDepositAddressOptions.d.ts +2 -3
  4. package/build/hooks/usePaymentState.d.ts +5 -11
  5. package/build/hooks/useRozoPay.d.ts +4 -4
  6. package/build/hooks/useSolanaPaymentOptions.d.ts +1 -1
  7. package/build/hooks/useStellarPaymentOptions.d.ts +1 -1
  8. package/build/hooks/useWalletPaymentOptions.d.ts +7 -12
  9. package/build/package.json.js +2 -2
  10. package/build/payment/createPaymentPayload.d.ts +3 -3
  11. package/build/payment/paymentFsm.d.ts +2 -25
  12. package/build/provider/PayContext.d.ts +3 -3
  13. package/build/src/components/Common/ConnectorList/index.js +3 -2
  14. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  15. package/build/src/components/Common/OptionsList/styles.js +5 -5
  16. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  17. package/build/src/components/Common/OrderHeader/index.js +32 -16
  18. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  19. package/build/src/components/Common/TokenChainLogo/index.js +3 -26
  20. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  21. package/build/src/components/Pages/PayWithToken/index.js +4 -15
  22. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  23. package/build/src/components/Pages/SelectDepositAddressChain/index.js +17 -6
  24. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  25. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  26. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +26 -64
  27. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  28. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +38 -40
  29. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
  30. package/build/src/components/Pages/WaitingDepositAddress/index.js +33 -110
  31. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  32. package/build/src/components/RozoPayButton/index.js +45 -18
  33. package/build/src/components/RozoPayButton/index.js.map +1 -1
  34. package/build/src/components/RozoPayModal/index.js.map +1 -1
  35. package/build/src/components/Spinners/TokenLogoSpinner/index.js +2 -5
  36. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  37. package/build/src/hooks/useDepositAddressOptions.js +9 -19
  38. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  39. package/build/src/hooks/useExternalPaymentOptions.js +1 -1
  40. package/build/src/hooks/usePaymentState.js +72 -195
  41. package/build/src/hooks/usePaymentState.js.map +1 -1
  42. package/build/src/hooks/useRozoPay.js +2 -4
  43. package/build/src/hooks/useRozoPay.js.map +1 -1
  44. package/build/src/hooks/useSolanaPaymentOptions.js +13 -45
  45. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  46. package/build/src/hooks/useStellarPaymentOptions.js +11 -40
  47. package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
  48. package/build/src/hooks/useTokenOptions.js +3 -4
  49. package/build/src/hooks/useTokenOptions.js.map +1 -1
  50. package/build/src/hooks/useWalletPaymentOptions.js +22 -54
  51. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  52. package/build/src/payment/createPaymentPayload.js +12 -37
  53. package/build/src/payment/createPaymentPayload.js.map +1 -1
  54. package/build/src/payment/paymentEffects.js +8 -120
  55. package/build/src/payment/paymentEffects.js.map +1 -1
  56. package/build/src/payment/paymentFsm.js.map +1 -1
  57. package/build/src/types/chainAddress.js +11 -3
  58. package/build/src/types/chainAddress.js.map +1 -1
  59. package/build/src/utils/format.js +18 -84
  60. package/build/src/utils/format.js.map +1 -1
  61. package/build/src/utils/token.js +5 -21
  62. package/build/src/utils/token.js.map +1 -1
  63. package/build/utils/format.d.ts +7 -45
  64. package/build/utils/token.d.ts +2 -6
  65. package/package.json +2 -2
  66. package/build/src/utils/wallets.js +0 -12
  67. package/build/src/utils/wallets.js.map +0 -1
@@ -3,9 +3,8 @@ import { useRef, useState, useMemo, useEffect } from 'react';
3
3
  import { ROUTES } from '../../../../constants/routes.js';
4
4
  import { usePayContext } from '../../../../hooks/usePayContext.js';
5
5
  import { PageContent, ModalContent, ModalH1, Link } from '../../../Common/Modal/styles.js';
6
- import { normalizeTokenAddress, FeeType, getCanonicalDestination, getPayment, checkoutPayment, buildCheckoutPayload, formatPaymentResponseToHydratedOrder, isNativeToken, rozoStellar, getChainExplorerTxUrl } from '@rozoai/intent-common';
6
+ import { FeeType, getCanonicalDestination, getPayment, checkoutPayment, buildCheckoutPayload, formatPaymentResponseToHydratedOrder, rozoStellar, getChainExplorerTxUrl } from '@rozoai/intent-common';
7
7
  import { Networks, TransactionBuilder } from '@stellar/stellar-sdk';
8
- import { tokenBaseAmountToDecimalString } from '../../../../utils/format.js';
9
8
  import { useContactSupport } from '../../../../hooks/useContactSupport.js';
10
9
  import { useRozoPay } from '../../../../hooks/useRozoPay.js';
11
10
  import { ROZO_EVENTS } from '../../../../lib/analytics/events.js';
@@ -32,7 +31,7 @@ const PayWithStellarToken = () => {
32
31
  const { store, order, paymentState: state, setPaymentStarted, setPaymentUnpaid, setPaymentCompleted, hydrateOrder, } = useRozoPay();
33
32
  const handleContactClick = useContactSupport();
34
33
  // Get the destination address and payment direction using our custom hook
35
- const { server: stellarServer, publicKey: stellarPublicKey, kit: stellarKit } = useStellar();
34
+ const { server: stellarServer, publicKey: stellarPublicKey, kit: stellarKit, } = useStellar();
36
35
  const submitButtonRef = useRef(null);
37
36
  // Prevents the payId fetch+checkout from firing more than once per mount.
38
37
  const checkoutDoneRef = useRef(false);
@@ -74,8 +73,15 @@ const PayWithStellarToken = () => {
74
73
  // // eslint-disable-next-line react-hooks/exhaustive-deps
75
74
  // }, [selectedStellarTokenOption?.balance.token.chainId, order?.id]);
76
75
  const destinationAddress = useMemo(() => {
77
- return (payParams?.toStellarAddress || payParams?.toSolanaAddress || payParams?.toAddress || undefined);
78
- }, [payParams?.toStellarAddress, payParams?.toSolanaAddress, payParams?.toAddress]);
76
+ return (payParams?.toStellarAddress ||
77
+ payParams?.toSolanaAddress ||
78
+ payParams?.toAddress ||
79
+ undefined);
80
+ }, [
81
+ payParams?.toStellarAddress,
82
+ payParams?.toSolanaAddress,
83
+ payParams?.toAddress,
84
+ ]);
79
85
  useEffect(() => {
80
86
  if (state === "error") {
81
87
  setRoute(ROUTES.ERROR);
@@ -120,13 +126,8 @@ const PayWithStellarToken = () => {
120
126
  throw new Error("Order not initialized");
121
127
  }
122
128
  const { required } = option;
123
- const previousTokenAddress = currentOrder.preferredTokenAddress;
124
- const tokenChanged = previousTokenAddress != null &&
125
- normalizeTokenAddress(currentOrder.preferredChainId ?? undefined, previousTokenAddress) !==
126
- normalizeTokenAddress(required.token.chainId, required.token.token);
127
- const needRozoPayment = (currentOrder.preferredChainId !== null &&
128
- currentOrder.preferredChainId !== required.token.chainId) ||
129
- tokenChanged;
129
+ const needRozoPayment = currentOrder.preferredChainId !== null &&
130
+ currentOrder.preferredChainId !== required.token.chainId;
130
131
  let hydratedOrder;
131
132
  let paymentId;
132
133
  // When payId is used (no payParams), fetch the existing payment instead
@@ -136,24 +137,12 @@ const PayWithStellarToken = () => {
136
137
  // @NOTE: Fee calculation
137
138
  const destToken = currentOrder.destFinalCallTokenAmount?.token;
138
139
  setFeeLoading(true);
139
- // Use required.amount (base units, already priced by the backend)
140
- // converted to a human-readable token amount — NOT required.usd,
141
- // which is only equal to the token amount for 1:1-USD-pegged
142
- // tokens (USDC/EURC). For native XLM this would send the wrong
143
- // amount (e.g. "1.00" XLM instead of the correct ~2.7 XLM for a $1
144
- // payment). Some endpoints return required.amount as an
145
- // already-human-readable decimal string instead of integer base
146
- // units, so detect the shape first — BigInt() throws on decimals.
147
- const sourceAmount = tokenBaseAmountToDecimalString(option.required.amount, option.required.token.decimals);
148
- const feeQuoteType = paymentState.payParams?.feeType ?? FeeType.ExactIn;
149
- // getFee maps `amount` to source.amount for exactIn. We must send the
150
- // source-token amount (e.g. XLM), NOT the USD/destination value.
151
140
  const feeData = await getCachedFee({
152
141
  appId: resolveOrderAppId(currentOrder, paymentState.payParams?.appId),
153
- type: feeQuoteType,
142
+ type: paymentState.payParams?.feeType ?? FeeType.ExactIn,
154
143
  sourceChainId: option.required.token.chainId.toString(),
155
144
  sourceTokenSymbol: option.required.token.symbol,
156
- amount: sourceAmount,
145
+ amount: option.required.usd.toString(),
157
146
  destChainId: destToken.chainId.toString(),
158
147
  destReceiverAddress: getCanonicalDestination(currentOrder).finalDestinationAddress ??
159
148
  paymentState.payParams?.toAddress ??
@@ -193,7 +182,7 @@ const PayWithStellarToken = () => {
193
182
  chainId: option.required.token.chainId,
194
183
  tokenSymbol: option.required.token.symbol,
195
184
  tokenAddress: option.required.token.token,
196
- amount: sourceAmount,
185
+ amount: String(option.required.usd),
197
186
  }));
198
187
  if (!checkoutRes?.data) {
199
188
  throw new Error("Failed to checkout payment");
@@ -204,16 +193,13 @@ const PayWithStellarToken = () => {
204
193
  cachedCheckoutPaymentIdRef.current = paymentId;
205
194
  }
206
195
  }
207
- else if ((state === "payment_unpaid" || state === "payment_started") && !needRozoPayment) {
196
+ else if ((state === "payment_unpaid" || state === "payment_started") &&
197
+ !needRozoPayment) {
208
198
  hydratedOrder = currentOrder;
209
199
  }
210
200
  else if (needRozoPayment) {
211
- // Backend rejects `checkout` when rotating to a native source
212
- // (SOL/ETH/XLM) — "create a new order instead". So for native sources we
213
- // skip checkout and create a fresh payment.
214
- const rotateToNative = isNativeToken(option.required.token.token);
215
201
  const existingId = rozoPaymentId ?? currentOrder.externalId ?? undefined;
216
- if (existingId && !rotateToNative) {
202
+ if (existingId) {
217
203
  const paymentRes = await getPayment(existingId);
218
204
  if (!paymentRes?.data) {
219
205
  throw new Error("Failed to fetch payment");
@@ -222,7 +208,7 @@ const PayWithStellarToken = () => {
222
208
  chainId: option.required.token.chainId,
223
209
  tokenSymbol: option.required.token.symbol,
224
210
  tokenAddress: option.required.token.token,
225
- amount: sourceAmount,
211
+ amount: String(option.required.usd),
226
212
  }));
227
213
  if (!checkoutRes?.data) {
228
214
  throw new Error("Failed to checkout payment");
@@ -253,7 +239,9 @@ const PayWithStellarToken = () => {
253
239
  ...option,
254
240
  fees: {
255
241
  ...option.fees,
256
- usd: feeData.data?.source.fee != null ? Number(feeData.data.source.fee) : option.fees.usd,
242
+ usd: feeData.data?.source.fee != null
243
+ ? Number(feeData.data.source.fee)
244
+ : option.fees.usd,
257
245
  },
258
246
  });
259
247
  hydratedOrder = res.order;
@@ -338,7 +326,9 @@ const PayWithStellarToken = () => {
338
326
  ...option,
339
327
  fees: {
340
328
  ...option.fees,
341
- usd: feeData.data?.source.fee != null ? Number(feeData.data.source.fee) : option.fees.usd,
329
+ usd: feeData.data?.source.fee != null
330
+ ? Number(feeData.data.source.fee)
331
+ : option.fees.usd,
342
332
  },
343
333
  }, paymentData);
344
334
  setSignedTx(result.signedTx);
@@ -361,7 +351,9 @@ const PayWithStellarToken = () => {
361
351
  const isRejected = errorMessage.includes("rejected");
362
352
  capture(ROZO_EVENTS.PAYMENT_FAILED, {
363
353
  payment_id: resolvedPaymentId ?? rozoPaymentId,
364
- error_message: isRejected ? "user_rejected" : (errorMessage ?? "unknown_error"),
354
+ error_message: isRejected
355
+ ? "user_rejected"
356
+ : (errorMessage ?? "unknown_error"),
365
357
  source_chain: rozoStellar.chainId,
366
358
  });
367
359
  if (isRejected) {
@@ -428,7 +420,9 @@ const PayWithStellarToken = () => {
428
420
  const isRejected = errorMessage.includes("rejected");
429
421
  capture(ROZO_EVENTS.PAYMENT_FAILED, {
430
422
  payment_id: rozoPaymentId,
431
- error_message: isRejected ? "user_rejected" : (errorMessage ?? "unknown_error"),
423
+ error_message: isRejected
424
+ ? "user_rejected"
425
+ : (errorMessage ?? "unknown_error"),
432
426
  source_chain: rozoStellar.chainId,
433
427
  });
434
428
  if (isRejected) {
@@ -464,7 +458,7 @@ const PayWithStellarToken = () => {
464
458
  if (selectedStellarTokenOption == null) {
465
459
  return jsx(PageContent, {});
466
460
  }
467
- return (jsxs(PageContent, { children: [jsx("button", { ref: submitButtonRef, style: { display: "none" }, onClick: handleSubmitTx }), selectedStellarTokenOption && (jsx(TokenLogoSpinner, { token: selectedStellarTokenOption.required.token, loading: isLoading, nativeAsChainIcon: true })), jsxs(ModalContent, { style: { paddingBottom: 0 }, children: [txURL ? (jsx(ModalH1, { children: jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) })) : (jsx(ModalH1, { children: payState })), jsx(PaymentBreakdown, { paymentOption: {
461
+ return (jsxs(PageContent, { children: [jsx("button", { ref: submitButtonRef, style: { display: "none" }, onClick: handleSubmitTx }), selectedStellarTokenOption && (jsx(TokenLogoSpinner, { token: selectedStellarTokenOption.required.token, loading: isLoading })), jsxs(ModalContent, { style: { paddingBottom: 0 }, children: [txURL ? (jsx(ModalH1, { children: jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: payState }) })) : (jsx(ModalH1, { children: payState })), jsx(PaymentBreakdown, { paymentOption: {
468
462
  ...selectedStellarTokenOption,
469
463
  fees: {
470
464
  ...selectedStellarTokenOption.fees,
@@ -472,7 +466,11 @@ const PayWithStellarToken = () => {
472
466
  ? Number(feeData.source.fee)
473
467
  : selectedStellarTokenOption.fees.usd,
474
468
  },
475
- }, feeData: feeData, feeLoading: feeLoading }), payState === PayState.WaitingForConfirmation && signedTx && (jsx(Button, { variant: "primary", onClick: handleSubmitTx, children: "Confirm Payment" })), payState === PayState.RequestCancelled && (jsx(Button, { onClick: signedTx ? handleSubmitTx : () => handleTransfer(selectedStellarTokenOption), children: "Retry Payment" })), payState === PayState.RequestFailed && (jsxs(Fragment, { children: [jsx(Button, { onClick: signedTx ? handleSubmitTx : () => handleTransfer(selectedStellarTokenOption), children: "Retry Payment" }), jsx(Button, { onClick: handleContactClick, children: "Contact Support" })] }))] })] }));
469
+ }, feeData: feeData, feeLoading: feeLoading }), payState === PayState.WaitingForConfirmation && signedTx && (jsx(Button, { variant: "primary", onClick: handleSubmitTx, children: "Confirm Payment" })), payState === PayState.RequestCancelled && (jsx(Button, { onClick: signedTx
470
+ ? handleSubmitTx
471
+ : () => handleTransfer(selectedStellarTokenOption), children: "Retry Payment" })), payState === PayState.RequestFailed && (jsxs(Fragment, { children: [jsx(Button, { onClick: signedTx
472
+ ? handleSubmitTx
473
+ : () => handleTransfer(selectedStellarTokenOption), children: "Retry Payment" }), jsx(Button, { onClick: handleContactClick, children: "Contact Support" })] }))] })] }));
476
474
  };
477
475
 
478
476
  export { PayWithStellarToken as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { isHydrated, isNativeToken, DepositAddressPaymentOptions, getKnownToken, stellar, rozoStellar, solana, rozoSolana, generateSolanaDeepLink, generateEVMDeepLink, getChainName, FeeType, getTokenPrices, getCanonicalDestination, getAddressContraction } from '@rozoai/intent-common';
3
- import { useState, useRef, useMemo, useEffect } from 'react';
2
+ import { isHydrated, DepositAddressPaymentOptions, getKnownToken, solana, rozoSolana, generateSolanaDeepLink, stellar, rozoStellar, generateEVMDeepLink, getChainName, getFee, FeeType, getCanonicalDestination, getAddressContraction } from '@rozoai/intent-common';
3
+ import { useState, useRef, useEffect, useMemo } from 'react';
4
4
  import { keyframes } from 'styled-components';
5
5
  import { parseUnits } from 'viem';
6
6
  import { AlertIcon, WarningIcon } from '../../../assets/icons.js';
@@ -11,8 +11,8 @@ import { usePayinPolling } from '../../../hooks/usePayinPolling.js';
11
11
  import { usePusherPayout } from '../../../hooks/usePusherPayout.js';
12
12
  import { useRozoPay } from '../../../hooks/useRozoPay.js';
13
13
  import styled from '../../../styles/styled/index.js';
14
- import { resolveOrderAppId, getCachedFee } from '../../../utils/feeCache.js';
15
- import { generateStellarDeepLink, formatUsd, trimTokenAmount } from '../../../utils/format.js';
14
+ import { resolveOrderAppId } from '../../../utils/feeCache.js';
15
+ import { formatUsd, trimTokenAmount } from '../../../utils/format.js';
16
16
  import Button from '../../Common/Button/index.js';
17
17
  import CircleTimer from '../../Common/CircleTimer.js';
18
18
  import CopyToClipboardIcon from '../../Common/CopyToClipboard/CopyToClipboardIcon.js';
@@ -45,6 +45,7 @@ function WaitingDepositAddress() {
45
45
  const [depAddr, setDepAddr] = useState();
46
46
  const [failed, setFailed] = useState(false);
47
47
  const [isLoading, setIsLoading] = useState(false);
48
+ const [depoChain, setDepoChain] = useState();
48
49
  const [hasExecutedDepositCall, setHasExecutedDepositCall] = useState(false);
49
50
  const [feeData, setFeeData] = useState(null);
50
51
  const [feeError, setFeeError] = useState(null);
@@ -56,9 +57,6 @@ function WaitingDepositAddress() {
56
57
  const pusherUnsubscribeRef = useRef(null);
57
58
  const payinDetectedRef = useRef(false);
58
59
  const prevActivePaymentIdRef = useRef(undefined);
59
- const isNativeSource = useMemo(() => {
60
- return (selectedDepositAddressOption != null && isNativeToken(selectedDepositAddressOption.token.token));
61
- }, [selectedDepositAddressOption]);
62
60
  // The active deposit payment id (same expression the Pusher block uses).
63
61
  const activePaymentId = rozoPaymentId || depAddr?.externalId;
64
62
  const handlePayinDetected = (txHash, paymentId) => {
@@ -196,42 +194,24 @@ function WaitingDepositAddress() {
196
194
  if (!preferredToken) {
197
195
  throw new Error("Preferred token not found");
198
196
  }
199
- // Amount to send, in source-token units. Prefer the backend source.amount
200
- // (surfaced via metadata) over usdValue so native sources (SOL/ETH/XLM)
201
- // show the correct token amount rather than the USD/destination value.
202
- // For native sources we MUST have the backend-computed value — usdValue
203
- // is the destination payout (e.g. "1" USDC) not the native amount
204
- // (e.g. "0.016885" SOL), so falling back to it would show the user the
205
- // wrong amount.
206
- const metaSourceAmount = order.metadata?.sourceAmountUnits;
207
- if (isNativeSource && metaSourceAmount == null) {
208
- throw new Error("sourceAmountUnits missing on hydrated order for native deposit source");
209
- }
210
- const sourceAmountUnits = metaSourceAmount != null ? String(metaSourceAmount) : String(order.usdValue);
211
197
  let uriDeeplink = null;
212
- const isStellarChain = [stellar.chainId, rozoStellar.chainId].includes(preferredToken.chainId);
213
198
  // Use Solana deep link if it's a Solana chain
214
199
  if ([solana.chainId, rozoSolana.chainId].includes(preferredToken.chainId)) {
215
200
  uriDeeplink = generateSolanaDeepLink({
216
- amountUnits: sourceAmountUnits,
201
+ amountUnits: order.destFinalCallTokenAmount.usd.toString(),
217
202
  recipientAddress: order.intentAddr,
218
203
  tokenAddress: preferredToken.token,
204
+ memo: order.memo || order.metadata?.memo || undefined,
219
205
  });
220
206
  }
221
- // Stellar pay URI (SEP-0007)
222
- else if (isStellarChain) {
223
- const memo = order.memo || order.metadata?.memo || undefined;
224
- uriDeeplink = generateStellarDeepLink({
225
- amountUnits: sourceAmountUnits,
226
- recipientAddress: order.intentAddr,
227
- token: preferredToken,
228
- memo,
229
- });
207
+ // If Stellar, do not generate a link (set to null)
208
+ else if ([stellar.chainId, rozoStellar.chainId].includes(preferredToken.chainId)) {
209
+ uriDeeplink = null;
230
210
  }
231
211
  // Otherwise use EVM deep link
232
212
  else {
233
213
  uriDeeplink = generateEVMDeepLink({
234
- amountUnits: parseUnits(sourceAmountUnits, preferredToken.decimals).toString(),
214
+ amountUnits: parseUnits(order.destFinalCallTokenAmount.usd.toString(), preferredToken.decimals).toString(),
235
215
  chainId: preferredToken.chainId,
236
216
  recipientAddress: order.intentAddr,
237
217
  tokenAddress: preferredToken.token,
@@ -239,7 +219,7 @@ function WaitingDepositAddress() {
239
219
  }
240
220
  setDepAddr({
241
221
  address: order.intentAddr,
242
- amount: sourceAmountUnits,
222
+ amount: String(order.usdValue),
243
223
  underpayment: {
244
224
  unitsPaid: order.destFinalCallTokenAmount.amount,
245
225
  coin: order.destFinalCallTokenAmount.token.symbol,
@@ -249,7 +229,7 @@ function WaitingDepositAddress() {
249
229
  uri: uriDeeplink ?? undefined,
250
230
  displayToken: order.destFinalCallTokenAmount.token,
251
231
  logoURI: "", // Not needed for underpaid orders
252
- memo: isStellarChain ? order.memo || order.metadata?.memo || undefined : undefined,
232
+ memo: order.memo || order.metadata?.memo || undefined,
253
233
  });
254
234
  }
255
235
  else {
@@ -269,17 +249,10 @@ function WaitingDepositAddress() {
269
249
  else {
270
250
  amount = order?.destFinalCallTokenAmount.usd ?? null;
271
251
  }
272
- // For native source tokens the "Send Exactly" amount is the backend-computed
273
- // source.amount (native units), which is only known after the payment is
274
- // created/checked out below. usdValue is the USD/destination value — NOT the
275
- // native amount — so seeding it here would flash a wrong figure (e.g. "1.00
276
- // SOL" for a $1 payout). Leave it unset so the row shows its skeleton until
277
- // payWithDepositAddress resolves the real source.amount. Stablecoin sources
278
- // (USDC/USDT) coincide with usdValue, so we still seed those for a snappy render.
279
252
  setDepAddr({
280
253
  displayToken: displayToken ?? null,
281
254
  logoURI,
282
- amount: undefined,
255
+ amount: amount?.toString() ?? undefined,
283
256
  });
284
257
  try {
285
258
  let feeData = null;
@@ -295,49 +268,12 @@ function WaitingDepositAddress() {
295
268
  try {
296
269
  // @TODO: Handle fee calculation for other currencies
297
270
  const destToken = currentOrder?.destFinalCallTokenAmount?.token;
298
- const feeQuoteType = payParams?.feeType ?? FeeType.ExactIn;
299
- let feeAmount = amount.toString();
300
- // Native source: convert USD → source-token units via the live price
301
- // feed, then call getFee with the actual feeType (no ExactOut
302
- // override). Without the conversion the BE would interpret the USD
303
- // value as a native amount (e.g. "1 SOL" for a $1 payout).
304
- if (isNativeSource) {
305
- const { data: priceData } = await getTokenPrices({
306
- symbols: [selectedDepositAddressOption.token.symbol],
307
- });
308
- const priceEntry = priceData?.data?.[0];
309
- const usdPrice = Number(priceEntry?.prices?.[0]?.value);
310
- if (!Number.isFinite(usdPrice) || usdPrice <= 0) {
311
- setFeeError({
312
- error: {
313
- code: "PRICE_FETCH_FAILED",
314
- message: `Unable to fetch price for ${selectedDepositAddressOption.token.symbol}`,
315
- },
316
- });
317
- setFeeData(null);
318
- setIsLoading(false);
319
- setHasExecutedDepositCall(false);
320
- return;
321
- }
322
- if (priceEntry?.stale) {
323
- context.log(`[WAITING_DEPOSIT] token price for ${selectedDepositAddressOption.token.symbol} is stale, proceeding with caution`);
324
- }
325
- const decimals = selectedDepositAddressOption.token.decimals;
326
- // BE expects a human-readable decimal string (e.g. "0.126919660"
327
- // for 0.1269 SOL), not base units. PayWithToken does the same via
328
- // tokenBaseAmountToDecimalString for the same reason.
329
- feeAmount = (amount / usdPrice).toFixed(decimals);
330
- }
331
- const feeResponse = await getCachedFee({
332
- type: feeQuoteType,
271
+ const feeResponse = await getFee({
272
+ type: payParams?.feeType ?? FeeType.ExactIn,
333
273
  appId: resolvedAppId,
334
274
  sourceChainId: selectedDepositAddressOption.token.chainId.toString(),
335
275
  sourceTokenSymbol: selectedDepositAddressOption.token.symbol,
336
- amount: isNativeSource
337
- ? feeQuoteType === FeeType.ExactIn
338
- ? feeAmount
339
- : String(amount)
340
- : feeAmount,
276
+ amount: amount.toString(),
341
277
  destChainId: (destToken?.chainId ?? selectedDepositAddressOption.token.chainId).toString(),
342
278
  destReceiverAddress: (currentOrder
343
279
  ? getCanonicalDestination(currentOrder).finalDestinationAddress
@@ -350,17 +286,6 @@ function WaitingDepositAddress() {
350
286
  feeData = feeResponse.data;
351
287
  setFeeData(feeResponse.data);
352
288
  setFeeError(null);
353
- // Native source: surface the backend-computed source.amount (native
354
- // units) as the "Send Exactly" amount right away, instead of waiting
355
- // for the create/checkout below.
356
- if (isNativeSource && feeResponse.data.source?.amount != null) {
357
- setDepAddr((prev) => prev
358
- ? {
359
- ...prev,
360
- amount: String(feeResponse.data.source.amount),
361
- }
362
- : prev);
363
- }
364
289
  }
365
290
  else if (feeResponse.error) {
366
291
  const errorMessage = feeResponse.error.message;
@@ -394,28 +319,21 @@ function WaitingDepositAddress() {
394
319
  }
395
320
  const details = await payWithDepositAddress(selectedDepositAddressOption, store, feeData, context.log);
396
321
  if (details) {
397
- const isStellar = [stellar.chainId, rozoStellar.chainId].includes(selectedDepositAddressOption.token.chainId);
398
- // Only Stellar/rozoStellar needs a memo (destination tag) to route the pay-in.
399
- const memo = isStellar ? details.memo || undefined : undefined;
322
+ // Only Stellar needs a memo (destination tag) to route the pay-in.
323
+ const shouldShowMemo = selectedDepositAddressOption.id === DepositAddressPaymentOptions.STELLAR;
400
324
  setDepAddr({
401
325
  address: details.address,
402
326
  amount: details.amount,
403
327
  coins: details.suffix,
404
328
  expirationS: details.expirationS,
405
- uri: isStellar && details.amount
406
- ? generateStellarDeepLink({
407
- amountUnits: details.amount,
408
- recipientAddress: details.address,
409
- token: selectedDepositAddressOption.token,
410
- memo,
411
- })
412
- : details.uri,
329
+ uri: details.uri,
413
330
  displayToken: displayToken ?? null,
414
331
  logoURI,
415
332
  externalId: details.externalId,
416
- memo,
333
+ memo: shouldShowMemo ? details.memo || "" : undefined,
417
334
  });
418
335
  setRozoPaymentId(details.externalId);
336
+ setDepoChain(selectedDepositAddressOption.id);
419
337
  }
420
338
  else if (details === null) {
421
339
  // Duplicate call was prevented - reset loading states
@@ -525,9 +443,14 @@ function DepositAddressInfo({ depAddr, feeData, refresh, triggerResize, }) {
525
443
  // eslint-disable-next-line react-hooks/exhaustive-deps
526
444
  useEffect(triggerResize, [isExpired]);
527
445
  const logoOffset = isMobile ? 4 : 0;
528
- const logoElement = depAddr.displayToken ? (jsx(TokenChainLogo, { token: depAddr.displayToken, size: 64, offset: logoOffset, nativeAsChainIcon: true })) : (jsx("img", { src: depAddr.logoURI, width: "64px", height: "64px" }));
446
+ const logoElement = depAddr.displayToken ? (jsx(TokenChainLogo, { token: depAddr.displayToken, size: 64, offset: logoOffset })) : (jsx("img", { src: depAddr.logoURI, width: "64px", height: "64px" }));
529
447
  return (jsxs(ModalContent, { children: [isExpired ? (jsx(LogoRow, { children: jsx(Button, { onClick: refresh, style: { width: 128 }, children: "Refresh" }) })) : (jsx(QRWrap, { children: jsx(CustomQRCode, { value: depAddr?.uri, contentPadding: 24, size: 200, image: logoElement }) })), jsx(CopyableInfo, { depAddr: depAddr, feeData: feeData, remainingS: remainingS, totalS: totalS })] }));
530
448
  }
449
+ styled.div `
450
+ position: relative;
451
+ width: 64px;
452
+ height: 64px;
453
+ `;
531
454
  const LogoRow = styled.div `
532
455
  padding: 32px 0;
533
456
  height: 128px;
@@ -546,9 +469,9 @@ function CopyableInfo({ depAddr, feeData, remainingS, totalS, }) {
546
469
  const sourceTokenSymbol = depAddr?.displayToken?.symbol;
547
470
  return (jsxs(CopyableInfoWrapper, { children: [underpayment && jsx(UnderpaymentInfo, { underpayment: underpayment }), feeData !== null && (jsx(FeeDisplayRow, { title: "Fee", value: parseFloat(feeData.source.fee) === 0
548
471
  ? "Free"
549
- : `${trimTokenAmount(feeData.source.fee)} ${feeData.source.tokenSymbol} (${feeData.feeInfo.feePercentage})` })), jsx(CopyRowOrThrobber, { dataTestId: "rozopay-send-exactly", title: "Send Exactly", value: depAddr?.amount, valueText: depAddr?.amount
472
+ : `${trimTokenAmount(feeData.source.fee)} ${feeData.source.tokenSymbol} (${feeData.feeInfo.feePercentage})` })), jsx(CopyRowOrThrobber, { title: "Send Exactly", value: depAddr?.amount, valueText: depAddr?.amount
550
473
  ? `${trimTokenAmount(depAddr.amount)} ${sourceTokenSymbol ?? ""}`.trim()
551
- : undefined, smallText: depAddr?.coins, disabled: isExpired }), jsx(CopyRowOrThrobber, { dataTestId: "rozopay-receiving-address", title: "Receiving Address", value: depAddr?.address, valueText: depAddr?.address && getAddressContraction(depAddr.address), disabled: isExpired }), depAddr?.memo && (jsx(CopyRowOrThrobber, { dataTestId: "rozopay-memo", title: "Memo", value: depAddr.memo, valueText: depAddr.memo, disabled: isExpired })), jsx(CountdownWrap, { children: jsx(CountdownTimer, { remainingS: remainingS, totalS: totalS }) })] }));
474
+ : undefined, smallText: depAddr?.coins, disabled: isExpired }), jsx(CopyRowOrThrobber, { title: "Receiving Address", value: depAddr?.address, valueText: depAddr?.address && getAddressContraction(depAddr.address), disabled: isExpired }), depAddr?.memo && (jsx(CopyRowOrThrobber, { title: "Memo", value: depAddr.memo, valueText: depAddr.memo, disabled: isExpired })), jsx(CountdownWrap, { children: jsx(CountdownTimer, { remainingS: remainingS, totalS: totalS }) })] }));
552
475
  }
553
476
  function UnderpaymentInfo({ underpayment }) {
554
477
  // Default message
@@ -699,7 +622,7 @@ const Skeleton = styled.div `
699
622
  background-color: rgba(0, 0, 0, 0.1);
700
623
  animation: ${pulse} 1.5s ease-in-out infinite;
701
624
  `;
702
- function CopyRowOrThrobber({ dataTestId, title, value, valueText, smallText, disabled, }) {
625
+ function CopyRowOrThrobber({ title, value, valueText, smallText, disabled, }) {
703
626
  const [copied, setCopied] = useState(false);
704
627
  const handleCopy = () => {
705
628
  if (disabled)
@@ -714,10 +637,10 @@ function CopyRowOrThrobber({ dataTestId, title, value, valueText, smallText, dis
714
637
  setTimeout(() => setCopied(false), 1000);
715
638
  };
716
639
  if (!value) {
717
- return (jsxs(CopyRow, { "data-testid": dataTestId, children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsx(Skeleton, {}) })] }));
640
+ return (jsxs(CopyRow, { children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsx(Skeleton, {}) })] }));
718
641
  }
719
642
  const displayValue = valueText || value;
720
- return (jsxs(CopyRow, { as: "button", onClick: handleCopy, disabled: disabled, "data-testid": dataTestId, "data-value": value, children: [jsxs("div", { children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsxs(ValueContainer, { children: [jsx(ValueText, { children: displayValue }), smallText && jsx(SmallText, { children: smallText })] }) })] }), jsx(CopyIconWrap, { children: jsx(CopyToClipboardIcon, { copied: copied, dark: true }) })] }));
643
+ return (jsxs(CopyRow, { as: "button", onClick: handleCopy, disabled: disabled, children: [jsxs("div", { children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsxs(ValueContainer, { children: [jsx(ValueText, { children: displayValue }), smallText && jsx(SmallText, { children: smallText })] }) })] }), jsx(CopyIconWrap, { children: jsx(CopyToClipboardIcon, { copied: copied, dark: true }) })] }));
721
644
  }
722
645
  const CopyIconWrap = styled.div `
723
646
  --color: var(--ck-copytoclipboard-stroke);