uvd-x402-sdk 2.15.2 → 2.16.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.
Files changed (77) hide show
  1. package/README.md +247 -6
  2. package/dist/adapters/index.d.mts +1 -1
  3. package/dist/adapters/index.d.ts +1 -1
  4. package/dist/adapters/index.js +82 -1
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/adapters/index.mjs +82 -1
  7. package/dist/adapters/index.mjs.map +1 -1
  8. package/dist/backend/index.d.mts +1 -1
  9. package/dist/backend/index.d.ts +1 -1
  10. package/dist/backend/index.js +82 -1
  11. package/dist/backend/index.js.map +1 -1
  12. package/dist/backend/index.mjs +82 -1
  13. package/dist/backend/index.mjs.map +1 -1
  14. package/dist/{index-Cwi_VM05.d.ts → index-B2cQzyKa.d.ts} +10 -2
  15. package/dist/{index-BYIugZlE.d.mts → index-BE5cH7oS.d.mts} +48 -5
  16. package/dist/{index-BYIugZlE.d.ts → index-BE5cH7oS.d.ts} +48 -5
  17. package/dist/{index-D3PO3jLW.d.mts → index-oE4dj05k.d.mts} +10 -2
  18. package/dist/index.d.mts +11 -2
  19. package/dist/index.d.ts +11 -2
  20. package/dist/index.js +111 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +110 -3
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/providers/algorand/index.d.mts +1 -1
  25. package/dist/providers/algorand/index.d.ts +1 -1
  26. package/dist/providers/algorand/index.js +95 -2
  27. package/dist/providers/algorand/index.js.map +1 -1
  28. package/dist/providers/algorand/index.mjs +95 -2
  29. package/dist/providers/algorand/index.mjs.map +1 -1
  30. package/dist/providers/evm/index.d.mts +1 -1
  31. package/dist/providers/evm/index.d.ts +1 -1
  32. package/dist/providers/evm/index.js +82 -1
  33. package/dist/providers/evm/index.js.map +1 -1
  34. package/dist/providers/evm/index.mjs +82 -1
  35. package/dist/providers/evm/index.mjs.map +1 -1
  36. package/dist/providers/near/index.d.mts +1 -1
  37. package/dist/providers/near/index.d.ts +1 -1
  38. package/dist/providers/near/index.js +82 -1
  39. package/dist/providers/near/index.js.map +1 -1
  40. package/dist/providers/near/index.mjs +82 -1
  41. package/dist/providers/near/index.mjs.map +1 -1
  42. package/dist/providers/solana/index.d.mts +1 -1
  43. package/dist/providers/solana/index.d.ts +1 -1
  44. package/dist/providers/solana/index.js +82 -1
  45. package/dist/providers/solana/index.js.map +1 -1
  46. package/dist/providers/solana/index.mjs +82 -1
  47. package/dist/providers/solana/index.mjs.map +1 -1
  48. package/dist/providers/stellar/index.d.mts +1 -1
  49. package/dist/providers/stellar/index.d.ts +1 -1
  50. package/dist/providers/stellar/index.js +82 -1
  51. package/dist/providers/stellar/index.js.map +1 -1
  52. package/dist/providers/stellar/index.mjs +82 -1
  53. package/dist/providers/stellar/index.mjs.map +1 -1
  54. package/dist/providers/sui/index.d.mts +105 -0
  55. package/dist/providers/sui/index.d.ts +105 -0
  56. package/dist/providers/sui/index.js +1027 -0
  57. package/dist/providers/sui/index.js.map +1 -0
  58. package/dist/providers/sui/index.mjs +1022 -0
  59. package/dist/providers/sui/index.mjs.map +1 -0
  60. package/dist/react/index.d.mts +3 -3
  61. package/dist/react/index.d.ts +3 -3
  62. package/dist/react/index.js +82 -1
  63. package/dist/react/index.js.map +1 -1
  64. package/dist/react/index.mjs +82 -1
  65. package/dist/react/index.mjs.map +1 -1
  66. package/dist/utils/index.d.mts +1 -1
  67. package/dist/utils/index.d.ts +1 -1
  68. package/dist/utils/index.js +82 -1
  69. package/dist/utils/index.js.map +1 -1
  70. package/dist/utils/index.mjs +82 -1
  71. package/dist/utils/index.mjs.map +1 -1
  72. package/package.json +15 -4
  73. package/src/chains/index.ts +98 -0
  74. package/src/facilitator.ts +18 -0
  75. package/src/index.ts +20 -1
  76. package/src/providers/sui/index.ts +431 -0
  77. package/src/types/index.ts +55 -3
