@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.
- package/build/components/Common/OptionsList/index.d.ts +1 -0
- package/build/components/Common/TokenChainLogo/index.d.ts +7 -1
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +6 -1
- package/build/hooks/useDepositAddressOptions.d.ts +3 -2
- package/build/hooks/usePaymentState.d.ts +11 -5
- package/build/hooks/useRozoPay.d.ts +4 -4
- package/build/hooks/useSolanaPaymentOptions.d.ts +1 -1
- package/build/hooks/useStellarPaymentOptions.d.ts +1 -1
- package/build/hooks/useWalletPaymentOptions.d.ts +12 -7
- package/build/package.json.js +2 -2
- package/build/payment/createPaymentPayload.d.ts +3 -3
- package/build/payment/paymentFsm.d.ts +25 -2
- package/build/provider/PayContext.d.ts +3 -3
- package/build/src/components/Common/AmountInput/index.js +1 -1
- package/build/src/components/Common/AmountInput/index.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +2 -3
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/OptionsList/index.js +3 -1
- package/build/src/components/Common/OptionsList/index.js.map +1 -1
- package/build/src/components/Common/TokenChainLogo/index.js +26 -3
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +15 -4
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +6 -17
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +1 -3
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +31 -2
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +57 -24
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/ConnectorStellar/index.js +13 -1
- package/build/src/components/Pages/Stellar/ConnectorStellar/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +33 -36
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +110 -33
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
- package/build/src/components/RozoPayModal/index.js +20 -11
- package/build/src/components/RozoPayModal/index.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +5 -2
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
- package/build/src/hooks/useDepositAddressOptions.js +19 -9
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +185 -71
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/useRozoPay.js +4 -2
- package/build/src/hooks/useRozoPay.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +45 -12
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useStellarPaymentOptions.js +40 -10
- package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
- package/build/src/hooks/useTokenOptions.js +4 -3
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/hooks/useWalletPaymentOptions.js +54 -21
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
- package/build/src/payment/createPaymentPayload.js +38 -13
- package/build/src/payment/createPaymentPayload.js.map +1 -1
- package/build/src/payment/paymentEffects.js +4 -5
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/provider/RozoPayProvider.js +15 -6
- package/build/src/provider/RozoPayProvider.js.map +1 -1
- package/build/src/utils/format.js +82 -13
- package/build/src/utils/format.js.map +1 -1
- package/build/src/utils/token.js +21 -5
- package/build/src/utils/token.js.map +1 -1
- package/build/utils/format.d.ts +44 -3
- package/build/utils/token.d.ts +6 -2
- package/package.json +2 -2
- package/build/hooks/refreshUtils.d.ts +0 -19
- package/build/src/hooks/refreshUtils.js +0 -40
- package/build/src/hooks/refreshUtils.js.map +0 -1
|
@@ -3,8 +3,9 @@ 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 { FeeType, getCanonicalDestination, getPayment, checkoutPayment, buildCheckoutPayload, formatPaymentResponseToHydratedOrder, rozoStellar, getChainExplorerTxUrl } from '@rozoai/intent-common';
|
|
6
|
+
import { FeeType, getCanonicalDestination, getPayment, checkoutPayment, buildCheckoutPayload, formatPaymentResponseToHydratedOrder, isNativeToken, rozoStellar, getChainExplorerTxUrl } from '@rozoai/intent-common';
|
|
7
7
|
import { Networks, TransactionBuilder } from '@stellar/stellar-sdk';
|
|
8
|
+
import { tokenBaseAmountToDecimalString } from '../../../../utils/format.js';
|
|
8
9
|
import { useContactSupport } from '../../../../hooks/useContactSupport.js';
|
|
9
10
|
import { useRozoPay } from '../../../../hooks/useRozoPay.js';
|
|
10
11
|
import { ROZO_EVENTS } from '../../../../lib/analytics/events.js';
|
|
@@ -31,7 +32,7 @@ const PayWithStellarToken = () => {
|
|
|
31
32
|
const { store, order, paymentState: state, setPaymentStarted, setPaymentUnpaid, setPaymentCompleted, hydrateOrder, } = useRozoPay();
|
|
32
33
|
const handleContactClick = useContactSupport();
|
|
33
34
|
// Get the destination address and payment direction using our custom hook
|
|
34
|
-
const { server: stellarServer, publicKey: stellarPublicKey, kit: stellarKit
|
|
35
|
+
const { server: stellarServer, publicKey: stellarPublicKey, kit: stellarKit } = useStellar();
|
|
35
36
|
const submitButtonRef = useRef(null);
|
|
36
37
|
// Prevents the payId fetch+checkout from firing more than once per mount.
|
|
37
38
|
const checkoutDoneRef = useRef(false);
|
|
@@ -73,15 +74,8 @@ const PayWithStellarToken = () => {
|
|
|
73
74
|
// // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
75
|
// }, [selectedStellarTokenOption?.balance.token.chainId, order?.id]);
|
|
75
76
|
const destinationAddress = useMemo(() => {
|
|
76
|
-
return (payParams?.toStellarAddress ||
|
|
77
|
-
|
|
78
|
-
payParams?.toAddress ||
|
|
79
|
-
undefined);
|
|
80
|
-
}, [
|
|
81
|
-
payParams?.toStellarAddress,
|
|
82
|
-
payParams?.toSolanaAddress,
|
|
83
|
-
payParams?.toAddress,
|
|
84
|
-
]);
|
|
77
|
+
return (payParams?.toStellarAddress || payParams?.toSolanaAddress || payParams?.toAddress || undefined);
|
|
78
|
+
}, [payParams?.toStellarAddress, payParams?.toSolanaAddress, payParams?.toAddress]);
|
|
85
79
|
useEffect(() => {
|
|
86
80
|
if (state === "error") {
|
|
87
81
|
setRoute(ROUTES.ERROR);
|
|
@@ -137,12 +131,24 @@ const PayWithStellarToken = () => {
|
|
|
137
131
|
// @NOTE: Fee calculation
|
|
138
132
|
const destToken = currentOrder.destFinalCallTokenAmount?.token;
|
|
139
133
|
setFeeLoading(true);
|
|
134
|
+
// Use required.amount (base units, already priced by the backend)
|
|
135
|
+
// converted to a human-readable token amount — NOT required.usd,
|
|
136
|
+
// which is only equal to the token amount for 1:1-USD-pegged
|
|
137
|
+
// tokens (USDC/EURC). For native XLM this would send the wrong
|
|
138
|
+
// amount (e.g. "1.00" XLM instead of the correct ~2.7 XLM for a $1
|
|
139
|
+
// payment). Some endpoints return required.amount as an
|
|
140
|
+
// already-human-readable decimal string instead of integer base
|
|
141
|
+
// units, so detect the shape first — BigInt() throws on decimals.
|
|
142
|
+
const sourceAmount = tokenBaseAmountToDecimalString(option.required.amount, option.required.token.decimals);
|
|
143
|
+
const feeQuoteType = paymentState.payParams?.feeType ?? FeeType.ExactIn;
|
|
144
|
+
// getFee maps `amount` to source.amount for exactIn. We must send the
|
|
145
|
+
// source-token amount (e.g. XLM), NOT the USD/destination value.
|
|
140
146
|
const feeData = await getCachedFee({
|
|
141
147
|
appId: resolveOrderAppId(currentOrder, paymentState.payParams?.appId),
|
|
142
|
-
type:
|
|
148
|
+
type: feeQuoteType,
|
|
143
149
|
sourceChainId: option.required.token.chainId.toString(),
|
|
144
150
|
sourceTokenSymbol: option.required.token.symbol,
|
|
145
|
-
amount:
|
|
151
|
+
amount: sourceAmount,
|
|
146
152
|
destChainId: destToken.chainId.toString(),
|
|
147
153
|
destReceiverAddress: getCanonicalDestination(currentOrder).finalDestinationAddress ??
|
|
148
154
|
paymentState.payParams?.toAddress ??
|
|
@@ -182,7 +188,7 @@ const PayWithStellarToken = () => {
|
|
|
182
188
|
chainId: option.required.token.chainId,
|
|
183
189
|
tokenSymbol: option.required.token.symbol,
|
|
184
190
|
tokenAddress: option.required.token.token,
|
|
185
|
-
amount:
|
|
191
|
+
amount: sourceAmount,
|
|
186
192
|
}));
|
|
187
193
|
if (!checkoutRes?.data) {
|
|
188
194
|
throw new Error("Failed to checkout payment");
|
|
@@ -193,13 +199,16 @@ const PayWithStellarToken = () => {
|
|
|
193
199
|
cachedCheckoutPaymentIdRef.current = paymentId;
|
|
194
200
|
}
|
|
195
201
|
}
|
|
196
|
-
else if ((state === "payment_unpaid" || state === "payment_started") &&
|
|
197
|
-
!needRozoPayment) {
|
|
202
|
+
else if ((state === "payment_unpaid" || state === "payment_started") && !needRozoPayment) {
|
|
198
203
|
hydratedOrder = currentOrder;
|
|
199
204
|
}
|
|
200
205
|
else if (needRozoPayment) {
|
|
206
|
+
// Backend rejects `checkout` when rotating to a native source
|
|
207
|
+
// (SOL/ETH/XLM) — "create a new order instead". So for native sources we
|
|
208
|
+
// skip checkout and create a fresh payment.
|
|
209
|
+
const rotateToNative = isNativeToken(option.required.token.token);
|
|
201
210
|
const existingId = rozoPaymentId ?? currentOrder.externalId ?? undefined;
|
|
202
|
-
if (existingId) {
|
|
211
|
+
if (existingId && !rotateToNative) {
|
|
203
212
|
const paymentRes = await getPayment(existingId);
|
|
204
213
|
if (!paymentRes?.data) {
|
|
205
214
|
throw new Error("Failed to fetch payment");
|
|
@@ -208,7 +217,7 @@ const PayWithStellarToken = () => {
|
|
|
208
217
|
chainId: option.required.token.chainId,
|
|
209
218
|
tokenSymbol: option.required.token.symbol,
|
|
210
219
|
tokenAddress: option.required.token.token,
|
|
211
|
-
amount:
|
|
220
|
+
amount: sourceAmount,
|
|
212
221
|
}));
|
|
213
222
|
if (!checkoutRes?.data) {
|
|
214
223
|
throw new Error("Failed to checkout payment");
|
|
@@ -239,9 +248,7 @@ const PayWithStellarToken = () => {
|
|
|
239
248
|
...option,
|
|
240
249
|
fees: {
|
|
241
250
|
...option.fees,
|
|
242
|
-
usd: feeData.data?.source.fee != null
|
|
243
|
-
? Number(feeData.data.source.fee)
|
|
244
|
-
: option.fees.usd,
|
|
251
|
+
usd: feeData.data?.source.fee != null ? Number(feeData.data.source.fee) : option.fees.usd,
|
|
245
252
|
},
|
|
246
253
|
});
|
|
247
254
|
hydratedOrder = res.order;
|
|
@@ -326,9 +333,7 @@ const PayWithStellarToken = () => {
|
|
|
326
333
|
...option,
|
|
327
334
|
fees: {
|
|
328
335
|
...option.fees,
|
|
329
|
-
usd: feeData.data?.source.fee != null
|
|
330
|
-
? Number(feeData.data.source.fee)
|
|
331
|
-
: option.fees.usd,
|
|
336
|
+
usd: feeData.data?.source.fee != null ? Number(feeData.data.source.fee) : option.fees.usd,
|
|
332
337
|
},
|
|
333
338
|
}, paymentData);
|
|
334
339
|
setSignedTx(result.signedTx);
|
|
@@ -351,9 +356,7 @@ const PayWithStellarToken = () => {
|
|
|
351
356
|
const isRejected = errorMessage.includes("rejected");
|
|
352
357
|
capture(ROZO_EVENTS.PAYMENT_FAILED, {
|
|
353
358
|
payment_id: resolvedPaymentId ?? rozoPaymentId,
|
|
354
|
-
error_message: isRejected
|
|
355
|
-
? "user_rejected"
|
|
356
|
-
: (errorMessage ?? "unknown_error"),
|
|
359
|
+
error_message: isRejected ? "user_rejected" : (errorMessage ?? "unknown_error"),
|
|
357
360
|
source_chain: rozoStellar.chainId,
|
|
358
361
|
});
|
|
359
362
|
if (isRejected) {
|
|
@@ -420,9 +423,7 @@ const PayWithStellarToken = () => {
|
|
|
420
423
|
const isRejected = errorMessage.includes("rejected");
|
|
421
424
|
capture(ROZO_EVENTS.PAYMENT_FAILED, {
|
|
422
425
|
payment_id: rozoPaymentId,
|
|
423
|
-
error_message: isRejected
|
|
424
|
-
? "user_rejected"
|
|
425
|
-
: (errorMessage ?? "unknown_error"),
|
|
426
|
+
error_message: isRejected ? "user_rejected" : (errorMessage ?? "unknown_error"),
|
|
426
427
|
source_chain: rozoStellar.chainId,
|
|
427
428
|
});
|
|
428
429
|
if (isRejected) {
|
|
@@ -458,7 +459,7 @@ const PayWithStellarToken = () => {
|
|
|
458
459
|
if (selectedStellarTokenOption == null) {
|
|
459
460
|
return jsx(PageContent, {});
|
|
460
461
|
}
|
|
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: {
|
|
462
|
+
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: {
|
|
462
463
|
...selectedStellarTokenOption,
|
|
463
464
|
fees: {
|
|
464
465
|
...selectedStellarTokenOption.fees,
|
|
@@ -466,11 +467,7 @@ const PayWithStellarToken = () => {
|
|
|
466
467
|
? Number(feeData.source.fee)
|
|
467
468
|
: selectedStellarTokenOption.fees.usd,
|
|
468
469
|
},
|
|
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" })] }))] })] }));
|
|
470
|
+
}, 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" })] }))] })] }));
|
|
474
471
|
};
|
|
475
472
|
|
|
476
473
|
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, DepositAddressPaymentOptions, getKnownToken,
|
|
3
|
-
import { useState, useRef,
|
|
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';
|
|
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 } from '../../../utils/feeCache.js';
|
|
15
|
-
import { formatUsd, trimTokenAmount } from '../../../utils/format.js';
|
|
14
|
+
import { resolveOrderAppId, getCachedFee } from '../../../utils/feeCache.js';
|
|
15
|
+
import { generateStellarDeepLink, 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,7 +45,6 @@ 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();
|
|
49
48
|
const [hasExecutedDepositCall, setHasExecutedDepositCall] = useState(false);
|
|
50
49
|
const [feeData, setFeeData] = useState(null);
|
|
51
50
|
const [feeError, setFeeError] = useState(null);
|
|
@@ -57,6 +56,9 @@ function WaitingDepositAddress() {
|
|
|
57
56
|
const pusherUnsubscribeRef = useRef(null);
|
|
58
57
|
const payinDetectedRef = useRef(false);
|
|
59
58
|
const prevActivePaymentIdRef = useRef(undefined);
|
|
59
|
+
const isNativeSource = useMemo(() => {
|
|
60
|
+
return (selectedDepositAddressOption != null && isNativeToken(selectedDepositAddressOption.token.token));
|
|
61
|
+
}, [selectedDepositAddressOption]);
|
|
60
62
|
// The active deposit payment id (same expression the Pusher block uses).
|
|
61
63
|
const activePaymentId = rozoPaymentId || depAddr?.externalId;
|
|
62
64
|
const handlePayinDetected = (txHash, paymentId) => {
|
|
@@ -194,24 +196,42 @@ function WaitingDepositAddress() {
|
|
|
194
196
|
if (!preferredToken) {
|
|
195
197
|
throw new Error("Preferred token not found");
|
|
196
198
|
}
|
|
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);
|
|
197
211
|
let uriDeeplink = null;
|
|
212
|
+
const isStellarChain = [stellar.chainId, rozoStellar.chainId].includes(preferredToken.chainId);
|
|
198
213
|
// Use Solana deep link if it's a Solana chain
|
|
199
214
|
if ([solana.chainId, rozoSolana.chainId].includes(preferredToken.chainId)) {
|
|
200
215
|
uriDeeplink = generateSolanaDeepLink({
|
|
201
|
-
amountUnits:
|
|
216
|
+
amountUnits: sourceAmountUnits,
|
|
202
217
|
recipientAddress: order.intentAddr,
|
|
203
218
|
tokenAddress: preferredToken.token,
|
|
204
|
-
memo: order.memo || order.metadata?.memo || undefined,
|
|
205
219
|
});
|
|
206
220
|
}
|
|
207
|
-
//
|
|
208
|
-
else if (
|
|
209
|
-
|
|
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
|
+
});
|
|
210
230
|
}
|
|
211
231
|
// Otherwise use EVM deep link
|
|
212
232
|
else {
|
|
213
233
|
uriDeeplink = generateEVMDeepLink({
|
|
214
|
-
amountUnits: parseUnits(
|
|
234
|
+
amountUnits: parseUnits(sourceAmountUnits, preferredToken.decimals).toString(),
|
|
215
235
|
chainId: preferredToken.chainId,
|
|
216
236
|
recipientAddress: order.intentAddr,
|
|
217
237
|
tokenAddress: preferredToken.token,
|
|
@@ -219,7 +239,7 @@ function WaitingDepositAddress() {
|
|
|
219
239
|
}
|
|
220
240
|
setDepAddr({
|
|
221
241
|
address: order.intentAddr,
|
|
222
|
-
amount:
|
|
242
|
+
amount: sourceAmountUnits,
|
|
223
243
|
underpayment: {
|
|
224
244
|
unitsPaid: order.destFinalCallTokenAmount.amount,
|
|
225
245
|
coin: order.destFinalCallTokenAmount.token.symbol,
|
|
@@ -229,7 +249,7 @@ function WaitingDepositAddress() {
|
|
|
229
249
|
uri: uriDeeplink ?? undefined,
|
|
230
250
|
displayToken: order.destFinalCallTokenAmount.token,
|
|
231
251
|
logoURI: "", // Not needed for underpaid orders
|
|
232
|
-
memo: order.memo || order.metadata?.memo || undefined,
|
|
252
|
+
memo: isStellarChain ? order.memo || order.metadata?.memo || undefined : undefined,
|
|
233
253
|
});
|
|
234
254
|
}
|
|
235
255
|
else {
|
|
@@ -249,10 +269,17 @@ function WaitingDepositAddress() {
|
|
|
249
269
|
else {
|
|
250
270
|
amount = order?.destFinalCallTokenAmount.usd ?? null;
|
|
251
271
|
}
|
|
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.
|
|
252
279
|
setDepAddr({
|
|
253
280
|
displayToken: displayToken ?? null,
|
|
254
281
|
logoURI,
|
|
255
|
-
amount:
|
|
282
|
+
amount: undefined,
|
|
256
283
|
});
|
|
257
284
|
try {
|
|
258
285
|
let feeData = null;
|
|
@@ -268,12 +295,49 @@ function WaitingDepositAddress() {
|
|
|
268
295
|
try {
|
|
269
296
|
// @TODO: Handle fee calculation for other currencies
|
|
270
297
|
const destToken = currentOrder?.destFinalCallTokenAmount?.token;
|
|
271
|
-
const
|
|
272
|
-
|
|
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,
|
|
273
333
|
appId: resolvedAppId,
|
|
274
334
|
sourceChainId: selectedDepositAddressOption.token.chainId.toString(),
|
|
275
335
|
sourceTokenSymbol: selectedDepositAddressOption.token.symbol,
|
|
276
|
-
amount:
|
|
336
|
+
amount: isNativeSource
|
|
337
|
+
? feeQuoteType === FeeType.ExactIn
|
|
338
|
+
? feeAmount
|
|
339
|
+
: String(amount)
|
|
340
|
+
: feeAmount,
|
|
277
341
|
destChainId: (destToken?.chainId ?? selectedDepositAddressOption.token.chainId).toString(),
|
|
278
342
|
destReceiverAddress: (currentOrder
|
|
279
343
|
? getCanonicalDestination(currentOrder).finalDestinationAddress
|
|
@@ -286,6 +350,17 @@ function WaitingDepositAddress() {
|
|
|
286
350
|
feeData = feeResponse.data;
|
|
287
351
|
setFeeData(feeResponse.data);
|
|
288
352
|
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
|
+
}
|
|
289
364
|
}
|
|
290
365
|
else if (feeResponse.error) {
|
|
291
366
|
const errorMessage = feeResponse.error.message;
|
|
@@ -319,21 +394,28 @@ function WaitingDepositAddress() {
|
|
|
319
394
|
}
|
|
320
395
|
const details = await payWithDepositAddress(selectedDepositAddressOption, store, feeData, context.log);
|
|
321
396
|
if (details) {
|
|
322
|
-
|
|
323
|
-
|
|
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;
|
|
324
400
|
setDepAddr({
|
|
325
401
|
address: details.address,
|
|
326
402
|
amount: details.amount,
|
|
327
403
|
coins: details.suffix,
|
|
328
404
|
expirationS: details.expirationS,
|
|
329
|
-
uri: details.
|
|
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,
|
|
330
413
|
displayToken: displayToken ?? null,
|
|
331
414
|
logoURI,
|
|
332
415
|
externalId: details.externalId,
|
|
333
|
-
memo
|
|
416
|
+
memo,
|
|
334
417
|
});
|
|
335
418
|
setRozoPaymentId(details.externalId);
|
|
336
|
-
setDepoChain(selectedDepositAddressOption.id);
|
|
337
419
|
}
|
|
338
420
|
else if (details === null) {
|
|
339
421
|
// Duplicate call was prevented - reset loading states
|
|
@@ -443,14 +525,9 @@ function DepositAddressInfo({ depAddr, feeData, refresh, triggerResize, }) {
|
|
|
443
525
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
444
526
|
useEffect(triggerResize, [isExpired]);
|
|
445
527
|
const logoOffset = isMobile ? 4 : 0;
|
|
446
|
-
const logoElement = depAddr.displayToken ? (jsx(TokenChainLogo, { token: depAddr.displayToken, size: 64, offset: logoOffset })) : (jsx("img", { src: depAddr.logoURI, width: "64px", height: "64px" }));
|
|
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" }));
|
|
447
529
|
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 })] }));
|
|
448
530
|
}
|
|
449
|
-
styled.div `
|
|
450
|
-
position: relative;
|
|
451
|
-
width: 64px;
|
|
452
|
-
height: 64px;
|
|
453
|
-
`;
|
|
454
531
|
const LogoRow = styled.div `
|
|
455
532
|
padding: 32px 0;
|
|
456
533
|
height: 128px;
|
|
@@ -469,9 +546,9 @@ function CopyableInfo({ depAddr, feeData, remainingS, totalS, }) {
|
|
|
469
546
|
const sourceTokenSymbol = depAddr?.displayToken?.symbol;
|
|
470
547
|
return (jsxs(CopyableInfoWrapper, { children: [underpayment && jsx(UnderpaymentInfo, { underpayment: underpayment }), feeData !== null && (jsx(FeeDisplayRow, { title: "Fee", value: parseFloat(feeData.source.fee) === 0
|
|
471
548
|
? "Free"
|
|
472
|
-
: `${trimTokenAmount(feeData.source.fee)} ${feeData.source.tokenSymbol} (${feeData.feeInfo.feePercentage})` })), jsx(CopyRowOrThrobber, { title: "Send Exactly", value: depAddr?.amount, valueText: depAddr?.amount
|
|
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
|
|
473
550
|
? `${trimTokenAmount(depAddr.amount)} ${sourceTokenSymbol ?? ""}`.trim()
|
|
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 }) })] }));
|
|
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 }) })] }));
|
|
475
552
|
}
|
|
476
553
|
function UnderpaymentInfo({ underpayment }) {
|
|
477
554
|
// Default message
|
|
@@ -622,7 +699,7 @@ const Skeleton = styled.div `
|
|
|
622
699
|
background-color: rgba(0, 0, 0, 0.1);
|
|
623
700
|
animation: ${pulse} 1.5s ease-in-out infinite;
|
|
624
701
|
`;
|
|
625
|
-
function CopyRowOrThrobber({ title, value, valueText, smallText, disabled, }) {
|
|
702
|
+
function CopyRowOrThrobber({ dataTestId, title, value, valueText, smallText, disabled, }) {
|
|
626
703
|
const [copied, setCopied] = useState(false);
|
|
627
704
|
const handleCopy = () => {
|
|
628
705
|
if (disabled)
|
|
@@ -637,10 +714,10 @@ function CopyRowOrThrobber({ title, value, valueText, smallText, disabled, }) {
|
|
|
637
714
|
setTimeout(() => setCopied(false), 1000);
|
|
638
715
|
};
|
|
639
716
|
if (!value) {
|
|
640
|
-
return (jsxs(CopyRow, { children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsx(Skeleton, {}) })] }));
|
|
717
|
+
return (jsxs(CopyRow, { "data-testid": dataTestId, children: [jsx(LabelRow, { children: jsx(LabelText, { children: title }) }), jsx(MainRow, { children: jsx(Skeleton, {}) })] }));
|
|
641
718
|
}
|
|
642
719
|
const displayValue = valueText || value;
|
|
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 }) })] }));
|
|
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 }) })] }));
|
|
644
721
|
}
|
|
645
722
|
const CopyIconWrap = styled.div `
|
|
646
723
|
--color: var(--ck-copytoclipboard-stroke);
|