@rozoai/intent-pay 0.0.21-beta.2 → 0.0.21-beta.3
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/hooks/useExternalPaymentOptions.d.ts +1 -1
- package/build/package.json.js +1 -1
- package/build/src/components/DaimoPayButton/index.js +94 -30
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/Pages/SelectToken/index.js.map +1 -1
- package/build/src/hooks/useExternalPaymentOptions.js +9 -7
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExternalPaymentOptionMetadata, PlatformType, RozoPayOrderMode } from "@rozoai/intent-common";
|
|
2
2
|
import { TrpcClient } from "../utils/trpc";
|
|
3
3
|
export declare function useExternalPaymentOptions({ trpc, filterIds, platform, usdRequired, mode, }: {
|
|
4
4
|
trpc: TrpcClient;
|
package/build/package.json.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useEffect, useCallback
|
|
2
|
+
import { useMemo, useRef, useEffect, useCallback } from 'react';
|
|
3
3
|
import { usePayContext } from '../../hooks/usePayContext.js';
|
|
4
4
|
import { TextContainer } from './styles.js';
|
|
5
5
|
import { getOrderSourceChainId, RozoPayEventType, writeRozoPayOrderID, getRozoPayOrderView, getOrderDestChainId, assertNotNull } from '@rozoai/intent-common';
|
|
@@ -21,42 +21,87 @@ function RozoPayButton(props) {
|
|
|
21
21
|
/** Like RozoPayButton, but with custom styling. */
|
|
22
22
|
function RozoPayButtonCustom(props) {
|
|
23
23
|
const context = usePayContext();
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
24
|
+
// Extract payment configuration from props
|
|
25
|
+
const { payParams, payId } = useMemo(() => {
|
|
26
|
+
if ("appId" in props) {
|
|
27
|
+
const { appId, toChain, toAddress, toStellarAddress, toSolanaAddress, toToken, toUnits, toCallData, intent, paymentOptions, preferredChains, preferredTokens, evmChains, externalId, metadata, refundAddress, } = props;
|
|
28
|
+
return {
|
|
29
|
+
payParams: {
|
|
30
|
+
appId,
|
|
31
|
+
toChain,
|
|
32
|
+
toAddress,
|
|
33
|
+
toStellarAddress,
|
|
34
|
+
toSolanaAddress,
|
|
35
|
+
toToken,
|
|
36
|
+
toUnits,
|
|
37
|
+
toCallData,
|
|
38
|
+
intent,
|
|
39
|
+
paymentOptions,
|
|
40
|
+
preferredChains,
|
|
41
|
+
preferredTokens,
|
|
42
|
+
evmChains,
|
|
43
|
+
externalId,
|
|
44
|
+
metadata,
|
|
45
|
+
refundAddress,
|
|
46
|
+
},
|
|
47
|
+
payId: null,
|
|
48
|
+
};
|
|
44
49
|
}
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
if ("payId" in props) {
|
|
51
|
+
return {
|
|
52
|
+
payParams: null,
|
|
53
|
+
payId: props.payId,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return { payParams: null, payId: null };
|
|
57
|
+
}, [
|
|
58
|
+
"appId" in props,
|
|
59
|
+
"payId" in props,
|
|
60
|
+
// Only include relevant props based on mode
|
|
61
|
+
...("appId" in props
|
|
62
|
+
? [
|
|
63
|
+
props.appId,
|
|
64
|
+
props.toChain,
|
|
65
|
+
props.toAddress,
|
|
66
|
+
props.toStellarAddress,
|
|
67
|
+
props.toSolanaAddress,
|
|
68
|
+
props.toToken,
|
|
69
|
+
props.toUnits,
|
|
70
|
+
props.toCallData,
|
|
71
|
+
props.intent,
|
|
72
|
+
props.paymentOptions,
|
|
73
|
+
props.preferredChains,
|
|
74
|
+
props.preferredTokens,
|
|
75
|
+
props.evmChains,
|
|
76
|
+
props.externalId,
|
|
77
|
+
props.metadata,
|
|
78
|
+
props.refundAddress,
|
|
79
|
+
]
|
|
80
|
+
: []),
|
|
81
|
+
...("payId" in props ? [props.payId] : []),
|
|
82
|
+
]);
|
|
47
83
|
const { paymentState, log } = context;
|
|
48
84
|
const { order, paymentState: payState, rozoPaymentId, paymentRozoCompleted, } = useRozoPay();
|
|
49
|
-
//
|
|
85
|
+
// Track previous values to prevent unnecessary API calls
|
|
86
|
+
const prevPayIdRef = useRef(null);
|
|
87
|
+
const prevPayParamsRef = useRef(null);
|
|
88
|
+
// Set the payId or payParams when they change
|
|
50
89
|
useEffect(() => {
|
|
51
|
-
|
|
90
|
+
const payIdChanged = payId !== prevPayIdRef.current;
|
|
91
|
+
const payParamsChanged = payParams !== prevPayParamsRef.current;
|
|
92
|
+
if (payIdChanged && payId != null) {
|
|
93
|
+
prevPayIdRef.current = payId;
|
|
94
|
+
prevPayParamsRef.current = null; // Reset when switching modes
|
|
52
95
|
paymentState.setPayId(payId);
|
|
53
96
|
}
|
|
54
|
-
else if (payParams != null) {
|
|
97
|
+
else if (payParamsChanged && payParams != null) {
|
|
98
|
+
prevPayParamsRef.current = payParams;
|
|
99
|
+
prevPayIdRef.current = null; // Reset when switching modes
|
|
55
100
|
paymentState.setPayParams(payParams);
|
|
56
101
|
}
|
|
57
|
-
paymentState
|
|
102
|
+
// Note: paymentState is not stable/memoized, so we don't include it as a dependency
|
|
58
103
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
|
-
}, [payId,
|
|
104
|
+
}, [payId, payParams]);
|
|
60
105
|
// Set the confirmation message
|
|
61
106
|
const { setConfirmationMessage } = context;
|
|
62
107
|
useEffect(() => {
|
|
@@ -122,11 +167,30 @@ function RozoPayButtonCustom(props) {
|
|
|
122
167
|
});
|
|
123
168
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
124
169
|
}, [order, payState]);
|
|
170
|
+
// Type guard to check if order is hydrated
|
|
171
|
+
const isHydratedOrder = (order) => {
|
|
172
|
+
return order && typeof order === "object" && "intentAddr" in order;
|
|
173
|
+
};
|
|
174
|
+
// Helper function to safely extract transaction hash from order
|
|
175
|
+
const getDestinationTxHash = (order) => {
|
|
176
|
+
// Only proceed if order is hydrated (where tx hashes would exist)
|
|
177
|
+
if (!isHydratedOrder(order)) {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
// Check for destFastFinishTxHash first (preferred)
|
|
181
|
+
if ("destFastFinishTxHash" in order && order.destFastFinishTxHash) {
|
|
182
|
+
return order.destFastFinishTxHash;
|
|
183
|
+
}
|
|
184
|
+
// Fallback to destClaimTxHash
|
|
185
|
+
if ("destClaimTxHash" in order && order.destClaimTxHash) {
|
|
186
|
+
return order.destClaimTxHash;
|
|
187
|
+
}
|
|
188
|
+
return null;
|
|
189
|
+
};
|
|
125
190
|
// Emit onPaymentComplete or onPaymentBounced handler when payment state
|
|
126
191
|
// changes to payment_completed or payment_bounced
|
|
127
192
|
const sentComplete = useRef(false);
|
|
128
193
|
useEffect(() => {
|
|
129
|
-
console.log({ paymentRozoCompleted, order, rozoPaymentId });
|
|
130
194
|
if (sentComplete.current)
|
|
131
195
|
return;
|
|
132
196
|
if (!paymentRozoCompleted) {
|
|
@@ -143,7 +207,7 @@ function RozoPayButtonCustom(props) {
|
|
|
143
207
|
type: eventType,
|
|
144
208
|
paymentId: writeRozoPayOrderID(order.id),
|
|
145
209
|
chainId: getOrderDestChainId(order),
|
|
146
|
-
txHash: assertNotNull(order
|
|
210
|
+
txHash: assertNotNull(getDestinationTxHash(order), `[PAY BUTTON] dest tx hash null on order ${order.id} when intent status is ${order.intentStatus}`),
|
|
147
211
|
payment: getRozoPayOrderView(order),
|
|
148
212
|
rozoPaymentId: rozoPaymentId ?? order.externalId,
|
|
149
213
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/DaimoPayButton/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/DaimoPayButton/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectToken/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;AAac,SAAU,WAAW,GAAA;AACjC,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IACnC,MAAM,cAAc,GAClB,QAAQ,IAAI,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC;AAE5D,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;AACzC,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;AAErD,IAAA,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;AAClC,IAAA,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,cAAc,IAAI,cAAc,CAAC;IAErD,MAAM,4BAA4B,GAChC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,KAAK,CAAC;IAEhD,QACEA,KAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACVC,IAAC,WAAW,EAAA,EAAC,QAAQ,EAAA,IAAA,EAAC,IAAI,EAAE,SAAS,EAAI,CAAA,EACzCA,GAAC,CAAA,WAAW,EACV,EAAA,iBAAiB,EAAE,CAAC,EACpB,SAAS,EAAE,SAAS;;AAEpB,gBAAA,OAAO,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectToken/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExternalPaymentOptions } from '@rozoai/intent-common';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
2
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
3
3
|
|
|
4
4
|
const DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(ExternalPaymentOptions).filter((opt) =>
|
|
5
5
|
// Solana and ExternalChains are handled in the SelectMethod component.
|
|
@@ -10,6 +10,13 @@ opt !== ExternalPaymentOptions.Solana &&
|
|
|
10
10
|
function useExternalPaymentOptions({ trpc, filterIds, platform, usdRequired, mode, }) {
|
|
11
11
|
const [options, setOptions] = useState(new Map());
|
|
12
12
|
const [loading, setLoading] = useState(false);
|
|
13
|
+
// Create stable filterIds dependency that only changes when content actually changes
|
|
14
|
+
const stableFilterIds = useMemo(() => {
|
|
15
|
+
if (!filterIds)
|
|
16
|
+
return null;
|
|
17
|
+
// Sort to ensure consistent comparison
|
|
18
|
+
return [...filterIds].sort();
|
|
19
|
+
}, [filterIds]);
|
|
13
20
|
useEffect(() => {
|
|
14
21
|
const refreshExternalPaymentOptions = async (usd, mode) => {
|
|
15
22
|
if (!platform)
|
|
@@ -48,12 +55,7 @@ function useExternalPaymentOptions({ trpc, filterIds, platform, usdRequired, mod
|
|
|
48
55
|
if (usdRequired != null && mode != null) {
|
|
49
56
|
refreshExternalPaymentOptions(usdRequired, mode);
|
|
50
57
|
}
|
|
51
|
-
|
|
52
|
-
// Notice the load-bearing JSON.stringify() to prevent a visible infinite
|
|
53
|
-
// refresh glitch on the SelectMethod screen. Replace this useEffect().
|
|
54
|
-
//
|
|
55
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
-
}, [usdRequired, JSON.stringify(filterIds), platform, mode, trpc]);
|
|
58
|
+
}, [usdRequired, stableFilterIds, platform, mode, trpc]);
|
|
57
59
|
return { options, loading };
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -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;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;
|
|
1
|
+
{"version":3,"file":"useExternalPaymentOptions.js","sources":["../../../src/hooks/useExternalPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|