uvd-x402-sdk 2.46.0 → 2.48.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.
Files changed (100) hide show
  1. package/README.md +65 -0
  2. package/dist/adapters/index.d.mts +3 -3
  3. package/dist/adapters/index.d.ts +3 -3
  4. package/dist/adapters/index.js +58 -1
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/adapters/index.mjs +58 -1
  7. package/dist/adapters/index.mjs.map +1 -1
  8. package/dist/backend/index.d.mts +2 -2
  9. package/dist/backend/index.d.ts +2 -2
  10. package/dist/backend/index.js +62 -2
  11. package/dist/backend/index.js.map +1 -1
  12. package/dist/backend/index.mjs +62 -2
  13. package/dist/backend/index.mjs.map +1 -1
  14. package/dist/{index-BidnFGw_.d.mts → index-BQ45e-Xa.d.ts} +18 -2
  15. package/dist/{index-H64xdjKh.d.ts → index-BkeMrSHP.d.mts} +18 -2
  16. package/dist/{index-DgChnK_c.d.mts → index-DeJMYEKC.d.mts} +41 -1
  17. package/dist/{index-DgChnK_c.d.ts → index-DeJMYEKC.d.ts} +41 -1
  18. package/dist/index.d.mts +388 -6
  19. package/dist/index.d.ts +388 -6
  20. package/dist/index.js +503 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +487 -11
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/{ows-DTDixPzO.d.ts → ows-C-KmORG9.d.ts} +1 -1
  25. package/dist/{ows-CYIVd4xO.d.mts → ows-Z9v4GxOZ.d.mts} +1 -1
  26. package/dist/providers/algorand/index.d.mts +1 -1
  27. package/dist/providers/algorand/index.d.ts +1 -1
  28. package/dist/providers/algorand/index.js +58 -1
  29. package/dist/providers/algorand/index.js.map +1 -1
  30. package/dist/providers/algorand/index.mjs +58 -1
  31. package/dist/providers/algorand/index.mjs.map +1 -1
  32. package/dist/providers/evm/index.d.mts +10 -2
  33. package/dist/providers/evm/index.d.ts +10 -2
  34. package/dist/providers/evm/index.js +107 -2
  35. package/dist/providers/evm/index.js.map +1 -1
  36. package/dist/providers/evm/index.mjs +107 -2
  37. package/dist/providers/evm/index.mjs.map +1 -1
  38. package/dist/providers/near/index.d.mts +1 -1
  39. package/dist/providers/near/index.d.ts +1 -1
  40. package/dist/providers/near/index.js +58 -1
  41. package/dist/providers/near/index.js.map +1 -1
  42. package/dist/providers/near/index.mjs +58 -1
  43. package/dist/providers/near/index.mjs.map +1 -1
  44. package/dist/providers/solana/index.d.mts +1 -1
  45. package/dist/providers/solana/index.d.ts +1 -1
  46. package/dist/providers/solana/index.js +58 -1
  47. package/dist/providers/solana/index.js.map +1 -1
  48. package/dist/providers/solana/index.mjs +58 -1
  49. package/dist/providers/solana/index.mjs.map +1 -1
  50. package/dist/providers/stellar/index.d.mts +1 -1
  51. package/dist/providers/stellar/index.d.ts +1 -1
  52. package/dist/providers/stellar/index.js +58 -1
  53. package/dist/providers/stellar/index.js.map +1 -1
  54. package/dist/providers/stellar/index.mjs +58 -1
  55. package/dist/providers/stellar/index.mjs.map +1 -1
  56. package/dist/providers/sui/index.d.mts +1 -1
  57. package/dist/providers/sui/index.d.ts +1 -1
  58. package/dist/providers/sui/index.js +58 -1
  59. package/dist/providers/sui/index.js.map +1 -1
  60. package/dist/providers/sui/index.mjs +58 -1
  61. package/dist/providers/sui/index.mjs.map +1 -1
  62. package/dist/providers/xrpl/index.d.mts +1 -1
  63. package/dist/providers/xrpl/index.d.ts +1 -1
  64. package/dist/providers/xrpl/index.js +58 -1
  65. package/dist/providers/xrpl/index.js.map +1 -1
  66. package/dist/providers/xrpl/index.mjs +58 -1
  67. package/dist/providers/xrpl/index.mjs.map +1 -1
  68. package/dist/react/index.d.mts +3 -3
  69. package/dist/react/index.d.ts +3 -3
  70. package/dist/react/index.js +124 -7
  71. package/dist/react/index.js.map +1 -1
  72. package/dist/react/index.mjs +124 -7
  73. package/dist/react/index.mjs.map +1 -1
  74. package/dist/utils/index.d.mts +68 -2
  75. package/dist/utils/index.d.ts +68 -2
  76. package/dist/utils/index.js +103 -2
  77. package/dist/utils/index.js.map +1 -1
  78. package/dist/utils/index.mjs +100 -3
  79. package/dist/utils/index.mjs.map +1 -1
  80. package/dist/{wallet-0cX9Pw2F.d.mts → wallet-w7BnImDG.d.mts} +1 -1
  81. package/dist/{wallet-0cX9Pw2F.d.ts → wallet-w7BnImDG.d.ts} +1 -1
  82. package/package.json +38 -13
  83. package/src/backend/index.ts +22 -1
  84. package/src/chains/index.ts +82 -0
  85. package/src/client/X402Client.ts +41 -12
  86. package/src/erc8128.ts +443 -0
  87. package/src/escrow-preauth.ts +416 -0
  88. package/src/index.ts +44 -0
  89. package/src/providers/algorand/index.ts +2 -2
  90. package/src/providers/evm/index.ts +28 -4
  91. package/src/providers/near/index.ts +2 -2
  92. package/src/providers/solana/index.ts +2 -2
  93. package/src/providers/stellar/index.ts +2 -2
  94. package/src/providers/sui/index.ts +2 -2
  95. package/src/providers/xrpl/index.ts +2 -2
  96. package/src/types/index.ts +42 -0
  97. package/src/utils/base64.ts +58 -0
  98. package/src/utils/index.ts +8 -0
  99. package/src/utils/token-metadata.ts +44 -0
  100. package/src/utils/x402.ts +3 -2
