uvd-x402-sdk 2.90.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 (76) 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 +41 -2
  57. package/dist/react/index.js.map +1 -1
  58. package/dist/react/index.mjs +41 -2
  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/types/index.ts +41 -0
  75. package/src/utils/index.ts +7 -0
  76. package/src/utils/validity.ts +135 -0
package/README.md CHANGED
@@ -670,6 +670,38 @@ getSupportedTokens('base'); // ['usdc', 'eurc']
670
670
  isTokenSupported('base', 'eurc'); // true
671
671
  ```
672
672
 
673
+ ## Validity window (`validitySeconds`)
674
+
675
+ An EIP-3009 authorization can only be settled until `validBefore = now + validitySeconds`. A seller that settles **after** handing over the resource needs the authorization alive long enough for that settlement to land.
676
+
677
+ | Where | Scope | Default |
678
+ |---|---|---|
679
+ | `X402ClientConfig.validitySeconds` | every payment this client signs | `300` |
680
+ | `PaymentInfo.validitySeconds` | one payment; wins over the client | — |
681
+ | `maxTimeoutSeconds` in the seller's 402 | `client.fetch()` signs the seller's declared window | — |
682
+
683
+ ```typescript
684
+ import { X402Client, DEFAULT_VALIDITY_SECONDS, MAX_VALIDITY_SECONDS } from 'uvd-x402-sdk';
685
+
686
+ // Every payment from this client stays settleable for 10 minutes...
687
+ const client = new X402Client({ defaultChain: 'avalanche', validitySeconds: 600 });
688
+
689
+ // ...except this one, which the seller settles in batches
690
+ const result = await client.createPayment({
691
+ recipient: '0x...',
692
+ amount: '1.00',
693
+ validitySeconds: 1800,
694
+ });
695
+
696
+ DEFAULT_VALIDITY_SECONDS; // 300
697
+ MAX_VALIDITY_SECONDS; // 3600
698
+ ```
699
+
700
+ - A value that is not a whole number between 1 and `MAX_VALIDITY_SECONDS` throws `INVALID_CONFIG`: from the constructor for the client config, and before anything is signed for a single payment.
701
+ - `client.fetch()` signs the `maxTimeoutSeconds` the seller's 402 declares, clamped to 1–3600 s. When the 402 declares none, the client's window applies.
702
+ - The facilitator keeps a 6 s clock-skew grace, so the payer really has `validitySeconds - 6` seconds. It never rejects a window for being long.
703
+ - Before 2.91.0 the window was 300 s on Base and 60 s on every other EVM network, and there was no way to change it.
704
+
673
705
  ## AUSD on Solana (Token2022)
674
706
 
675
707
  ```typescript
@@ -1,4 +1,4 @@
1
- import { X as X402Version, a as PaymentResult } from '../index-BWN0Haa0.mjs';
1
+ import { X as X402Version, a as PaymentResult } from '../index-DbauIMV2.mjs';
2
2
  export { E as EnvKeyAdapter, O as OWSWallet, a as OWSWalletAdapter } from '../ows-Z9v4GxOZ.mjs';
3
3
  import '../wallet-w7BnImDG.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { X as X402Version, a as PaymentResult } from '../index-BWN0Haa0.js';
1
+ import { X as X402Version, a as PaymentResult } from '../index-DbauIMV2.js';
2
2
  export { E as EnvKeyAdapter, O as OWSWallet, a as OWSWalletAdapter } from '../ows-C-KmORG9.js';
3
3
  import '../wallet-w7BnImDG.js';
4
4