@rozoai/intent-pay 0.0.16-beta.2 → 0.0.16-beta.21
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/PoweredByFooter/index.d.ts +1 -1
- package/build/constants/rozoConfig.d.ts +43 -0
- package/build/hooks/useDaimoPay.d.ts +7 -2
- package/build/hooks/usePaymentState.d.ts +4 -1
- package/build/hooks/useStellarDestination.d.ts +32 -0
- package/build/hooks/useStellarPaymentOptions.d.ts +2 -1
- package/build/package.json.js +2 -2
- package/build/payment/paymentFsm.d.ts +3 -0
- package/build/provider/StellarContextProvider.d.ts +2 -35
- package/build/src/components/Common/PoweredByFooter/index.js +14 -12
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +16 -5
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +10 -7
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +42 -39
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +52 -20
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
- package/build/src/constants/rozoConfig.js +49 -0
- package/build/src/constants/rozoConfig.js.map +1 -0
- package/build/src/hooks/useDaimoPay.js +31 -12
- package/build/src/hooks/useDaimoPay.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +21 -23
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/useStellarDestination.js +61 -0
- package/build/src/hooks/useStellarDestination.js.map +1 -0
- package/build/src/hooks/useStellarPaymentOptions.js +4 -3
- package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
- package/build/src/hooks/useTokenOptions.js +11 -5
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/payment/paymentEffects.js +58 -8
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/provider/StellarContextProvider.js +25 -42
- package/build/src/provider/StellarContextProvider.js.map +1 -1
- package/build/src/utils/api/base.js +17 -15
- package/build/src/utils/api/base.js.map +1 -1
- package/build/src/utils/api/payment.js +10 -17
- package/build/src/utils/api/payment.js.map +1 -1
- package/build/src/utils/trpc.js +1 -1
- package/build/src/wallets/walletConfigs.js +3 -3
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/utils/api/base.d.ts +1 -1
- package/build/utils/api/payment.d.ts +28 -20
- package/package.json +10 -11
- package/src/index.ts +35 -0
- package/build/components/Pages/Solana/ConnectSolana/index.d.ts +0 -3
- package/build/src/assets/rozo-dark.js +0 -8
- package/build/src/assets/rozo-dark.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +0 -81
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +0 -1
|
@@ -3,14 +3,17 @@ import { useState, 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 { getChainExplorerTxUrl, stellar } from '@rozoai/intent-common';
|
|
6
|
+
import { getChainExplorerTxUrl, stellar, base, baseUSDC } from '@rozoai/intent-common';
|
|
7
7
|
import { useRozoPay } from '../../../../hooks/useDaimoPay.js';
|
|
8
|
+
import { useStellarDestination } from '../../../../hooks/useStellarDestination.js';
|
|
8
9
|
import { getSupportUrl } from '../../../../utils/supportUrl.js';
|
|
9
10
|
import Button from '../../../Common/Button/index.js';
|
|
10
11
|
import PaymentBreakdown from '../../../Common/PaymentBreakdown/index.js';
|
|
11
12
|
import TokenLogoSpinner from '../../../Spinners/TokenLogoSpinner/index.js';
|
|
12
13
|
import { roundTokenAmount } from '../../../../utils/format.js';
|
|
13
|
-
import {
|
|
14
|
+
import { createRozoPaymentRequest, createRozoPayment } from '../../../../utils/api/payment.js';
|
|
15
|
+
import { ROZO_STELLAR_ADDRESS, ROZO_DAIMO_APP_ID, STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK } from '../../../../constants/rozoConfig.js';
|
|
16
|
+
import { useStellar } from '../../../../provider/StellarContextProvider.js';
|
|
14
17
|
|
|
15
18
|
var PayState;
|
|
16
19
|
(function (PayState) {
|
|
@@ -22,25 +25,47 @@ var PayState;
|
|
|
22
25
|
})(PayState || (PayState = {}));
|
|
23
26
|
const PayWithStellarToken = () => {
|
|
24
27
|
const { triggerResize, paymentState, setRoute } = usePayContext();
|
|
25
|
-
const { selectedStellarTokenOption, payWithStellarToken, setTxHash, payParams } = paymentState;
|
|
26
|
-
const { order } = useRozoPay();
|
|
28
|
+
const { selectedStellarTokenOption, payWithStellarToken: payWithStellarTokenImpl, setTxHash, payParams, setRozoPaymentId, } = paymentState;
|
|
29
|
+
const { order, setPaymentRozoCompleted, hydrateOrder } = useRozoPay();
|
|
27
30
|
const [payState, setPayState] = useState(PayState.CreatingPayment);
|
|
28
31
|
const [txURL, setTxURL] = useState();
|
|
29
32
|
const [isLoading, setIsLoading] = useState(true);
|
|
30
33
|
const [activeRozoPayment, setActiveRozoPayment] = useState();
|
|
31
|
-
//
|
|
34
|
+
// Get the destination address and payment direction using our custom hook
|
|
35
|
+
const { destinationAddress, isPayInStellarOutBase } = useStellarDestination(payParams);
|
|
36
|
+
const { convertXlmToUsdc } = useStellar();
|
|
37
|
+
// ROZO API CALL
|
|
32
38
|
const handleCreatePayment = async (payToken, destinationAddress) => {
|
|
33
39
|
setPayState(PayState.CreatingPayment);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let amount = roundTokenAmount(payToken.amount, payToken.token);
|
|
41
|
+
// Convert XLM to USDC for Pay In Stellar, Pay Out Stellar scenarios
|
|
42
|
+
if (payToken.token.symbol === "XLM") {
|
|
43
|
+
amount = await convertXlmToUsdc(amount);
|
|
44
|
+
}
|
|
45
|
+
const paymentData = createRozoPaymentRequest({
|
|
46
|
+
appId: payParams?.appId ?? ROZO_DAIMO_APP_ID,
|
|
47
|
+
display: {
|
|
48
|
+
intent: order?.metadata?.intent ?? "",
|
|
49
|
+
paymentValue: String(payToken.usd),
|
|
50
|
+
currency: "USD",
|
|
51
|
+
},
|
|
52
|
+
preferredChain: String(stellar.chainId),
|
|
53
|
+
preferredToken: "USDC_XLM",
|
|
54
|
+
destination: {
|
|
55
|
+
destinationAddress: isPayInStellarOutBase
|
|
56
|
+
? payParams?.toAddress
|
|
57
|
+
: destinationAddress,
|
|
58
|
+
chainId: isPayInStellarOutBase
|
|
59
|
+
? String(base.chainId)
|
|
60
|
+
: String(stellar.chainId),
|
|
61
|
+
amountUnits: amount,
|
|
62
|
+
tokenSymbol: isPayInStellarOutBase
|
|
63
|
+
? baseUSDC.symbol
|
|
64
|
+
: `${STELLAR_USDC_ASSET_CODE}_XLM`,
|
|
65
|
+
tokenAddress: isPayInStellarOutBase
|
|
66
|
+
? baseUSDC.token
|
|
67
|
+
: STELLAR_USDC_ISSUER_PK,
|
|
68
|
+
},
|
|
44
69
|
externalId: order?.externalId ?? "",
|
|
45
70
|
metadata: {
|
|
46
71
|
daimoOrderId: order?.id ?? "",
|
|
@@ -48,7 +73,7 @@ const PayWithStellarToken = () => {
|
|
|
48
73
|
},
|
|
49
74
|
});
|
|
50
75
|
// API Call
|
|
51
|
-
const response = await
|
|
76
|
+
const response = await createRozoPayment(paymentData);
|
|
52
77
|
if (!response?.data?.id) {
|
|
53
78
|
throw new Error(response?.error?.message ?? "Payment creation failed");
|
|
54
79
|
}
|
|
@@ -59,18 +84,23 @@ const PayWithStellarToken = () => {
|
|
|
59
84
|
const handleTransfer = async (option) => {
|
|
60
85
|
setIsLoading(true);
|
|
61
86
|
try {
|
|
62
|
-
const destinationAddress = payParams?.toStellarAddress;
|
|
63
87
|
if (!destinationAddress) {
|
|
64
88
|
throw new Error("Stellar destination address is required");
|
|
65
89
|
}
|
|
90
|
+
await hydrateOrder();
|
|
66
91
|
let payment = activeRozoPayment;
|
|
67
92
|
if (!payment) {
|
|
93
|
+
// Use destinationAddress directly as it's now the middleware address
|
|
68
94
|
payment = await handleCreatePayment(option.required, destinationAddress);
|
|
69
95
|
}
|
|
96
|
+
setRozoPaymentId(payment.id);
|
|
70
97
|
setPayState(PayState.RequestingPayment);
|
|
71
|
-
const result = await
|
|
72
|
-
destAddress:
|
|
73
|
-
|
|
98
|
+
const result = await payWithStellarTokenImpl(option.required, {
|
|
99
|
+
destAddress: isPayInStellarOutBase
|
|
100
|
+
? payment.destination.destinationAddress ?? ROZO_STELLAR_ADDRESS
|
|
101
|
+
: destinationAddress,
|
|
102
|
+
usdcAmount: payment.destination.amountUnits,
|
|
103
|
+
stellarAmount: roundTokenAmount(option.required.amount, option.required.token),
|
|
74
104
|
});
|
|
75
105
|
setTxURL(getChainExplorerTxUrl(stellar.chainId, result.txHash));
|
|
76
106
|
if (result.success) {
|
|
@@ -78,6 +108,7 @@ const PayWithStellarToken = () => {
|
|
|
78
108
|
setTxHash(result.txHash);
|
|
79
109
|
setTimeout(() => {
|
|
80
110
|
setActiveRozoPayment(undefined);
|
|
111
|
+
setPaymentRozoCompleted(true);
|
|
81
112
|
setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-stellar" });
|
|
82
113
|
}, 200);
|
|
83
114
|
}
|
|
@@ -86,6 +117,7 @@ const PayWithStellarToken = () => {
|
|
|
86
117
|
}
|
|
87
118
|
}
|
|
88
119
|
catch (error) {
|
|
120
|
+
console.error(error);
|
|
89
121
|
if (error instanceof Error && error.message.includes("declined")) {
|
|
90
122
|
setPayState(PayState.RequestCancelled);
|
|
91
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { stellar } from '@rozoai/intent-common';
|
|
2
|
+
import { Asset } from '@stellar/stellar-sdk';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ROZO CONFIG
|
|
6
|
+
*/
|
|
7
|
+
const ROZO_API_URL = "https://fxcvfolhncmuvfazuqub.supabase.co/functions/v1/";
|
|
8
|
+
const ROZO_API_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZ4Y3Zmb2xobmNtdXZmYXp1cXViIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTI4Mzg2NjYsImV4cCI6MjA2ODQxNDY2Nn0.B4dV5y_-zCMKSNm3_qyCbAvCPJmoOGv_xB783LfAVUA";
|
|
9
|
+
const ROZO_DAIMO_APP_ID = "pay-muggle-FnFUQEgr2XuVSSXNN5EKKn";
|
|
10
|
+
const ROZO_STELLAR_ADDRESS = "GDQDR7RY2GJW7XBENWAX7F5X42HBTA2YREAD6SYGZLUNDGDQ3DRRYBPK";
|
|
11
|
+
// --- Define the Assets for the Swap ---
|
|
12
|
+
const DEFAULT_STELLAR_RPC_URL = "https://horizon.stellar.org";
|
|
13
|
+
Asset.native();
|
|
14
|
+
const STELLAR_USDC_ASSET_CODE = "USDC";
|
|
15
|
+
const STELLAR_USDC_ISSUER_PK = "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"; // Mainnet USDC Issuer
|
|
16
|
+
// --- ⭐️ Updated Static Token Information to match JSON structure ---
|
|
17
|
+
const STELLAR_XLM_TOKEN_INFO = {
|
|
18
|
+
chainId: stellar.chainId,
|
|
19
|
+
token: "native",
|
|
20
|
+
name: "Stellar Lumens",
|
|
21
|
+
symbol: "XLM",
|
|
22
|
+
decimals: 7,
|
|
23
|
+
logoSourceURI: "https://invoice.rozo.ai//tokens/stellar.svg", // Placeholder
|
|
24
|
+
logoURI: "https://invoice.rozo.ai/tokens/stellar.svg", // Placeholder
|
|
25
|
+
usd: 0.1, // Default/fallback price
|
|
26
|
+
priceFromUsd: 10,
|
|
27
|
+
displayDecimals: 4,
|
|
28
|
+
fiatSymbol: "$",
|
|
29
|
+
maxAcceptUsd: 100000,
|
|
30
|
+
maxSendUsd: 100000,
|
|
31
|
+
};
|
|
32
|
+
const STELLAR_USDC_TOKEN_INFO = {
|
|
33
|
+
chainId: stellar.chainId, // Placeholder for Stellar Mainnet
|
|
34
|
+
token: STELLAR_USDC_ISSUER_PK,
|
|
35
|
+
name: "USD Coin",
|
|
36
|
+
symbol: "USDC",
|
|
37
|
+
decimals: 7,
|
|
38
|
+
logoSourceURI: "https://invoice.rozo.ai/tokens/usdc.png",
|
|
39
|
+
logoURI: "https://invoice.rozo.ai/tokens/usdc.png",
|
|
40
|
+
usd: 1,
|
|
41
|
+
priceFromUsd: 1,
|
|
42
|
+
displayDecimals: 2,
|
|
43
|
+
fiatSymbol: "$",
|
|
44
|
+
maxAcceptUsd: 100000,
|
|
45
|
+
maxSendUsd: 0,
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export { DEFAULT_STELLAR_RPC_URL, ROZO_API_TOKEN, ROZO_API_URL, ROZO_DAIMO_APP_ID, ROZO_STELLAR_ADDRESS, STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK, STELLAR_USDC_TOKEN_INFO, STELLAR_XLM_TOKEN_INFO };
|
|
49
|
+
//# sourceMappingURL=rozoConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rozoConfig.js","sources":["../../../src/constants/rozoConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;AAEG;AACI,MAAM,YAAY,GACvB,yDAAyD;AACpD,MAAM,cAAc,GACzB,mNAAmN;AAC9M,MAAM,iBAAiB,GAAG,oCAAoC;AAE9D,MAAM,oBAAoB,GAC/B,2DAA2D;AAG7D;AACO,MAAM,uBAAuB,GAAG,8BAA8B;AACjC,KAAK,CAAC,MAAM,GAAG;AAC5C,MAAM,uBAAuB,GAAG,OAAO;AACjC,MAAA,sBAAsB,GACjC,2DAA2D;AAE7D;AACa,MAAA,sBAAsB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,6CAA6C;IAC5D,OAAO,EAAE,4CAA4C;IACrD,GAAG,EAAE,GAAG;AACR,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,UAAU,EAAE,GAAG;AACf,IAAA,YAAY,EAAE,MAAM;AACpB,IAAA,UAAU,EAAE,MAAM;EAClB;AAEW,MAAA,uBAAuB,GAAG;AACrC,IAAA,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,IAAA,KAAK,EAAE,sBAAsB;AAC7B,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,aAAa,EAAE,yCAAyC;AACxD,IAAA,OAAO,EAAE,yCAAyC;AAClD,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,UAAU,EAAE,GAAG;AACf,IAAA,YAAY,EAAE,MAAM;AACpB,IAAA,UAAU,EAAE,CAAC;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RozoPayOrderStatusSource } from '@rozoai/intent-common';
|
|
2
|
-
import { useContext, useSyncExternalStore, useMemo, useCallback } from 'react';
|
|
1
|
+
import { RozoPayOrderStatusSource, RozoPayIntentStatus } from '@rozoai/intent-common';
|
|
2
|
+
import { useState, useContext, useSyncExternalStore, useMemo, useCallback } from 'react';
|
|
3
3
|
import { waitForPaymentState } from '../payment/paymentStore.js';
|
|
4
4
|
import { PaymentContext } from '../provider/PaymentProvider.js';
|
|
5
5
|
|
|
@@ -15,6 +15,8 @@ import { PaymentContext } from '../provider/PaymentProvider.js';
|
|
|
15
15
|
* manage Rozo Pay orders and payments.
|
|
16
16
|
*/
|
|
17
17
|
function useRozoPay() {
|
|
18
|
+
const [rozoPaymentId, setRozoPaymentId] = useState(null);
|
|
19
|
+
const [paymentRozoCompleted, setPaymentRozoCompleted] = useState(false);
|
|
18
20
|
const store = useContext(PaymentContext);
|
|
19
21
|
if (!store) {
|
|
20
22
|
throw new Error("useRozoPay must be used within <PaymentProvider>");
|
|
@@ -88,12 +90,12 @@ function useRozoPay() {
|
|
|
88
90
|
...hydratedOrder,
|
|
89
91
|
sourceStartTxHash: args.paymentTxHash,
|
|
90
92
|
// Set source status to completed
|
|
91
|
-
sourceStatus: RozoPayOrderStatusSource.PROCESSED
|
|
93
|
+
sourceStatus: RozoPayOrderStatusSource.PROCESSED,
|
|
92
94
|
};
|
|
93
95
|
// Directly dispatch a payment_verified event to set the state to completed
|
|
94
96
|
dispatch({
|
|
95
97
|
type: "payment_verified",
|
|
96
|
-
order: updatedOrder
|
|
98
|
+
order: updatedOrder,
|
|
97
99
|
});
|
|
98
100
|
// Wait for the state to change to payment_completed
|
|
99
101
|
const paidState = await waitForPaymentState(store, "payment_completed");
|
|
@@ -101,18 +103,22 @@ function useRozoPay() {
|
|
|
101
103
|
}, [dispatch, store]);
|
|
102
104
|
const reset = useCallback(() => dispatch({ type: "reset" }), [dispatch]);
|
|
103
105
|
const setChosenUsd = useCallback((usd) => dispatch({ type: "set_chosen_usd", usd }), [dispatch]);
|
|
104
|
-
const setPaymentCompleted = useCallback(async (txHash) => {
|
|
106
|
+
const setPaymentCompleted = useCallback(async (txHash, rozoPaymentId) => {
|
|
105
107
|
// Get the current order from the state
|
|
106
108
|
const currentState = store.getState();
|
|
107
109
|
if (currentState.type === "idle" || !currentState.order) {
|
|
108
110
|
throw new Error("Cannot complete payment: No active order");
|
|
109
111
|
}
|
|
110
112
|
// Check if the order is already hydrated
|
|
111
|
-
if (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
/* if (
|
|
114
|
+
currentState.type !== "payment_unpaid" &&
|
|
115
|
+
currentState.type !== "payment_started" &&
|
|
116
|
+
currentState.type !== "unhydrated"
|
|
117
|
+
) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
`Cannot complete payment: Invalid state ${currentState.type}`
|
|
120
|
+
);
|
|
121
|
+
} */
|
|
116
122
|
// For TypeScript safety, we need to ensure the order is treated as hydrated
|
|
117
123
|
// This is safe because the payment_verified handler will validate the order
|
|
118
124
|
const hydratedOrder = currentState.order;
|
|
@@ -125,9 +131,18 @@ function useRozoPay() {
|
|
|
125
131
|
sourceStartTxHash: txHash, // Cast to Hex as required by the type
|
|
126
132
|
};
|
|
127
133
|
// Directly dispatch a payment_verified event to set the state to completed
|
|
134
|
+
// dispatch({
|
|
135
|
+
// type: "payment_verified",
|
|
136
|
+
// order: updatedOrder,
|
|
137
|
+
// });
|
|
128
138
|
dispatch({
|
|
129
|
-
type: "
|
|
130
|
-
order:
|
|
139
|
+
type: "order_refreshed",
|
|
140
|
+
order: {
|
|
141
|
+
...updatedOrder,
|
|
142
|
+
externalId: rozoPaymentId ?? updatedOrder?.externalId ?? "",
|
|
143
|
+
destFastFinishTxHash: txHash,
|
|
144
|
+
intentStatus: RozoPayIntentStatus.COMPLETED,
|
|
145
|
+
},
|
|
131
146
|
});
|
|
132
147
|
// Wait for the state to change to payment_completed
|
|
133
148
|
const completedState = await waitForPaymentState(store, "payment_completed");
|
|
@@ -147,6 +162,10 @@ function useRozoPay() {
|
|
|
147
162
|
setPaymentCompleted,
|
|
148
163
|
reset,
|
|
149
164
|
setChosenUsd,
|
|
165
|
+
rozoPaymentId,
|
|
166
|
+
setRozoPaymentId,
|
|
167
|
+
setPaymentRozoCompleted,
|
|
168
|
+
paymentRozoCompleted,
|
|
150
169
|
};
|
|
151
170
|
}
|
|
152
171
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaimoPay.js","sources":["../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;
|
|
1
|
+
{"version":3,"file":"useDaimoPay.js","sources":["../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;AAyJA;;;;;;;;;AASG;SACa,UAAU,GAAA;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;AAED;;AAEqD;;AAGrD,IAAA,MAAM,eAAe,GAAG,oBAAoB,CAC1C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,CACf,CAAC;;;AAIF,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;AACzB,QAAA,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM;AAAE,YAAA,OAAO,IAAI,CAAC;AACjD,QAAA,OAAO,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC;AACvC,KAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAEtB,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC;AAC1C,IAAA,MAAM,mBAAmB,GACvB,eAAe,CAAC,IAAI,KAAK,OAAO,GAAG,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpE;;AAEqD;;IAGrD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAe,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GAAG,WAAW,CACpC,OAAO,SAAoB,KAAI;QAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;;;QAIhD,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAEtE,QAAA,OAAO,iBAAiB,CAAC;AAC3B,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,OAAO,KAAqB,KAAI;QAC9B,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;;;AAIxC,QAAA,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CACjD,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,CAClB,CAAC;AAEF,QAAA,OAAO,iBAAiB,CAAC;AAC3B,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,OAAO,aAAuB,KAAI;QAChC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,CAAC;;;QAInD,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAClD,KAAK,EACL,gBAAgB,CACjB,CAAC;AAEF,QAAA,OAAO,kBAAkB,CAAC;AAC5B,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EACtC,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,OAAO,IAMN,KAAI;QACH,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;;AAGnD,QAAA,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,CAClB,CAAC;AAEF,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,OAAO,IAA6D,KAAI;QACtE,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;;AAGjD,QAAA,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,CAClB,CAAC;AAEF,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,OAAO,IAIN,KAAI;;AAEH,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACvD,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;;QAGD,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;;;AAIlD,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,KAAoC,CAAC;;AAGxE,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,GAAG,aAAa;YAChB,iBAAiB,EAAE,IAAI,CAAC,aAAoB;;YAE5C,YAAY,EAAE,wBAAwB,CAAC,SAAS;SACjD,CAAC;;AAGF,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA,CAAC,CAAC;;QAGH,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAExE,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,GAAW,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAC1D,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,OAAO,MAAc,EAAE,aAAsB,KAAI;;AAE/C,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACvD,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;;AAGD;;;;;;;;AAQI;;;AAIJ,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,KAAoC,CAAC;;;;;AAOxE,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,GAAG,aAAa;YAChB,iBAAiB,EAAE,MAAa;SACjC,CAAC;;;;;;AAQF,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,KAAK,EAAE;AACL,gBAAA,GAAG,YAAY;AACf,gBAAA,UAAU,EAAE,aAAa,IAAI,YAAY,EAAE,UAAU,IAAI,EAAE;AAC3D,gBAAA,oBAAoB,EAAE,MAAa;gBACnC,YAAY,EAAE,mBAAmB,CAAC,SAAS;AAC5C,aAAA;AACF,SAAA,CAAC,CAAC;;QAGH,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,KAAK,EACL,mBAAmB,CACpB,CAAC;AAEF,QAAA,OAAO,cAAc,CAAC;AACxB,KAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,CAClB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,YAAY;QACZ,mBAAmB;QACnB,kBAAkB;QAClB,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,mBAAmB;QACnB,KAAK;QACL,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,uBAAuB;QACvB,oBAAoB;KACP,CAAC;AAClB;;;;"}
|
|
@@ -14,9 +14,11 @@ import { useOrderUsdLimits } from './useOrderUsdLimits.js';
|
|
|
14
14
|
import { useSolanaPaymentOptions } from './useSolanaPaymentOptions.js';
|
|
15
15
|
import { useStellarPaymentOptions } from './useStellarPaymentOptions.js';
|
|
16
16
|
import { useWalletPaymentOptions } from './useWalletPaymentOptions.js';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { useStellarDestination } from './useStellarDestination.js';
|
|
18
|
+
import { useStellar } from '../provider/StellarContextProvider.js';
|
|
19
|
+
import { ALBEDO_ID } from '@creit.tech/stellar-wallets-kit';
|
|
19
20
|
import { Asset, TransactionBuilder, Networks, Operation } from '@stellar/stellar-sdk';
|
|
21
|
+
import { STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK } from '../constants/rozoConfig.js';
|
|
20
22
|
|
|
21
23
|
function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl, }) {
|
|
22
24
|
const pay = useRozoPay();
|
|
@@ -38,7 +40,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
38
40
|
const { connection } = useConnection();
|
|
39
41
|
const solanaPubKey = solanaWallet.publicKey?.toBase58();
|
|
40
42
|
// Stellar wallet state.
|
|
41
|
-
const { publicKey: stellarPublicKey, account: stellarAccount, kit: stellarKit, connector: stellarConnector, server: stellarServer, } = useStellar();
|
|
43
|
+
const { publicKey: stellarPublicKey, account: stellarAccount, kit: stellarKit, connector: stellarConnector, server: stellarServer, convertXlmToUsdc, } = useStellar();
|
|
42
44
|
const stellarPubKey = stellarPublicKey;
|
|
43
45
|
// TODO: backend should determine whether to show solana payment method
|
|
44
46
|
const paymentOptions = pay.order?.metadata.payer?.paymentOptions;
|
|
@@ -55,13 +57,14 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
55
57
|
const [currPayParams, setCurrPayParams] = useState();
|
|
56
58
|
const [paymentWaitingMessage, setPaymentWaitingMessage] = useState();
|
|
57
59
|
const [isDepositFlow, setIsDepositFlow] = useState(false);
|
|
60
|
+
// Use our custom hook to determine if this is a Stellar payment and its direction
|
|
61
|
+
const { isStellarPayment } = useStellarDestination(currPayParams);
|
|
58
62
|
const showStellarPaymentMethod = useMemo(() => {
|
|
59
63
|
return ((paymentOptions == null ||
|
|
60
64
|
paymentOptions.includes(ExternalPaymentOptions.Stellar)) &&
|
|
61
65
|
pay.order != null &&
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}, [paymentOptions, pay.order, currPayParams]);
|
|
66
|
+
isStellarPayment);
|
|
67
|
+
}, [paymentOptions, pay.order, isStellarPayment]);
|
|
65
68
|
// UI state. Selection for external payment (Binance, etc) vs wallet payment.
|
|
66
69
|
const externalPaymentOptions = useExternalPaymentOptions({
|
|
67
70
|
trpc,
|
|
@@ -91,6 +94,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
91
94
|
const stellarPaymentOptions = useStellarPaymentOptions({
|
|
92
95
|
address: stellarPubKey,
|
|
93
96
|
usdRequired: pay.order?.destFinalCallTokenAmount.usd,
|
|
97
|
+
isDepositFlow,
|
|
94
98
|
});
|
|
95
99
|
const depositAddressOptions = useDepositAddressOptions({
|
|
96
100
|
trpc,
|
|
@@ -138,7 +142,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
138
142
|
try {
|
|
139
143
|
if (required.token.token === zeroAddress) {
|
|
140
144
|
return await sendTransactionAsync({
|
|
141
|
-
to: hydratedOrder.intentAddr,
|
|
145
|
+
to: hydratedOrder.intentAddr, // TODO: Change this to middleware address from API, if it's ready
|
|
142
146
|
value: paymentAmount,
|
|
143
147
|
});
|
|
144
148
|
}
|
|
@@ -147,7 +151,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
147
151
|
abi: erc20Abi,
|
|
148
152
|
address: getAddress(required.token.token),
|
|
149
153
|
functionName: "transfer",
|
|
150
|
-
args: [hydratedOrder.intentAddr, paymentAmount],
|
|
154
|
+
args: [hydratedOrder.intentAddr, paymentAmount], // TODO: Change this to middleware address from API, if it's ready
|
|
151
155
|
});
|
|
152
156
|
}
|
|
153
157
|
}
|
|
@@ -235,9 +239,9 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
235
239
|
}
|
|
236
240
|
const token = payToken.token;
|
|
237
241
|
const destinationAddress = rozoPayment.destAddress;
|
|
238
|
-
const amount = rozoPayment.amount;
|
|
242
|
+
// const amount = rozoPayment.amount;
|
|
239
243
|
// Setup Stellar payment
|
|
240
|
-
await stellarKit.setWallet(String(stellarConnector?.id ??
|
|
244
|
+
await stellarKit.setWallet(String(stellarConnector?.id ?? ALBEDO_ID));
|
|
241
245
|
const sourceAccount = await stellarServer.loadAccount(stellarPublicKey);
|
|
242
246
|
const destAsset = new Asset(STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK);
|
|
243
247
|
const fee = String(await stellarServer.fetchBaseFee());
|
|
@@ -245,26 +249,17 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
245
249
|
let transaction;
|
|
246
250
|
const isXlmToken = token.symbol === "XLM";
|
|
247
251
|
if (isXlmToken) {
|
|
248
|
-
//
|
|
249
|
-
const pathResults = await stellarServer
|
|
250
|
-
.strictSendPaths(Asset.native(), amount, [destAsset])
|
|
251
|
-
.call();
|
|
252
|
-
if (!pathResults?.records?.length) {
|
|
253
|
-
throw new Error("No exchange rate found for XLM swap");
|
|
254
|
-
}
|
|
255
|
-
// Apply 5% slippage tolerance
|
|
256
|
-
const bestPath = pathResults.records[0];
|
|
257
|
-
const estimatedDestMinAmount = (parseFloat(bestPath.destination_amount) * 0.94).toFixed(2);
|
|
252
|
+
// const estimatedDestMinAmount = await convertXlmToUsdc(amount);
|
|
258
253
|
transaction = new TransactionBuilder(sourceAccount, {
|
|
259
254
|
fee,
|
|
260
255
|
networkPassphrase: Networks.PUBLIC,
|
|
261
256
|
})
|
|
262
257
|
.addOperation(Operation.pathPaymentStrictSend({
|
|
263
258
|
sendAsset: Asset.native(),
|
|
264
|
-
sendAmount: String(
|
|
259
|
+
sendAmount: String(rozoPayment.stellarAmount),
|
|
265
260
|
destination: destinationAddress,
|
|
266
261
|
destAsset,
|
|
267
|
-
destMin:
|
|
262
|
+
destMin: rozoPayment.usdcAmount,
|
|
268
263
|
path: [],
|
|
269
264
|
}))
|
|
270
265
|
.setTimeout(180)
|
|
@@ -279,7 +274,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
279
274
|
.addOperation(Operation.payment({
|
|
280
275
|
destination: destinationAddress,
|
|
281
276
|
asset: destAsset,
|
|
282
|
-
amount: String(
|
|
277
|
+
amount: String(rozoPayment.usdcAmount),
|
|
283
278
|
}))
|
|
284
279
|
.setTimeout(180)
|
|
285
280
|
.build();
|
|
@@ -406,6 +401,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
406
401
|
}, [setRoute, pay, currPayParams]);
|
|
407
402
|
const [tokenMode, setTokenMode] = useState("evm");
|
|
408
403
|
const [txHash, setTxHash] = useState(undefined);
|
|
404
|
+
const [rozoPaymentId, setRozoPaymentId] = useState(undefined);
|
|
409
405
|
return {
|
|
410
406
|
buttonProps,
|
|
411
407
|
setButtonProps,
|
|
@@ -451,6 +447,8 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
451
447
|
senderEnsName: senderEnsName ?? undefined,
|
|
452
448
|
txHash,
|
|
453
449
|
setTxHash,
|
|
450
|
+
setRozoPaymentId,
|
|
451
|
+
rozoPaymentId,
|
|
454
452
|
};
|
|
455
453
|
}
|
|
456
454
|
|
|
@@ -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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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { baseUSDC } from '@rozoai/intent-common';
|
|
3
|
+
import { ROZO_STELLAR_ADDRESS } from '../constants/rozoConfig.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Hook to determine the correct destination address for Stellar transactions.
|
|
7
|
+
*
|
|
8
|
+
* Handles Pay In Stellar scenarios:
|
|
9
|
+
* 1. Pay In Stellar, Pay out Stellar - use toStellarAddress
|
|
10
|
+
* 2. Pay In Stellar, Pay Out Base - use ROZO_STELLAR_ADDRESS (when toChain is Base and toStellarAddress is empty)
|
|
11
|
+
*
|
|
12
|
+
* @param payParams - Payment parameters containing transaction details
|
|
13
|
+
* @returns Object with destination address and payment scenario flags
|
|
14
|
+
*/
|
|
15
|
+
function useStellarDestination(payParams) {
|
|
16
|
+
const hasToStellarAddress = useMemo(() => {
|
|
17
|
+
const address = payParams?.toStellarAddress;
|
|
18
|
+
return Boolean(address && address.trim() !== "");
|
|
19
|
+
}, [payParams?.toStellarAddress]);
|
|
20
|
+
const isPayOutToBase = useMemo(() => {
|
|
21
|
+
return payParams?.toChain === baseUSDC.chainId;
|
|
22
|
+
}, [payParams?.toChain]);
|
|
23
|
+
const isPayInBaseOutStellar = useMemo(() => {
|
|
24
|
+
return payParams?.toChain === baseUSDC.chainId && hasToStellarAddress;
|
|
25
|
+
}, [isPayOutToBase, hasToStellarAddress]);
|
|
26
|
+
const isPayInStellarOutStellar = useMemo(() => {
|
|
27
|
+
return hasToStellarAddress;
|
|
28
|
+
}, [hasToStellarAddress]);
|
|
29
|
+
const isPayInStellarOutBase = useMemo(() => {
|
|
30
|
+
return isPayOutToBase && !hasToStellarAddress;
|
|
31
|
+
}, [isPayOutToBase, hasToStellarAddress]);
|
|
32
|
+
const isStellarPayment = useMemo(() => {
|
|
33
|
+
return ((isPayInStellarOutStellar || isPayInStellarOutBase) &&
|
|
34
|
+
(payParams?.appId ?? "rozoDemo")?.toLowerCase().includes("stellar"));
|
|
35
|
+
}, [isPayInStellarOutStellar, isPayInStellarOutBase]);
|
|
36
|
+
const destinationAddress = useMemo(() => {
|
|
37
|
+
if (isPayInStellarOutStellar) {
|
|
38
|
+
return payParams?.toStellarAddress;
|
|
39
|
+
}
|
|
40
|
+
if (isPayInStellarOutBase) {
|
|
41
|
+
return ROZO_STELLAR_ADDRESS;
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}, [
|
|
45
|
+
isPayInStellarOutStellar,
|
|
46
|
+
isPayInStellarOutBase,
|
|
47
|
+
payParams?.toStellarAddress,
|
|
48
|
+
]);
|
|
49
|
+
return {
|
|
50
|
+
destinationAddress,
|
|
51
|
+
isStellarPayment,
|
|
52
|
+
isPayInStellarOutStellar,
|
|
53
|
+
isPayInStellarOutBase,
|
|
54
|
+
hasToStellarAddress,
|
|
55
|
+
isPayOutToBase,
|
|
56
|
+
isPayInBaseOutStellar,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { useStellarDestination };
|
|
61
|
+
//# sourceMappingURL=useStellarDestination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStellarDestination.js","sources":["../../../src/hooks/useStellarDestination.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAyBA;;;;;;;;;AASG;AACG,SAAU,qBAAqB,CACnC,SAAqB,EAAA;AAErB,IAAA,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAc;AAChD,QAAA,MAAM,OAAO,GAAG,SAAS,EAAE,gBAAgB,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,KAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAElC,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAc;AAC3C,QAAA,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;AACjD,KAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzB,IAAA,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAc;QAClD,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,mBAAmB,CAAC;AACxE,KAAC,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE1C,IAAA,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAc;AACrD,QAAA,OAAO,mBAAmB,CAAC;AAC7B,KAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAE1B,IAAA,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAc;AAClD,QAAA,OAAO,cAAc,IAAI,CAAC,mBAAmB,CAAC;AAChD,KAAC,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE1C,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAc;AAC7C,QAAA,QACE,CAAC,wBAAwB,IAAI,qBAAqB;AAClD,YAAA,CAAC,SAAS,EAAE,KAAK,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EACnE;AACJ,KAAC,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAEtD,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAyB;QAC1D,IAAI,wBAAwB,EAAE;YAC5B,OAAO,SAAS,EAAE,gBAAgB,CAAC;SACpC;QACD,IAAI,qBAAqB,EAAE;AACzB,YAAA,OAAO,oBAAoB,CAAC;SAC7B;AACD,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EAAE;QACD,wBAAwB;QACxB,qBAAqB;AACrB,QAAA,SAAS,EAAE,gBAAgB;AAC5B,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;QACnB,cAAc;QACd,qBAAqB;KACb,CAAC;AACb;;;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useState, useCallback, useEffect } from 'react';
|
|
2
|
-
import { useStellar
|
|
2
|
+
import { useStellar } from '../provider/StellarContextProvider.js';
|
|
3
|
+
import { STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK, STELLAR_USDC_TOKEN_INFO, STELLAR_XLM_TOKEN_INFO } from '../constants/rozoConfig.js';
|
|
3
4
|
|
|
4
5
|
/** Wallet payment options. User picks one. */
|
|
5
|
-
function useStellarPaymentOptions({ address, usdRequired, }) {
|
|
6
|
+
function useStellarPaymentOptions({ address, usdRequired, isDepositFlow, }) {
|
|
6
7
|
const [options, setOptions] = useState(null);
|
|
7
8
|
const [isLoading, setIsLoading] = useState(true);
|
|
8
9
|
const { server, account } = useStellar();
|
|
@@ -71,7 +72,7 @@ function useStellarPaymentOptions({ address, usdRequired, }) {
|
|
|
71
72
|
return createPaymentOption({
|
|
72
73
|
token: xlmTokenInfo,
|
|
73
74
|
balance: amount,
|
|
74
|
-
minimumRequired:
|
|
75
|
+
minimumRequired: 0, // Minimum required for XLM
|
|
75
76
|
fees: 0.00001, // Standard XLM transaction fee
|
|
76
77
|
usdRequired,
|
|
77
78
|
});
|