@voyage_ai/v402-web-ts 0.2.1 → 1.0.0
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/README.md +8 -4
- package/dist/index.d.mts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.js +301 -133
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +303 -141
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.d.mts +140 -11
- package/dist/react/index.d.ts +140 -11
- package/dist/react/index.js +1717 -314
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +1734 -327
- package/dist/react/index.mjs.map +1 -1
- package/dist/react/styles.css +1 -1
- package/package.json +9 -2
package/dist/react/index.d.mts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { PaymentRequirements } from 'x402/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Common types for x402 SDK
|
|
6
|
-
* Framework-agnostic types that work across different wallet implementations
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
4
|
/**
|
|
10
5
|
* Network type enum - for wallet detection
|
|
11
6
|
*/
|
|
@@ -16,6 +11,23 @@ declare enum NetworkType {
|
|
|
16
11
|
UNKNOWN = "unknown"
|
|
17
12
|
}
|
|
18
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Wallet Discovery
|
|
16
|
+
*
|
|
17
|
+
* Discovers installed wallets using:
|
|
18
|
+
* - EIP-6963 for EVM wallets
|
|
19
|
+
* - Direct detection for Solana wallets
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
interface WalletInfo {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
icon: string;
|
|
26
|
+
networkType: NetworkType;
|
|
27
|
+
provider: any;
|
|
28
|
+
installed: boolean;
|
|
29
|
+
}
|
|
30
|
+
|
|
19
31
|
/**
|
|
20
32
|
* useWallet Hook (External Store)
|
|
21
33
|
*
|
|
@@ -28,10 +40,11 @@ interface UseWalletReturn {
|
|
|
28
40
|
networkType: NetworkType | null;
|
|
29
41
|
isConnecting: boolean;
|
|
30
42
|
error: string | null;
|
|
31
|
-
connect: (networkType: NetworkType) => Promise<void>;
|
|
43
|
+
connect: (networkType: NetworkType, forceSelect?: boolean) => Promise<void>;
|
|
44
|
+
connectWithWallet: (wallet: WalletInfo) => Promise<void>;
|
|
32
45
|
switchNetwork: (networkType: NetworkType) => Promise<void>;
|
|
33
46
|
ensureNetwork: (networkType: NetworkType) => Promise<void>;
|
|
34
|
-
disconnect: () => void
|
|
47
|
+
disconnect: () => Promise<void>;
|
|
35
48
|
clearError: () => void;
|
|
36
49
|
}
|
|
37
50
|
/**
|
|
@@ -209,6 +222,43 @@ interface UsePaymentInfoReturn {
|
|
|
209
222
|
*/
|
|
210
223
|
declare function usePaymentInfo(merchantId: string, endpoint?: string, additionalParams?: Record<string, any>): UsePaymentInfoReturn;
|
|
211
224
|
|
|
225
|
+
type ToastType = 'success' | 'error' | 'info';
|
|
226
|
+
interface ToastProps {
|
|
227
|
+
message: string;
|
|
228
|
+
type: ToastType;
|
|
229
|
+
onClose: () => void;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Toast 通知组件
|
|
233
|
+
* 使用 Portal 渲染到 document.body
|
|
234
|
+
*/
|
|
235
|
+
declare const Toast: React.FC<ToastProps>;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Toast 管理 Hook
|
|
239
|
+
* 提供显示 toast 通知的能力
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```tsx
|
|
243
|
+
* function MyComponent() {
|
|
244
|
+
* const { showToast, ToastContainer } = useToast();
|
|
245
|
+
*
|
|
246
|
+
* return (
|
|
247
|
+
* <div>
|
|
248
|
+
* <button onClick={() => showToast('Success!', 'success')}>
|
|
249
|
+
* Show Toast
|
|
250
|
+
* </button>
|
|
251
|
+
* <ToastContainer />
|
|
252
|
+
* </div>
|
|
253
|
+
* );
|
|
254
|
+
* }
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
declare const useToast: () => {
|
|
258
|
+
showToast: (message: string, type: ToastType) => void;
|
|
259
|
+
ToastContainer: () => React.JSX.Element;
|
|
260
|
+
};
|
|
261
|
+
|
|
212
262
|
/**
|
|
213
263
|
* WalletConnect Component
|
|
214
264
|
*
|
|
@@ -220,6 +270,8 @@ interface WalletConnectProps {
|
|
|
220
270
|
className?: string;
|
|
221
271
|
onConnect?: (address: string, networkType: NetworkType) => void;
|
|
222
272
|
onDisconnect?: () => void;
|
|
273
|
+
/** 是否显示切换钱包按钮,默认为 true */
|
|
274
|
+
showSwitchWallet?: boolean;
|
|
223
275
|
}
|
|
224
276
|
/**
|
|
225
277
|
* Pre-built wallet connection component
|
|
@@ -238,13 +290,54 @@ interface WalletConnectProps {
|
|
|
238
290
|
* }
|
|
239
291
|
* ```
|
|
240
292
|
*/
|
|
241
|
-
declare function WalletConnect({ supportedNetworks, className, onConnect, onDisconnect, }: WalletConnectProps): React.JSX.Element;
|
|
293
|
+
declare function WalletConnect({ supportedNetworks, className, onConnect, onDisconnect, showSwitchWallet, }: WalletConnectProps): React.JSX.Element;
|
|
242
294
|
|
|
243
|
-
|
|
295
|
+
/**
|
|
296
|
+
* WalletSelectModal Component
|
|
297
|
+
*
|
|
298
|
+
* Modal for selecting a wallet to connect
|
|
299
|
+
* Uses Portal to render outside parent container (avoids clipping)
|
|
300
|
+
*/
|
|
301
|
+
|
|
302
|
+
interface WalletSelectModalProps {
|
|
303
|
+
isOpen: boolean;
|
|
304
|
+
networkType: NetworkType;
|
|
305
|
+
onSelect: (wallet: WalletInfo) => void;
|
|
306
|
+
onClose: () => void;
|
|
307
|
+
}
|
|
308
|
+
declare function WalletSelectModal({ isOpen, networkType, onSelect, onClose, }: WalletSelectModalProps): React.JSX.Element | null;
|
|
309
|
+
|
|
310
|
+
interface HeaderInfo$1 {
|
|
244
311
|
title?: string;
|
|
245
312
|
subtitle?: string;
|
|
246
313
|
tooltipText?: string;
|
|
247
314
|
}
|
|
315
|
+
interface V402CheckoutProps$1 {
|
|
316
|
+
checkoutId: string;
|
|
317
|
+
headerInfo?: HeaderInfo$1;
|
|
318
|
+
isModal?: boolean;
|
|
319
|
+
onPaymentComplete?: (response: any) => void;
|
|
320
|
+
additionalParams?: Record<string, any>;
|
|
321
|
+
expectedNetwork?: NetworkType;
|
|
322
|
+
}
|
|
323
|
+
declare function V402Checkout({ checkoutId, headerInfo, isModal, onPaymentComplete, additionalParams, expectedNetwork, }: V402CheckoutProps$1): React.JSX.Element;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Checkout 组件通用类型定义
|
|
327
|
+
*/
|
|
328
|
+
interface HeaderInfo {
|
|
329
|
+
/** 商品/服务标题,显示在屏幕顶部 */
|
|
330
|
+
title?: string;
|
|
331
|
+
/** 品牌名称,传空字符串则不显示品牌区域 */
|
|
332
|
+
brandName?: string;
|
|
333
|
+
/** 发票标题,默认为 "V402 PAYMENT" */
|
|
334
|
+
receiptTitle?: string;
|
|
335
|
+
/** 悬浮在三个小点上显示的提示文本 */
|
|
336
|
+
tooltipText?: string;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* V402Checkout 组件 Props (V1)
|
|
340
|
+
*/
|
|
248
341
|
interface V402CheckoutProps {
|
|
249
342
|
checkoutId: string;
|
|
250
343
|
headerInfo?: HeaderInfo;
|
|
@@ -253,6 +346,42 @@ interface V402CheckoutProps {
|
|
|
253
346
|
additionalParams?: Record<string, any>;
|
|
254
347
|
expectedNetwork?: NetworkType;
|
|
255
348
|
}
|
|
256
|
-
|
|
349
|
+
/**
|
|
350
|
+
* V402CheckoutV2 组件 Props
|
|
351
|
+
* 简化版本,更直观的配置
|
|
352
|
+
*/
|
|
353
|
+
interface V402CheckoutV2Props {
|
|
354
|
+
/** Checkout ID */
|
|
355
|
+
checkoutId: string;
|
|
356
|
+
/** 头部信息配置 */
|
|
357
|
+
headerInfo?: HeaderInfo;
|
|
358
|
+
/** 主题颜色,默认为绿色 #84cc16 */
|
|
359
|
+
primaryColor?: string;
|
|
360
|
+
/** 是否作为 Modal 使用 */
|
|
361
|
+
isModal?: boolean;
|
|
362
|
+
/** 支付完成回调 */
|
|
363
|
+
onPaymentComplete?: (response: any) => void;
|
|
364
|
+
/** 额外参数,会透传给 checkout 配置的回调 */
|
|
365
|
+
additionalParams?: Record<string, any>;
|
|
366
|
+
/** 期望的网络类型 */
|
|
367
|
+
expectedNetwork?: NetworkType;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* V402 Checkout V2 组件
|
|
372
|
+
* 全新设计的支付终端风格界面
|
|
373
|
+
*/
|
|
374
|
+
declare function V402CheckoutV2({ checkoutId, headerInfo, primaryColor, isModal, onPaymentComplete, additionalParams, expectedNetwork, }: V402CheckoutV2Props): React.JSX.Element;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* CSS 动画定义
|
|
378
|
+
* 用于 checkout 组件的各种动画效果
|
|
379
|
+
*/
|
|
380
|
+
declare const checkoutAnimations = "\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n \n @keyframes receiptShake {\n 0%, 100% { transform: rotate(-0.3deg); }\n 50% { transform: rotate(0.3deg); }\n }\n \n @keyframes slideInRight {\n from {\n opacity: 0;\n transform: translateX(100px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n \n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n }\n";
|
|
381
|
+
/**
|
|
382
|
+
* 动画样式组件
|
|
383
|
+
* 用于注入 CSS 动画到页面
|
|
384
|
+
*/
|
|
385
|
+
declare const AnimationStyles: () => React.JSX.Element;
|
|
257
386
|
|
|
258
|
-
export { type UsePageNetworkOptions, type UsePaymentInfoReturn, type UsePaymentReturn, type UseWalletReturn, V402Checkout, type V402CheckoutProps, WalletConnect, type WalletConnectProps, usePageNetwork, usePayment, usePaymentInfo, useWallet };
|
|
387
|
+
export { AnimationStyles, Toast, type ToastProps, type ToastType, type UsePageNetworkOptions, type UsePaymentInfoReturn, type UsePaymentReturn, type UseWalletReturn, V402Checkout, type V402CheckoutProps, V402CheckoutV2, type V402CheckoutV2Props, WalletConnect, type WalletConnectProps, WalletSelectModal, type WalletSelectModalProps, checkoutAnimations, usePageNetwork, usePayment, usePaymentInfo, useToast, useWallet };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { PaymentRequirements } from 'x402/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Common types for x402 SDK
|
|
6
|
-
* Framework-agnostic types that work across different wallet implementations
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
4
|
/**
|
|
10
5
|
* Network type enum - for wallet detection
|
|
11
6
|
*/
|
|
@@ -16,6 +11,23 @@ declare enum NetworkType {
|
|
|
16
11
|
UNKNOWN = "unknown"
|
|
17
12
|
}
|
|
18
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Wallet Discovery
|
|
16
|
+
*
|
|
17
|
+
* Discovers installed wallets using:
|
|
18
|
+
* - EIP-6963 for EVM wallets
|
|
19
|
+
* - Direct detection for Solana wallets
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
interface WalletInfo {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
icon: string;
|
|
26
|
+
networkType: NetworkType;
|
|
27
|
+
provider: any;
|
|
28
|
+
installed: boolean;
|
|
29
|
+
}
|
|
30
|
+
|
|
19
31
|
/**
|
|
20
32
|
* useWallet Hook (External Store)
|
|
21
33
|
*
|
|
@@ -28,10 +40,11 @@ interface UseWalletReturn {
|
|
|
28
40
|
networkType: NetworkType | null;
|
|
29
41
|
isConnecting: boolean;
|
|
30
42
|
error: string | null;
|
|
31
|
-
connect: (networkType: NetworkType) => Promise<void>;
|
|
43
|
+
connect: (networkType: NetworkType, forceSelect?: boolean) => Promise<void>;
|
|
44
|
+
connectWithWallet: (wallet: WalletInfo) => Promise<void>;
|
|
32
45
|
switchNetwork: (networkType: NetworkType) => Promise<void>;
|
|
33
46
|
ensureNetwork: (networkType: NetworkType) => Promise<void>;
|
|
34
|
-
disconnect: () => void
|
|
47
|
+
disconnect: () => Promise<void>;
|
|
35
48
|
clearError: () => void;
|
|
36
49
|
}
|
|
37
50
|
/**
|
|
@@ -209,6 +222,43 @@ interface UsePaymentInfoReturn {
|
|
|
209
222
|
*/
|
|
210
223
|
declare function usePaymentInfo(merchantId: string, endpoint?: string, additionalParams?: Record<string, any>): UsePaymentInfoReturn;
|
|
211
224
|
|
|
225
|
+
type ToastType = 'success' | 'error' | 'info';
|
|
226
|
+
interface ToastProps {
|
|
227
|
+
message: string;
|
|
228
|
+
type: ToastType;
|
|
229
|
+
onClose: () => void;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Toast 通知组件
|
|
233
|
+
* 使用 Portal 渲染到 document.body
|
|
234
|
+
*/
|
|
235
|
+
declare const Toast: React.FC<ToastProps>;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Toast 管理 Hook
|
|
239
|
+
* 提供显示 toast 通知的能力
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```tsx
|
|
243
|
+
* function MyComponent() {
|
|
244
|
+
* const { showToast, ToastContainer } = useToast();
|
|
245
|
+
*
|
|
246
|
+
* return (
|
|
247
|
+
* <div>
|
|
248
|
+
* <button onClick={() => showToast('Success!', 'success')}>
|
|
249
|
+
* Show Toast
|
|
250
|
+
* </button>
|
|
251
|
+
* <ToastContainer />
|
|
252
|
+
* </div>
|
|
253
|
+
* );
|
|
254
|
+
* }
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
declare const useToast: () => {
|
|
258
|
+
showToast: (message: string, type: ToastType) => void;
|
|
259
|
+
ToastContainer: () => React.JSX.Element;
|
|
260
|
+
};
|
|
261
|
+
|
|
212
262
|
/**
|
|
213
263
|
* WalletConnect Component
|
|
214
264
|
*
|
|
@@ -220,6 +270,8 @@ interface WalletConnectProps {
|
|
|
220
270
|
className?: string;
|
|
221
271
|
onConnect?: (address: string, networkType: NetworkType) => void;
|
|
222
272
|
onDisconnect?: () => void;
|
|
273
|
+
/** 是否显示切换钱包按钮,默认为 true */
|
|
274
|
+
showSwitchWallet?: boolean;
|
|
223
275
|
}
|
|
224
276
|
/**
|
|
225
277
|
* Pre-built wallet connection component
|
|
@@ -238,13 +290,54 @@ interface WalletConnectProps {
|
|
|
238
290
|
* }
|
|
239
291
|
* ```
|
|
240
292
|
*/
|
|
241
|
-
declare function WalletConnect({ supportedNetworks, className, onConnect, onDisconnect, }: WalletConnectProps): React.JSX.Element;
|
|
293
|
+
declare function WalletConnect({ supportedNetworks, className, onConnect, onDisconnect, showSwitchWallet, }: WalletConnectProps): React.JSX.Element;
|
|
242
294
|
|
|
243
|
-
|
|
295
|
+
/**
|
|
296
|
+
* WalletSelectModal Component
|
|
297
|
+
*
|
|
298
|
+
* Modal for selecting a wallet to connect
|
|
299
|
+
* Uses Portal to render outside parent container (avoids clipping)
|
|
300
|
+
*/
|
|
301
|
+
|
|
302
|
+
interface WalletSelectModalProps {
|
|
303
|
+
isOpen: boolean;
|
|
304
|
+
networkType: NetworkType;
|
|
305
|
+
onSelect: (wallet: WalletInfo) => void;
|
|
306
|
+
onClose: () => void;
|
|
307
|
+
}
|
|
308
|
+
declare function WalletSelectModal({ isOpen, networkType, onSelect, onClose, }: WalletSelectModalProps): React.JSX.Element | null;
|
|
309
|
+
|
|
310
|
+
interface HeaderInfo$1 {
|
|
244
311
|
title?: string;
|
|
245
312
|
subtitle?: string;
|
|
246
313
|
tooltipText?: string;
|
|
247
314
|
}
|
|
315
|
+
interface V402CheckoutProps$1 {
|
|
316
|
+
checkoutId: string;
|
|
317
|
+
headerInfo?: HeaderInfo$1;
|
|
318
|
+
isModal?: boolean;
|
|
319
|
+
onPaymentComplete?: (response: any) => void;
|
|
320
|
+
additionalParams?: Record<string, any>;
|
|
321
|
+
expectedNetwork?: NetworkType;
|
|
322
|
+
}
|
|
323
|
+
declare function V402Checkout({ checkoutId, headerInfo, isModal, onPaymentComplete, additionalParams, expectedNetwork, }: V402CheckoutProps$1): React.JSX.Element;
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Checkout 组件通用类型定义
|
|
327
|
+
*/
|
|
328
|
+
interface HeaderInfo {
|
|
329
|
+
/** 商品/服务标题,显示在屏幕顶部 */
|
|
330
|
+
title?: string;
|
|
331
|
+
/** 品牌名称,传空字符串则不显示品牌区域 */
|
|
332
|
+
brandName?: string;
|
|
333
|
+
/** 发票标题,默认为 "V402 PAYMENT" */
|
|
334
|
+
receiptTitle?: string;
|
|
335
|
+
/** 悬浮在三个小点上显示的提示文本 */
|
|
336
|
+
tooltipText?: string;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* V402Checkout 组件 Props (V1)
|
|
340
|
+
*/
|
|
248
341
|
interface V402CheckoutProps {
|
|
249
342
|
checkoutId: string;
|
|
250
343
|
headerInfo?: HeaderInfo;
|
|
@@ -253,6 +346,42 @@ interface V402CheckoutProps {
|
|
|
253
346
|
additionalParams?: Record<string, any>;
|
|
254
347
|
expectedNetwork?: NetworkType;
|
|
255
348
|
}
|
|
256
|
-
|
|
349
|
+
/**
|
|
350
|
+
* V402CheckoutV2 组件 Props
|
|
351
|
+
* 简化版本,更直观的配置
|
|
352
|
+
*/
|
|
353
|
+
interface V402CheckoutV2Props {
|
|
354
|
+
/** Checkout ID */
|
|
355
|
+
checkoutId: string;
|
|
356
|
+
/** 头部信息配置 */
|
|
357
|
+
headerInfo?: HeaderInfo;
|
|
358
|
+
/** 主题颜色,默认为绿色 #84cc16 */
|
|
359
|
+
primaryColor?: string;
|
|
360
|
+
/** 是否作为 Modal 使用 */
|
|
361
|
+
isModal?: boolean;
|
|
362
|
+
/** 支付完成回调 */
|
|
363
|
+
onPaymentComplete?: (response: any) => void;
|
|
364
|
+
/** 额外参数,会透传给 checkout 配置的回调 */
|
|
365
|
+
additionalParams?: Record<string, any>;
|
|
366
|
+
/** 期望的网络类型 */
|
|
367
|
+
expectedNetwork?: NetworkType;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* V402 Checkout V2 组件
|
|
372
|
+
* 全新设计的支付终端风格界面
|
|
373
|
+
*/
|
|
374
|
+
declare function V402CheckoutV2({ checkoutId, headerInfo, primaryColor, isModal, onPaymentComplete, additionalParams, expectedNetwork, }: V402CheckoutV2Props): React.JSX.Element;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* CSS 动画定义
|
|
378
|
+
* 用于 checkout 组件的各种动画效果
|
|
379
|
+
*/
|
|
380
|
+
declare const checkoutAnimations = "\n @keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n \n @keyframes receiptShake {\n 0%, 100% { transform: rotate(-0.3deg); }\n 50% { transform: rotate(0.3deg); }\n }\n \n @keyframes slideInRight {\n from {\n opacity: 0;\n transform: translateX(100px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n \n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n }\n";
|
|
381
|
+
/**
|
|
382
|
+
* 动画样式组件
|
|
383
|
+
* 用于注入 CSS 动画到页面
|
|
384
|
+
*/
|
|
385
|
+
declare const AnimationStyles: () => React.JSX.Element;
|
|
257
386
|
|
|
258
|
-
export { type UsePageNetworkOptions, type UsePaymentInfoReturn, type UsePaymentReturn, type UseWalletReturn, V402Checkout, type V402CheckoutProps, WalletConnect, type WalletConnectProps, usePageNetwork, usePayment, usePaymentInfo, useWallet };
|
|
387
|
+
export { AnimationStyles, Toast, type ToastProps, type ToastType, type UsePageNetworkOptions, type UsePaymentInfoReturn, type UsePaymentReturn, type UseWalletReturn, V402Checkout, type V402CheckoutProps, V402CheckoutV2, type V402CheckoutV2Props, WalletConnect, type WalletConnectProps, WalletSelectModal, type WalletSelectModalProps, checkoutAnimations, usePageNetwork, usePayment, usePaymentInfo, useToast, useWallet };
|