@dexterai/x402 5.4.2 → 6.0.0-rc.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 (51) hide show
  1. package/README.md +19 -4
  2. package/REFERENCE.md +79 -8
  3. package/dist/adapters/index.d.cts +3 -3
  4. package/dist/adapters/index.d.ts +3 -3
  5. package/dist/batch-settlement/index.d.cts +3 -3
  6. package/dist/batch-settlement/index.d.ts +3 -3
  7. package/dist/batch-settlement/seller/index.d.cts +4 -4
  8. package/dist/batch-settlement/seller/index.d.ts +4 -4
  9. package/dist/client/index.cjs +1 -1
  10. package/dist/client/index.d.cts +6 -6
  11. package/dist/client/index.d.ts +6 -6
  12. package/dist/client/index.js +1 -1
  13. package/dist/{constants-Icc4CXNG.d.cts → constants-BLvApMMl.d.cts} +1 -1
  14. package/dist/{constants-Icc4CXNG.d.ts → constants-BLvApMMl.d.ts} +1 -1
  15. package/dist/react/index.cjs +1 -1
  16. package/dist/react/index.d.cts +4 -4
  17. package/dist/react/index.d.ts +4 -4
  18. package/dist/react/index.js +1 -1
  19. package/dist/server/index.cjs +1 -1
  20. package/dist/server/index.d.cts +5 -5
  21. package/dist/server/index.d.ts +5 -5
  22. package/dist/server/index.js +1 -1
  23. package/dist/{sessions-BG2OYLBi.d.cts → sessions-rPdO1CgK.d.cts} +35 -3
  24. package/dist/{sessions-BG2OYLBi.d.ts → sessions-rPdO1CgK.d.ts} +35 -3
  25. package/dist/tab/adapters/solana/index.cjs +1 -1
  26. package/dist/tab/adapters/solana/index.d.cts +178 -26
  27. package/dist/tab/adapters/solana/index.d.ts +178 -26
  28. package/dist/tab/adapters/solana/index.js +1 -1
  29. package/dist/tab/index.cjs +5 -5
  30. package/dist/tab/index.d.cts +117 -16
  31. package/dist/tab/index.d.ts +117 -16
  32. package/dist/tab/index.js +4 -4
  33. package/dist/tab/seller/index.cjs +3 -3
  34. package/dist/tab/seller/index.d.cts +4 -4
  35. package/dist/tab/seller/index.d.ts +4 -4
  36. package/dist/tab/seller/index.js +3 -3
  37. package/dist/{types-CSuISjXA.d.cts → types-45M9fb5M.d.cts} +109 -6
  38. package/dist/{types-CSuISjXA.d.ts → types-45M9fb5M.d.ts} +109 -6
  39. package/dist/{types-BdS_uvNs.d.cts → types-BbvuPNXl.d.cts} +2 -2
  40. package/dist/{types-Co5YYhVB.d.ts → types-BhXu7cgi.d.ts} +3 -3
  41. package/dist/{types-xQu1U4xk.d.cts → types-BvQpNtFw.d.cts} +9 -1
  42. package/dist/{types-xQu1U4xk.d.ts → types-BvQpNtFw.d.ts} +9 -1
  43. package/dist/{types-CZHPdVkg.d.cts → types-C6z04Mxr.d.cts} +3 -3
  44. package/dist/{types-DY8xKheW.d.ts → types-CkcNYx1Q.d.ts} +2 -2
  45. package/dist/{types-_wdHzVG-.d.ts → types-DwVhPqOZ.d.ts} +2 -2
  46. package/dist/{types-WMqs5xII.d.cts → types-JpkrtFbZ.d.cts} +2 -2
  47. package/dist/utils/index.d.cts +1 -1
  48. package/dist/utils/index.d.ts +1 -1
  49. package/dist/{x402-client-BQKDeNxq.d.cts → x402-client-B8zdDeat.d.cts} +2 -2
  50. package/dist/{x402-client-BQKDeNxq.d.ts → x402-client-B8zdDeat.d.ts} +2 -2
  51. package/package.json +7 -6
