uvd-x402-sdk 2.4.0 → 2.6.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 (63) hide show
  1. package/dist/adapters/index.d.mts +7 -1
  2. package/dist/adapters/index.d.ts +7 -1
  3. package/dist/adapters/index.js +32 -3
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/index.mjs +32 -3
  6. package/dist/adapters/index.mjs.map +1 -1
  7. package/dist/{index-DR2vXt-c.d.mts → index-BR1o8JZQ.d.mts} +33 -1
  8. package/dist/{index-DR2vXt-c.d.ts → index-BR1o8JZQ.d.ts} +33 -1
  9. package/dist/{index-BrFeSWKm.d.mts → index-DKbWiaJ9.d.mts} +1 -1
  10. package/dist/{index-BYX9BU79.d.ts → index-fwbSkart.d.ts} +1 -1
  11. package/dist/index.d.mts +3 -3
  12. package/dist/index.d.ts +3 -3
  13. package/dist/index.js +43 -12
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs +40 -13
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/providers/evm/index.d.mts +7 -2
  18. package/dist/providers/evm/index.d.ts +7 -2
  19. package/dist/providers/evm/index.js +42 -13
  20. package/dist/providers/evm/index.js.map +1 -1
  21. package/dist/providers/evm/index.mjs +42 -13
  22. package/dist/providers/evm/index.mjs.map +1 -1
  23. package/dist/providers/near/index.d.mts +6 -2
  24. package/dist/providers/near/index.d.ts +6 -2
  25. package/dist/providers/near/index.js +562 -5
  26. package/dist/providers/near/index.js.map +1 -1
  27. package/dist/providers/near/index.mjs +562 -5
  28. package/dist/providers/near/index.mjs.map +1 -1
  29. package/dist/providers/solana/index.d.mts +6 -4
  30. package/dist/providers/solana/index.d.ts +6 -4
  31. package/dist/providers/solana/index.js +33 -7
  32. package/dist/providers/solana/index.js.map +1 -1
  33. package/dist/providers/solana/index.mjs +33 -7
  34. package/dist/providers/solana/index.mjs.map +1 -1
  35. package/dist/providers/stellar/index.d.mts +6 -2
  36. package/dist/providers/stellar/index.d.ts +6 -2
  37. package/dist/providers/stellar/index.js +568 -11
  38. package/dist/providers/stellar/index.js.map +1 -1
  39. package/dist/providers/stellar/index.mjs +568 -11
  40. package/dist/providers/stellar/index.mjs.map +1 -1
  41. package/dist/react/index.d.mts +3 -3
  42. package/dist/react/index.d.ts +3 -3
  43. package/dist/react/index.js +41 -12
  44. package/dist/react/index.js.map +1 -1
  45. package/dist/react/index.mjs +41 -12
  46. package/dist/react/index.mjs.map +1 -1
  47. package/dist/utils/index.d.mts +57 -5
  48. package/dist/utils/index.d.ts +57 -5
  49. package/dist/utils/index.js +18 -0
  50. package/dist/utils/index.js.map +1 -1
  51. package/dist/utils/index.mjs +15 -1
  52. package/dist/utils/index.mjs.map +1 -1
  53. package/package.json +1 -1
  54. package/src/adapters/wagmi.ts +21 -5
  55. package/src/client/X402Client.ts +33 -16
  56. package/src/index.ts +7 -0
  57. package/src/providers/evm/index.ts +37 -16
  58. package/src/providers/near/index.ts +25 -8
  59. package/src/providers/solana/index.ts +29 -10
  60. package/src/providers/stellar/index.ts +31 -14
  61. package/src/types/index.ts +34 -0
  62. package/src/utils/index.ts +4 -0
  63. package/src/utils/validation.ts +76 -3
@@ -584,6 +584,22 @@ function getEnabledChains() {
584
584
  return Object.values(SUPPORTED_CHAINS).filter((chain) => chain.x402.enabled);
585
585
  }
586
586
 
587
+ // src/utils/x402.ts
588
+ function chainToCAIP2(chainName) {
589
+ const caip2 = CAIP2_IDENTIFIERS[chainName.toLowerCase()];
590
+ if (caip2) {
591
+ return caip2;
592
+ }
593
+ const chain = getChainByName(chainName);
594
+ if (chain) {
595
+ if (chain.networkType === "evm") {
596
+ return `eip155:${chain.chainId}`;
597
+ }
598
+ return `${chain.networkType}:${chainName}`;
599
+ }
600
+ return chainName;
601
+ }
602
+
587
603
  // src/utils/validation.ts
588
604
  var ETH_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;
589
605
  var SOLANA_ADDRESS_REGEX = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;
@@ -1065,6 +1081,10 @@ var X402Client = class {
1065
1081
  const result = {
1066
1082
  success: true,
1067
1083
  paymentHeader,
1084
+ headers: {
1085
+ "X-PAYMENT": paymentHeader,
1086
+ "PAYMENT-SIGNATURE": paymentHeader
1087
+ },
1068
1088
  network: chain.name,
1069
1089
  payer: from
1070
1090
  };
@@ -1074,21 +1094,30 @@ var X402Client = class {
1074
1094
  }
1075
1095
  encodeEVMPaymentHeader(payload, chain) {
1076
1096
  const fullSignature = payload.r + payload.s.slice(2) + payload.v.toString(16).padStart(2, "0");
1077
- const x402Payload = {
1097
+ const version = this.config.x402Version === 2 ? 2 : 1;
1098
+ const payloadData = {
1099
+ signature: fullSignature,
1100
+ authorization: {
1101
+ from: payload.from,
1102
+ to: payload.to,
1103
+ value: payload.value,
1104
+ validAfter: payload.validAfter.toString(),
1105
+ validBefore: payload.validBefore.toString(),
1106
+ nonce: payload.nonce
1107
+ }
1108
+ };
1109
+ const x402Payload = version === 2 ? {
1110
+ x402Version: 2,
1111
+ scheme: "exact",
1112
+ network: chainToCAIP2(chain.name),
1113
+ // CAIP-2 format for v2
1114
+ payload: payloadData
1115
+ } : {
1078
1116
  x402Version: 1,
1079
1117
  scheme: "exact",
1080
1118
  network: chain.name,
1081
- payload: {
1082
- signature: fullSignature,
1083
- authorization: {
1084
- from: payload.from,
1085
- to: payload.to,
1086
- value: payload.value,
1087
- validAfter: payload.validAfter.toString(),
1088
- validBefore: payload.validBefore.toString(),
1089
- nonce: payload.nonce
1090
- }
1091
- }
1119
+ // Plain chain name for v1
1120
+ payload: payloadData
1092
1121
  };
1093
1122
  const jsonString = JSON.stringify(x402Payload);
1094
1123
  return btoa(jsonString);