@rozoai/intent-pay 0.0.36 → 0.0.37-beta.2
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/constants/rozoConfig.d.ts +2 -11
- package/build/hooks/useDaimoPay.d.ts +3 -1
- package/build/hooks/usePaymentState.d.ts +5 -4
- package/build/hooks/useSolanaDestination.d.ts +0 -1
- package/build/hooks/useSolanaPaymentOptions.d.ts +3 -1
- package/build/hooks/useStellarDestination.d.ts +0 -1
- package/build/hooks/useStellarPaymentOptions.d.ts +3 -1
- package/build/package.json.js +2 -2
- package/build/src/components/Common/PaymentBreakdown/index.js +2 -2
- package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +4 -4
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/components/Pages/Error/index.js +104 -12
- package/build/src/components/Pages/Error/index.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +10 -4
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +17 -9
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js +13 -5
- package/build/src/components/Pages/Stellar/PayWithStellarToken/index.js.map +1 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +8 -36
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
- package/build/src/constants/rozoConfig.js +5 -13
- package/build/src/constants/rozoConfig.js.map +1 -1
- package/build/src/hooks/useDaimoPay.js +5 -2
- package/build/src/hooks/useDaimoPay.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +24 -31
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/useSolanaDestination.js +13 -3
- package/build/src/hooks/useSolanaDestination.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +7 -3
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useStellarDestination.js +0 -1
- package/build/src/hooks/useStellarDestination.js.map +1 -1
- package/build/src/hooks/useStellarPaymentOptions.js +10 -15
- package/build/src/hooks/useStellarPaymentOptions.js.map +1 -1
- package/build/src/hooks/useWalletPaymentOptions.js +3 -2
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/payment/paymentEffects.js +43 -27
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/provider/StellarContextProvider.js +3 -2
- package/build/src/provider/StellarContextProvider.js.map +1 -1
- package/build/src/utils/errorParser.js +72 -0
- package/build/src/utils/errorParser.js.map +1 -0
- package/build/src/utils/exports.js +1 -0
- package/build/src/utils/exports.js.map +1 -1
- package/build/src/utils/format.js +24 -1
- package/build/src/utils/format.js.map +1 -1
- package/build/utils/errorParser.d.ts +24 -0
- package/build/utils/exports.d.ts +1 -0
- package/package.json +2 -2
- package/build/src/utils/api/base.js +0 -117
- package/build/src/utils/api/base.js.map +0 -1
- package/build/src/utils/api/payment.js +0 -40
- package/build/src/utils/api/payment.js.map +0 -1
- package/build/src/utils/bridge.js +0 -199
- package/build/src/utils/bridge.js.map +0 -1
- package/build/utils/api/base.d.ts +0 -76
- package/build/utils/api/index.d.ts +0 -5
- package/build/utils/api/payment.d.ts +0 -170
- package/build/utils/bridge.d.ts +0 -43
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import { Asset } from "@stellar/stellar-sdk";
|
|
2
1
|
import { TokenLogo } from "@rozoai/intent-common";
|
|
3
2
|
/**
|
|
4
3
|
* ROZO CONFIG
|
|
4
|
+
* API constants are re-exported from @rozoai/intent-common for convenience
|
|
5
5
|
*/
|
|
6
6
|
export declare const ROZO_INVOICE_URL = "https://invoice.rozo.ai";
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const ROZO_API_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZ4Y3Zmb2xobmNtdXZmYXp1cXViIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTI4Mzg2NjYsImV4cCI6MjA2ODQxNDY2Nn0.B4dV5y_-zCMKSNm3_qyCbAvCPJmoOGv_xB783LfAVUA";
|
|
9
|
-
export declare const ROZO_DAIMO_APP_ID = "rozoIntentPay";
|
|
10
|
-
export declare const ROZO_STELLAR_ADDRESS = "GDQDR7RY2GJW7XBENWAX7F5X42HBTA2YREAD6SYGZLUNDGDQ3DRRYBPK";
|
|
11
|
-
export declare const ROZO_BASE_ADDRESS = "0x5772FBe7a7817ef7F586215CA8b23b8dD22C8897";
|
|
7
|
+
export declare const DEFAULT_ROZO_APP_ID = "rozoIntentPay";
|
|
12
8
|
export declare const DEFAULT_STELLAR_RPC_URL = "https://horizon.stellar.org";
|
|
13
|
-
export declare const STELLAR_NATIVE_ASSET: Asset;
|
|
14
|
-
export declare const STELLAR_USDC_ASSET_CODE = "USDC";
|
|
15
|
-
export declare const STELLAR_USDC_ISSUER_PK = "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
|
|
16
|
-
export declare const SOLANA_USDC_ASSET_CODE = "USDC";
|
|
17
|
-
export declare const ROZO_SOLANA_USDC_MINT_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
18
9
|
export declare const STELLAR_XLM_TOKEN_INFO: {
|
|
19
10
|
chainId: number;
|
|
20
11
|
token: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RozoPayHydratedOrderWithOrg, RozoPayOrderID, RozoPayOrderWithOrg, SolanaPublicKey, StellarPublicKey, WalletPaymentOption } from "@rozoai/intent-common";
|
|
2
2
|
import { Address, Hex } from "viem";
|
|
3
|
-
import { PaymentState, PayParams } from "../payment/paymentFsm";
|
|
3
|
+
import { PaymentEvent, PaymentState, PayParams } from "../payment/paymentFsm";
|
|
4
|
+
import { Store } from "../stateStore";
|
|
4
5
|
type RozoPayFunctions = {
|
|
5
6
|
/**
|
|
6
7
|
* Create a new Rozo Pay order preview with the given parameters.
|
|
@@ -117,6 +118,7 @@ type RozoPayFunctions = {
|
|
|
117
118
|
paymentRozoCompleted: boolean;
|
|
118
119
|
setPayoutRozoCompleted: (completed: boolean) => void;
|
|
119
120
|
payoutRozoCompleted: boolean;
|
|
121
|
+
store: Store<PaymentState, PaymentEvent>;
|
|
120
122
|
};
|
|
121
123
|
type RozoPayState = {
|
|
122
124
|
[S in PaymentState as S["type"]]: {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DepositAddressPaymentOptionData, DepositAddressPaymentOptionMetadata, DepositAddressPaymentOptions, ExternalPaymentOptionMetadata, ExternalPaymentOptions, ExternalPaymentOptionsString, WalletPaymentOption } from "@rozoai/intent-common";
|
|
2
2
|
import { Hex } from "viem";
|
|
3
|
+
import { PaymentResponseData } from "@rozoai/intent-common";
|
|
3
4
|
import { PayButtonPaymentProps } from "../components/DaimoPayButton";
|
|
4
5
|
import { ROUTES } from "../constants/routes";
|
|
5
|
-
import { PayParams } from "../payment/paymentFsm";
|
|
6
|
-
import {
|
|
6
|
+
import { PaymentEvent, PayParams } from "../payment/paymentFsm";
|
|
7
|
+
import { Store } from "../stateStore";
|
|
7
8
|
import { TrpcClient } from "../utils/trpc";
|
|
8
9
|
import { WalletConfigProps } from "../wallets/walletConfigs";
|
|
9
10
|
import { useDepositAddressOptions } from "./useDepositAddressOptions";
|
|
@@ -53,7 +54,7 @@ export interface PaymentState {
|
|
|
53
54
|
setSelectedStellarTokenOption: (option: WalletPaymentOption | undefined) => void;
|
|
54
55
|
setSelectedDepositAddressOption: (option: DepositAddressPaymentOptionMetadata | undefined) => void;
|
|
55
56
|
setChosenUsd: (usd: number) => void;
|
|
56
|
-
payWithToken: (walletOption: WalletPaymentOption) => Promise<{
|
|
57
|
+
payWithToken: (walletOption: WalletPaymentOption, store: Store<PaymentState, PaymentEvent>) => Promise<{
|
|
57
58
|
txHash: Hex;
|
|
58
59
|
success: boolean;
|
|
59
60
|
}>;
|
|
@@ -99,7 +100,7 @@ export interface PaymentState {
|
|
|
99
100
|
solanaPubKey: string | undefined;
|
|
100
101
|
stellarPubKey: string | undefined;
|
|
101
102
|
orderUsdAmount: number | undefined;
|
|
102
|
-
createPayment: (option: WalletPaymentOption) => Promise<PaymentResponseData>;
|
|
103
|
+
createPayment: (option: WalletPaymentOption, store: Store<PaymentState, PaymentEvent>) => Promise<PaymentResponseData | undefined>;
|
|
103
104
|
}
|
|
104
105
|
export declare function usePaymentState({ trpc, lockPayParams, setRoute, log, redirectReturnUrl, }: {
|
|
105
106
|
trpc: TrpcClient;
|
|
@@ -23,7 +23,6 @@ interface SolanaDestinationResult {
|
|
|
23
23
|
*
|
|
24
24
|
* Handles Pay In Solana scenarios:
|
|
25
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
26
|
*
|
|
28
27
|
* @param payParams - Payment parameters containing transaction details
|
|
29
28
|
* @returns Object with destination address and payment scenario flags
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { WalletPaymentOption } from "@rozoai/intent-common";
|
|
2
|
+
import { PayParams } from "../payment/paymentFsm";
|
|
2
3
|
import { TrpcClient } from "../utils/trpc";
|
|
3
4
|
/** Wallet payment options. User picks one. */
|
|
4
|
-
export declare function useSolanaPaymentOptions({ trpc, address, usdRequired, isDepositFlow, }: {
|
|
5
|
+
export declare function useSolanaPaymentOptions({ trpc, address, usdRequired, isDepositFlow, payParams, }: {
|
|
5
6
|
trpc: TrpcClient;
|
|
6
7
|
address: string | undefined;
|
|
7
8
|
usdRequired: number | undefined;
|
|
8
9
|
isDepositFlow: boolean;
|
|
10
|
+
payParams: PayParams | undefined;
|
|
9
11
|
}): {
|
|
10
12
|
options: WalletPaymentOption[];
|
|
11
13
|
isLoading: boolean;
|
|
@@ -23,7 +23,6 @@ interface StellarDestinationResult {
|
|
|
23
23
|
*
|
|
24
24
|
* Handles Pay In Stellar scenarios:
|
|
25
25
|
* 1. Pay In Stellar, Pay out Stellar - use toStellarAddress
|
|
26
|
-
* 2. Pay In Stellar, Pay Out Base - use ROZO_STELLAR_ADDRESS (when toChain is Base and toStellarAddress is empty)
|
|
27
26
|
*
|
|
28
27
|
* @param payParams - Payment parameters containing transaction details
|
|
29
28
|
* @returns Object with destination address and payment scenario flags
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { WalletPaymentOption } from "@rozoai/intent-common";
|
|
2
|
+
import { PayParams } from "../payment/paymentFsm";
|
|
2
3
|
/** Wallet payment options. User picks one. */
|
|
3
|
-
export declare function useStellarPaymentOptions({ address, usdRequired, isDepositFlow, }: {
|
|
4
|
+
export declare function useStellarPaymentOptions({ address, usdRequired, isDepositFlow, payParams, }: {
|
|
4
5
|
address: string | undefined;
|
|
5
6
|
usdRequired: number | undefined;
|
|
6
7
|
isDepositFlow: boolean;
|
|
8
|
+
payParams: PayParams | undefined;
|
|
7
9
|
}): {
|
|
8
10
|
options: WalletPaymentOption[];
|
|
9
11
|
isLoading: boolean;
|
package/build/package.json.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "@rozoai/intent-pay";
|
|
2
|
-
var version = "0.0.
|
|
2
|
+
var version = "0.0.37-beta.2";
|
|
3
3
|
var author = "RozoAI";
|
|
4
4
|
var homepage = "https://github.com/RozoAI/intent-pay";
|
|
5
5
|
var license = "BSD-2-Clause";
|
|
@@ -49,7 +49,7 @@ var dependencies = {
|
|
|
49
49
|
"@albedo-link/intent": "^0.13.0",
|
|
50
50
|
"@reown/appkit": "^1.7.0",
|
|
51
51
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
52
|
-
"@rozoai/intent-common": "0.0.28-beta.
|
|
52
|
+
"@rozoai/intent-common": "0.0.28-beta.4",
|
|
53
53
|
"@solana/spl-token": "^0.4.13",
|
|
54
54
|
"@solana/wallet-adapter-base": "^0.9.23",
|
|
55
55
|
"@solana/wallet-adapter-react": "^0.15.35",
|
|
@@ -7,7 +7,7 @@ const PaymentBreakdown = ({ paymentOption }) => {
|
|
|
7
7
|
const subtotalUsd = paymentOption.required.usd;
|
|
8
8
|
const feesUsd = paymentOption.fees.usd;
|
|
9
9
|
const totalUsd = subtotalUsd + feesUsd;
|
|
10
|
-
return (jsxs(FeesContainer, { children: [feesUsd > 0 && (jsxs(FeeRow, { children: [jsx(ModalBody, { children: "Subtotal" }), jsxs(ModalBody, { children: ["$", subtotalUsd.toFixed(2)] })] })), jsxs(FeeRow, {
|
|
10
|
+
return (jsxs(FeesContainer, { children: [feesUsd > 0 && (jsxs(FeeRow, { children: [jsx(ModalBody, { children: "Subtotal" }), jsxs(ModalBody, { children: ["$", subtotalUsd.toFixed(2)] })] })), jsxs(FeeRow, { style: { marginTop: 8 }, children: [jsx(ModalBody, { style: { fontWeight: 600 }, children: "Total" }), jsxs(ModalBody, { style: { fontWeight: 600 }, children: ["$", feesUsd > 0 ? subtotalUsd.toFixed(2) : totalUsd.toFixed(2)] })] })] }));
|
|
11
11
|
};
|
|
12
12
|
const FeesContainer = styled.div `
|
|
13
13
|
display: flex;
|
|
@@ -31,7 +31,7 @@ const FeeRow = styled.div `
|
|
|
31
31
|
align-items: center;
|
|
32
32
|
width: 50%;
|
|
33
33
|
`;
|
|
34
|
-
|
|
34
|
+
styled.span `
|
|
35
35
|
display: inline-block;
|
|
36
36
|
padding: 3px 8px;
|
|
37
37
|
border-radius: var(--ck-primary-button-border-radius);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PaymentBreakdown/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAOA,MAAM,gBAAgB,GAEjB,CAAC,EAAE,aAAa,EAAE,KAAI;AACzB,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Common/PaymentBreakdown/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAOA,MAAM,gBAAgB,GAEjB,CAAC,EAAE,aAAa,EAAE,KAAI;AACzB,IAAA,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAEvC,IAAA,QACEA,IAAC,CAAA,aAAa,eACX,OAAO,GAAG,CAAC,KACVA,KAAC,MAAM,EAAA,EAAA,QAAA,EAAA,CACLC,IAAC,SAAS,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAqB,EAC/BD,IAAC,CAAA,SAAS,oBAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAa,IACzC,CACV,EAUDA,KAAC,MAAM,EAAA,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAC7B,QAAA,EAAA,CAAAC,GAAA,CAAC,SAAS,EAAC,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAmB,QAAA,EAAA,OAAA,EAAA,CAAA,EACxDD,KAAC,SAAS,EAAA,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EACjC,QAAA,EAAA,CAAA,GAAA,EAAA,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAClD,CACL,EAAA,CAAA,CAAA,EAAA,CACK,EAChB;AACJ,EAAE;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;AAQO,qCAAA,EAAA,YAAY,CAAC,WAAW,CAAA;QACvD,SAAS,CAAA;;;;;;CAMhB,CAAC;AACF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;CAKxB,CAAC;AACY,MAAM,CAAC,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;"}
|
|
@@ -2,14 +2,13 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import React, { useState, useMemo, useEffect } from 'react';
|
|
3
3
|
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
4
4
|
import { ModalBody, PageContent, ModalContent, ModalH1, Link } from '../../Common/Modal/styles.js';
|
|
5
|
-
import { bscUSDT, baseUSDC, polygonUSDC, rozoStellar, rozoSolana, getChainExplorerTxUrl, getOrderDestChainId, assert, getAddressContraction } from '@rozoai/intent-common';
|
|
5
|
+
import { bscUSDT, baseUSDC, polygonUSDC, rozoStellar, rozoSolana, getChainExplorerTxUrl, getOrderDestChainId, assert, getAddressContraction, getRozoPayment } from '@rozoai/intent-common';
|
|
6
6
|
import { motion } from 'framer-motion';
|
|
7
7
|
import { TickIcon, LoadingCircleIcon, ExternalLinkIcon } from '../../../assets/icons.js';
|
|
8
8
|
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
9
9
|
import { ROZO_INVOICE_URL } from '../../../constants/rozoConfig.js';
|
|
10
10
|
import { useRozoPay } from '../../../hooks/useDaimoPay.js';
|
|
11
11
|
import styled from '../../../styles/styled/index.js';
|
|
12
|
-
import { fetchApi } from '../../../utils/api/base.js';
|
|
13
12
|
import Button from '../../Common/Button/index.js';
|
|
14
13
|
import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
|
|
15
14
|
|
|
@@ -118,11 +117,12 @@ const Confirmation = () => {
|
|
|
118
117
|
return;
|
|
119
118
|
try {
|
|
120
119
|
context.log("[CONFIRMATION] Polling for payout transaction:", rozoPaymentId);
|
|
121
|
-
const response = await
|
|
120
|
+
const response = await getRozoPayment(rozoPaymentId);
|
|
122
121
|
context.log("[CONFIRMATION] Payout polling response:", response.data);
|
|
123
122
|
if (isActive &&
|
|
124
123
|
response.data &&
|
|
125
|
-
response.data.payoutTransactionHash
|
|
124
|
+
response.data.payoutTransactionHash &&
|
|
125
|
+
typeof response.data.payoutTransactionHash === "string") {
|
|
126
126
|
const url = getChainExplorerTxUrl(Number(response.data.destination.chainId), response.data.payoutTransactionHash);
|
|
127
127
|
context.log("[CONFIRMATION] Found payout transaction:", response.data.payoutTransactionHash, "URL:", url);
|
|
128
128
|
setPayoutTxHash(response.data.payoutTransactionHash);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Confirmation/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"
|
|
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,26 +1,103 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { ModalBody, PageContent, ModalContent } from '../../Common/Modal/styles.js';
|
|
2
|
+
import { ModalH1, ModalBody, PageContent, ModalContent } from '../../Common/Modal/styles.js';
|
|
3
|
+
import { useMemo } from 'react';
|
|
3
4
|
import { AlertIcon } from '../../../assets/icons.js';
|
|
5
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
4
6
|
import { useRozoPay } from '../../../hooks/useDaimoPay.js';
|
|
7
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
5
8
|
import styled from '../../../styles/styled/index.js';
|
|
9
|
+
import { categorizeError, ErrorType } from '../../../utils/errorParser.js';
|
|
10
|
+
import Button from '../../Common/Button/index.js';
|
|
6
11
|
import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
|
|
7
|
-
import { useMemo } from 'react';
|
|
8
12
|
|
|
9
13
|
function ErrorPage() {
|
|
10
14
|
const pay = useRozoPay();
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
const context = usePayContext();
|
|
16
|
+
const errorCategory = useMemo(() => {
|
|
17
|
+
if (pay.paymentState !== "error") {
|
|
18
|
+
return {
|
|
19
|
+
title: "Unknown Error",
|
|
20
|
+
message: "An unexpected error occurred",
|
|
21
|
+
canRetry: true,
|
|
22
|
+
showSupport: true,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const errorMsg = pay.paymentErrorMessage || "";
|
|
26
|
+
const errorType = categorizeError(errorMsg);
|
|
27
|
+
// Map error types to UI configuration
|
|
28
|
+
switch (errorType) {
|
|
29
|
+
case ErrorType.TRUSTLINE:
|
|
30
|
+
return {
|
|
31
|
+
title: "Trustline Not Set Up",
|
|
32
|
+
message: errorMsg,
|
|
33
|
+
canRetry: false,
|
|
34
|
+
showSupport: true,
|
|
35
|
+
};
|
|
36
|
+
case ErrorType.LIQUIDITY:
|
|
37
|
+
return {
|
|
38
|
+
title: "Insufficient Liquidity",
|
|
39
|
+
message: errorMsg,
|
|
40
|
+
canRetry: false,
|
|
41
|
+
showSupport: true,
|
|
42
|
+
};
|
|
43
|
+
case ErrorType.PAYMENT_FAILED:
|
|
44
|
+
return {
|
|
45
|
+
title: "Payment Failed",
|
|
46
|
+
message: errorMsg,
|
|
47
|
+
canRetry: true,
|
|
48
|
+
showSupport: true,
|
|
49
|
+
};
|
|
50
|
+
case ErrorType.NETWORK:
|
|
51
|
+
return {
|
|
52
|
+
title: "Network Error",
|
|
53
|
+
message: errorMsg,
|
|
54
|
+
canRetry: true,
|
|
55
|
+
showSupport: false,
|
|
56
|
+
};
|
|
57
|
+
case ErrorType.INSUFFICIENT_FUNDS:
|
|
58
|
+
return {
|
|
59
|
+
title: "Insufficient Funds",
|
|
60
|
+
message: errorMsg,
|
|
61
|
+
canRetry: false,
|
|
62
|
+
showSupport: false,
|
|
63
|
+
};
|
|
64
|
+
case ErrorType.REJECTED:
|
|
65
|
+
return {
|
|
66
|
+
title: "Transaction Rejected",
|
|
67
|
+
message: errorMsg,
|
|
68
|
+
canRetry: true,
|
|
69
|
+
showSupport: false,
|
|
70
|
+
};
|
|
71
|
+
default:
|
|
72
|
+
return {
|
|
73
|
+
title: "Payment Error",
|
|
74
|
+
message: errorMsg,
|
|
75
|
+
canRetry: true,
|
|
76
|
+
showSupport: true,
|
|
77
|
+
};
|
|
14
78
|
}
|
|
15
|
-
return "Unknown error";
|
|
16
79
|
}, [pay.paymentState, pay.paymentErrorMessage]);
|
|
80
|
+
const handleRetry = () => {
|
|
81
|
+
context.setRoute(ROUTES.SELECT_METHOD);
|
|
82
|
+
pay.reset();
|
|
83
|
+
if (context.paymentState.payParams) {
|
|
84
|
+
pay.createPreviewOrder(context.paymentState.payParams);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const handleCancel = () => {
|
|
88
|
+
context.setOpen(false);
|
|
89
|
+
pay.reset();
|
|
90
|
+
if (context.paymentState.payParams) {
|
|
91
|
+
pay.createPreviewOrder(context.paymentState.payParams);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
17
94
|
return (jsx(PageContent, { children: jsxs(ModalContent, { style: {
|
|
18
95
|
display: "flex",
|
|
19
96
|
justifyContent: "center",
|
|
20
97
|
alignItems: "center",
|
|
21
98
|
paddingBottom: 0,
|
|
22
99
|
position: "relative",
|
|
23
|
-
}, children: [jsxs(CenterContainer, { children: [jsx(FailIcon, {}), jsx(ErrorBody, { children: jsx("
|
|
100
|
+
}, children: [jsxs(CenterContainer, { children: [jsx(FailIcon, {}), jsx(ErrorTitle, { children: errorCategory.title }), jsx(ErrorBody, { children: errorCategory.message }), jsxs(ButtonContainer, { children: [errorCategory.canRetry && (jsx(Button, { onClick: handleRetry, children: "Try Another Method" })), jsx(Button, { onClick: handleCancel, variant: "secondary", children: "Cancel" })] })] }), jsx(PoweredByFooter, { preFilledMessage: `Error: ${errorCategory.message}`, showSupport: errorCategory.showSupport })] }) }));
|
|
24
101
|
}
|
|
25
102
|
const CenterContainer = styled.div `
|
|
26
103
|
display: flex;
|
|
@@ -29,17 +106,32 @@ const CenterContainer = styled.div `
|
|
|
29
106
|
padding: 16px;
|
|
30
107
|
max-width: 100%;
|
|
31
108
|
`;
|
|
109
|
+
const ErrorTitle = styled(ModalH1) `
|
|
110
|
+
text-align: center;
|
|
111
|
+
margin-top: 8px;
|
|
112
|
+
margin-bottom: 12px;
|
|
113
|
+
`;
|
|
32
114
|
const ErrorBody = styled(ModalBody) `
|
|
33
115
|
max-width: 100%;
|
|
34
|
-
|
|
35
|
-
|
|
116
|
+
text-align: center;
|
|
117
|
+
color: var(--ck-body-color-muted);
|
|
118
|
+
line-height: 1.5;
|
|
119
|
+
margin-bottom: 8px;
|
|
120
|
+
`;
|
|
121
|
+
const ButtonContainer = styled.div `
|
|
122
|
+
margin-top: 24px;
|
|
123
|
+
width: 100%;
|
|
124
|
+
max-width: 280px;
|
|
125
|
+
display: flex;
|
|
126
|
+
flex-direction: column;
|
|
127
|
+
gap: 12px;
|
|
36
128
|
`;
|
|
37
129
|
const FailIcon = styled(AlertIcon) `
|
|
38
130
|
color: var(--ck-body-color-alert);
|
|
39
|
-
width:
|
|
40
|
-
height:
|
|
131
|
+
width: 48px;
|
|
132
|
+
height: 48px;
|
|
41
133
|
margin-top: auto;
|
|
42
|
-
margin-bottom:
|
|
134
|
+
margin-bottom: 8px;
|
|
43
135
|
`;
|
|
44
136
|
|
|
45
137
|
export { ErrorPage as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Error/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/Error/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { getChainExplorerTxUrl } from '@rozoai/intent-common';
|
|
3
|
-
import { useState,
|
|
3
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
4
4
|
import { useChainId, useSwitchChain } from 'wagmi';
|
|
5
5
|
import { ROUTES } from '../../../constants/routes.js';
|
|
6
6
|
import { useRozoPay } from '../../../hooks/useDaimoPay.js';
|
|
@@ -23,9 +23,15 @@ const PayWithToken = () => {
|
|
|
23
23
|
const { triggerResize, paymentState, setRoute, log } = usePayContext();
|
|
24
24
|
const { payWithToken, selectedTokenOption } = paymentState;
|
|
25
25
|
const { switchChainAsync } = useSwitchChain();
|
|
26
|
-
const { setPaymentUnpaid, rozoPaymentId, order, paymentState: rozoPaymentState, } = useRozoPay();
|
|
26
|
+
const { store, setPaymentUnpaid, rozoPaymentId, order, paymentState: rozoPaymentState, } = useRozoPay();
|
|
27
27
|
const [payState, setPayStateInner] = useState(PayState.RequestingPayment);
|
|
28
28
|
const [txURL, setTxURL] = useState();
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (rozoPaymentState === "error") {
|
|
31
|
+
setRoute(ROUTES.ERROR);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}, [rozoPaymentState]);
|
|
29
35
|
const setPayState = (state) => {
|
|
30
36
|
if (state === payState)
|
|
31
37
|
return;
|
|
@@ -71,7 +77,7 @@ const PayWithToken = () => {
|
|
|
71
77
|
if (currentRozoPaymentId && rozoPaymentState === "payment_started") {
|
|
72
78
|
await setPaymentUnpaid(currentRozoPaymentId);
|
|
73
79
|
}
|
|
74
|
-
const result = await payWithToken(option);
|
|
80
|
+
const result = await payWithToken(option, store);
|
|
75
81
|
setTxURL(getChainExplorerTxUrl(option.required.token.chainId, result.txHash));
|
|
76
82
|
if (result.success) {
|
|
77
83
|
setPayState(PayState.RequestSuccessful);
|
|
@@ -91,7 +97,7 @@ const PayWithToken = () => {
|
|
|
91
97
|
const switchSuccessful = await trySwitchingChain(option, true);
|
|
92
98
|
if (switchSuccessful) {
|
|
93
99
|
try {
|
|
94
|
-
const retryResult = await payWithToken(option);
|
|
100
|
+
const retryResult = await payWithToken(option, store);
|
|
95
101
|
setTxURL(getChainExplorerTxUrl(option.required.token.chainId, retryResult.txHash));
|
|
96
102
|
if (retryResult.success) {
|
|
97
103
|
setPayState(PayState.RequestSuccessful);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;AAmBA,IAAK,QAMJ,CAAA;AAND,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;AACzC,IAAA,QAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C,CAAA;AAC9C,IAAA,QAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;AACtC,IAAA,QAAA,CAAA,mBAAA,CAAA,GAAA,oBAAwC,CAAA;AACxC,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;AAClC,CAAC,EANI,QAAQ,KAAR,QAAQ,GAMZ,EAAA,CAAA,CAAA,CAAA;AAEK,MAAA,YAAY,GAAa,MAAK;AAClC,IAAA,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;AACnC,IAAA,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;AACvE,IAAA,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;AAC3D,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC;AAC9C,IAAA,MAAM,EACJ,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,YAAY,EAAE,gBAAgB,GAC/B,GAAG,UAAU,EAAE,CAAC;AAEjB,IAAA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAC3C,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/PayWithToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { useState,
|
|
2
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
3
3
|
import { usePayContext } from '../../../../hooks/usePayContext.js';
|
|
4
4
|
import { PageContent, ModalContent, ModalH1, Link } from '../../../Common/Modal/styles.js';
|
|
5
|
-
import { getChainExplorerTxUrl, rozoSolana } from '@rozoai/intent-common';
|
|
5
|
+
import { formatResponseToHydratedOrder, rozoSolanaUSDC, getChainExplorerTxUrl, rozoSolana } from '@rozoai/intent-common';
|
|
6
6
|
import { ROUTES } from '../../../../constants/routes.js';
|
|
7
|
-
import { SOLANA_USDC_ASSET_CODE } from '../../../../constants/rozoConfig.js';
|
|
8
7
|
import { useRozoPay } from '../../../../hooks/useDaimoPay.js';
|
|
9
8
|
import { useSolanaDestination } from '../../../../hooks/useSolanaDestination.js';
|
|
10
|
-
import { formatPaymentResponseDataToHydratedOrder } from '../../../../utils/bridge.js';
|
|
11
9
|
import { getSupportUrl } from '../../../../utils/supportUrl.js';
|
|
12
10
|
import Button from '../../../Common/Button/index.js';
|
|
13
11
|
import PaymentBreakdown from '../../../Common/PaymentBreakdown/index.js';
|
|
@@ -24,12 +22,18 @@ var PayState;
|
|
|
24
22
|
const PayWithSolanaToken = () => {
|
|
25
23
|
const { triggerResize, paymentState, setRoute, log } = usePayContext();
|
|
26
24
|
const { selectedSolanaTokenOption, payWithSolanaTokenRozo: payWithSolanaTokenImpl, payParams, rozoPaymentId, setRozoPaymentId, setTxHash, setPayId, createPayment, } = paymentState;
|
|
27
|
-
const { order, paymentState: state, setPaymentStarted, setPaymentUnpaid, setPaymentRozoCompleted, setPaymentCompleted, hydrateOrderRozo, } = useRozoPay();
|
|
25
|
+
const { store, order, paymentState: state, setPaymentStarted, setPaymentUnpaid, setPaymentRozoCompleted, setPaymentCompleted, hydrateOrderRozo, } = useRozoPay();
|
|
28
26
|
// Get the destination address and payment direction using our custom hook
|
|
29
27
|
const { destinationAddress } = useSolanaDestination(payParams);
|
|
30
|
-
const [payState, setPayStateInner] = useState(PayState.
|
|
28
|
+
const [payState, setPayStateInner] = useState(PayState.PreparingTransaction);
|
|
31
29
|
const [txURL, setTxURL] = useState();
|
|
32
30
|
const [isLoading, setIsLoading] = useState(true);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (state === "error") {
|
|
33
|
+
setRoute(ROUTES.ERROR);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}, [state]);
|
|
33
37
|
const setPayState = (state) => {
|
|
34
38
|
if (state === payState)
|
|
35
39
|
return;
|
|
@@ -60,9 +64,12 @@ const PayWithSolanaToken = () => {
|
|
|
60
64
|
hydratedOrder = order;
|
|
61
65
|
}
|
|
62
66
|
else if (needRozoPayment) {
|
|
63
|
-
const res = await createPayment(option);
|
|
67
|
+
const res = await createPayment(option, store);
|
|
68
|
+
if (!res) {
|
|
69
|
+
throw new Error("Failed to create Rozo payment");
|
|
70
|
+
}
|
|
64
71
|
paymentId = res.id;
|
|
65
|
-
hydratedOrder =
|
|
72
|
+
hydratedOrder = formatResponseToHydratedOrder(res);
|
|
66
73
|
}
|
|
67
74
|
else {
|
|
68
75
|
// Hydrate existing order
|
|
@@ -79,7 +86,7 @@ const PayWithSolanaToken = () => {
|
|
|
79
86
|
}
|
|
80
87
|
setPayState(PayState.RequestingPayment);
|
|
81
88
|
const paymentData = {
|
|
82
|
-
tokenAddress: required.token.token ??
|
|
89
|
+
tokenAddress: required.token.token ?? rozoSolanaUSDC.token,
|
|
83
90
|
destAddress: hydratedOrder.destFinalCall.to || destinationAddress,
|
|
84
91
|
usdcAmount: String(hydratedOrder.destFinalCallTokenAmount.usd),
|
|
85
92
|
solanaAmount: String(hydratedOrder.destFinalCallTokenAmount.usd),
|
|
@@ -107,6 +114,7 @@ const PayWithSolanaToken = () => {
|
|
|
107
114
|
}
|
|
108
115
|
}
|
|
109
116
|
catch (error) {
|
|
117
|
+
console.error("Failed to pay with solana token", error);
|
|
110
118
|
if (rozoPaymentId) {
|
|
111
119
|
setPaymentUnpaid(rozoPaymentId);
|
|
112
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Solana/PayWithSolanaToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Pages/Solana/PayWithSolanaToken/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|