@@ -25,10 +25,17 @@ interface VaultAdapter {
25
25
  swigAddress: string;
26
26
  /** Program/contract account holding the OTS gate state. */
27
27
  vaultPda: string;
28
+ /**
29
+ * Voucher generation this adapter issues. V6 requires `2` for buyer-side
30
+ * open/recovery. The `1` discriminator remains only so a historical adapter
31
+ * is rejected explicitly instead of being mistaken for V2 or silently
32
+ * falling through after an obligation may exist.
33
+ */
34
+ readonly sessionVoucherVersion: 1 | 2;
28
35
  /**
29
36
  * Use the ROOT signer (passkey) to authorize a fresh session key. This is
30
- * the only call that prompts the user (twice when atomically replacing a
31
- * live session — one revoke ceremony + one register ceremony). Returns a
37
+ * the only call that prompts the user. V7 live replacement binds retirement
38
+ * and replacement into one ceremony. Returns a
32
39
  * session that can be passed to `signWithSession` freely until the scope's
33
40
  * cap or expiry is reached.
34
41
  *
@@ -54,7 +61,78 @@ interface VaultAdapter {
54
61
  * facilitator settles via `settle_voucher(amount, increment: false)`.
55
62
  */
56
63
  signCloseTab(session: SessionKey, channelId: string, cumulativeAmount: AtomicAmount): Promise<Uint8Array>;
64
+ /**
65
+ * V2-only independent postcondition check. The reservation provider returns
66
+ * a voucher-bound receipt; the adapter must then prove the corresponding
67
+ * finalized on-chain reservation and authority-signed voucher-binding Memo
68
+ * from its own chain connection before the voucher may leave this process.
69
+ * V1 adapters omit this method.
70
+ */
71
+ verifyFinalVoucherV2Reservation?: VerifyFinalVoucherV2Reservation;
72
+ }
73
+ /** Exact durable release fence for a buyer-signed FINAL V2 voucher. */
74
+ interface FinalVoucherV2ReservationInput {
75
+ network: TabNetworkId;
76
+ programId: string;
77
+ buyerSwigAddress: string;
78
+ vaultPda: string;
79
+ sessionPda: string;
80
+ seller: string;
81
+ channelId: string;
82
+ sessionNonce: number;
83
+ reservationAmountAtomic: AtomicAmount;
84
+ previousCumulativeAtomic: AtomicAmount;
85
+ /** SHA-256 of the canonical complete voucher identity. */
86
+ voucherDigest: string;
87
+ /** SDK retry identity. Exact-byte retries retain this value; provider
88
+ * lifecycle and receipt identities remain provider-owned and distinct. */
89
+ idempotencyKey: string;
90
+ voucher: SignedVoucher;
57
91
  }
92
+ /**
93
+ * Provider attestation returned only after its durable transaction lifecycle
94
+ * has finalized the exact reservation and read back the exact post-state.
95
+ * The SDK validates every voucher/session field and the VaultAdapter proves
96
+ * both the reservation and its authority-signed voucher-binding Memo from the
97
+ * transaction itself; this is deliberately not a boolean ack.
98
+ */
99
+ interface FinalVoucherV2ReservationReceipt {
100
+ contract: 'dexter-native-tab-open-receipt/v1' | 'dexter-native-tab-open-receipt/v2';
101
+ operationId: string;
102
+ callerOperationId: string;
103
+ network: string;
104
+ transaction: string;
105
+ /** FINAL vouchers are released only after the exact reservation transaction
106
+ * reaches Solana finalized commitment. A merely confirmed fork is not a
107
+ * durable capacity guarantee. */
108
+ commitment: 'finalized';
109
+ confirmationSlot: number;
110
+ postStateSlot: number;
111
+ buyerSwigAddress: string;
112
+ vaultPda: string;
113
+ sessionPda: string;
114
+ seller: string;
115
+ channelId: string;
116
+ sessionPublicKey: string;
117
+ voucherDigest: string;
118
+ cumulativeAmountAtomic: string;
119
+ sequenceNumber: number;
120
+ providerReceiptId: string;
121
+ reservationAmountAtomic: string;
122
+ pendingVoucherCountBefore: number;
123
+ pendingVoucherCountAfter: number;
124
+ currentOutstandingBeforeAtomic: '0';
125
+ currentOutstandingAfterAtomic: string;
126
+ rootOperationId?: string;
127
+ generation?: number;
128
+ predecessorCallerOperationId?: string;
129
+ predecessorLifecycleOperationId?: string;
130
+ predecessorReleaseDigest?: string;
131
+ stableReservationId?: string;
132
+ economicEffectDigest?: string;
133
+ }
134
+ type ReserveFinalVoucherV2 = (input: FinalVoucherV2ReservationInput) => Promise<FinalVoucherV2ReservationReceipt>;
135
+ type VerifyFinalVoucherV2Reservation = (input: FinalVoucherV2ReservationInput, receipt: FinalVoucherV2ReservationReceipt) => Promise<void>;
58
136
  /**
59
137
  * Live-session policy for `authorizeSession` / `openTab` (K-T4e).
60
138
  *
@@ -69,8 +147,7 @@ interface VaultAdapter {
69
147
  * (`tab.close()` — or POST its last signed voucher to `/tab/settle`) and
70
148
  * retries, or acknowledges the replace explicitly.
71
149
  * - `'replace'`: compose the ATOMIC same-transaction
72
- * [secp(revoke), revoke, secp(register), register] so the buyer is never
73
- * left sessionless mid-flow. Costs a second passkey ceremony. Value
150
+ * [secp(replace), replace] so the buyer is never left sessionless. Value
74
151
  * already settled or crystallized into LockedClaims survives the replace;
75
152
  * anything signed beyond the frontier is voided.
76
153
  */
