uvd-x402-sdk 2.0.1 → 2.0.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 (52) hide show
  1. package/README.md +5 -8
  2. package/dist/{index-DJ4Cvrev.d.mts → index-D0N_SYpK.d.mts} +1 -1
  3. package/dist/{index-BrBqP1I8.d.ts → index-Db8dWNam.d.ts} +1 -1
  4. package/dist/{index-D6Sr4ARD.d.mts → index-MTBgC_SL.d.mts} +1 -1
  5. package/dist/{index-D6Sr4ARD.d.ts → index-MTBgC_SL.d.ts} +1 -1
  6. package/dist/index.d.mts +2 -2
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.js +1 -29
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.mjs +1 -29
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/providers/evm/index.d.mts +1 -1
  13. package/dist/providers/evm/index.d.ts +1 -1
  14. package/dist/providers/evm/index.js +1 -29
  15. package/dist/providers/evm/index.js.map +1 -1
  16. package/dist/providers/evm/index.mjs +1 -29
  17. package/dist/providers/evm/index.mjs.map +1 -1
  18. package/dist/providers/near/index.d.mts +1 -1
  19. package/dist/providers/near/index.d.ts +1 -1
  20. package/dist/providers/near/index.js +0 -1
  21. package/dist/providers/near/index.js.map +1 -1
  22. package/dist/providers/near/index.mjs +0 -1
  23. package/dist/providers/near/index.mjs.map +1 -1
  24. package/dist/providers/solana/index.d.mts +5 -1
  25. package/dist/providers/solana/index.d.ts +5 -1
  26. package/dist/providers/solana/index.js +9 -32
  27. package/dist/providers/solana/index.js.map +1 -1
  28. package/dist/providers/solana/index.mjs +9 -32
  29. package/dist/providers/solana/index.mjs.map +1 -1
  30. package/dist/providers/stellar/index.d.mts +1 -1
  31. package/dist/providers/stellar/index.d.ts +1 -1
  32. package/dist/providers/stellar/index.js +0 -1
  33. package/dist/providers/stellar/index.js.map +1 -1
  34. package/dist/providers/stellar/index.mjs +0 -1
  35. package/dist/providers/stellar/index.mjs.map +1 -1
  36. package/dist/react/index.d.mts +3 -3
  37. package/dist/react/index.d.ts +3 -3
  38. package/dist/react/index.js +1 -29
  39. package/dist/react/index.js.map +1 -1
  40. package/dist/react/index.mjs +1 -29
  41. package/dist/react/index.mjs.map +1 -1
  42. package/dist/utils/index.d.mts +1 -1
  43. package/dist/utils/index.d.ts +1 -1
  44. package/dist/utils/index.js +1 -29
  45. package/dist/utils/index.js.map +1 -1
  46. package/dist/utils/index.mjs +1 -29
  47. package/dist/utils/index.mjs.map +1 -1
  48. package/package.json +2 -2
  49. package/src/chains/index.ts +1 -27
  50. package/src/index.ts +2 -2
  51. package/src/providers/solana/index.ts +12 -5
  52. package/src/types/index.ts +1 -2
@@ -25,7 +25,7 @@ export const DEFAULT_FACILITATOR_URL = 'https://facilitator.ultravioletadao.xyz'
25
25
  */
