uvd-x402-sdk 2.4.0 → 2.5.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 (45) 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 +28 -3
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/index.mjs +28 -3
  6. package/dist/adapters/index.mjs.map +1 -1
  7. package/dist/index.js +21 -12
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +21 -12
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/providers/evm/index.d.mts +7 -2
  12. package/dist/providers/evm/index.d.ts +7 -2
  13. package/dist/providers/evm/index.js +42 -13
  14. package/dist/providers/evm/index.js.map +1 -1
  15. package/dist/providers/evm/index.mjs +42 -13
  16. package/dist/providers/evm/index.mjs.map +1 -1
  17. package/dist/providers/near/index.d.mts +6 -2
  18. package/dist/providers/near/index.d.ts +6 -2
  19. package/dist/providers/near/index.js +562 -5
  20. package/dist/providers/near/index.js.map +1 -1
  21. package/dist/providers/near/index.mjs +562 -5
  22. package/dist/providers/near/index.mjs.map +1 -1
  23. package/dist/providers/solana/index.d.mts +6 -4
  24. package/dist/providers/solana/index.d.ts +6 -4
  25. package/dist/providers/solana/index.js +33 -7
  26. package/dist/providers/solana/index.js.map +1 -1
  27. package/dist/providers/solana/index.mjs +33 -7
  28. package/dist/providers/solana/index.mjs.map +1 -1
  29. package/dist/providers/stellar/index.d.mts +6 -2
  30. package/dist/providers/stellar/index.d.ts +6 -2
  31. package/dist/providers/stellar/index.js +568 -11
  32. package/dist/providers/stellar/index.js.map +1 -1
  33. package/dist/providers/stellar/index.mjs +568 -11
  34. package/dist/providers/stellar/index.mjs.map +1 -1
  35. package/dist/react/index.js +37 -12
  36. package/dist/react/index.js.map +1 -1
  37. package/dist/react/index.mjs +37 -12
  38. package/dist/react/index.mjs.map +1 -1
  39. package/package.json +1 -1
  40. package/src/adapters/wagmi.ts +17 -5
  41. package/src/client/X402Client.ts +29 -16
  42. package/src/providers/evm/index.ts +37 -16
  43. package/src/providers/near/index.ts +25 -8
  44. package/src/providers/solana/index.ts +29 -10
  45. package/src/providers/stellar/index.ts +31 -14
@@ -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}$/;
@@ -1074,21 +1090,30 @@ var X402Client = class {
1074
1090
  }
1075
1091
  encodeEVMPaymentHeader(payload, chain) {
1076
1092
  const fullSignature = payload.r + payload.s.slice(2) + payload.v.toString(16).padStart(2, "0");
1077
- const x402Payload = {
1093
+ const version = this.config.x402Version === 2 ? 2 : 1;
1094
+ const payloadData = {
1095
+ signature: fullSignature,
1096
+ authorization: {
1097
+ from: payload.from,
1098
+ to: payload.to,
1099
+ value: payload.value,
1100
+ validAfter: payload.validAfter.toString(),
1101
+ validBefore: payload.validBefore.toString(),
1102
+ nonce: payload.nonce
1103
+ }
1104
+ };
1105
+ const x402Payload = version === 2 ? {
1106
+ x402Version: 2,
1107
+ scheme: "exact",
1108
+ network: chainToCAIP2(chain.name),
1109
+ // CAIP-2 format for v2
1110
+ payload: payloadData
1111
+ } : {
1078
1112
  x402Version: 1,
1079
1113
  scheme: "exact",
1080
1114
  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
- }
1115
+ // Plain chain name for v1
1116
+ payload: payloadData
1092
1117
  };
1093
1118
  const jsonString = JSON.stringify(x402Payload);
1094
1119
  return btoa(jsonString);