@rozoai/intent-pay 0.1.7-beta.7 → 0.1.7-beta.8
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.
|
@@ -19,7 +19,7 @@ import { TrpcClient } from "../utils/trpc";
|
|
|
19
19
|
* Note: The SDK supports many more chains/tokens (see pay-common/src/chain.ts and token.ts)
|
|
20
20
|
* but wallet payment options are currently filtered to the above for optimal user experience.
|
|
21
21
|
*/
|
|
22
|
-
export declare function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDepositFlow, payParams, log, }: {
|
|
22
|
+
export declare function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDepositFlow, payParams, log: _log, }: {
|
|
23
23
|
trpc: TrpcClient;
|
|
24
24
|
address: string | undefined;
|
|
25
25
|
usdRequired: number | undefined;
|
package/build/package.json.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
2
2
|
import { DEFAULT_ROZO_APP_ID } from '../constants/rozoConfig.js';
|
|
3
|
+
import { shouldSkipRefresh, setupRefreshState, createRefreshFunction } from './refreshUtils.js';
|
|
3
4
|
import { useSupportedChains } from './useSupportedChains.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -21,11 +22,11 @@ import { useSupportedChains } from './useSupportedChains.js';
|
|
|
21
22
|
* but wallet payment options are currently filtered to the above for optimal user experience.
|
|
22
23
|
*/
|
|
23
24
|
// SUPPORTED CHAINS: Only these chains are currently active in wallet payment options
|
|
24
|
-
function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDepositFlow, payParams, log, }) {
|
|
25
|
+
function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDepositFlow, payParams, log: _log, }) {
|
|
25
26
|
const [options, setOptions] = useState(null);
|
|
26
27
|
const [isLoading, setIsLoading] = useState(false);
|
|
27
28
|
// Track the last executed parameters to prevent duplicate API calls
|
|
28
|
-
useRef(null);
|
|
29
|
+
const lastExecutedParams = useRef(null);
|
|
29
30
|
// Track if we're currently making an API call to prevent concurrent requests
|
|
30
31
|
const isApiCallInProgress = useRef(false);
|
|
31
32
|
// Extract appId to avoid payParams object recreation causing re-runs
|
|
@@ -127,6 +128,7 @@ function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDe
|
|
|
127
128
|
isApiCallInProgress.current = false;
|
|
128
129
|
setIsLoading(false);
|
|
129
130
|
}
|
|
131
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
130
132
|
}, [
|
|
131
133
|
trpc,
|
|
132
134
|
address,
|
|
@@ -137,27 +139,69 @@ function useWalletPaymentOptions({ trpc, address, usdRequired, destChainId, isDe
|
|
|
137
139
|
memoizedPreferredTokens,
|
|
138
140
|
stableAppId,
|
|
139
141
|
// evmChainIds is derived from chains and is stable, so we don't need it in deps
|
|
140
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
141
142
|
]);
|
|
142
|
-
//
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
// Create refresh function using shared utility
|
|
144
|
+
const refreshOptions = createRefreshFunction(fetchBalances, {
|
|
145
|
+
lastExecutedParams,
|
|
146
|
+
isApiCallInProgress,
|
|
147
|
+
});
|
|
148
|
+
useEffect(() => {
|
|
149
|
+
if (address == null ||
|
|
150
|
+
usdRequired == null ||
|
|
151
|
+
destChainId == null ||
|
|
152
|
+
stableAppId == null)
|
|
153
|
+
return;
|
|
154
|
+
const fullParamsKey = JSON.stringify({
|
|
155
|
+
address,
|
|
156
|
+
usdRequired,
|
|
157
|
+
destChainId,
|
|
158
|
+
isDepositFlow,
|
|
159
|
+
stableAppId,
|
|
160
|
+
memoizedPreferredChains,
|
|
161
|
+
memoizedPreferredTokens,
|
|
162
|
+
});
|
|
163
|
+
// Skip if we've already executed with these exact parameters
|
|
164
|
+
if (shouldSkipRefresh(fullParamsKey, {
|
|
165
|
+
lastExecutedParams,
|
|
166
|
+
isApiCallInProgress,
|
|
167
|
+
})) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
// Set up refresh state
|
|
171
|
+
setupRefreshState(fullParamsKey, {
|
|
172
|
+
lastExecutedParams,
|
|
173
|
+
isApiCallInProgress,
|
|
174
|
+
});
|
|
175
|
+
}, [
|
|
176
|
+
address,
|
|
177
|
+
usdRequired,
|
|
178
|
+
destChainId,
|
|
179
|
+
isDepositFlow,
|
|
180
|
+
stableAppId,
|
|
181
|
+
memoizedPreferredChains,
|
|
182
|
+
memoizedPreferredTokens,
|
|
183
|
+
]);
|
|
147
184
|
// Initial fetch when hook mounts with valid parameters or when key parameters change
|
|
148
185
|
useEffect(() => {
|
|
149
186
|
if (address != null &&
|
|
150
187
|
usdRequired != null &&
|
|
151
188
|
destChainId != null &&
|
|
152
189
|
stableAppId != null) {
|
|
153
|
-
|
|
190
|
+
refreshOptions();
|
|
154
191
|
}
|
|
155
192
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
156
|
-
}, [
|
|
193
|
+
}, [
|
|
194
|
+
address,
|
|
195
|
+
usdRequired,
|
|
196
|
+
destChainId,
|
|
197
|
+
stableAppId,
|
|
198
|
+
memoizedPreferredChains,
|
|
199
|
+
memoizedPreferredTokens,
|
|
200
|
+
]);
|
|
157
201
|
return {
|
|
158
202
|
options: filteredOptions,
|
|
159
203
|
isLoading,
|
|
160
|
-
refreshOptions
|
|
204
|
+
refreshOptions,
|
|
161
205
|
};
|
|
162
206
|
}
|
|
163
207
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletPaymentOptions.js","sources":["../../../src/hooks/useWalletPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useWalletPaymentOptions.js","sources":["../../../src/hooks/useWalletPaymentOptions.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|