@rozoai/intent-pay 0.0.15 → 0.0.16-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/assets/chains.d.ts +1 -0
- package/build/components/Common/OrderHeader/index.d.ts +1 -1
- package/build/components/DaimoPayButton/index.d.ts +4 -0
- package/build/components/Pages/Stellar/ConnectStellar/index.d.ts +3 -0
- package/build/components/Pages/Stellar/ConnectorStellar/index.d.ts +4 -0
- package/build/components/Pages/Stellar/PayWithStellarToken/index.d.ts +3 -0
- package/build/components/Pages/Stellar/SelectStellarAmount/index.d.ts +3 -0
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +2 -1
- package/build/components/Spinners/WalletPaymentSpinner/index.d.ts +3 -1
- package/build/constants/routes.d.ts +4 -0
- package/build/constants/rozoConfig.d.ts +43 -0
- package/build/hooks/useDaimoPay.d.ts +23 -1
- package/build/hooks/usePaymentState.d.ts +19 -3
- package/build/hooks/useStellarDestination.d.ts +32 -0
- package/build/hooks/useStellarPaymentOptions.d.ts +10 -0
- package/build/hooks/useTokenOptions.d.ts +1 -1
- package/build/package.json.js +4 -2
- package/build/package.json.js.map +1 -1
- package/build/payment/paymentFsm.d.ts +10 -1
- package/build/provider/DaimoPayProvider.d.ts +1 -0
- package/build/provider/PayContext.d.ts +4 -0
- package/build/provider/StellarContextProvider.d.ts +19 -0
- package/build/src/assets/chains.js +4 -2
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/components/Common/ConnectorList/styles.js +4 -4
- package/build/src/components/Common/Modal/index.js +11 -1
- package/build/src/components/Common/Modal/index.js.map +1 -1
- package/build/src/components/Common/OptionsList/styles.js +4 -4
- package/build/src/components/Common/OrderHeader/index.js +7 -2
- package/build/src/components/Common/OrderHeader/index.js.map +1 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +4 -2
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +1 -0
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/index.js +39 -1
- package/build/src/components/DaimoPayModal/index.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +27 -11
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +3 -0
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +42 -38
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +47 -4
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/ConnectStellar/index.js +80 -0
- package/build/src/components/Pages/Stellar/ConnectStellar/index.js.map +1 -0
- package/build/src/components/Pages/Stellar/ConnectorStellar/index.js +54 -0
- package/build/src/components/Pages/Stellar/ConnectorStellar/index.js.map +1 -0
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +145 -0
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -0
- package/build/src/components/Pages/Stellar/SelectStellarAmount/index.js +17 -0
- package/build/src/components/Pages/Stellar/SelectStellarAmount/index.js.map +1 -0
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +2 -2
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js +5 -5
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
- package/build/src/constants/routes.js +5 -0
- package/build/src/constants/routes.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 +63 -0
- package/build/src/hooks/useDaimoPay.js.map +1 -1
- package/build/src/hooks/useExternalPaymentOptions.js +2 -1
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +121 -7
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +1 -0
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useStellarDestination.js +60 -0
- package/build/src/hooks/useStellarDestination.js.map +1 -0
- package/build/src/hooks/useStellarPaymentOptions.js +146 -0
- package/build/src/hooks/useStellarPaymentOptions.js.map +1 -0
- package/build/src/hooks/useTokenOptions.js +40 -1
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/payment/paymentEffects.js +57 -8
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js +2 -0
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/provider/DaimoPayProvider.js +5 -1
- package/build/src/provider/DaimoPayProvider.js.map +1 -1
- package/build/src/provider/PayContext.js.map +1 -1
- package/build/src/provider/StellarContextProvider.js +93 -0
- package/build/src/provider/StellarContextProvider.js.map +1 -0
- package/build/src/utils/api/base.js +117 -0
- package/build/src/utils/api/base.js.map +1 -0
- package/build/src/utils/api/payment.js +31 -0
- package/build/src/utils/api/payment.js.map +1 -0
- package/build/src/utils/supportUrl.js +16 -0
- package/build/src/utils/supportUrl.js.map +1 -0
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/utils/api/base.d.ts +76 -0
- package/build/utils/api/index.d.ts +5 -0
- package/build/utils/api/payment.d.ts +141 -0
- package/build/wallets/walletConfigs.d.ts +1 -0
- package/package.json +4 -2
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { RozoPayOrderStatusSource } from '@rozoai/intent-common';
|
|
1
2
|
import { useContext, useSyncExternalStore, useMemo, useCallback } from 'react';
|
|
2
3
|
import { waitForPaymentState } from '../payment/paymentStore.js';
|
|
3
4
|
import { PaymentContext } from '../provider/PaymentProvider.js';
|
|
4
5
|
|
|
6
|
+
// hooks/useRozoPay.ts
|
|
5
7
|
/**
|
|
6
8
|
* React hook for interacting with Rozo Pay orders and payments. Use this hook
|
|
7
9
|
* to manage the lifecycle of a Rozo Pay payment in your application.
|
|
@@ -70,8 +72,67 @@ function useRozoPay() {
|
|
|
70
72
|
const paidState = await waitForPaymentState(store, "payment_started", "payment_completed", "payment_bounced");
|
|
71
73
|
return paidState;
|
|
72
74
|
}, [dispatch, store]);
|
|
75
|
+
const payStellarSource = useCallback(async (args) => {
|
|
76
|
+
// Get the current order from the state
|
|
77
|
+
const currentState = store.getState();
|
|
78
|
+
if (currentState.type === "idle" || !currentState.order) {
|
|
79
|
+
throw new Error("Cannot complete Stellar payment: No active order");
|
|
80
|
+
}
|
|
81
|
+
// First dispatch the pay_stellar_source event to record the payment attempt
|
|
82
|
+
dispatch({ type: "pay_stellar_source", ...args });
|
|
83
|
+
// Then immediately mark the payment as completed by updating the order
|
|
84
|
+
// with the transaction hash and setting the state to completed
|
|
85
|
+
const hydratedOrder = currentState.order;
|
|
86
|
+
// Update the order with the transaction hash
|
|
87
|
+
const updatedOrder = {
|
|
88
|
+
...hydratedOrder,
|
|
89
|
+
sourceStartTxHash: args.paymentTxHash,
|
|
90
|
+
// Set source status to completed
|
|
91
|
+
sourceStatus: RozoPayOrderStatusSource.PROCESSED
|
|
92
|
+
};
|
|
93
|
+
// Directly dispatch a payment_verified event to set the state to completed
|
|
94
|
+
dispatch({
|
|
95
|
+
type: "payment_verified",
|
|
96
|
+
order: updatedOrder
|
|
97
|
+
});
|
|
98
|
+
// Wait for the state to change to payment_completed
|
|
99
|
+
const paidState = await waitForPaymentState(store, "payment_completed");
|
|
100
|
+
return paidState;
|
|
101
|
+
}, [dispatch, store]);
|
|
73
102
|
const reset = useCallback(() => dispatch({ type: "reset" }), [dispatch]);
|
|
74
103
|
const setChosenUsd = useCallback((usd) => dispatch({ type: "set_chosen_usd", usd }), [dispatch]);
|
|
104
|
+
const setPaymentCompleted = useCallback(async (txHash) => {
|
|
105
|
+
// Get the current order from the state
|
|
106
|
+
const currentState = store.getState();
|
|
107
|
+
if (currentState.type === "idle" || !currentState.order) {
|
|
108
|
+
throw new Error("Cannot complete payment: No active order");
|
|
109
|
+
}
|
|
110
|
+
// Check if the order is already hydrated
|
|
111
|
+
if (currentState.type !== "payment_unpaid" &&
|
|
112
|
+
currentState.type !== "payment_started" &&
|
|
113
|
+
currentState.type !== "unhydrated") {
|
|
114
|
+
throw new Error(`Cannot complete payment: Invalid state ${currentState.type}`);
|
|
115
|
+
}
|
|
116
|
+
// For TypeScript safety, we need to ensure the order is treated as hydrated
|
|
117
|
+
// This is safe because the payment_verified handler will validate the order
|
|
118
|
+
const hydratedOrder = currentState.order;
|
|
119
|
+
// Since we can't directly add txHash to the metadata (it's not in the schema),
|
|
120
|
+
// we'll just use the existing order and let the payment state machine
|
|
121
|
+
// handle the transition to completed state
|
|
122
|
+
// Store the transaction hash in sourceStartTxHash if possible
|
|
123
|
+
const updatedOrder = {
|
|
124
|
+
...hydratedOrder,
|
|
125
|
+
sourceStartTxHash: txHash, // Cast to Hex as required by the type
|
|
126
|
+
};
|
|
127
|
+
// Directly dispatch a payment_verified event to set the state to completed
|
|
128
|
+
dispatch({
|
|
129
|
+
type: "payment_verified",
|
|
130
|
+
order: updatedOrder
|
|
131
|
+
});
|
|
132
|
+
// Wait for the state to change to payment_completed
|
|
133
|
+
const completedState = await waitForPaymentState(store, "payment_completed");
|
|
134
|
+
return completedState;
|
|
135
|
+
}, [dispatch, store]);
|
|
75
136
|
return {
|
|
76
137
|
order,
|
|
77
138
|
paymentState,
|
|
@@ -82,6 +143,8 @@ function useRozoPay() {
|
|
|
82
143
|
paySource,
|
|
83
144
|
payEthSource,
|
|
84
145
|
paySolanaSource,
|
|
146
|
+
payStellarSource,
|
|
147
|
+
setPaymentCompleted,
|
|
85
148
|
reset,
|
|
86
149
|
setChosenUsd,
|
|
87
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaimoPay.js","sources":["../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDaimoPay.js","sources":["../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ const DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(ExternalPaymentOptions).f
|
|
|
5
5
|
// Solana and ExternalChains are handled in the SelectMethod component.
|
|
6
6
|
opt !== ExternalPaymentOptions.Solana &&
|
|
7
7
|
opt !== ExternalPaymentOptions.ExternalChains &&
|
|
8
|
-
opt !== ExternalPaymentOptions.Rozo
|
|
8
|
+
opt !== ExternalPaymentOptions.Rozo &&
|
|
9
|
+
opt !== ExternalPaymentOptions.Stellar);
|
|
9
10
|
function useExternalPaymentOptions({ trpc, filterIds, platform, usdRequired, mode, }) {
|
|
10
11
|
const [options, setOptions] = useState(new Map());
|
|
11
12
|
const [loading, setLoading] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExternalPaymentOptions.js","sources":["../../../src/hooks/useExternalPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CACpD,sBAAsB,CACvB,CAAC,MAAM,CACN,CAAC,GAAG;AACF;AACA,GAAG,KAAK,sBAAsB,CAAC,MAAM;IACrC,GAAG,KAAK,sBAAsB,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"useExternalPaymentOptions.js","sources":["../../../src/hooks/useExternalPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CACpD,sBAAsB,CACvB,CAAC,MAAM,CACN,CAAC,GAAG;AACF;AACA,GAAG,KAAK,sBAAsB,CAAC,MAAM;IACrC,GAAG,KAAK,sBAAsB,CAAC,cAAc;IAC7C,GAAG,KAAK,sBAAsB,CAAC,IAAI;AACnC,IAAA,GAAG,KAAK,sBAAsB,CAAC,OAAO,CACzC,CAAC;AAEc,SAAA,yBAAyB,CAAC,EACxC,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,IAAI,GAOL,EAAA;AAQC,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAEpC,IAAI,GAAG,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,MAAK;QACb,MAAM,6BAA6B,GAAG,OACpC,GAAW,EACX,IAAsB,KACpB;AACF,YAAA,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,UAAU,CAAC,IAAI,CAAC,CAAC;AACjB,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;oBAC5D,QAAQ;oBACR,IAAI;AACJ,oBAAA,WAAW,EAAE,GAAG;AACjB,iBAAA,CAAC,CAAC;;AAGH,gBAAA,MAAM,wBAAwB,GAC5B,SAAS,IAAI,gCAAgC,CAAC;gBAEhD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CACzD,sBAAsB,CAAC,cAAc,CACtC,CAAC;gBACF,MAAM,eAAe,GAAG,wBAAwB,CAAC,QAAQ,CACvD,sBAAsB,CAAC,YAAY,CACpC,CAAC;AAEF,gBAAA,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACvC,CAAC,MAAqC,KACpC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5C,qBAAC,iBAAiB,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC;qBACnD,eAAe,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CACxD,CAAC;AACF,gBAAA,MAAM,aAAa,GAGf,IAAI,GAAG,EAAE,CAAC;AACd,gBAAA,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACjC,oBAAA,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;oBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAClC,wBAAA,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;qBACnC;oBACD,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,iBAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,aAAa,CAAC,CAAC;aAC3B;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;oBAAS;gBACR,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;AACH,SAAC,CAAC;QAEF,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AACvC,YAAA,6BAA6B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAClD;;;;;;AAMH,KAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEnE,IAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ethereum, ExternalPaymentOptions, isCCTPV1Chain, getOrderDestChainId, readRozoPayOrderID, assert, debugJson, assertNotNull, writeRozoPayOrderID } from '@rozoai/intent-common';
|
|
2
2
|
import { useWallet, useConnection } from '@solana/wallet-adapter-react';
|
|
3
3
|
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
|
-
import { useState, useEffect, useCallback } from 'react';
|
|
4
|
+
import { useState, useEffect, useMemo, useCallback } from 'react';
|
|
5
5
|
import { zeroAddress, erc20Abi, getAddress, hexToBytes } from 'viem';
|
|
6
6
|
import { useAccount, useEnsName, useSendTransaction, useWriteContract } from 'wagmi';
|
|
7
7
|
import { ROUTES } from '../constants/routes.js';
|
|
@@ -12,7 +12,13 @@ import { useExternalPaymentOptions } from './useExternalPaymentOptions.js';
|
|
|
12
12
|
import useIsMobile from './useIsMobile.js';
|
|
13
13
|
import { useOrderUsdLimits } from './useOrderUsdLimits.js';
|
|
14
14
|
import { useSolanaPaymentOptions } from './useSolanaPaymentOptions.js';
|
|
15
|
+
import { useStellarPaymentOptions } from './useStellarPaymentOptions.js';
|
|
15
16
|
import { useWalletPaymentOptions } from './useWalletPaymentOptions.js';
|
|
17
|
+
import { useStellarDestination } from './useStellarDestination.js';
|
|
18
|
+
import { useStellar } from '../provider/StellarContextProvider.js';
|
|
19
|
+
import { ALBEDO_ID } from '@creit.tech/stellar-wallets-kit';
|
|
20
|
+
import { Asset, TransactionBuilder, Networks, Operation } from '@stellar/stellar-sdk';
|
|
21
|
+
import { STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK } from '../constants/rozoConfig.js';
|
|
16
22
|
|
|
17
23
|
function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl, }) {
|
|
18
24
|
const pay = useRozoPay();
|
|
@@ -33,19 +39,32 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
33
39
|
const solanaWallet = useWallet();
|
|
34
40
|
const { connection } = useConnection();
|
|
35
41
|
const solanaPubKey = solanaWallet.publicKey?.toBase58();
|
|
42
|
+
// Stellar wallet state.
|
|
43
|
+
const { publicKey: stellarPublicKey, account: stellarAccount, kit: stellarKit, connector: stellarConnector, server: stellarServer, convertXlmToUsdc, } = useStellar();
|
|
44
|
+
const stellarPubKey = stellarPublicKey;
|
|
36
45
|
// TODO: backend should determine whether to show solana payment method
|
|
37
46
|
const paymentOptions = pay.order?.metadata.payer?.paymentOptions;
|
|
38
47
|
// Include by default if paymentOptions not provided. Solana bridging is only
|
|
39
48
|
// supported on CCTP v1 chains.
|
|
40
|
-
const showSolanaPaymentMethod = (
|
|
41
|
-
paymentOptions
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
const showSolanaPaymentMethod = useMemo(() => {
|
|
50
|
+
return ((paymentOptions == null ||
|
|
51
|
+
paymentOptions.includes(ExternalPaymentOptions.Solana)) &&
|
|
52
|
+
pay.order != null &&
|
|
53
|
+
isCCTPV1Chain(getOrderDestChainId(pay.order)));
|
|
54
|
+
}, [paymentOptions, pay.order]);
|
|
44
55
|
// From RozoPayButton props
|
|
45
56
|
const [buttonProps, setButtonProps] = useState();
|
|
46
57
|
const [currPayParams, setCurrPayParams] = useState();
|
|
47
58
|
const [paymentWaitingMessage, setPaymentWaitingMessage] = useState();
|
|
48
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);
|
|
62
|
+
const showStellarPaymentMethod = useMemo(() => {
|
|
63
|
+
return ((paymentOptions == null ||
|
|
64
|
+
paymentOptions.includes(ExternalPaymentOptions.Stellar)) &&
|
|
65
|
+
pay.order != null &&
|
|
66
|
+
isStellarPayment);
|
|
67
|
+
}, [paymentOptions, pay.order, isStellarPayment]);
|
|
49
68
|
// UI state. Selection for external payment (Binance, etc) vs wallet payment.
|
|
50
69
|
const externalPaymentOptions = useExternalPaymentOptions({
|
|
51
70
|
trpc,
|
|
@@ -72,6 +91,11 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
72
91
|
usdRequired: pay.order?.destFinalCallTokenAmount.usd,
|
|
73
92
|
isDepositFlow,
|
|
74
93
|
});
|
|
94
|
+
const stellarPaymentOptions = useStellarPaymentOptions({
|
|
95
|
+
address: stellarPubKey,
|
|
96
|
+
usdRequired: pay.order?.destFinalCallTokenAmount.usd,
|
|
97
|
+
isDepositFlow,
|
|
98
|
+
});
|
|
75
99
|
const depositAddressOptions = useDepositAddressOptions({
|
|
76
100
|
trpc,
|
|
77
101
|
usdRequired: pay.order?.destFinalCallTokenAmount.usd,
|
|
@@ -81,6 +105,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
81
105
|
const [selectedExternalOption, setSelectedExternalOption] = useState();
|
|
82
106
|
const [selectedTokenOption, setSelectedTokenOption] = useState();
|
|
83
107
|
const [selectedSolanaTokenOption, setSelectedSolanaTokenOption] = useState();
|
|
108
|
+
const [selectedStellarTokenOption, setSelectedStellarTokenOption] = useState();
|
|
84
109
|
const [selectedDepositAddressOption, setSelectedDepositAddressOption] = useState();
|
|
85
110
|
const [selectedWallet, setSelectedWallet] = useState();
|
|
86
111
|
const [selectedWalletDeepLink, setSelectedWalletDeepLink] = useState();
|
|
@@ -117,7 +142,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
117
142
|
try {
|
|
118
143
|
if (required.token.token === zeroAddress) {
|
|
119
144
|
return await sendTransactionAsync({
|
|
120
|
-
to: hydratedOrder.intentAddr,
|
|
145
|
+
to: hydratedOrder.intentAddr, // TODO: Change this to middleware address from API, if it's ready
|
|
121
146
|
value: paymentAmount,
|
|
122
147
|
});
|
|
123
148
|
}
|
|
@@ -126,7 +151,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
126
151
|
abi: erc20Abi,
|
|
127
152
|
address: getAddress(required.token.token),
|
|
128
153
|
functionName: "transfer",
|
|
129
|
-
args: [hydratedOrder.intentAddr, paymentAmount],
|
|
154
|
+
args: [hydratedOrder.intentAddr, paymentAmount], // TODO: Change this to middleware address from API, if it's ready
|
|
130
155
|
});
|
|
131
156
|
}
|
|
132
157
|
}
|
|
@@ -194,6 +219,85 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
194
219
|
return { txHash: paymentTxHash, success: false };
|
|
195
220
|
}
|
|
196
221
|
};
|
|
222
|
+
// Stellar payment
|
|
223
|
+
/**
|
|
224
|
+
* Execute a payment using Stellar token
|
|
225
|
+
* @param payToken - The token amount to pay
|
|
226
|
+
* @returns Transaction hash and success status
|
|
227
|
+
*/
|
|
228
|
+
const payWithStellarToken = async (payToken, rozoPayment) => {
|
|
229
|
+
try {
|
|
230
|
+
// Initial validation
|
|
231
|
+
if (!stellarPublicKey) {
|
|
232
|
+
throw new Error("Stellar Public key is null");
|
|
233
|
+
}
|
|
234
|
+
if (!stellarAccount) {
|
|
235
|
+
throw new Error("Stellar Account is null");
|
|
236
|
+
}
|
|
237
|
+
if (!stellarServer || !stellarKit) {
|
|
238
|
+
throw new Error("Stellar services not initialized");
|
|
239
|
+
}
|
|
240
|
+
const token = payToken.token;
|
|
241
|
+
const destinationAddress = rozoPayment.destAddress;
|
|
242
|
+
// const amount = rozoPayment.amount;
|
|
243
|
+
// Setup Stellar payment
|
|
244
|
+
await stellarKit.setWallet(String(stellarConnector?.id ?? ALBEDO_ID));
|
|
245
|
+
const sourceAccount = await stellarServer.loadAccount(stellarPublicKey);
|
|
246
|
+
const destAsset = new Asset(STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK);
|
|
247
|
+
const fee = String(await stellarServer.fetchBaseFee());
|
|
248
|
+
// Build transaction based on token type
|
|
249
|
+
let transaction;
|
|
250
|
+
const isXlmToken = token.symbol === "XLM";
|
|
251
|
+
if (isXlmToken) {
|
|
252
|
+
// const estimatedDestMinAmount = await convertXlmToUsdc(amount);
|
|
253
|
+
transaction = new TransactionBuilder(sourceAccount, {
|
|
254
|
+
fee,
|
|
255
|
+
networkPassphrase: Networks.PUBLIC,
|
|
256
|
+
})
|
|
257
|
+
.addOperation(Operation.pathPaymentStrictSend({
|
|
258
|
+
sendAsset: Asset.native(),
|
|
259
|
+
sendAmount: String(rozoPayment.stellarAmount),
|
|
260
|
+
destination: destinationAddress,
|
|
261
|
+
destAsset,
|
|
262
|
+
destMin: rozoPayment.usdcAmount,
|
|
263
|
+
path: [],
|
|
264
|
+
}))
|
|
265
|
+
.setTimeout(180)
|
|
266
|
+
.build();
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
// For other tokens, use direct payment
|
|
270
|
+
transaction = new TransactionBuilder(sourceAccount, {
|
|
271
|
+
fee,
|
|
272
|
+
networkPassphrase: Networks.PUBLIC,
|
|
273
|
+
})
|
|
274
|
+
.addOperation(Operation.payment({
|
|
275
|
+
destination: destinationAddress,
|
|
276
|
+
asset: destAsset,
|
|
277
|
+
amount: String(rozoPayment.usdcAmount),
|
|
278
|
+
}))
|
|
279
|
+
.setTimeout(180)
|
|
280
|
+
.build();
|
|
281
|
+
}
|
|
282
|
+
// Sign and submit transaction
|
|
283
|
+
const signedTx = await stellarKit.signTransaction(transaction.toXDR(), {
|
|
284
|
+
address: stellarPublicKey,
|
|
285
|
+
networkPassphrase: Networks.PUBLIC,
|
|
286
|
+
});
|
|
287
|
+
if (!signedTx?.signedTxXdr) {
|
|
288
|
+
throw new Error("Failed to sign transaction");
|
|
289
|
+
}
|
|
290
|
+
const tx = TransactionBuilder.fromXDR(signedTx.signedTxXdr, Networks.PUBLIC);
|
|
291
|
+
const submittedTx = await stellarServer.submitTransaction(tx);
|
|
292
|
+
if (!submittedTx?.successful) {
|
|
293
|
+
throw new Error(`Transaction failed: ${submittedTx?.result_xdr ?? "Unknown error"}`);
|
|
294
|
+
}
|
|
295
|
+
return { txHash: submittedTx?.hash ?? "", success: true };
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
throw new Error(error.message);
|
|
299
|
+
}
|
|
300
|
+
};
|
|
197
301
|
const payWithExternal = async (option) => {
|
|
198
302
|
assert(pay.order != null, "[PAY EXTERNAL] order cannot be null");
|
|
199
303
|
assert(platform != null, "[PAY EXTERNAL] platform cannot be null");
|
|
@@ -282,6 +386,7 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
282
386
|
setSelectedExternalOption(undefined);
|
|
283
387
|
setSelectedTokenOption(undefined);
|
|
284
388
|
setSelectedSolanaTokenOption(undefined);
|
|
389
|
+
setSelectedStellarTokenOption(undefined);
|
|
285
390
|
setSelectedDepositAddressOption(undefined);
|
|
286
391
|
setSelectedWallet(undefined);
|
|
287
392
|
setSelectedWalletDeepLink(undefined);
|
|
@@ -295,11 +400,13 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
295
400
|
setRoute(ROUTES.SELECT_METHOD);
|
|
296
401
|
}, [setRoute, pay, currPayParams]);
|
|
297
402
|
const [tokenMode, setTokenMode] = useState("evm");
|
|
403
|
+
const [txHash, setTxHash] = useState(undefined);
|
|
298
404
|
return {
|
|
299
405
|
buttonProps,
|
|
300
406
|
setButtonProps,
|
|
301
407
|
setPayId,
|
|
302
408
|
setPayParams,
|
|
409
|
+
payParams: currPayParams,
|
|
303
410
|
tokenMode,
|
|
304
411
|
setTokenMode,
|
|
305
412
|
generatePreviewOrder,
|
|
@@ -308,12 +415,15 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
308
415
|
selectedExternalOption,
|
|
309
416
|
selectedTokenOption,
|
|
310
417
|
selectedSolanaTokenOption,
|
|
418
|
+
selectedStellarTokenOption,
|
|
311
419
|
externalPaymentOptions,
|
|
312
420
|
showSolanaPaymentMethod,
|
|
421
|
+
showStellarPaymentMethod,
|
|
313
422
|
selectedWallet,
|
|
314
423
|
selectedWalletDeepLink,
|
|
315
424
|
walletPaymentOptions,
|
|
316
425
|
solanaPaymentOptions,
|
|
426
|
+
stellarPaymentOptions,
|
|
317
427
|
depositAddressOptions,
|
|
318
428
|
selectedDepositAddressOption,
|
|
319
429
|
getOrderUsdLimit,
|
|
@@ -324,14 +434,18 @@ function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl
|
|
|
324
434
|
setSelectedExternalOption,
|
|
325
435
|
setSelectedTokenOption,
|
|
326
436
|
setSelectedSolanaTokenOption,
|
|
437
|
+
setSelectedStellarTokenOption,
|
|
327
438
|
setSelectedDepositAddressOption,
|
|
328
439
|
setChosenUsd,
|
|
329
440
|
payWithToken,
|
|
330
441
|
payWithExternal,
|
|
331
442
|
payWithDepositAddress,
|
|
332
443
|
payWithSolanaToken,
|
|
444
|
+
payWithStellarToken,
|
|
333
445
|
openInWalletBrowser,
|
|
334
446
|
senderEnsName: senderEnsName ?? undefined,
|
|
447
|
+
txHash,
|
|
448
|
+
setTxHash,
|
|
335
449
|
};
|
|
336
450
|
}
|
|
337
451
|
|
|
@@ -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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"}
|
|
@@ -16,6 +16,7 @@ function useSolanaPaymentOptions({ trpc, address, usdRequired, isDepositFlow, })
|
|
|
16
16
|
// API expects undefined for deposit flow.
|
|
17
17
|
usdRequired: isDepositFlow ? undefined : usdRequired,
|
|
18
18
|
});
|
|
19
|
+
console.log("newOptions", JSON.stringify(newOptions));
|
|
19
20
|
setOptions(newOptions);
|
|
20
21
|
}
|
|
21
22
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSolanaPaymentOptions.js","sources":["../../../src/hooks/useSolanaPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AACM,SAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,aAAa,GAMd,EAAA;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,2BAA2B,GAAG,YAAW;AAC7C,YAAA,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;gBAAE,OAAO;YAEnD,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC1D,oBAAA,MAAM,EAAE,OAAO;;oBAEf,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW;AACrD,iBAAA,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useSolanaPaymentOptions.js","sources":["../../../src/hooks/useSolanaPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AACM,SAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,aAAa,GAMd,EAAA;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,2BAA2B,GAAG,YAAW;AAC7C,YAAA,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;gBAAE,OAAO;YAEnD,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC1D,oBAAA,MAAM,EAAE,OAAO;;oBAEf,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW;AACrD,iBAAA,CAAC,CAAC;AACH,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtD,UAAU,CAAC,UAAU,CAAC,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;oBAAS;gBACR,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;AACH,SAAC,CAAC;QAEF,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;AAC1C,YAAA,2BAA2B,EAAE,CAAC;SAC/B;KACF,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
}, [isPayInStellarOutStellar, isPayInStellarOutBase]);
|
|
35
|
+
const destinationAddress = useMemo(() => {
|
|
36
|
+
if (isPayInStellarOutStellar && payParams?.toStellarAddress) {
|
|
37
|
+
return payParams.toStellarAddress;
|
|
38
|
+
}
|
|
39
|
+
if (isPayInStellarOutBase) {
|
|
40
|
+
return ROZO_STELLAR_ADDRESS;
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}, [
|
|
44
|
+
isPayInStellarOutStellar,
|
|
45
|
+
isPayInStellarOutBase,
|
|
46
|
+
payParams?.toStellarAddress,
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
destinationAddress,
|
|
50
|
+
isStellarPayment,
|
|
51
|
+
isPayInStellarOutStellar,
|
|
52
|
+
isPayInStellarOutBase,
|
|
53
|
+
hasToStellarAddress,
|
|
54
|
+
isPayOutToBase,
|
|
55
|
+
isPayInBaseOutStellar,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export { useStellarDestination };
|
|
60
|
+
//# 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;QAC7C,OAAO,wBAAwB,IAAI,qBAAqB,CAAC;AAC3D,KAAC,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAEtD,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAyB;AAC1D,QAAA,IAAI,wBAAwB,IAAI,SAAS,EAAE,gBAAgB,EAAE;YAC3D,OAAO,SAAS,CAAC,gBAAgB,CAAC;SACnC;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;;;;"}
|