uvd-x402-sdk 2.89.0 → 2.91.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 (77) hide show
  1. package/README.md +32 -0
  2. package/dist/adapters/index.d.mts +1 -1
  3. package/dist/adapters/index.d.ts +1 -1
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/index.mjs.map +1 -1
  6. package/dist/backend/index.d.mts +2 -2
  7. package/dist/backend/index.d.ts +2 -2
  8. package/dist/backend/index.js.map +1 -1
  9. package/dist/backend/index.mjs.map +1 -1
  10. package/dist/erc8128/index.js.map +1 -1
  11. package/dist/erc8128/index.mjs.map +1 -1
  12. package/dist/{index-13ZUDF7c.d.mts → index-DAC3DRdT.d.mts} +1 -1
  13. package/dist/{index-B5B9EK3x.d.ts → index-DRSEcZ36.d.ts} +1 -1
  14. package/dist/{index-CAJg-_cr.d.mts → index-DRk6i654.d.mts} +1 -1
  15. package/dist/{index-BWN0Haa0.d.mts → index-DbauIMV2.d.mts} +41 -0
  16. package/dist/{index-BWN0Haa0.d.ts → index-DbauIMV2.d.ts} +41 -0
  17. package/dist/{index-Cd1Mpznb.d.ts → index-s6ot_Mu-.d.ts} +1 -1
  18. package/dist/index.d.mts +4 -4
  19. package/dist/index.d.ts +4 -4
  20. package/dist/index.js +43 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +42 -3
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/providers/algorand/index.d.mts +1 -1
  25. package/dist/providers/algorand/index.d.ts +1 -1
  26. package/dist/providers/algorand/index.js.map +1 -1
  27. package/dist/providers/algorand/index.mjs.map +1 -1
  28. package/dist/providers/evm/index.d.mts +1 -1
  29. package/dist/providers/evm/index.d.ts +1 -1
  30. package/dist/providers/evm/index.js +23 -1
  31. package/dist/providers/evm/index.js.map +1 -1
  32. package/dist/providers/evm/index.mjs +23 -1
  33. package/dist/providers/evm/index.mjs.map +1 -1
  34. package/dist/providers/near/index.d.mts +1 -1
  35. package/dist/providers/near/index.d.ts +1 -1
  36. package/dist/providers/near/index.js.map +1 -1
  37. package/dist/providers/near/index.mjs.map +1 -1
  38. package/dist/providers/solana/index.d.mts +1 -1
  39. package/dist/providers/solana/index.d.ts +1 -1
  40. package/dist/providers/solana/index.js.map +1 -1
  41. package/dist/providers/solana/index.mjs.map +1 -1
  42. package/dist/providers/stellar/index.d.mts +1 -1
  43. package/dist/providers/stellar/index.d.ts +1 -1
  44. package/dist/providers/stellar/index.js.map +1 -1
  45. package/dist/providers/stellar/index.mjs.map +1 -1
  46. package/dist/providers/sui/index.d.mts +1 -1
  47. package/dist/providers/sui/index.d.ts +1 -1
  48. package/dist/providers/sui/index.js.map +1 -1
  49. package/dist/providers/sui/index.mjs.map +1 -1
  50. package/dist/providers/xrpl/index.d.mts +1 -1
  51. package/dist/providers/xrpl/index.d.ts +1 -1
  52. package/dist/providers/xrpl/index.js.map +1 -1
  53. package/dist/providers/xrpl/index.mjs.map +1 -1
  54. package/dist/react/index.d.mts +3 -3
  55. package/dist/react/index.d.ts +3 -3
  56. package/dist/react/index.js +44 -5
  57. package/dist/react/index.js.map +1 -1
  58. package/dist/react/index.mjs +44 -5
  59. package/dist/react/index.mjs.map +1 -1
  60. package/dist/react/picker/index.d.mts +1 -1
  61. package/dist/react/picker/index.d.ts +1 -1
  62. package/dist/utils/index.d.mts +2 -2
  63. package/dist/utils/index.d.ts +2 -2
  64. package/dist/utils/index.js +29 -0
  65. package/dist/utils/index.js.map +1 -1
  66. package/dist/utils/index.mjs +26 -1
  67. package/dist/utils/index.mjs.map +1 -1
  68. package/dist/{validation-B95g0MqC.d.mts → validity-BTMBMmuj.d.mts} +101 -2
  69. package/dist/{validation-_Tcjm2gu.d.ts → validity-C0z0GqH6.d.ts} +101 -2
  70. package/package.json +1 -1
  71. package/src/client/X402Client.ts +32 -2
  72. package/src/index.ts +5 -0
  73. package/src/providers/evm/index.ts +4 -2
  74. package/src/react/index.tsx +8 -3
  75. package/src/types/index.ts +41 -0
  76. package/src/utils/index.ts +7 -0
  77. package/src/utils/validity.ts +135 -0
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { C as ChainConfig, N as NetworkType } from '../../index-BWN0Haa0.mjs';
3
+ import { C as ChainConfig, N as NetworkType } from '../../index-DbauIMV2.mjs';
4
4
 
