uvd-x402-sdk 2.0.1 → 2.0.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/README.md +63 -9
- package/dist/{index-DJ4Cvrev.d.mts → index-D0N_SYpK.d.mts} +1 -1
- package/dist/{index-BrBqP1I8.d.ts → index-Db8dWNam.d.ts} +1 -1
- package/dist/{index-D6Sr4ARD.d.mts → index-MTBgC_SL.d.mts} +1 -1
- package/dist/{index-D6Sr4ARD.d.ts → index-MTBgC_SL.d.ts} +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -29
- package/dist/index.mjs.map +1 -1
- package/dist/providers/evm/index.d.mts +1 -1
- package/dist/providers/evm/index.d.ts +1 -1
- package/dist/providers/evm/index.js +1 -29
- package/dist/providers/evm/index.js.map +1 -1
- package/dist/providers/evm/index.mjs +1 -29
- package/dist/providers/evm/index.mjs.map +1 -1
- package/dist/providers/near/index.d.mts +1 -1
- package/dist/providers/near/index.d.ts +1 -1
- package/dist/providers/near/index.js +0 -1
- package/dist/providers/near/index.js.map +1 -1
- package/dist/providers/near/index.mjs +0 -1
- package/dist/providers/near/index.mjs.map +1 -1
- package/dist/providers/solana/index.d.mts +5 -1
- package/dist/providers/solana/index.d.ts +5 -1
- package/dist/providers/solana/index.js +10 -33
- package/dist/providers/solana/index.js.map +1 -1
- package/dist/providers/solana/index.mjs +10 -33
- package/dist/providers/solana/index.mjs.map +1 -1
- package/dist/providers/stellar/index.d.mts +1 -1
- package/dist/providers/stellar/index.d.ts +1 -1
- package/dist/providers/stellar/index.js +0 -1
- package/dist/providers/stellar/index.js.map +1 -1
- package/dist/providers/stellar/index.mjs +0 -1
- package/dist/providers/stellar/index.mjs.map +1 -1
- package/dist/react/index.d.mts +3 -3
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +1 -29
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +1 -29
- package/dist/react/index.mjs.map +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -29
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +1 -29
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/chains/index.ts +1 -27
- package/src/index.ts +2 -2
- package/src/providers/solana/index.ts +20 -7
- package/src/types/index.ts +1 -2
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# uvd-x402-sdk
|
|
2
2
|
|
|
3
|
-
> Gasless crypto payments across
|
|
3
|
+
> Gasless crypto payments across 14 blockchain networks using the x402 protocol.
|
|
4
4
|
|
|
5
5
|
The x402 SDK enables any application to accept USDC payments without requiring users to pay gas fees. Users sign a message or transaction, and the Ultravioleta facilitator handles on-chain settlement.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- **
|
|
9
|
+
- **14 Supported Networks**: EVM chains, Solana, Fogo, Stellar, and NEAR
|
|
10
10
|
- **x402 v1 & v2**: Full support for both protocol versions with automatic detection
|
|
11
11
|
- **Gasless Payments**: Users never pay gas - the facilitator covers all network fees
|
|
12
12
|
- **Multi-Network**: Accept payments on multiple networks simultaneously
|
|
@@ -69,9 +69,66 @@ npm install react
|
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
72
|
+
## WalletConnect Integration
|
|
73
|
+
|
|
74
|
+
The SDK works with any EVM wallet that injects into `window.ethereum`, including:
|
|
75
|
+
|
|
76
|
+
- **Browser extensions**: MetaMask, Rainbow, Rabby, Coinbase Wallet
|
|
77
|
+
- **Mobile wallets**: Rainbow, MetaMask Mobile, Trust Wallet (via WalletConnect)
|
|
78
|
+
|
|
79
|
+
### Using WalletConnect (Mobile Wallets)
|
|
80
|
+
|
|
81
|
+
For mobile wallet support (Rainbow, MetaMask Mobile, etc.), initialize WalletConnect before using the SDK:
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
import { EthereumProvider } from '@walletconnect/ethereum-provider';
|
|
85
|
+
import { X402Client } from 'uvd-x402-sdk';
|
|
86
|
+
|
|
87
|
+
// 1. Initialize WalletConnect
|
|
88
|
+
const walletConnectProvider = await EthereumProvider.init({
|
|
89
|
+
projectId: 'YOUR_WALLETCONNECT_PROJECT_ID', // Get from cloud.walletconnect.com
|
|
90
|
+
chains: [8453], // Base mainnet
|
|
91
|
+
optionalChains: [1, 137, 42161, 10], // ETH, Polygon, Arbitrum, Optimism
|
|
92
|
+
showQrModal: true,
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// 2. Connect wallet (shows QR code for mobile wallet to scan)
|
|
96
|
+
await walletConnectProvider.connect();
|
|
97
|
+
|
|
98
|
+
// 3. Use the SDK normally
|
|
99
|
+
const client = new X402Client({ defaultChain: 'base' });
|
|
100
|
+
const address = await client.connect('base');
|
|
101
|
+
|
|
102
|
+
// 4. Create payment
|
|
103
|
+
const result = await client.createPayment({
|
|
104
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
105
|
+
amount: '10.00',
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Using Browser Extensions (Rainbow, MetaMask, etc.)
|
|
110
|
+
|
|
111
|
+
Browser extension wallets work automatically - no extra setup needed:
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
import { X402Client } from 'uvd-x402-sdk';
|
|
115
|
+
|
|
116
|
+
const client = new X402Client({ defaultChain: 'base' });
|
|
117
|
+
|
|
118
|
+
// Connects to whatever wallet is installed (Rainbow, MetaMask, Rabby, etc.)
|
|
119
|
+
const address = await client.connect('base');
|
|
120
|
+
|
|
121
|
+
const result = await client.createPayment({
|
|
122
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
123
|
+
amount: '10.00',
|
|
124
|
+
});
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
72
129
|
## Network Examples
|
|
73
130
|
|
|
74
|
-
### EVM Chains (
|
|
131
|
+
### EVM Chains (10 Networks)
|
|
75
132
|
|
|
76
133
|
All EVM chains use EIP-712 typed data signing with ERC-3009 TransferWithAuthorization.
|
|
77
134
|
|
|
@@ -553,7 +610,7 @@ function PaymentPage() {
|
|
|
553
610
|
|
|
554
611
|
## Supported Networks
|
|
555
612
|
|
|
556
|
-
### EVM Networks (
|
|
613
|
+
### EVM Networks (10)
|
|
557
614
|
|
|
558
615
|
| Network | Chain ID | USDC Decimals | Status |
|
|
559
616
|
|---------|----------|---------------|--------|
|
|
@@ -567,9 +624,6 @@ function PaymentPage() {
|
|
|
567
624
|
| HyperEVM | 999 | 6 | Enabled |
|
|
568
625
|
| Unichain | 130 | 6 | Enabled |
|
|
569
626
|
| Monad | 143 | 6 | Enabled |
|
|
570
|
-
| BSC | 56 | 18 | Disabled* |
|
|
571
|
-
|
|
572
|
-
*BSC USDC doesn't support ERC-3009 transferWithAuthorization
|
|
573
627
|
|
|
574
628
|
### SVM Networks (2)
|
|
575
629
|
|
|
@@ -724,7 +778,7 @@ Install MyNearWallet or Meteor wallet for NEAR support.
|
|
|
724
778
|
|
|
725
779
|
#### "Chain not supported"
|
|
726
780
|
|
|
727
|
-
Check if the chain is enabled in `SUPPORTED_CHAINS`.
|
|
781
|
+
Check if the chain is enabled in `SUPPORTED_CHAINS`.
|
|
728
782
|
|
|
729
783
|
#### "Signature rejected by user"
|
|
730
784
|
|
|
@@ -778,5 +832,5 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
778
832
|
- [x402 Protocol](https://x402.org)
|
|
779
833
|
- [Ultravioleta DAO](https://ultravioletadao.xyz)
|
|
780
834
|
- [402milly](https://402milly.xyz)
|
|
781
|
-
- [GitHub](https://github.com/
|
|
835
|
+
- [GitHub](https://github.com/UltravioletaDAO/uvd-x402-sdk-typescript)
|
|
782
836
|
- [npm](https://www.npmjs.com/package/uvd-x402-sdk)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as X402ClientConfig, P as PaymentInfo, e as PaymentResult, W as WalletState, C as ChainConfig, u as X402Event, w as X402EventHandler, a as NetworkType } from './index-
|
|
1
|
+
import { s as X402ClientConfig, P as PaymentInfo, e as PaymentResult, W as WalletState, C as ChainConfig, u as X402Event, w as X402EventHandler, a as NetworkType } from './index-MTBgC_SL.mjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* uvd-x402-sdk - Main Client
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as X402ClientConfig, P as PaymentInfo, e as PaymentResult, W as WalletState, C as ChainConfig, u as X402Event, w as X402EventHandler, a as NetworkType } from './index-
|
|
1
|
+
import { s as X402ClientConfig, P as PaymentInfo, e as PaymentResult, W as WalletState, C as ChainConfig, u as X402Event, w as X402EventHandler, a as NetworkType } from './index-MTBgC_SL.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* uvd-x402-sdk - Main Client
|
|
@@ -20,7 +20,7 @@ type NetworkType = 'evm' | 'svm' | 'solana' | 'stellar' | 'near';
|
|
|
20
20
|
interface USDCConfig {
|
|
21
21
|
/** Contract/mint address */
|
|
22
22
|
address: string;
|
|
23
|
-
/** Token decimals (6 for most chains, 7 for Stellar
|
|
23
|
+
/** Token decimals (6 for most chains, 7 for Stellar) */
|
|
24
24
|
decimals: number;
|
|
25
25
|
/** Token name for EIP-712 domain (e.g., "USD Coin" or "USDC") */
|
|
26
26
|
name: string;
|
|
@@ -20,7 +20,7 @@ type NetworkType = 'evm' | 'svm' | 'solana' | 'stellar' | 'near';
|
|
|
20
20
|
interface USDCConfig {
|
|
21
21
|
/** Contract/mint address */
|
|
22
22
|
address: string;
|
|
23
|
-
/** Token decimals (6 for most chains, 7 for Stellar
|
|
23
|
+
/** Token decimals (6 for most chains, 7 for Stellar) */
|
|
24
24
|
decimals: number;
|
|
25
25
|
/** Token name for EIP-712 domain (e.g., "USD Coin" or "USDC") */
|
|
26
26
|
name: string;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { D as DEFAULT_CHAIN, a as DEFAULT_FACILITATOR_URL, S as SUPPORTED_CHAINS, X as X402Client, g as getChainById, b as getChainByName, d as getChainsByNetworkType, e as getEVMChainIds, c as getEnabledChains, l as getExplorerAddressUrl, k as getExplorerTxUrl, j as getNetworkType, f as getSVMChains, i as isChainSupported, h as isSVMChain } from './index-
|
|
1
|
+
export { D as DEFAULT_CHAIN, a as DEFAULT_FACILITATOR_URL, S as SUPPORTED_CHAINS, X as X402Client, g as getChainById, b as getChainByName, d as getChainsByNetworkType, e as getEVMChainIds, c as getEnabledChains, l as getExplorerAddressUrl, k as getExplorerTxUrl, j as getNetworkType, f as getSVMChains, i as isChainSupported, h as isSVMChain } from './index-D0N_SYpK.mjs';
|
|
2
2
|
export { caip2ToChain, chainToCAIP2, convertX402Header, createX402Header, createX402V1Header, createX402V2Header, decodeX402Header, detectX402Version, encodeX402Header, generatePaymentOptions, isCAIP2Format, parseNetworkIdentifier } from './utils/index.mjs';
|
|
3
|
-
export { z as CAIP2_IDENTIFIERS, A as CAIP2_TO_CHAIN, C as ChainConfig, D as DEFAULT_CONFIG, E as EIP712Domain, c as EIP712Types, g as EVMPaymentPayload, M as MultiPaymentConfig, i as NEARPaymentPayload, N as NativeCurrency, t as NetworkBalance, a as NetworkType, P as PaymentInfo, f as PaymentPayload, d as PaymentRequest, e as PaymentResult, S as SolanaPaymentPayload, h as StellarPaymentPayload, U as USDCConfig, b as WalletAdapter, W as WalletState, s as X402ClientConfig, o as X402EVMPayload, y as X402Error, x as X402ErrorCode, u as X402Event, v as X402EventData, w as X402EventHandler, j as X402Header, k as X402HeaderV1, l as X402HeaderV2, r as X402NEARPayload, n as X402PayloadData, m as X402PaymentOption, p as X402SolanaPayload, q as X402StellarPayload, X as X402Version } from './index-
|
|
3
|
+
export { z as CAIP2_IDENTIFIERS, A as CAIP2_TO_CHAIN, C as ChainConfig, D as DEFAULT_CONFIG, E as EIP712Domain, c as EIP712Types, g as EVMPaymentPayload, M as MultiPaymentConfig, i as NEARPaymentPayload, N as NativeCurrency, t as NetworkBalance, a as NetworkType, P as PaymentInfo, f as PaymentPayload, d as PaymentRequest, e as PaymentResult, S as SolanaPaymentPayload, h as StellarPaymentPayload, U as USDCConfig, b as WalletAdapter, W as WalletState, s as X402ClientConfig, o as X402EVMPayload, y as X402Error, x as X402ErrorCode, u as X402Event, v as X402EventData, w as X402EventHandler, j as X402Header, k as X402HeaderV1, l as X402HeaderV2, r as X402NEARPayload, n as X402PayloadData, m as X402PaymentOption, p as X402SolanaPayload, q as X402StellarPayload, X as X402Version } from './index-MTBgC_SL.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { D as DEFAULT_CHAIN, a as DEFAULT_FACILITATOR_URL, S as SUPPORTED_CHAINS, X as X402Client, g as getChainById, b as getChainByName, d as getChainsByNetworkType, e as getEVMChainIds, c as getEnabledChains, l as getExplorerAddressUrl, k as getExplorerTxUrl, j as getNetworkType, f as getSVMChains, i as isChainSupported, h as isSVMChain } from './index-
|
|
1
|
+
export { D as DEFAULT_CHAIN, a as DEFAULT_FACILITATOR_URL, S as SUPPORTED_CHAINS, X as X402Client, g as getChainById, b as getChainByName, d as getChainsByNetworkType, e as getEVMChainIds, c as getEnabledChains, l as getExplorerAddressUrl, k as getExplorerTxUrl, j as getNetworkType, f as getSVMChains, i as isChainSupported, h as isSVMChain } from './index-Db8dWNam.js';
|
|
2
2
|
export { caip2ToChain, chainToCAIP2, convertX402Header, createX402Header, createX402V1Header, createX402V2Header, decodeX402Header, detectX402Version, encodeX402Header, generatePaymentOptions, isCAIP2Format, parseNetworkIdentifier } from './utils/index.js';
|
|
3
|
-
export { z as CAIP2_IDENTIFIERS, A as CAIP2_TO_CHAIN, C as ChainConfig, D as DEFAULT_CONFIG, E as EIP712Domain, c as EIP712Types, g as EVMPaymentPayload, M as MultiPaymentConfig, i as NEARPaymentPayload, N as NativeCurrency, t as NetworkBalance, a as NetworkType, P as PaymentInfo, f as PaymentPayload, d as PaymentRequest, e as PaymentResult, S as SolanaPaymentPayload, h as StellarPaymentPayload, U as USDCConfig, b as WalletAdapter, W as WalletState, s as X402ClientConfig, o as X402EVMPayload, y as X402Error, x as X402ErrorCode, u as X402Event, v as X402EventData, w as X402EventHandler, j as X402Header, k as X402HeaderV1, l as X402HeaderV2, r as X402NEARPayload, n as X402PayloadData, m as X402PaymentOption, p as X402SolanaPayload, q as X402StellarPayload, X as X402Version } from './index-
|
|
3
|
+
export { z as CAIP2_IDENTIFIERS, A as CAIP2_TO_CHAIN, C as ChainConfig, D as DEFAULT_CONFIG, E as EIP712Domain, c as EIP712Types, g as EVMPaymentPayload, M as MultiPaymentConfig, i as NEARPaymentPayload, N as NativeCurrency, t as NetworkBalance, a as NetworkType, P as PaymentInfo, f as PaymentPayload, d as PaymentRequest, e as PaymentResult, S as SolanaPaymentPayload, h as StellarPaymentPayload, U as USDCConfig, b as WalletAdapter, W as WalletState, s as X402ClientConfig, o as X402EVMPayload, y as X402Error, x as X402ErrorCode, u as X402Event, v as X402EventData, w as X402EventHandler, j as X402Header, k as X402HeaderV1, l as X402HeaderV2, r as X402NEARPayload, n as X402PayloadData, m as X402PaymentOption, p as X402SolanaPayload, q as X402StellarPayload, X as X402Version } from './index-MTBgC_SL.js';
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,6 @@ var CAIP2_IDENTIFIERS = {
|
|
|
17
17
|
hyperevm: "eip155:999",
|
|
18
18
|
unichain: "eip155:130",
|
|
19
19
|
monad: "eip155:143",
|
|
20
|
-
bsc: "eip155:56",
|
|
21
20
|
// SVM chains
|
|
22
21
|
solana: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
23
22
|
fogo: "svm:fogo",
|
|
@@ -54,7 +53,7 @@ var X402Error = class _X402Error extends Error {
|
|
|
54
53
|
var DEFAULT_FACILITATOR_URL = "https://facilitator.ultravioletadao.xyz";
|
|
55
54
|
var SUPPORTED_CHAINS = {
|
|
56
55
|
// ============================================================================
|
|
57
|
-
// EVM CHAINS (
|
|
56
|
+
// EVM CHAINS (10 networks)
|
|
58
57
|
// ============================================================================
|
|
59
58
|
base: {
|
|
60
59
|
chainId: 8453,
|
|
@@ -300,33 +299,6 @@ var SUPPORTED_CHAINS = {
|
|
|
300
299
|
enabled: true
|
|
301
300
|
}
|
|
302
301
|
},
|
|
303
|
-
// BSC disabled: USDC doesn't support ERC-3009 transferWithAuthorization
|
|
304
|
-
bsc: {
|
|
305
|
-
chainId: 56,
|
|
306
|
-
chainIdHex: "0x38",
|
|
307
|
-
name: "bsc",
|
|
308
|
-
displayName: "BNB Smart Chain",
|
|
309
|
-
networkType: "evm",
|
|
310
|
-
rpcUrl: "https://binance.llamarpc.com",
|
|
311
|
-
explorerUrl: "https://bscscan.com",
|
|
312
|
-
nativeCurrency: {
|
|
313
|
-
name: "Binance Coin",
|
|
314
|
-
symbol: "BNB",
|
|
315
|
-
decimals: 18
|
|
316
|
-
},
|
|
317
|
-
usdc: {
|
|
318
|
-
address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
|
|
319
|
-
decimals: 18,
|
|
320
|
-
// BSC USDC uses 18 decimals
|
|
321
|
-
name: "USD Coin",
|
|
322
|
-
version: "2"
|
|
323
|
-
},
|
|
324
|
-
x402: {
|
|
325
|
-
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
326
|
-
enabled: false
|
|
327
|
-
// Disabled: BSC USDC doesn't support ERC-3009
|
|
328
|
-
}
|
|
329
|
-
},
|
|
330
302
|
// ============================================================================
|
|
331
303
|
// SVM CHAINS (2 networks) - Solana Virtual Machine
|
|
332
304
|
// ============================================================================
|