@@ -0,0 +1,105 @@
1
+ import { c as WalletAdapter, C as ChainConfig, P as PaymentInfo, m as X402Version } from '../../index-BE5cH7oS.mjs';
2
+
3
+ /**
4
+ * uvd-x402-sdk - Sui Provider
5
+ *
6
+ * Provides wallet connection and payment creation for Sui blockchain.
7
+ * Uses sponsored transactions where the facilitator pays gas fees.
8
+ *
9
+ * @example Sui Mainnet
10
+ * ```ts
11
+ * import { SuiProvider } from 'uvd-x402-sdk/sui';
12
+ * import { getChainByName } from 'uvd-x402-sdk';
13
+ *
14
+ * const sui = new SuiProvider();
15
+ *
16
+ * // Connect
17
+ * const address = await sui.connect();
18
+ *
19
+ * // Create payment
20
+ * const chainConfig = getChainByName('sui')!;
21
+ * const paymentPayload = await sui.signPayment(paymentInfo, chainConfig);
22
+ * const header = sui.encodePaymentHeader(paymentPayload, chainConfig);
23
+ * ```
24
+ *
25
+ * @example Sui Testnet
26
+ * ```ts
27
+ * import { SuiProvider } from 'uvd-x402-sdk/sui';
28
+ * import { getChainByName } from 'uvd-x402-sdk';
29
+ *
30
+ * const sui = new SuiProvider();
31
+ *
32
+ * // Connect
33
+ * const address = await sui.connect();
34
+ *
35
+ * // Create testnet payment
36
+ * const chainConfig = getChainByName('sui-testnet')!;
37
+ * const paymentPayload = await sui.signPayment(paymentInfo, chainConfig);
38
+ * const header = sui.encodePaymentHeader(paymentPayload, chainConfig);
39
+ * ```
40
+ */
41
+
42
+ /**
43
+ * SuiProvider - Wallet adapter for Sui blockchain
44
+ *
45
+ * Uses sponsored transactions where:
46
+ * 1. User creates a programmable transaction for token transfer
47
+ * 2. User signs the transaction
48
+ * 3. Facilitator sponsors (pays gas) and submits
49
+ */
50
+ declare class SuiProvider implements WalletAdapter {
51
+ readonly id = "sui-wallet";
52
+ readonly name = "Sui Wallet";
53
+ readonly networkType: "sui";
54
+ private provider;
55
+ private clients;
56
+ private address;
57
+ /**
58
+ * Check if Sui wallet is available
59
+ */
60
+ isAvailable(): boolean;
61
+ /**
62
+ * Connect to Sui wallet
63
+ */
64
+ connect(): Promise<string>;
65
+ /**
66
+ * Disconnect from Sui wallet
67
+ */
68
+ disconnect(): Promise<void>;
69
+ /**
70
+ * Get current address
71
+ */
72
+ getAddress(): string | null;
73
+ /**
74
+ * Get USDC balance
75
+ */
76
+ getBalance(chainConfig: ChainConfig): Promise<string>;
77
+ /**
78
+ * Create Sui payment (sponsored transaction)
79
+ *
80
+ * Transaction structure:
81
+ * 1. User creates a programmable transaction for USDC transfer
82
+ * 2. Transaction is signed by the user
83
+ * 3. Facilitator sponsors the transaction (pays gas in SUI)
84
+ * 4. Facilitator adds sponsor signature and submits
85
+ *
86
+ * User pays: ZERO SUI
87
+ */
88
+ signPayment(paymentInfo: PaymentInfo, chainConfig: ChainConfig): Promise<string>;
89
+ /**
90
+ * Encode Sui payment as X-PAYMENT header
91
+ *
92
+ * @param paymentPayload - JSON-encoded payment payload from signPayment()
93
+ * @param chainConfig - Chain configuration (optional, defaults to 'sui')
94
+ * @param version - x402 protocol version (1 or 2, defaults to 1)
95
+ * @returns Base64-encoded X-PAYMENT header value
96
+ */
97
+ encodePaymentHeader(paymentPayload: string, chainConfig?: ChainConfig, version?: X402Version): string;
98
+ private getSuiWalletProvider;
99
+ /**
100
+ * Get or create a Sui client for a specific chain
101
+ */
102
+ private getClient;
103
+ }
104
+
105
+ export { SuiProvider, SuiProvider as default };
@@ -0,0 +1,105 @@
1
+ import { c as WalletAdapter, C as ChainConfig, P as PaymentInfo, m as X402Version } from '../../index-BE5cH7oS.js';
2
+
3
+ /**
4
+ * uvd-x402-sdk - Sui Provider
5
+ *
6
+ * Provides wallet connection and payment creation for Sui blockchain.
7
+ * Uses sponsored transactions where the facilitator pays gas fees.
8
+ *
9
+ * @example Sui Mainnet
10
+ * ```ts
11
+ * import { SuiProvider } from 'uvd-x402-sdk/sui';
12
+ * import { getChainByName } from 'uvd-x402-sdk';
13
+ *
14
+ * const sui = new SuiProvider();
15
+ *
16
+ * // Connect
17
+ * const address = await sui.connect();
18
+ *
19
+ * // Create payment
20
+ * const chainConfig = getChainByName('sui')!;
21
+ * const paymentPayload = await sui.signPayment(paymentInfo, chainConfig);
22
+ * const header = sui.encodePaymentHeader(paymentPayload, chainConfig);
23
+ * ```
24
+ *
25
+ * @example Sui Testnet
26
+ * ```ts
27
+ * import { SuiProvider } from 'uvd-x402-sdk/sui';
28
+ * import { getChainByName } from 'uvd-x402-sdk';
29
+ *
30
+ * const sui = new SuiProvider();
31
+ *
32
+ * // Connect
33
+ * const address = await sui.connect();
34
+ *
35
+ * // Create testnet payment
36
+ * const chainConfig = getChainByName('sui-testnet')!;
37
+ * const paymentPayload = await sui.signPayment(paymentInfo, chainConfig);
38
+ * const header = sui.encodePaymentHeader(paymentPayload, chainConfig);
39
+ * ```
40
+ */
41
+
42
+ /**
43
+ * SuiProvider - Wallet adapter for Sui blockchain
44
+ *
45
+ * Uses sponsored transactions where:
46
+ * 1. User creates a programmable transaction for token transfer
47
+ * 2. User signs the transaction
48
+ * 3. Facilitator sponsors (pays gas) and submits
49
+ */
50
+ declare class SuiProvider implements WalletAdapter {
51
+ readonly id = "sui-wallet";
52
+ readonly name = "Sui Wallet";
53
+ readonly networkType: "sui";
54
+ private provider;
55
+ private clients;
56
+ private address;
57
+ /**
58
+ * Check if Sui wallet is available
59
+ */
60
+ isAvailable(): boolean;
61
+ /**
62
+ * Connect to Sui wallet
63
+ */
64
+ connect(): Promise<string>;
65
+ /**
66
+ * Disconnect from Sui wallet
67
+ */
68
+ disconnect(): Promise<void>;
69
+ /**
70
+ * Get current address
71
+ */
72
+ getAddress(): string | null;
73
+ /**
74
+ * Get USDC balance
75
+ */
76
+ getBalance(chainConfig: ChainConfig): Promise<string>;
77
+ /**
78
+ * Create Sui payment (sponsored transaction)
79
+ *
80
+ * Transaction structure:
81
+ * 1. User creates a programmable transaction for USDC transfer
82
+ * 2. Transaction is signed by the user
83
+ * 3. Facilitator sponsors the transaction (pays gas in SUI)
84
+ * 4. Facilitator adds sponsor signature and submits
85
+ *
86
+ * User pays: ZERO SUI
87
+ */
88
+ signPayment(paymentInfo: PaymentInfo, chainConfig: ChainConfig): Promise<string>;
89
+ /**
90
+ * Encode Sui payment as X-PAYMENT header
91
+ *
92
+ * @param paymentPayload - JSON-encoded payment payload from signPayment()
93
+ * @param chainConfig - Chain configuration (optional, defaults to 'sui')
94
+ * @param version - x402 protocol version (1 or 2, defaults to 1)
95
+ * @returns Base64-encoded X-PAYMENT header value
96
+ */
97
+ encodePaymentHeader(paymentPayload: string, chainConfig?: ChainConfig, version?: X402Version): string;
98
+ private getSuiWalletProvider;
99
+ /**
100
+ * Get or create a Sui client for a specific chain
101
+ */
102
+ private getClient;
103
+ }
104
+
105
+ export { SuiProvider, SuiProvider as default };