5
5
  /**
6
6
  * Wallet families a browser can sign for today. The rest are listed but
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { C as ChainConfig, N as NetworkType } from '../../index-BWN0Haa0.js';
3
+ import { C as ChainConfig, N as NetworkType } from '../../index-DbauIMV2.js';
4
4
 
5
5
  /**
6
6
  * Wallet families a browser can sign for today. The rest are listed but
@@ -1,5 +1,5 @@
1
- export { D as DEFAULT_PAYMENT_HEADER, P as PAYMENT_HEADER_NAMES, b as buildTokenMetadata, c as caip2ToChain, a as chainToCAIP2, d as convertX402Header, e as createPaymentHeaders, f as createX402Header, g as createX402V1Header, h as createX402V2Header, i as decodeBase64Utf8, j as decodeX402Header, k as detectX402Version, l as encodeBase64Json, m as encodeBase64Utf8, n as encodeX402Header, o as generatePaymentOptions, p as getPaymentHeader, q as isCAIP2Format, r as parseNetworkIdentifier, s as paymentChallengeFrom, v as validateAmount, t as validateRecipient } from '../validation-B95g0MqC.mjs';
2
- import '../index-BWN0Haa0.mjs';
1
+ export { D as DEFAULT_PAYMENT_HEADER, a as DEFAULT_VALIDITY_SECONDS, M as MAX_VALIDITY_SECONDS, P as PAYMENT_HEADER_NAMES, b as buildTokenMetadata, c as caip2ToChain, d as chainToCAIP2, e as clampValiditySeconds, f as convertX402Header, g as createPaymentHeaders, h as createX402Header, i as createX402V1Header, j as createX402V2Header, k as decodeBase64Utf8, l as decodeX402Header, m as detectX402Version, n as encodeBase64Json, o as encodeBase64Utf8, p as encodeX402Header, q as generatePaymentOptions, r as getPaymentHeader, s as isCAIP2Format, t as parseNetworkIdentifier, u as paymentChallengeFrom, v as resolveValiditySeconds, w as validateAmount, x as validateRecipient } from '../validity-BTMBMmuj.mjs';
2
+ import '../index-DbauIMV2.mjs';
3
3
 
4
4
  /**
5
5
  * uvd-x402-sdk - EIP-191 personal_sign helpers
@@ -1,5 +1,5 @@
1
- export { D as DEFAULT_PAYMENT_HEADER, P as PAYMENT_HEADER_NAMES, b as buildTokenMetadata, c as caip2ToChain, a as chainToCAIP2, d as convertX402Header, e as createPaymentHeaders, f as createX402Header, g as createX402V1Header, h as createX402V2Header, i as decodeBase64Utf8, j as decodeX402Header, k as detectX402Version, l as encodeBase64Json, m as encodeBase64Utf8, n as encodeX402Header, o as generatePaymentOptions, p as getPaymentHeader, q as isCAIP2Format, r as parseNetworkIdentifier, s as paymentChallengeFrom, v as validateAmount, t as validateRecipient } from '../validation-_Tcjm2gu.js';
2
- import '../index-BWN0Haa0.js';
1
+ export { D as DEFAULT_PAYMENT_HEADER, a as DEFAULT_VALIDITY_SECONDS, M as MAX_VALIDITY_SECONDS, P as PAYMENT_HEADER_NAMES, b as buildTokenMetadata, c as caip2ToChain, d as chainToCAIP2, e as clampValiditySeconds, f as convertX402Header, g as createPaymentHeaders, h as createX402Header, i as createX402V1Header, j as createX402V2Header, k as decodeBase64Utf8, l as decodeX402Header, m as detectX402Version, n as encodeBase64Json, o as encodeBase64Utf8, p as encodeX402Header, q as generatePaymentOptions, r as getPaymentHeader, s as isCAIP2Format, t as parseNetworkIdentifier, u as paymentChallengeFrom, v as resolveValiditySeconds, w as validateAmount, x as validateRecipient } from '../validity-C0z0GqH6.js';
2
+ import '../index-DbauIMV2.js';
3
3
 
4
4
  /**
5
5
  * uvd-x402-sdk - EIP-191 personal_sign helpers
@@ -1438,11 +1438,39 @@ function verifyPersonalSign(params) {
1438
1438
  }
1439
1439
  }
1440
1440
 
1441
+ // src/utils/validity.ts
1442
+ var DEFAULT_VALIDITY_SECONDS = 300;
1443
+ var MAX_VALIDITY_SECONDS = 3600;
1444
+ function resolveValiditySeconds(perPayment, clientDefault) {
1445
+ const chosen = perPayment ?? clientDefault ?? DEFAULT_VALIDITY_SECONDS;
1446
+ if (!Number.isInteger(chosen) || chosen <= 0) {
1447
+ throw new X402Error(
1448
+ `validitySeconds must be a positive whole number of seconds, got ${String(chosen)}`,
1449
+ "INVALID_CONFIG",
1450
+ { validitySeconds: chosen }
1451
+ );
1452
+ }
1453
+ if (chosen > MAX_VALIDITY_SECONDS) {
1454
+ throw new X402Error(
1455
+ `validitySeconds must be at most ${MAX_VALIDITY_SECONDS} seconds, got ${String(chosen)}. A longer window is a standing claim on the payer: it can be settled long after the payer gave the payment up for expired.`,
1456
+ "INVALID_CONFIG",
1457
+ { validitySeconds: chosen, max: MAX_VALIDITY_SECONDS }
1458
+ );
1459
+ }
1460
+ return chosen;
1461
+ }
1462
+ function clampValiditySeconds(maxTimeoutSeconds) {
1463
+ return Math.min(MAX_VALIDITY_SECONDS, Math.max(1, Math.floor(maxTimeoutSeconds)));
1464
+ }
1465
+
1441
1466
  exports.DEFAULT_PAYMENT_HEADER = DEFAULT_PAYMENT_HEADER;
1467
+ exports.DEFAULT_VALIDITY_SECONDS = DEFAULT_VALIDITY_SECONDS;
1468
+ exports.MAX_VALIDITY_SECONDS = MAX_VALIDITY_SECONDS;
1442
1469
  exports.PAYMENT_HEADER_NAMES = PAYMENT_HEADER_NAMES;
1443
1470
  exports.buildTokenMetadata = buildTokenMetadata;
1444
1471
  exports.caip2ToChain = caip2ToChain;
1445
1472
  exports.chainToCAIP2 = chainToCAIP2;
1473
+ exports.clampValiditySeconds = clampValiditySeconds;
1446
1474
  exports.convertX402Header = convertX402Header;
1447
1475
  exports.createPaymentHeaders = createPaymentHeaders;
1448
1476
  exports.createX402Header = createX402Header;
@@ -1460,6 +1488,7 @@ exports.isCAIP2Format = isCAIP2Format;
1460
1488
  exports.parseNetworkIdentifier = parseNetworkIdentifier;
1461
1489
  exports.paymentChallengeFrom = paymentChallengeFrom;
1462
1490
  exports.recoverPersonalSignAddress = recoverPersonalSignAddress;
1491
+ exports.resolveValiditySeconds = resolveValiditySeconds;
1463
1492
  exports.validateAmount = validateAmount;
1464
1493
  exports.validateRecipient = validateRecipient;
1465
1494
  exports.verifyPersonalSign = verifyPersonalSign;