@rozoai/intent-pay 0.0.18-beta.4 → 0.0.18-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/build/components/Pages/Solana/ConnectStellar/index.d.ts +3 -0
  2. package/build/constants/rozoConfig.d.ts +2 -0
  3. package/build/hooks/usePaymentState.d.ts +13 -2
  4. package/build/hooks/useSolanaDestination.d.ts +32 -0
  5. package/build/package.json.js +3 -2
  6. package/build/package.json.js.map +1 -1
  7. package/build/payment/paymentFsm.d.ts +3 -1
  8. package/build/src/components/DaimoPayModal/index.js +1 -1
  9. package/build/src/components/Pages/Confirmation/index.js +6 -5
  10. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  11. package/build/src/components/Pages/Solana/ConnectStellar/index.js +80 -0
  12. package/build/src/components/Pages/Solana/ConnectStellar/index.js.map +1 -0
  13. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +121 -11
  14. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  15. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +14 -10
  16. package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
  17. package/build/src/constants/rozoConfig.js +9 -6
  18. package/build/src/constants/rozoConfig.js.map +1 -1
  19. package/build/src/hooks/usePaymentState.js +87 -9
  20. package/build/src/hooks/usePaymentState.js.map +1 -1
  21. package/build/src/hooks/useSolanaDestination.js +61 -0
  22. package/build/src/hooks/useSolanaDestination.js.map +1 -0
  23. package/build/src/payment/paymentEffects.js +55 -106
  24. package/build/src/payment/paymentEffects.js.map +1 -1
  25. package/build/src/payment/paymentFsm.js.map +1 -1
  26. package/build/src/utils/api/payment.js.map +1 -1
  27. package/build/utils/api/payment.d.ts +0 -1
  28. package/package.json +3 -2
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const ConnectSolana: React.FC;
3
+ export default ConnectSolana;
@@ -11,6 +11,8 @@ export declare const DEFAULT_STELLAR_RPC_URL = "https://horizon.stellar.org";
11
11
  export declare const STELLAR_NATIVE_ASSET: Asset;
12
12
  export declare const STELLAR_USDC_ASSET_CODE = "USDC";
13
13
  export declare const STELLAR_USDC_ISSUER_PK = "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