@@ -106,6 +183,14 @@ interface TabState {
106
183
  interface Tab {
107
184
  /** Deterministic channel id derived from buyer/seller/scope/salt. */
108
185
  readonly channelId: string;
186
+ /**
187
+ * Voucher contract used by this live handle. V2 FINAL vouchers are fenced
188
+ * by a durable reservation and therefore may never fall through to another
189
+ * payment rail after an indeterminate signing/reservation error.
190
+ *
191
+ * Required in v6. An absent generation is not safely equivalent to V1.
192
+ */
193
+ readonly voucherVersion: 1 | 2;
109
194
  /** Which network the underlying vault lives on. */
110
195
  readonly network: TabNetworkId;
111
196
  /**
@@ -179,7 +264,7 @@ interface OpenTabOptions {
179
264
  vault: VaultAdapter;
180
265
  /** CAIP-2-style network the vault lives on; cross-checked against vault.network. */
181
266
  network: TabNetworkId;
182
- /** Seller's endpoint host (used for the counterparty binding + voucher routing). */
267
+ /** Seller's base58 Solana public key for the counterparty binding. */
183
268
  seller: string;
184
269
  /** Max amount per voucher — caps how aggressive a single charge can be. */
185
270
  perUnitCap: HumanAmount;
@@ -203,6 +288,12 @@ interface OpenTabOptions {
203
288
  * See {@link AuthorizeSessionOptions}.
204
289
  */
205
290
  onLiveSession?: 'error' | 'replace';
291
+ /**
292
+ * Required by V2-capable adapters. The callback must durably persist and
293
+ * establish the exact FINAL voucher reservation before resolving. It must
294
+ * be idempotent for identical voucher bytes; a timeout is retried exactly.
295
+ */
296
+ reserveFinalVoucherV2?: ReserveFinalVoucherV2;
206
297
  }
207
298
  /**
208
299
  * Options for `resumeTab` — open a handle to a tab that was opened by a
@@ -227,6 +318,18 @@ declare class UnsupportedNetworkError extends Error {
227
318
  readonly network: string;
228
319
  constructor(network: string);
229
320
  }
321
+ /**
322
+ * Thrown before buyer-side I/O when v6 is asked to open or reconstruct a
323
+ * historical V1 tab. The coupled v6 facilitator has no compatible V1 arming
324
+ * endpoint and the Vault-wide pending counter cannot prove which historical
325
+ * session owns an existing reservation. Seller-side verification of already
326
+ * issued V1 vouchers remains available so those obligations can be settled.
327
+ */
328
+ declare class HistoricalV1MigrationRequiredError extends Error {
329
+ readonly surface: 'armTabOpen' | 'openTab' | 'tabFromGrant';
330
+ readonly code = "native_tab_v1_migration_required";
331
+ constructor(surface: 'armTabOpen' | 'openTab' | 'tabFromGrant');
332
+ }
230
333
  /** Thrown by a buyer call when the session-key cap or expiry would be exceeded. */
231
334
  declare class SessionScopeExceededError extends Error {
232
335
  readonly reason: 'cap_exceeded' | 'expired' | 'wrong_counterparty';
@@ -277,4 +380,4 @@ declare class LiveSessionExistsError extends Error {
277
380
  constructor(details: LiveSessionDetails);
278
381
  }
279
382
 
280
- export { type AuthorizeSessionOptions as A, type LiveSessionDetails as L, type OpenTabOptions as O, type ResumeTabOptions as R, SessionScopeExceededError as S, type Tab as T, UnsupportedNetworkError as U, type VaultAdapter as V, type TabState as a, type TabCloseResult as b, TabClosedError as c, LiveSessionExistsError as d };
383
+ export { type AuthorizeSessionOptions as A, type FinalVoucherV2ReservationInput as F, HistoricalV1MigrationRequiredError as H, type LiveSessionDetails as L, type OpenTabOptions as O, type ResumeTabOptions as R, SessionScopeExceededError as S, type Tab as T, UnsupportedNetworkError as U, type VerifyFinalVoucherV2Reservation as V, type FinalVoucherV2ReservationReceipt as a, type VaultAdapter as b, LiveSessionExistsError as c, type ReserveFinalVoucherV2 as d, type TabCloseResult as e, TabClosedError as f, type TabState as g };
@@ -1,5 +1,5 @@
1
1
  import { ClientChannelStorage } from '@x402/evm/batch-settlement/client';
2
- import { E as EvmWallet } from './types-xQu1U4xk.cjs';
2
+ import { a as EvmWallet } from './types-BvQpNtFw.cjs';
3
3
 
4
4
  /**
5
5
  * Buyer withdrawal escape hatch for batch-settlement escrow channels.
@@ -162,4 +162,4 @@ declare class UnsupportedNetworkError extends Error {
162
162
  constructor(message: string);
163
163
  }
164
164
 
165
- export { type BatchSettlementChannel as B, type ChannelStore as C, type ForceWithdrawResult as F, InsufficientBalanceError as I, type OpenBatchChannelOptions as O, type ResumeBatchChannelOptions as R, UnsupportedNetworkError as U, WithdrawNotReadyError as W, type ChannelState as a, type CloseReceipt as b, type CloseResult as c, type FinalizeWithdrawResult as d };
165
+ export { type BatchSettlementChannel as B, type ChannelStore as C, type FinalizeWithdrawResult as F, InsufficientBalanceError as I, type OpenBatchChannelOptions as O, type ResumeBatchChannelOptions as R, UnsupportedNetworkError as U, WithdrawNotReadyError as W, type ChannelState as a, type CloseReceipt as b, type CloseResult as c, type ForceWithdrawResult as d };
@@ -1,5 +1,5 @@
1
- import { W as WalletSet } from './types-xQu1U4xk.js';
2
- import { T as Tab } from './types-CSuISjXA.js';
1
+ import { W as WalletSet } from './types-BvQpNtFw.js';
2
+ import { T as Tab } from './types-45M9fb5M.js';
3
3
 
4
4
  /**
5
5
  * Shared contract for the x402 version seam. Both the v1 and v2 strategy
@@ -151,4 +151,4 @@ interface PaymentStrategy {
151
151
  pay(url: string, requestInit: RequestInit, challenge: PaymentChallenge, wallets: WalletSet, opts: PayAndFetchOptions): Promise<PayResult>;
152
152
  }
153
153
 
154
- export type { ChallengeOption as C, NetworkRef as N, PayAndFetchOptions as P, PayResult as a, PaymentStrategy as b, PaymentChallenge as c };
154
+ export type { ChallengeOption as C, NetworkRef as N, PaymentStrategy as P, PayAndFetchOptions as a, PayResult as b, PaymentChallenge as c };
@@ -72,6 +72,14 @@ interface AcceptsExtra {
72
72
  * Provided by the facilitator's batch-settlement kind. EVM only.
73
73
  */
74
74
  receiverAuthorizer?: string;
75
+ /** Tab seller-wire header advertised by the default hosted scheme. */
76
+ voucherHeader?: string;
77
+ /** Tab registration encoding carried inside each seller voucher. */
78
+ registrationEncoding?: string;
79
+ /** Immutable commercial-terms version for this Tab offer. */
80
+ termsVersion?: string;
81
+ /** Event that makes usage accepted under the advertised terms version. */
82
+ acceptanceRule?: string;
75
83
  /** Additional chain-specific fields */
76
84
  [key: string]: unknown;
77
85
  }
@@ -637,4 +645,4 @@ interface BalanceInfo {
637
645
  asset: string;
638
646
  }
639
647
 
640
- export { type AccessPassClientConfig as A, type BalanceInfo as B, type ChainAdapter as C, type EvmWallet as E, type GenericWallet as G, type PaymentAccept as P, type SettlementProbe as S, type VerifyResponse as V, type WalletSet as W, X402Error as X, type SolanaWallet as a, createEvmAdapter as b, createSolanaAdapter as c, type AccessPassTier as d, type AccessPassInfo as e, type SettleResponse as f, type PayToProvider as g, type PaymentRequired as h, type PayToContext as i, type PayToProviderDefaults as j, type AccessPassClaims as k, SolanaAdapter as l, EvmAdapter as m, type AdapterConfig as n, type SignedTransaction as o, isSolanaWallet as p, isEvmWallet as q };
648
+ export { type AdapterConfig as A, type BalanceInfo as B, type ChainAdapter as C, EvmAdapter as E, type GenericWallet as G, type PaymentAccept as P, SolanaAdapter as S, type VerifyResponse as V, type WalletSet as W, X402Error as X, type EvmWallet as a, type SignedTransaction as b, type SolanaWallet as c, createEvmAdapter as d, createSolanaAdapter as e, isSolanaWallet as f, type SettlementProbe as g, type AccessPassClientConfig as h, isEvmWallet as i, type AccessPassInfo as j, type AccessPassTier as k, type SettleResponse as l, type PaymentRequired as m, type PayToProvider as n, type AccessPassClaims as o, type PayToContext as p, type PayToProviderDefaults as q };
@@ -72,6 +72,14 @@ interface AcceptsExtra {
72
72
  * Provided by the facilitator's batch-settlement kind. EVM only.
73
73
  */
74
74
  receiverAuthorizer?: string;
75
+ /** Tab seller-wire header advertised by the default hosted scheme. */
76
+ voucherHeader?: string;
77
+ /** Tab registration encoding carried inside each seller voucher. */
78
+ registrationEncoding?: string;
79
+ /** Immutable commercial-terms version for this Tab offer. */
80
+ termsVersion?: string;
81
+ /** Event that makes usage accepted under the advertised terms version. */
82
+ acceptanceRule?: string;
75
83
  /** Additional chain-specific fields */
76
84
  [key: string]: unknown;
77
85
  }
@@ -637,4 +645,4 @@ interface BalanceInfo {
637
645
  asset: string;
638
646
  }
639
647
 
640
- export { type AccessPassClientConfig as A, type BalanceInfo as B, type ChainAdapter as C, type EvmWallet as E, type GenericWallet as G, type PaymentAccept as P, type SettlementProbe as S, type VerifyResponse as V, type WalletSet as W, X402Error as X, type SolanaWallet as a, createEvmAdapter as b, createSolanaAdapter as c, type AccessPassTier as d, type AccessPassInfo as e, type SettleResponse as f, type PayToProvider as g, type PaymentRequired as h, type PayToContext as i, type PayToProviderDefaults as j, type AccessPassClaims as k, SolanaAdapter as l, EvmAdapter as m, type AdapterConfig as n, type SignedTransaction as o, isSolanaWallet as p, isEvmWallet as q };
648
+ export { type AdapterConfig as A, type BalanceInfo as B, type ChainAdapter as C, EvmAdapter as E, type GenericWallet as G, type PaymentAccept as P, SolanaAdapter as S, type VerifyResponse as V, type WalletSet as W, X402Error as X, type EvmWallet as a, type SignedTransaction as b, type SolanaWallet as c, createEvmAdapter as d, createSolanaAdapter as e, isSolanaWallet as f, type SettlementProbe as g, type AccessPassClientConfig as h, isEvmWallet as i, type AccessPassInfo as j, type AccessPassTier as k, type SettleResponse as l, type PaymentRequired as m, type PayToProvider as n, type AccessPassClaims as o, type PayToContext as p, type PayToProviderDefaults as q };
@@ -1,5 +1,5 @@
1
- import { W as WalletSet } from './types-xQu1U4xk.cjs';
2
- import { T as Tab } from './types-CSuISjXA.cjs';
1
+ import { W as WalletSet } from './types-BvQpNtFw.cjs';
2
+ import { T as Tab } from './types-45M9fb5M.cjs';
3
3
 
4
4
  /**
5
5
  * Shared contract for the x402 version seam. Both the v1 and v2 strategy
@@ -151,4 +151,4 @@ interface PaymentStrategy {
151
151
  pay(url: string, requestInit: RequestInit, challenge: PaymentChallenge, wallets: WalletSet, opts: PayAndFetchOptions): Promise<PayResult>;
152
152
  }
153
153
 
154
- export type { ChallengeOption as C, NetworkRef as N, PayAndFetchOptions as P, PayResult as a, PaymentStrategy as b, PaymentChallenge as c };
154
+ export type { ChallengeOption as C, NetworkRef as N, PaymentStrategy as P, PayAndFetchOptions as a, PayResult as b, PaymentChallenge as c };
@@ -1,6 +1,6 @@
1
1
  import { RequestHandler } from 'express';
2
2
  import { ChannelStorage } from '@x402/evm/batch-settlement/server';
3
- import { b as CloseReceipt } from './types-_wdHzVG-.js';
3
+ import { b as CloseReceipt } from './types-DwVhPqOZ.js';
4
4
 
5
5
  /**
6
6
  * Result of closing one channel from the seller side. Either a settlement
@@ -57,4 +57,4 @@ interface BatchSettlementSeller extends RequestHandler {
57
57
  stop(): Promise<void>;
58
58
  }
59
59
 
60
- export type { BatchSettlementSeller as B, SellerCloseResult as S, BatchSettlementSellerConfig as a };
60
+ export type { BatchSettlementSellerConfig as B, SellerCloseResult as S, BatchSettlementSeller as a };
@@ -1,5 +1,5 @@
1
1
  import { ClientChannelStorage } from '@x402/evm/batch-settlement/client';
2
- import { E as EvmWallet } from './types-xQu1U4xk.js';
2
+ import { a as EvmWallet } from './types-BvQpNtFw.js';
3
3
 
4
4
  /**
5
5
  * Buyer withdrawal escape hatch for batch-settlement escrow channels.
@@ -162,4 +162,4 @@ declare class UnsupportedNetworkError extends Error {
162
162
  constructor(message: string);
163
163
  }
164
164
 
165
- export { type BatchSettlementChannel as B, type ChannelStore as C, type ForceWithdrawResult as F, InsufficientBalanceError as I, type OpenBatchChannelOptions as O, type ResumeBatchChannelOptions as R, UnsupportedNetworkError as U, WithdrawNotReadyError as W, type ChannelState as a, type CloseReceipt as b, type CloseResult as c, type FinalizeWithdrawResult as d };
165
+ export { type BatchSettlementChannel as B, type ChannelStore as C, type FinalizeWithdrawResult as F, InsufficientBalanceError as I, type OpenBatchChannelOptions as O, type ResumeBatchChannelOptions as R, UnsupportedNetworkError as U, WithdrawNotReadyError as W, type ChannelState as a, type CloseReceipt as b, type CloseResult as c, type ForceWithdrawResult as d };
@@ -1,6 +1,6 @@
1
1
  import { RequestHandler } from 'express';
2
2
  import { ChannelStorage } from '@x402/evm/batch-settlement/server';
3
- import { b as CloseReceipt } from './types-BdS_uvNs.cjs';
3
+ import { b as CloseReceipt } from './types-BbvuPNXl.cjs';
4
4
 
5
5
  /**
6
6
  * Result of closing one channel from the seller side. Either a settlement
@@ -57,4 +57,4 @@ interface BatchSettlementSeller extends RequestHandler {
57
57
  stop(): Promise<void>;
58
58
  }
59
59
 
60
- export type { BatchSettlementSeller as B, SellerCloseResult as S, BatchSettlementSellerConfig as a };
60
+ export type { BatchSettlementSellerConfig as B, SellerCloseResult as S, BatchSettlementSeller as a };
@@ -1,4 +1,4 @@
1
- export { s as EVM_RPC_URLS, r as SOLANA_RPC_URLS } from '../constants-Icc4CXNG.cjs';
1
+ export { r as EVM_RPC_URLS, s as SOLANA_RPC_URLS } from '../constants-BLvApMMl.cjs';
2
2
 
3
3
  /**
4
4
  * Utility Functions
@@ -1,4 +1,4 @@
1
- export { s as EVM_RPC_URLS, r as SOLANA_RPC_URLS } from '../constants-Icc4CXNG.js';
1
+ export { r as EVM_RPC_URLS, s as SOLANA_RPC_URLS } from '../constants-BLvApMMl.js';
2
2
 
3
3
  /**
4
4
  * Utility Functions
@@ -1,4 +1,4 @@
1
- import { SponsoredRecommendation, SponsoredAccessSettlementInfo } from '@dexterai/x402-ads-types';
1
+ import { SponsoredAccessSettlementInfo, SponsoredRecommendation } from '@dexterai/x402-ads-types';
2
2
 
3
3
  /**
4
4
  * Sponsored Access (Ads for Agents) — Client Helpers
@@ -143,4 +143,4 @@ interface X402Client {
143
143
  fetch(input: string | URL | Request, init?: RequestInit): Promise<Response>;
144
144
  }
145
145
 
146
- export { type PaymentReceipt as P, type X402Client as X, getSponsoredAccessInfo as a, getPaymentReceipt as b, fireImpressionBeacon as f, getSponsoredRecommendations as g };
146
+ export { type PaymentReceipt as P, type X402Client as X, getSponsoredAccessInfo as a, getSponsoredRecommendations as b, fireImpressionBeacon as f, getPaymentReceipt as g };
@@ -1,4 +1,4 @@
1
- import { SponsoredRecommendation, SponsoredAccessSettlementInfo } from '@dexterai/x402-ads-types';
1
+ import { SponsoredAccessSettlementInfo, SponsoredRecommendation } from '@dexterai/x402-ads-types';
2
2
 
3
3
  /**
4
4
  * Sponsored Access (Ads for Agents) — Client Helpers
@@ -143,4 +143,4 @@ interface X402Client {
143
143
  fetch(input: string | URL | Request, init?: RequestInit): Promise<Response>;
144
144
  }
145
145
 
146
- export { type PaymentReceipt as P, type X402Client as X, getSponsoredAccessInfo as a, getPaymentReceipt as b, fireImpressionBeacon as f, getSponsoredRecommendations as g };
146
+ export { type PaymentReceipt as P, type X402Client as X, getSponsoredAccessInfo as a, getSponsoredRecommendations as b, fireImpressionBeacon as f, getPaymentReceipt as g };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dexterai/x402",
3
- "version": "5.4.2",
3
+ "version": "6.0.0-rc.0",
4
4
  "description": "Full-stack x402 SDK - add paid API monetization to any endpoint. Express middleware, React hooks, Access Pass, dynamic pricing. Solana, Base, Polygon, Arbitrum, Optimism, Avalanche, World Chain, Monad, Robinhood Chain, SKALE.",
5
5
  "author": "Dexter",
6
6
  "license": "MIT",
@@ -74,7 +74,8 @@
74
74
  "prepublishOnly": "npm run build",
75
75
  "release": "npm version patch && npm publish --access public",
76
76
  "release:minor": "npm version minor && npm publish --access public",
77
- "release:major": "npm version major && npm publish --access public"
77
+ "release:major": "npm version major && npm publish --access public",
78
+ "release:next": "npm publish --access public --tag next"
78
79
  },
79
80
  "dependencies": {
80
81
  "@dexterai/x402-ads-types": "^0.2.0",
@@ -86,15 +87,15 @@
86
87
  "@x402/core": "2.12.0",
87
88
  "@x402/evm": "2.12.0",
88
89
  "@x402/extensions": "2.12.0",
90
+ "bs58": "^6.0.0",
89
91
  "tweetnacl": "^1.0.3"
90
92
  },
91
93
  "devDependencies": {
92
- "@dexterai/vault": "^0.37.0",
94
+ "@dexterai/vault": "0.43.1",
93
95
  "@types/aws-lambda": "^8.10.161",
94
96
  "@types/express": "^5.0.6",
95
97
  "@types/node": "^22.10.0",
96
98
  "@types/react": "^18.0.0",
97
- "bs58": "^6.0.0",
98
99
  "ethers": "^6.13.0",
99
100
  "express": "^5.2.1",
100
101
  "react": "^18.0.0",
@@ -104,7 +105,7 @@
104
105
  "vitest": "^2.1.8"
105
106
  },
106
107
  "peerDependencies": {
107
- "@dexterai/vault": ">=0.34.0",
108
+ "@dexterai/vault": "0.43.1",
108
109
  "@solana/wallet-adapter-base": "^0.9.0",
109
110
  "react": "^18.0.0 || ^19.0.0",
110
111
  "stripe": "^20.0.0",
@@ -129,7 +130,7 @@
129
130
  }
130
131
  },
131
132
  "engines": {
132
- "node": ">=18"
133
+ "node": ">=22"
133
134
  },
134
135
  "keywords": [
135
136
  "x402",