26
26
  export const SUPPORTED_CHAINS: Record<string, ChainConfig> = {
27
27
  // ============================================================================
28
- // EVM CHAINS (11 networks)
28
+ // EVM CHAINS (10 networks)
29
29
  // ============================================================================
30
30
 
31
31
  base: {
@@ -278,32 +278,6 @@ export const SUPPORTED_CHAINS: Record<string, ChainConfig> = {
278
278
  },
279
279
  },
280
280
 
281
- // BSC disabled: USDC doesn't support ERC-3009 transferWithAuthorization
282
- bsc: {
283
- chainId: 56,
284
- chainIdHex: '0x38',
285
- name: 'bsc',
286
- displayName: 'BNB Smart Chain',
287
- networkType: 'evm',
288
- rpcUrl: 'https://binance.llamarpc.com',
289
- explorerUrl: 'https://bscscan.com',
290
- nativeCurrency: {
291
- name: 'Binance Coin',
292
- symbol: 'BNB',
293
- decimals: 18,
294
- },
295
- usdc: {
296
- address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d',
297
- decimals: 18, // BSC USDC uses 18 decimals
298
- name: 'USD Coin',
299
- version: '2',
300
- },
301
- x402: {
302
- facilitatorUrl: DEFAULT_FACILITATOR_URL,
303
- enabled: false, // Disabled: BSC USDC doesn't support ERC-3009
304
- },
305
- },
306
-
307
281
  // ============================================================================
308
282
  // SVM CHAINS (2 networks) - Solana Virtual Machine
309
283
  // ============================================================================
package/src/index.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * x402 Payment SDK - Gasless crypto payments using the Ultravioleta facilitator.
5
5
  *
6
- * Supports 15 blockchain networks:
7
- * - EVM (11): Base, Ethereum, Polygon, Arbitrum, Optimism, Avalanche, Celo, HyperEVM, Unichain, Monad, BSC(disabled)
6
+ * Supports 14 blockchain networks:
7
+ * - EVM (10): Base, Ethereum, Polygon, Arbitrum, Optimism, Avalanche, Celo, HyperEVM, Unichain, Monad
8
8
  * - SVM (2): Solana, Fogo
9
9
  * - Stellar (1): Stellar
10
10
  * - NEAR (1): NEAR Protocol
@@ -446,6 +446,10 @@ export class SVMProvider implements WalletAdapter {
446
446
 
447
447
  /**
448
448
  * Get or create a connection for a specific chain
449
+ *
450
+ * IMPORTANT: Caches by RPC URL, not chain name. This allows consumers to
451
+ * override the RPC URL (e.g., use Helius instead of public RPC) and get
452
+ * a fresh connection with their custom RPC.
449
453
  */
450
454
  private async getConnection(chainConfig?: ChainConfig): Promise<InstanceType<typeof Connection>> {
451
455
  await loadSolanaDeps();
@@ -455,14 +459,17 @@ export class SVMProvider implements WalletAdapter {
455
459
  throw new X402Error('Chain config not found', 'CHAIN_NOT_SUPPORTED');
456
460
  }
457
461
 
458
- // Check if we already have a connection for this chain
459
- if (this.connections.has(config.name)) {
460
- return this.connections.get(config.name)!;
462
+ // Cache by RPC URL, not chain name - allows custom RPC overrides
463
+ const cacheKey = config.rpcUrl;
464
+
465
+ // Check if we already have a connection for this RPC
466
+ if (this.connections.has(cacheKey)) {
467
+ return this.connections.get(cacheKey)!;
461
468
  }
462
469
 
463
- // Create new connection for this chain
470
+ // Create new connection for this RPC
464
471
  const connection = new Connection(config.rpcUrl, 'confirmed');
465
- this.connections.set(config.name, connection);
472
+ this.connections.set(cacheKey, connection);
466
473
 
467
474
  return connection;
468
475
  }
@@ -26,7 +26,7 @@ export type NetworkType = 'evm' | 'svm' | 'solana' | 'stellar' | 'near';
26
26
  export interface USDCConfig {
27
27
  /** Contract/mint address */
28
28
  address: string;
29
- /** Token decimals (6 for most chains, 7 for Stellar, 18 for BSC) */
29
+ /** Token decimals (6 for most chains, 7 for Stellar) */
30
30
  decimals: number;
31
31
  /** Token name for EIP-712 domain (e.g., "USD Coin" or "USDC") */
32
32
  name: string;
@@ -298,7 +298,6 @@ export const CAIP2_IDENTIFIERS: Record<string, string> = {
298
298
  hyperevm: 'eip155:999',
299
299
  unichain: 'eip155:130',
300
300
  monad: 'eip155:143',
301
- bsc: 'eip155:56',
302
301
  // SVM chains
303
302
  solana: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
304
303
  fogo: 'svm:fogo',