@payai/x402-solana-react 1.0.4 → 2.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 +137 -44
- package/dist/components/WalletSection.d.ts.map +1 -1
- package/dist/components/X402Paywall.d.ts +1 -1
- package/dist/components/X402Paywall.d.ts.map +1 -1
- package/dist/demo/App.d.ts +0 -1
- package/dist/demo/App.d.ts.map +1 -1
- package/dist/demo/main.d.ts +0 -1
- package/dist/hooks/useX402Payment.d.ts +8 -3
- package/dist/hooks/useX402Payment.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2787 -1940
- package/dist/index.mjs.map +1 -1
- package/dist/lib/balance.d.ts +0 -1
- package/dist/lib/utils.d.ts +0 -1
- package/dist/style.css +1 -1
- package/dist/types/paywall.d.ts +2 -3
- package/dist/types/paywall.d.ts.map +1 -1
- package/dist/types/theme.d.ts +1 -2
- package/dist/types/theme.d.ts.map +1 -1
- package/package.json +39 -34
package/README.md
CHANGED
|
@@ -1,13 +1,88 @@
|
|
|
1
1
|
# x402 Solana React Paywall
|
|
2
2
|
|
|
3
|
-
A reusable React component library that provides drop-in paywall functionality for Solana-based applications using the x402 payment protocol.
|
|
3
|
+
A reusable React component library that provides drop-in paywall functionality for Solana-based applications using the x402 payment protocol v2.
|
|
4
|
+
|
|
5
|
+
> **x402 Protocol v2**: This package uses `x402-solana` which implements the x402 v2 specification with CAIP-2 network identifiers, `PAYMENT-SIGNATURE` headers, and improved payload structure. See the [CHANGELOG](./CHANGELOG.md) for details.
|
|
6
|
+
|
|
7
|
+
## Classic theme
|
|
8
|
+
|
|
9
|
+
<table>
|
|
10
|
+
<tr>
|
|
11
|
+
<td width="50%">
|
|
12
|
+
|
|
13
|
+
<img src="./example-images/light.png" alt="Classic Light Theme Preview" style="width: 100%; height: auto;">
|
|
14
|
+
|
|
15
|
+
</td>
|
|
16
|
+
<td width="50%">
|
|
17
|
+
|
|
18
|
+
<img src="./example-images/dark.png" alt="Classic Dark Theme Preview" style="width: 100%; height: auto;">
|
|
19
|
+
|
|
20
|
+
</td>
|
|
21
|
+
</tr>
|
|
22
|
+
</table>
|
|
23
|
+
|
|
24
|
+
## Solana theme
|
|
25
|
+
|
|
26
|
+
<table>
|
|
27
|
+
<tr>
|
|
28
|
+
<td width="50%">
|
|
29
|
+
|
|
30
|
+
<img src="./example-images/solana-light.png" alt="Solana Light Theme Preview" style="width: 100%; height: auto;">
|
|
31
|
+
|
|
32
|
+
</td>
|
|
33
|
+
<td width="50%">
|
|
34
|
+
|
|
35
|
+
<img src="./example-images/solana-dark.png" alt="Solana Dark Theme Preview" style="width: 100%; height: auto;">
|
|
36
|
+
|
|
37
|
+
</td>
|
|
38
|
+
</tr>
|
|
39
|
+
</table>
|
|
40
|
+
|
|
41
|
+
## Seeker theme
|
|
42
|
+
|
|
43
|
+
<table>
|
|
44
|
+
<tr>
|
|
45
|
+
<td width="33.33%">
|
|
46
|
+
|
|
47
|
+
<img src="./example-images/seeker-light.png" alt="Seeker Light Theme Preview" style="width: 100%; height: auto;">
|
|
48
|
+
|
|
49
|
+
</td>
|
|
50
|
+
<td width="33.33%">
|
|
51
|
+
|
|
52
|
+
<img src="./example-images/seeker.png" alt="Seeker Theme Preview" style="width: 100%; height: auto;">
|
|
53
|
+
|
|
54
|
+
</td>
|
|
55
|
+
<td width="33.33%">
|
|
56
|
+
|
|
57
|
+
<img src="./example-images/seeker-2.png" alt="Seeker-2 Theme Preview" style="width: 100%; height: auto;">
|
|
58
|
+
|
|
59
|
+
</td>
|
|
60
|
+
</tr>
|
|
61
|
+
</table>
|
|
62
|
+
|
|
63
|
+
## Terminal theme
|
|
64
|
+
|
|
65
|
+
<table>
|
|
66
|
+
<tr>
|
|
67
|
+
<td width="50%">
|
|
68
|
+
|
|
69
|
+
<img src="./example-images/terminal-light.png" alt="Terminal Light Theme Preview" style="width: 100%; height: auto;">
|
|
70
|
+
|
|
71
|
+
</td>
|
|
72
|
+
<td width="50%">
|
|
73
|
+
|
|
74
|
+
<img src="./example-images/terminal-dark.png" alt="Terminal Dark Theme Preview" style="width: 100%; height: auto;">
|
|
75
|
+
|
|
76
|
+
</td>
|
|
77
|
+
</tr>
|
|
78
|
+
</table>
|
|
4
79
|
|
|
5
80
|
## 🚀 Features
|
|
6
81
|
|
|
7
82
|
- ✅ **Drop-in React Components**: Easy integration with existing apps
|
|
8
83
|
- ✅ **Auto-Setup Providers**: Automatically configures wallet providers (or use your own)
|
|
9
84
|
- ✅ **Solana Native**: Built specifically for Solana blockchain
|
|
10
|
-
- ✅ **Multi-Wallet Support**: Works with Phantom, Solflare, and more
|
|
85
|
+
- ✅ **Multi-Wallet Support**: Works with Phantom, Solflare, and more
|
|
11
86
|
- ✅ **Multiple Themes**: Light, Dark, Solana, Seeker, Terminal themes
|
|
12
87
|
- ✅ **Tailwind CSS**: Utility-first styling with customization
|
|
13
88
|
- ✅ **shadcn/ui**: Accessible, beautiful components
|
|
@@ -27,7 +102,7 @@ A reusable React component library that provides drop-in paywall functionality f
|
|
|
27
102
|
npm install @payai/x402-solana-react
|
|
28
103
|
# or
|
|
29
104
|
yarn add @payai/x402-solana-react
|
|
30
|
-
# or
|
|
105
|
+
# or
|
|
31
106
|
pnpm add @payai/x402-solana-react
|
|
32
107
|
```
|
|
33
108
|
|
|
@@ -99,10 +174,7 @@ import { clusterApiUrl } from '@solana/web3.js';
|
|
|
99
174
|
function App() {
|
|
100
175
|
const network = WalletAdapterNetwork.Mainnet;
|
|
101
176
|
const endpoint = clusterApiUrl(network);
|
|
102
|
-
const wallets = [
|
|
103
|
-
new PhantomWalletAdapter(),
|
|
104
|
-
new SolflareWalletAdapter(),
|
|
105
|
-
];
|
|
177
|
+
const wallets = [new PhantomWalletAdapter(), new SolflareWalletAdapter()];
|
|
106
178
|
|
|
107
179
|
return (
|
|
108
180
|
<ConnectionProvider endpoint={endpoint}>
|
|
@@ -138,7 +210,7 @@ function PremiumPage() {
|
|
|
138
210
|
amount={0.02}
|
|
139
211
|
description="Premium AI Chat Access"
|
|
140
212
|
network="solana" // Use 'solana' for mainnet, 'solana-devnet' for testing
|
|
141
|
-
onPaymentSuccess={
|
|
213
|
+
onPaymentSuccess={txId => console.log('Payment successful!', txId)}
|
|
142
214
|
>
|
|
143
215
|
<PremiumContent />
|
|
144
216
|
</X402Paywall>
|
|
@@ -161,11 +233,11 @@ function PremiumPage() {
|
|
|
161
233
|
description="Premium Content"
|
|
162
234
|
network="solana"
|
|
163
235
|
rpcUrl={rpcUrl} // Avoids rate limiting on public RPCs
|
|
164
|
-
onPaymentSuccess={
|
|
236
|
+
onPaymentSuccess={txId => {
|
|
165
237
|
console.log('Payment successful!', txId);
|
|
166
238
|
// Update your backend, show success message, etc.
|
|
167
239
|
}}
|
|
168
|
-
onPaymentError={
|
|
240
|
+
onPaymentError={error => {
|
|
169
241
|
console.error('Payment failed:', error);
|
|
170
242
|
}}
|
|
171
243
|
>
|
|
@@ -204,7 +276,7 @@ function PremiumPage() {
|
|
|
204
276
|
description="Premium Features"
|
|
205
277
|
network="solana"
|
|
206
278
|
theme={theme} // Try: 'light', 'dark', 'solana-light', 'solana-dark', etc.
|
|
207
|
-
onPaymentSuccess={
|
|
279
|
+
onPaymentSuccess={txId => console.log('Paid!', txId)}
|
|
208
280
|
>
|
|
209
281
|
<AdvancedFeatures />
|
|
210
282
|
</X402Paywall>
|
|
@@ -218,16 +290,16 @@ You can customize further using `classNames` and `customStyles` props:
|
|
|
218
290
|
|
|
219
291
|
```tsx
|
|
220
292
|
<X402Paywall
|
|
221
|
-
amount={5.
|
|
293
|
+
amount={5.0}
|
|
222
294
|
description="Premium Features"
|
|
223
295
|
network="solana"
|
|
224
296
|
theme="dark"
|
|
225
297
|
classNames={{
|
|
226
|
-
container:
|
|
227
|
-
button:
|
|
298
|
+
container: 'bg-gradient-to-r from-purple-600 to-blue-600',
|
|
299
|
+
button: 'bg-white text-purple-600 hover:bg-gray-50 font-bold',
|
|
228
300
|
}}
|
|
229
301
|
customStyles={{
|
|
230
|
-
button: { boxShadow: '0 10px 30px rgba(153, 69, 255, 0.4)' }
|
|
302
|
+
button: { boxShadow: '0 10px 30px rgba(153, 69, 255, 0.4)' },
|
|
231
303
|
}}
|
|
232
304
|
>
|
|
233
305
|
<AdvancedFeatures />
|
|
@@ -238,31 +310,32 @@ You can customize further using `classNames` and `customStyles` props:
|
|
|
238
310
|
|
|
239
311
|
### X402Paywall Props
|
|
240
312
|
|
|
241
|
-
| Prop
|
|
242
|
-
|
|
243
|
-
| `amount`
|
|
244
|
-
| `description`
|
|
245
|
-
| `children`
|
|
246
|
-
| `network`
|
|
247
|
-
| `wallet`
|
|
248
|
-
| `rpcUrl`
|
|
249
|
-
| `autoSetupProviders` | `boolean`
|
|
250
|
-
| `providerNetwork`
|
|
251
|
-
| `providerEndpoint`
|
|
252
|
-
| `
|
|
253
|
-
| `facilitatorUrl`
|
|
254
|
-
| `theme`
|
|
255
|
-
| `
|
|
256
|
-
| `
|
|
257
|
-
| `
|
|
258
|
-
| `
|
|
259
|
-
| `
|
|
260
|
-
| `
|
|
261
|
-
| `
|
|
262
|
-
| `
|
|
263
|
-
| `
|
|
264
|
-
| `
|
|
265
|
-
| `
|
|
313
|
+
| Prop | Type | Required | Default | Description |
|
|
314
|
+
| -------------------- | ----------------------------- | -------- | ---------------------------------------------------- | ----------------------------------------------------------- |
|
|
315
|
+
| `amount` | `number` | ✅ | - | Payment amount in USDC |
|
|
316
|
+
| `description` | `string` | ✅ | - | Payment description |
|
|
317
|
+
| `children` | `ReactNode` | ✅ | - | Protected content to show after payment |
|
|
318
|
+
| `network` | `'solana' \| 'solana-devnet'` | ❌ | `'solana-devnet'` | Solana network to use |
|
|
319
|
+
| `wallet` | `WalletAdapter` | ❌ | - | Optional wallet adapter (auto-uses context if not provided) |
|
|
320
|
+
| `rpcUrl` | `string` | ❌ | - | Custom RPC URL (recommended to avoid rate limits) |
|
|
321
|
+
| `autoSetupProviders` | `boolean` | ❌ | `true` | Automatically setup wallet providers |
|
|
322
|
+
| `providerNetwork` | `WalletAdapterNetwork` | ❌ | Auto-detected | Network for auto-setup providers |
|
|
323
|
+
| `providerEndpoint` | `string` | ❌ | - | Custom endpoint for auto-setup providers |
|
|
324
|
+
| `apiEndpoint` | `string` | ❌ | `https://x402.payai.network/api/solana/paid-content` | Custom API endpoint |
|
|
325
|
+
| `facilitatorUrl` | `string` | ❌ | - | Custom facilitator URL |
|
|
326
|
+
| `theme` | `ThemePreset` | ❌ | `'solana-light'` | Visual theme (see Themes section) |
|
|
327
|
+
| `logoUrl` | `string` | ❌ | - | Custom logo URL to display |
|
|
328
|
+
| `showBalance` | `boolean` | ❌ | `true` | Show wallet USDC balance |
|
|
329
|
+
| `showNetworkInfo` | `boolean` | ❌ | `true` | Show network information |
|
|
330
|
+
| `showPaymentDetails` | `boolean` | ❌ | `true` | Show payment details section |
|
|
331
|
+
| `maxPaymentAmount` | `number` | ❌ | - | Maximum allowed payment amount |
|
|
332
|
+
| `classNames` | `ComponentClassNames` | ❌ | - | Custom CSS classes for components |
|
|
333
|
+
| `customStyles` | `ComponentStyles` | ❌ | - | Custom inline styles for components |
|
|
334
|
+
| `onPaymentStart` | `() => void` | ❌ | - | Callback when payment starts |
|
|
335
|
+
| `onPaymentSuccess` | `(txId: string) => void` | ❌ | - | Callback on successful payment |
|
|
336
|
+
| `onPaymentError` | `(error: Error) => void` | ❌ | - | Callback on payment error |
|
|
337
|
+
| `onWalletConnect` | `(publicKey: string) => void` | ❌ | - | Callback when wallet connects |
|
|
338
|
+
| `onDisconnect` | `() => void` | ❌ | - | Callback when wallet disconnects |
|
|
266
339
|
|
|
267
340
|
See [full API documentation](./docs/API_REFERENCE.md) for complete reference.
|
|
268
341
|
|
|
@@ -305,27 +378,32 @@ npm run lint
|
|
|
305
378
|
### Common Issues
|
|
306
379
|
|
|
307
380
|
**"Wallet not connected"**
|
|
381
|
+
|
|
308
382
|
- Ensure wallet provider is properly configured
|
|
309
383
|
- Check that wallet extension is installed and unlocked
|
|
310
384
|
- Verify network matches (mainnet vs devnet)
|
|
311
385
|
|
|
312
386
|
**"Insufficient USDC balance"**
|
|
387
|
+
|
|
313
388
|
- Check wallet has enough USDC for payment + gas
|
|
314
389
|
- On devnet: Use [Solana Faucet](https://faucet.solana.com/) for SOL
|
|
315
390
|
- Get devnet USDC from test token faucets like [Circle](https://faucet.circle.com/)
|
|
316
391
|
|
|
317
392
|
**"RPC rate limit exceeded"**
|
|
393
|
+
|
|
318
394
|
- Use a custom RPC provider (Helius, QuickNode, Alchemy)
|
|
319
395
|
- Set `VITE_SOLANA_RPC_URL` in `.env` file
|
|
320
396
|
- Pass via `rpcUrl` prop: `rpcUrl={import.meta.env.VITE_SOLANA_RPC_URL}`
|
|
321
397
|
- For production, always use a paid RPC endpoint
|
|
322
398
|
|
|
323
399
|
**"Transaction failed"**
|
|
400
|
+
|
|
324
401
|
- Verify network connectivity
|
|
325
402
|
- Check Solana network status
|
|
326
403
|
- Ensure sufficient SOL for transaction fees
|
|
327
404
|
|
|
328
405
|
**Styling not working**
|
|
406
|
+
|
|
329
407
|
- Make sure you imported both required stylesheets:
|
|
330
408
|
```tsx
|
|
331
409
|
import '@payai/x402-solana-react/styles';
|
|
@@ -335,6 +413,7 @@ npm run lint
|
|
|
335
413
|
- Verify Tailwind CSS is configured if using custom classes
|
|
336
414
|
|
|
337
415
|
**"process is not defined" error**
|
|
416
|
+
|
|
338
417
|
- Use Vite's `import.meta.env` instead of `process.env`
|
|
339
418
|
- Example: `import.meta.env.VITE_SOLANA_RPC_URL`
|
|
340
419
|
|
|
@@ -343,7 +422,9 @@ npm run lint
|
|
|
343
422
|
**Ready for Production** - Fully functional x402 paywall components with PayAI facilitator integration.
|
|
344
423
|
|
|
345
424
|
### Features Complete
|
|
425
|
+
|
|
346
426
|
- ✅ Core paywall component with Solana integration
|
|
427
|
+
- ✅ **x402 Protocol v2** - Full support via `x402-solana`
|
|
347
428
|
- ✅ Payment processing via x402 protocol
|
|
348
429
|
- ✅ Multi-wallet support (Phantom, Solflare, etc.)
|
|
349
430
|
- ✅ Beautiful Solana-themed UI with Tailwind CSS
|
|
@@ -351,6 +432,18 @@ npm run lint
|
|
|
351
432
|
- ✅ Devnet integration with PayAI facilitator
|
|
352
433
|
- ✅ Responsive design and accessibility
|
|
353
434
|
|
|
435
|
+
### x402 v2 Protocol
|
|
436
|
+
|
|
437
|
+
This package supports the x402 v2 specification which includes:
|
|
438
|
+
|
|
439
|
+
| Feature | v1 | v2 |
|
|
440
|
+
| ------------------ | ------------------------- | ------------------------------ |
|
|
441
|
+
| **Network Format** | `solana`, `solana-devnet` | CAIP-2 format (auto-converted) |
|
|
442
|
+
| **Payment Header** | `X-PAYMENT` | `PAYMENT-SIGNATURE` |
|
|
443
|
+
| **Amount Field** | `maxAmountRequired` | `amount` |
|
|
444
|
+
|
|
445
|
+
**Note**: You can still use simple network names (`solana`, `solana-devnet`) in your code - the library automatically converts them to CAIP-2 format internally.
|
|
446
|
+
|
|
354
447
|
## 🤝 Contributing
|
|
355
448
|
|
|
356
449
|
This project is currently in early development. Contributions welcome!
|
|
@@ -361,10 +454,10 @@ MIT License
|
|
|
361
454
|
|
|
362
455
|
## 🔗 Related Projects
|
|
363
456
|
|
|
364
|
-
- [x402-solana](https://
|
|
365
|
-
- [x402](https://github.com/
|
|
366
|
-
- [PayAI Network](https://payai.network) - x402 payment infrastructure
|
|
457
|
+
- [x402-solana](https://www.npmjs.com/package/x402-solana) - Base Solana payment protocol implementation (x402 v2)
|
|
458
|
+
- [x402](https://github.com/coinbase/x402) - Core x402 payment protocol specification
|
|
459
|
+
- [PayAI Network](https://payai.network) - x402 payment infrastructure and facilitator
|
|
367
460
|
|
|
368
461
|
---
|
|
369
462
|
|
|
370
|
-
Built with ❤️ for the Solana ecosystem
|
|
463
|
+
Built with ❤️ for the Solana ecosystem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletSection.d.ts","sourceRoot":"","sources":["../../src/components/WalletSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"WalletSection.d.ts","sourceRoot":"","sources":["../../src/components/WalletSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqMtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X402Paywall.d.ts","sourceRoot":"","sources":["../../src/components/X402Paywall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"X402Paywall.d.ts","sourceRoot":"","sources":["../../src/components/X402Paywall.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,gBAAgB,EAA8B,MAAM,SAAS,CAAC;AA20EvE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkClD,CAAC"}
|
package/dist/demo/App.d.ts
CHANGED
package/dist/demo/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/demo/App.tsx"],"names":[],"mappings":"AAYA,OAAO,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/demo/App.tsx"],"names":[],"mappings":"AAYA,OAAO,4CAA4C,CAAC;AA8HpD,iBAAS,GAAG,4CAEX;AAED,eAAe,GAAG,CAAC"}
|
package/dist/demo/main.d.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { WalletAdapter, SolanaNetwork, PaymentStatus } from '../types';
|
|
2
|
-
|
|
3
2
|
export interface PaymentConfig {
|
|
4
3
|
wallet: WalletAdapter;
|
|
5
4
|
network: SolanaNetwork;
|
|
6
5
|
rpcUrl?: string;
|
|
7
6
|
apiEndpoint?: string;
|
|
8
|
-
treasuryAddress?: string;
|
|
9
7
|
facilitatorUrl?: string;
|
|
10
|
-
|
|
8
|
+
/** Maximum payment amount in USDC (V2 protocol) */
|
|
9
|
+
amount?: number;
|
|
10
|
+
/** Enable verbose logging for debugging (default: false) */
|
|
11
|
+
verbose?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export interface PaymentResult {
|
|
13
14
|
transactionId: string | null;
|
|
14
15
|
status: PaymentStatus;
|
|
15
16
|
error: Error | null;
|
|
17
|
+
/** The response content from the server (HTML or JSON) */
|
|
18
|
+
responseContent: string | null;
|
|
16
19
|
}
|
|
17
20
|
export interface UseX402PaymentReturn {
|
|
18
21
|
pay: (amount: number, description: string) => Promise<string | null>;
|
|
@@ -20,6 +23,8 @@ export interface UseX402PaymentReturn {
|
|
|
20
23
|
status: PaymentStatus;
|
|
21
24
|
error: Error | null;
|
|
22
25
|
transactionId: string | null;
|
|
26
|
+
/** The response content from the server (HTML or JSON) */
|
|
27
|
+
responseContent: string | null;
|
|
23
28
|
reset: () => void;
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useX402Payment.d.ts","sourceRoot":"","sources":["../../src/hooks/useX402Payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"useX402Payment.d.ts","sourceRoot":"","sources":["../../src/hooks/useX402Payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAyJ1E"}
|