14
+ export declare const SOLANA_USDC_ASSET_CODE = "USDC";
15
+ export declare const ROZO_SOLANA_USDC_MINT_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
14
16
  export declare const STELLAR_XLM_TOKEN_INFO: {
15
17
  chainId: number;
16
18
  token: string;
@@ -1,4 +1,4 @@
1
- import { DepositAddressPaymentOptionData, DepositAddressPaymentOptionMetadata, DepositAddressPaymentOptions, ExternalPaymentOptionMetadata, ExternalPaymentOptions, RozoPayTokenAmount, SolanaPublicKey, WalletPaymentOption } from "@rozoai/intent-common";
1
+ import { DepositAddressPaymentOptionData, DepositAddressPaymentOptionMetadata, DepositAddressPaymentOptions, ExternalPaymentOptionMetadata, ExternalPaymentOptions, RozoPayTokenAmount, WalletPaymentOption } from "@rozoai/intent-common";
2
2
  import { Hex } from "viem";
3
3
  import { PayButtonPaymentProps } from "../components/DaimoPayButton";
4
4
  import { ROUTES } from "../constants/routes";
@@ -55,7 +55,17 @@ export interface PaymentState {
55
55
  }>;
56
56
  payWithExternal: (option: ExternalPaymentOptions) => Promise<string>;
57
57
  payWithDepositAddress: (option: DepositAddressPaymentOptions) => Promise<DepositAddressPaymentOptionData | null>;
58
- payWithSolanaToken: (inputToken: SolanaPublicKey, walletPaymentOption?: WalletPaymentOption) => Promise<{
58
+ payWithSolanaToken: (walletPaymentOption: WalletPaymentOption) => Promise<{
59
+ txHash: string;
60
+ success: boolean;
61
+ }>;
62
+ payWithSolanaTokenRozo: (walletPaymentOption: WalletPaymentOption, rozoPayment: {
63
+ tokenAddress: string;
64
+ destAddress: string;
65
+ usdcAmount: string;
66
+ solanaAmount: string;
67
+ memo?: string;
68
+ }) => Promise<{
59
69
  txHash: string;
60
70
  success: boolean;
61
71
  }>;
@@ -63,6 +73,7 @@ export interface PaymentState {
63
73
  destAddress: string;
64
74
  usdcAmount: string;
65
75
  stellarAmount: string;
76
+ memo?: string;
66
77
  }) => Promise<{
67
78
  txHash: string;
68
79
  success: boolean;
@@ -0,0 +1,32 @@
1
+ import { PayParams } from "../payment/paymentFsm";
2
+ /**
3
+ * Return type for the useSolanaDestination hook
4
+ */
5
+ interface SolanaDestinationResult {
6
+ /** The middleware address to use for the transaction */
7
+ readonly destinationAddress: string | undefined;
8
+ /** Whether this is a Solana payment (Pay In Solana scenarios) */
9
+ readonly isSolanaPayment: boolean;
10
+ /** Pay In Solana, Pay out Solana scenario */
11
+ readonly isPayInSolanaOutSolana: boolean;
12
+ /** Pay In Solana, Pay Out Base scenario */
13
+ readonly isPayInSolanaOutBase: boolean;
14
+ /** Whether toSolanaAddress is provided and not empty */
15
+ readonly hasToSolanaAddress: boolean;
16
+ /** Whether the payout destination is Base USDC */
17
+ readonly isPayOutToBase: boolean;
18
+ /** Pay In Base, Pay Out Solana scenario */
19
+ readonly isPayInBaseOutSolana: boolean;
20
+ }
21
+ /**
22
+ * Hook to determine the correct destination address for Solana transactions.
23
+ *
24
+ * Handles Pay In Solana scenarios:
25
+ * 1. Pay In Solana, Pay out Solana - use toSolanaAddress
26
+ * 2. Pay In Solana, Pay Out Base - use ROZO_STELLAR_ADDRESS (when toChain is Base and toSolanaAddress is empty)
27
+ *
28
+ * @param payParams - Payment parameters containing transaction details
29
+ * @returns Object with destination address and payment scenario flags
30
+ */
31
+ export declare function useSolanaDestination(payParams?: PayParams): SolanaDestinationResult;
32
+ export {};
@@ -1,5 +1,5 @@
1
1
  var name = "@rozoai/intent-pay";
2
- var version = "0.0.18-beta.4";
2
+ var version = "0.0.18-beta.6";
3
3
  var author = "RozoAI";
4
4
  var homepage = "https://github.com/RozoAI/intent-pay";
5
5
  var license = "BSD-2-Clause";
@@ -48,11 +48,12 @@ var keywords = [
48
48
  var dependencies = {
49
49
  "@creit.tech/stellar-wallets-kit": "^1.7.6",
50
50
  "@rollup/plugin-typescript": "^12.1.2",
51
+ "@rozoai/intent-common": "0.0.18-beta.3",
52
+ "@solana/spl-token": "^0.4.13",
51
53
  "@solana/wallet-adapter-base": "^0.9.23",
52
54
  "@solana/wallet-adapter-react": "^0.15.35",
53
55
  "@solana/web3.js": "^1.95.4",
54
56
  "@stellar/stellar-sdk": "^13.3.0",
55
- "@rozoai/intent-common": "0.0.17",
56
57
  "@trpc/client": "^11.0.0-next-beta.318",
57
58
  "@trpc/server": "^11.0.0-next-beta.318",
58
59
  buffer: "^6.0.3",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { RozoPayHydratedOrderWithOrg, RozoPayOrder, RozoPayOrderID, RozoPayOrderWithOrg, RozoPayUserMetadata, ExternalPaymentOptionsString, SolanaPublicKey, StellarPublicKey, WalletPaymentOption } from "@rozoai/intent-common";
1
+ import { ExternalPaymentOptionsString, RozoPayHydratedOrderWithOrg, RozoPayOrder, RozoPayOrderID, RozoPayOrderWithOrg, RozoPayUserMetadata, SolanaPublicKey, StellarPublicKey, WalletPaymentOption } from "@rozoai/intent-common";
2
2
  import { Address, Hex } from "viem";
3
3
  /** Payment parameters. The payment is created only after user taps pay. */
4
4
  export interface PayParams {
@@ -17,6 +17,8 @@ export interface PayParams {
17
17
  toAddress: Address;
18
18
  /** The final stellar address to transfer to. */
19
19
  toStellarAddress?: string;
20
+ /** The final solana address to transfer to. */
21
+ toSolanaAddress?: string;
20
22
  /** Calldata for final call, or empty data for transfer. */
21
23
  toCallData?: Hex;
22
24
  /** The intent verb, such as Pay, Deposit, or Purchase. Default: Pay */
@@ -8,6 +8,7 @@ import { useChainIsSupported } from '../../hooks/useChainIsSupported.js';
8
8
  import { useRozoPay } from '../../hooks/useDaimoPay.js';
9
9
  import useIsMobile from '../../hooks/useIsMobile.js';
10
10
  import { usePayContext } from '../../hooks/usePayContext.js';
11
+ import { useStellar } from '../../provider/StellarContextProvider.js';
11
12
  import Modal from '../Common/Modal/index.js';
12
13
  import { RozoPayThemeProvider } from '../DaimoPayThemeProvider/DaimoPayThemeProvider.js';
13
14
  import About from '../Pages/About/index.js';
@@ -40,7 +41,6 @@ import WaitingDepositAddress from '../Pages/WaitingDepositAddress/index.js';
40
41
  import WaitingExternal from '../Pages/WaitingExternal/index.js';
41
42
  import WaitingWallet from '../Pages/WaitingWallet/index.js';
42
43
  import ConnectUsing from './ConnectUsing.js';
43
- import { useStellar } from '../../provider/StellarContextProvider.js';
44
44
 
45
45
  const RozoPayModal = ({ mode, theme, customTheme, lang, disableMobileInjector, }) => {
46
46
  const context = usePayContext();
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useState, useMemo, useEffect } from 'react';
3
3
  import { usePayContext } from '../../../hooks/usePayContext.js';
4
4
  import { PageContent, ModalContent, ModalH1, Link, ModalBody } from '../../Common/Modal/styles.js';
5
- import { getChainExplorerTxUrl, stellar, getOrderDestChainId, assert } from '@rozoai/intent-common';
5
+ import { getChainExplorerTxUrl, stellar, rozoSolana, getOrderDestChainId, assert } from '@rozoai/intent-common';
6
6
  import { motion } from 'framer-motion';
7
7
  import { TickIcon, LoadingCircleIcon } from '../../../assets/icons.js';
8
8
  import { useRozoPay } from '../../../hooks/useDaimoPay.js';
@@ -15,7 +15,8 @@ const Confirmation = () => {
15
15
  const [isConfirming, setIsConfirming] = useState(true);
16
16
  const { done, txURL } = useMemo(() => {
17
17
  const { tokenMode, txHash, rozoPaymentId } = paymentStateContext;
18
- if (tokenMode === "stellar" && txHash) {
18
+ console.log("[CONFIRMATION] tokenMode", { tokenMode, txHash, rozoPaymentId, paymentState, order, paymentStateContext, isConfirming });
19
+ if ((tokenMode === "stellar" || tokenMode === "solana") && txHash) {
19
20
  // Add delay before setting payment completed to show confirming state
20
21
  if (isConfirming) {
21
22
  setTimeout(() => {
@@ -24,7 +25,7 @@ const Confirmation = () => {
24
25
  }, 1000);
25
26
  return { done: false, txURL: undefined };
26
27
  }
27
- const txURL = getChainExplorerTxUrl(stellar.chainId, txHash);
28
+ const txURL = getChainExplorerTxUrl(tokenMode === "stellar" ? stellar.chainId : rozoSolana.chainId, txHash);
28
29
  return { done: true, txURL };
29
30
  }
30
31
  else {
@@ -41,7 +42,7 @@ const Confirmation = () => {
41
42
  }, [paymentState, order, paymentStateContext, isConfirming]);
42
43
  useEffect(() => {
43
44
  if (done) {
44
- if (paymentStateContext.tokenMode === "stellar") {
45
+ if (paymentStateContext.tokenMode === "stellar" || paymentStateContext.tokenMode === "solana") {
45
46
  setPaymentRozoCompleted(true);
46
47
  }
47
48
  onSuccess();
@@ -61,7 +62,7 @@ const Confirmation = () => {
61
62
  justifyContent: "center",
62
63
  alignItems: "center",
63
64
  paddingBottom: 0,
64
- }, children: [jsx(AnimationContainer, { children: jsxs(InsetContainer, { children: [jsx(Spinner, { "$status": done }), jsx(SuccessIcon, { "$status": done })] }) }), !done ? (jsx(ModalH1, { children: "Confirming..." })) : (jsxs(Fragment, { children: [jsx(ModalH1, { children: jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", children: "Payment Completed" }) }), confirmationMessage && (jsx(ModalBody, { children: confirmationMessage }))] })), jsx(PoweredByFooter, { showSupport: !done, preFilledMessage: `Transaction: ${txURL}` })] }) }));
65
+ }, children: [jsx(AnimationContainer, { children: jsxs(InsetContainer, { children: [jsx(Spinner, { "$status": done }), jsx(SuccessIcon, { "$status": done })] }) }), !done ? (jsx(ModalH1, { children: "Confirming..." })) : (jsxs(Fragment, { children: [jsxs(ModalH1, { style: { display: "flex", alignItems: "center", gap: 3, flexDirection: "column" }, children: ["Payment Completed", txURL && (jsx(Link, { href: txURL, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 14, fontWeight: 400 }, children: "See transaction details" }))] }), confirmationMessage && (jsx(ModalBody, { children: confirmationMessage }))] })), jsx(PoweredByFooter, { showSupport: !done, preFilledMessage: `Transaction: ${txURL}` })] }) }));
65
66
  };
66
67
  const AnimationContainer = styled(motion.div) `
67
68
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Confirmation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Confirmation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useState, useEffect, useMemo } from 'react';
3
+ import { PageContent, ModalContent, ModalH1 } from '../../../Common/Modal/styles.js';
4
+ import { Stellar } from '../../../../assets/chains.js';
5
+ import { SquircleIcon } from '../../../../assets/logos.js';
6
+ import { ROUTES } from '../../../../constants/routes.js';
7
+ import { usePayContext } from '../../../../hooks/usePayContext.js';
8
+ import { useStellar } from '../../../../provider/StellarContextProvider.js';
9
+ import { OptionsList } from '../../../Common/OptionsList/index.js';
10
+ import { OrderHeader } from '../../../Common/OrderHeader/index.js';
11
+ import SelectAnotherMethodButton from '../../../Common/SelectAnotherMethodButton/index.js';
12
+ import WalletPaymentSpinner from '../../../Spinners/WalletPaymentSpinner/index.js';
13
+
14
+ const ConnectSolana = () => {
15
+ const { setStellarConnector, setRoute, log } = usePayContext();
16
+ const { kit, setPublicKey, setConnector } = useStellar();
17
+ // State to store the fetched Stellar wallets
18
+ const [stellarWallets, setStellarWallets] = useState([]);
19
+ const [isLoading, setIsLoading] = useState(false);
20
+ // Fetch Stellar wallets when the kit is available
21
+ useEffect(() => {
22
+ const fetchStellarWallets = async () => {
23
+ if (!kit)
24
+ return;
25
+ setIsLoading(true);
26
+ try {
27
+ const wallets = await kit.getSupportedWallets();
28
+ console.log('Stellar wallets:', wallets);
29
+ setStellarWallets(wallets);
30
+ }
31
+ catch (error) {
32
+ console.error('Error fetching Stellar wallets:', error);
33
+ setStellarWallets([]);
34
+ }
35
+ finally {
36
+ setIsLoading(false);
37
+ }
38
+ };
39
+ fetchStellarWallets();
40
+ }, [kit]);
41
+ // Create options list from the fetched wallets
42
+ const stellarOptions = useMemo(() => {
43
+ return stellarWallets
44
+ .filter((wallet) => wallet.isAvailable)
45
+ .map((wallet) => ({
46
+ id: wallet.id,
47
+ title: wallet.name.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(' '),
48
+ icons: [
49
+ jsx(SquircleIcon, { icon: wallet.icon, alt: wallet.name }, wallet.id),
50
+ ],
51
+ onClick: async () => {
52
+ log("wallet.name ", wallet.id);
53
+ await kit?.setWallet(wallet.id);
54
+ kit?.getAddress().then(({ address }) => {
55
+ // Stellar Provider
56
+ setPublicKey(address);
57
+ setConnector(wallet);
58
+ // PayContext
59
+ setStellarConnector(wallet.id);
60
+ setRoute(ROUTES.STELLAR_CONNECTOR, {
61
+ event: "click-stellar-wallet",
62
+ walletName: wallet.name,
63
+ });
64
+ });
65
+ },
66
+ }));
67
+ }, [stellarWallets, kit]);
68
+ return (jsx(PageContent, { children: isLoading ? (jsx(WalletPaymentSpinner, { logo: jsx(Stellar, {}), logoShape: "circle", loading: true, unavailable: false })) : (jsxs(Fragment, { children: [stellarOptions.length === 0 && (jsxs(ModalContent, { style: {
69
+ display: "flex",
70
+ flexDirection: "column",
71
+ alignItems: "center",
72
+ justifyContent: "center",
73
+ paddingTop: 16,
74
+ paddingBottom: 16,
75
+ gap: 16,
76
+ }, children: [jsx(ModalH1, { children: "No Stellar wallets detected." }), jsx(SelectAnotherMethodButton, {})] })), stellarOptions.length > 0 && (jsxs(Fragment, { children: [jsx(OrderHeader, { minified: true, show: "stellar" }), jsx(OptionsList, { options: stellarOptions })] }))] })) }));
77
+ };
78
+
79
+ export { ConnectSolana as default };
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Solana/ConnectStellar/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,27 +1,38 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useState, useEffect } from 'react';
3
- import { ROUTES } from '../../../../constants/routes.js';
4
3
  import { usePayContext } from '../../../../hooks/usePayContext.js';
5
- import { WalletSignTransactionError, WalletSendTransactionError } from '@solana/wallet-adapter-base';
6
4
  import { PageContent, ModalContent, ModalH1, Link } from '../../../Common/Modal/styles.js';
7
- import { getChainExplorerTxUrl, solana } from '@rozoai/intent-common';
5
+ import { getChainExplorerTxUrl, rozoSolana, rozoSolanaUSDC, base } from '@rozoai/intent-common';
6
+ import { WalletSignTransactionError, WalletSendTransactionError } from '@solana/wallet-adapter-base';
7
+ import { ROUTES } from '../../../../constants/routes.js';
8
+ import { SOLANA_USDC_ASSET_CODE, ROZO_DAIMO_APP_ID, ROZO_SOLANA_USDC_MINT_ADDRESS } from '../../../../constants/rozoConfig.js';
8
9
  import { useRozoPay } from '../../../../hooks/useDaimoPay.js';
10
+ import { useSolanaDestination } from '../../../../hooks/useSolanaDestination.js';
11
+ import { createRozoPaymentRequest, createRozoPayment } from '../../../../utils/api/payment.js';
12
+ import { roundTokenAmount } from '../../../../utils/format.js';
13
+ import { getSupportUrl } from '../../../../utils/supportUrl.js';
9
14
  import Button from '../../../Common/Button/index.js';
10
15
  import PaymentBreakdown from '../../../Common/PaymentBreakdown/index.js';
11
16
  import TokenLogoSpinner from '../../../Spinners/TokenLogoSpinner/index.js';
12
17
 
13
18
  var PayState;
14
19
  (function (PayState) {
15
- PayState["RequestingPayment"] = "Waiting For Payment";
20
+ PayState["CreatingPayment"] = "Creating Payment Record...";
21
+ PayState["RequestingPayment"] = "Waiting for Payment";
16
22
  PayState["RequestCancelled"] = "Payment Cancelled";
17
23
  PayState["RequestFailed"] = "Payment Failed";
18
24
  PayState["RequestSuccessful"] = "Payment Successful";
19
25
  })(PayState || (PayState = {}));
20
26
  const PayWithSolanaToken = () => {
21
27
  const { triggerResize, paymentState, setRoute, log, trpc } = usePayContext();
22
- const { selectedSolanaTokenOption, payWithSolanaToken } = paymentState;
23
- useRozoPay();
28
+ const { selectedSolanaTokenOption, payWithSolanaTokenRozo: payWithSolanaTokenImpl, payParams, setRozoPaymentId, setTxHash } = paymentState;
29
+ const { order, hydrateOrder, setPaymentRozoCompleted } = useRozoPay();
24
30
  const [payState, setPayStateInner] = useState(PayState.RequestingPayment);
31
+ const [txURL, setTxURL] = useState();
32
+ const [isLoading, setIsLoading] = useState(true);
33
+ const [activeRozoPayment, setActiveRozoPayment] = useState();
34
+ // Get the destination address and payment direction using our custom hook
35
+ const { destinationAddress, isPayInSolanaOutBase } = useSolanaDestination(payParams);
25
36
  const setPayState = (state) => {
26
37
  if (state === payState)
27
38
  return;
@@ -32,15 +43,84 @@ const PayWithSolanaToken = () => {
32
43
  data: { state },
33
44
  });
34
45
  };
35
- const [txURL, setTxURL] = useState();
46
+ // ROZO API CALL
47
+ const handleCreatePayment = async (payToken, destinationAddress) => {
48
+ setPayState(PayState.CreatingPayment);
49
+ let amount = roundTokenAmount(payToken.amount, payToken.token);
50
+ const paymentData = createRozoPaymentRequest({
51
+ appId: payParams?.appId ?? ROZO_DAIMO_APP_ID,
52
+ display: {
53
+ intent: order?.metadata?.intent ?? "",
54
+ paymentValue: String(payToken.usd),
55
+ currency: "USD",
56
+ },
57
+ preferredChain: String(rozoSolanaUSDC.chainId),
58
+ preferredToken: "USDC",
59
+ destination: {
60
+ destinationAddress: isPayInSolanaOutBase
61
+ ? payParams?.toAddress
62
+ : destinationAddress,
63
+ chainId: isPayInSolanaOutBase
64
+ ? String(base.chainId)
65
+ : String(rozoSolana.chainId),
66
+ amountUnits: amount,
67
+ tokenSymbol: isPayInSolanaOutBase
68
+ ? rozoSolanaUSDC.symbol
69
+ : SOLANA_USDC_ASSET_CODE,
70
+ tokenAddress: isPayInSolanaOutBase
71
+ ? rozoSolanaUSDC.token
72
+ : ROZO_SOLANA_USDC_MINT_ADDRESS,
73
+ },
74
+ externalId: order?.externalId ?? "",
75
+ metadata: {
76
+ daimoOrderId: order?.id ?? "",
77
+ ...(order?.metadata ?? {}),
78
+ },
79
+ });
80
+ // API Call
81
+ const response = await createRozoPayment(paymentData);
82
+ if (!response?.data?.id) {
83
+ throw new Error(response?.error?.message ?? "Payment creation failed");
84
+ }
85
+ setActiveRozoPayment(response.data);
86
+ return response.data;
87
+ };
88
+ // @NOTE: This is Pay In Solana by Rozo
89
+ // FOR TRANSFER ACTION
36
90
  const handleTransfer = async (option) => {
37
- setPayState(PayState.RequestingPayment);
91
+ setIsLoading(true);
38
92
  try {
39
- const result = await payWithSolanaToken(option.required.token.token, option);
40
- setTxURL(getChainExplorerTxUrl(solana.chainId, result.txHash));
93
+ if (!destinationAddress) {
94
+ throw new Error("Solana destination address is required");
95
+ }
96
+ // await hydrateOrder(undefined, option);
97
+ let payment = activeRozoPayment;
98
+ if (!payment) {
99
+ // Use destinationAddress directly as it's now the middleware address
100
+ payment = await handleCreatePayment(option.required, destinationAddress);
101
+ }
102
+ setRozoPaymentId(payment.id);
103
+ setPayState(PayState.RequestingPayment);
104
+ const paymentData = {
105
+ tokenAddress: payment.metadata.payintokenaddress ?? SOLANA_USDC_ASSET_CODE,
106
+ destAddress: isPayInSolanaOutBase
107
+ ? payment.metadata.receivingAddress
108
+ : destinationAddress,
109
+ usdcAmount: payment.destination.amountUnits,
110
+ solanaAmount: roundTokenAmount(option.required.amount, option.required.token),
111
+ };
112
+ if (payment.metadata?.memo) {
113
+ Object.assign(paymentData, { memo: payment.metadata.memo });
114
+ }
115
+ const result = await payWithSolanaTokenImpl(option, paymentData);
116
+ console.log("[PAY SOLANA] Result", result, getChainExplorerTxUrl(rozoSolana.chainId, result.txHash));
117
+ setTxURL(getChainExplorerTxUrl(rozoSolana.chainId, result.txHash));
41
118
  if (result.success) {
42
119
  setPayState(PayState.RequestSuccessful);
120
+ setTxHash(result.txHash);
43
121
  setTimeout(() => {
122
+ setActiveRozoPayment(undefined);
123
+ setPaymentRozoCompleted(true);
44
124
  setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-solana" });
45
125
  }, 200);
46
126
  }
@@ -59,6 +139,34 @@ const PayWithSolanaToken = () => {
59
139
  }
60
140
  }
61
141
  };
142
+ // @NOTE: This is Daimo Pay In Solana (by default)
143
+ // const handleTransfer = async (option: WalletPaymentOption) => {
144
+ // setPayState(PayState.RequestingPayment);
145
+ // try {
146
+ // const result = await payWithSolanaToken(option);
147
+ // setTxURL(getChainExplorerTxUrl(solana.chainId, result.txHash));
148
+ // if (result.success) {
149
+ // setPayState(PayState.RequestSuccessful);
150
+ // setTimeout(() => {
151
+ // setRoute(ROUTES.CONFIRMATION, { event: "wait-pay-with-solana" });
152
+ // }, 200);
153
+ // } else {
154
+ // setPayState(PayState.RequestFailed);
155
+ // }
156
+ // } catch (error) {
157
+ // console.error(error);
158
+ // if (
159
+ // error instanceof WalletSignTransactionError ||
160
+ // error instanceof WalletSendTransactionError
161
+ // ) {
162
+ // setPayState(PayState.RequestCancelled);
163
+ // } else {
164
+ // setPayState(PayState.RequestFailed);
165
+ // }
166
+ // }
167
+ // };
168
+ // @NOTE: This is Pay In Solana by Rozo
169
+ // FOR TRANSFER ACTION
62
170
  useEffect(() => {
63
171
  if (!selectedSolanaTokenOption)
64
172
  return;
@@ -72,7 +180,9 @@ const PayWithSolanaToken = () => {
72
180
  if (selectedSolanaTokenOption == null) {
73
181
  return jsx(PageContent, {});
74
182
  }
75
- return (jsxs(PageContent, { children: [selectedSolanaTokenOption && (jsx(TokenLogoSpinner, { token: selectedSolanaTokenOption.required.token })), 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: selectedSolanaTokenOption }), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => handleTransfer(selectedSolanaTokenOption), children: "Retry Payment" }))] })] }));
183
+ return (jsxs(PageContent, { children: [selectedSolanaTokenOption && (jsx(TokenLogoSpinner, { token: selectedSolanaTokenOption.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: selectedSolanaTokenOption }), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => handleTransfer(selectedSolanaTokenOption), children: "Retry Payment" })), payState === PayState.RequestFailed && (jsx(Button, { onClick: () => {
184
+ window.open(getSupportUrl(order?.id?.toString() ?? "", `Pay with Solana token${txURL ? ` ${txURL}` : ""}`), "_blank");
185
+ }, children: "Contact Support" }))] })] }));
76
186
  };
77
187
 
78
188
  export { PayWithSolanaToken as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Solana/PayWithSolanaToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Solana/PayWithSolanaToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -4,16 +4,16 @@ 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
6
  import { getChainExplorerTxUrl, stellar, base, baseUSDC } from '@rozoai/intent-common';
7
+ import { ROZO_STELLAR_ADDRESS, ROZO_DAIMO_APP_ID, STELLAR_USDC_ASSET_CODE, STELLAR_USDC_ISSUER_PK } from '../../../../constants/rozoConfig.js';
7
8
  import { useRozoPay } from '../../../../hooks/useDaimoPay.js';
8
9
  import { useStellarDestination } from '../../../../hooks/useStellarDestination.js';
10
+ import { useStellar } from '../../../../provider/StellarContextProvider.js';
11
+ import { createRozoPaymentRequest, createRozoPayment } from '../../../../utils/api/payment.js';
12
+ import { roundTokenAmount } from '../../../../utils/format.js';
9
13
  import { getSupportUrl } from '../../../../utils/supportUrl.js';
10
14
  import Button from '../../../Common/Button/index.js';
11
15
  import PaymentBreakdown from '../../../Common/PaymentBreakdown/index.js';
12
16
  import TokenLogoSpinner from '../../../Spinners/TokenLogoSpinner/index.js';
13
- import { roundTokenAmount } from '../../../../utils/format.js';
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';
17
17
 
18
18
  var PayState;
19
19
  (function (PayState) {
@@ -87,7 +87,7 @@ const PayWithStellarToken = () => {
87
87
  if (!destinationAddress) {
88
88
  throw new Error("Stellar destination address is required");
89
89
  }
90
- await hydrateOrder();
90
+ await hydrateOrder(undefined, option);
91
91
  let payment = activeRozoPayment;
92
92
  if (!payment) {
93
93
  // Use destinationAddress directly as it's now the middleware address
@@ -95,13 +95,17 @@ const PayWithStellarToken = () => {
95
95
  }
96
96
  setRozoPaymentId(payment.id);
97
97
  setPayState(PayState.RequestingPayment);
98
- const result = await payWithStellarTokenImpl(option.required, {
98
+ const paymentData = {
99
99
  destAddress: isPayInStellarOutBase
100
- ? payment.destination.destinationAddress ?? ROZO_STELLAR_ADDRESS
100
+ ? payment.metadata.receivingAddress ?? ROZO_STELLAR_ADDRESS
101
101
  : destinationAddress,
102
102
  usdcAmount: payment.destination.amountUnits,
103
103
  stellarAmount: roundTokenAmount(option.required.amount, option.required.token),
104
- });
104
+ };
105
+ if (payment.metadata?.memo) {
106
+ Object.assign(paymentData, { memo: payment.metadata.memo });
107
+ }
108
+ const result = await payWithStellarTokenImpl(option.required, paymentData);
105
109
  setTxURL(getChainExplorerTxUrl(stellar.chainId, result.txHash));
106
110
  if (result.success) {
107
111
  setPayState(PayState.RequestSuccessful);
@@ -135,10 +139,10 @@ const PayWithStellarToken = () => {
135
139
  // Give user time to see the UI before opening
136
140
  const transferTimeout = setTimeout(() => handleTransfer(selectedStellarTokenOption), 100);
137
141
  return () => clearTimeout(transferTimeout);
138
- }, [selectedStellarTokenOption]); // eslint-disable-line react-hooks/exhaustive-deps
142
+ }, [selectedStellarTokenOption]);
139
143
  useEffect(() => {
140
144
  triggerResize();
141
- }, [payState]); // eslint-disable-line react-hooks/exhaustive-deps
145
+ }, [payState]);
142
146
  if (selectedStellarTokenOption == null) {
143
147
  return jsx(PageContent, {});
144
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Stellar/PayWithStellarToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}