@@ -414,6 +414,49 @@ var SUPPORTED_CHAINS = {
414
414
  enabled: true
415
415
  }
416
416
  },
417
+ bsc: {
418
+ chainId: 56,
419
+ chainIdHex: "0x38",
420
+ name: "bsc",
421
+ displayName: "BNB Smart Chain",
422
+ networkType: "evm",
423
+ rpcUrl: "https://binance.llamarpc.com",
424
+ explorerUrl: "https://bscscan.com",
425
+ nativeCurrency: {
426
+ name: "Binance Coin",
427
+ symbol: "BNB",
428
+ decimals: 18
429
+ },
430
+ usdc: {
431
+ // Binance-Peg USDC — 18 decimals, NOT the 6 every other chain uses.
432
+ address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
433
+ decimals: 18,
434
+ name: "USD Coin",
435
+ version: "2"
436
+ },
437
+ tokens: {
438
+ usdc: {
439
+ address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
440
+ decimals: 18,
441
+ name: "USD Coin",
442
+ version: "2"
443
+ },
444
+ ausd: {
445
+ address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
446
+ decimals: 6,
447
+ name: "Agora Dollar",
448
+ version: "1"
449
+ }
450
+ },
451
+ x402: {
452
+ facilitatorUrl: DEFAULT_FACILITATOR_URL,
453
+ // Disabled on purpose: Binance-Peg USDC does not implement ERC-3009
454
+ // `transferWithAuthorization`, so the exact scheme cannot settle it. The
455
+ // entry exists so the 18-decimal figure is on record — assuming the usual
456
+ // 6 here mis-prices a payment by 12 orders of magnitude.
457
+ enabled: false
458
+ }
459
+ },
417
460
  scroll: {
418
461
  chainId: 534352,
419
462
  chainIdHex: "0x82750",
@@ -953,6 +996,7 @@ var CAIP2_IDENTIFIERS = {
953
996
  hyperevm: "eip155:999",
954
997
  unichain: "eip155:130",
955
998
  monad: "eip155:143",
999
+ bsc: "eip155:56",
956
1000
  scroll: "eip155:534352",
957
1001
  "skale-base": "eip155:1187947933",
958
1002
  "skale-base-sepolia": "eip155:324705682",
@@ -992,6 +1036,19 @@ var X402Error = class _X402Error extends Error {
992
1036
  }
993
1037
  };
994
1038
 
1039
+ // src/utils/base64.ts
1040
+ function encodeBase64Utf8(value) {
1041
+ const bytes = new TextEncoder().encode(value);
1042
+ let binary = "";
1043
+ for (let i = 0; i < bytes.length; i++) {
1044
+ binary += String.fromCharCode(bytes[i]);
1045
+ }
1046
+ return btoa(binary);
1047
+ }
1048
+ function encodeBase64Json(value) {
1049
+ return encodeBase64Utf8(JSON.stringify(value));
1050
+ }
1051
+
995
1052
  // src/utils/x402.ts
996
1053
  function chainToCAIP2(chainName) {
997
1054
  const caip2 = CAIP2_IDENTIFIERS[chainName.toLowerCase()];
@@ -1008,7 +1065,7 @@ function chainToCAIP2(chainName) {
1008
1065
  return chainName;
1009
1066
  }
1010
1067
  function encodeX402Header(header) {
1011
- return btoa(JSON.stringify(header));
1068
+ return encodeBase64Json(header);
1012
1069
  }
1013
1070
  function createX402V1Header(network, payload) {
1014
1071
  return {