@payai/x402-evm 2.4.0 → 2.4.2

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 (150) hide show
  1. package/dist/cjs/batch-settlement/client/file-storage.d.ts +47 -0
  2. package/dist/cjs/batch-settlement/client/file-storage.js +116 -0
  3. package/dist/cjs/batch-settlement/client/file-storage.js.map +1 -0
  4. package/dist/cjs/batch-settlement/client/index.d.ts +111 -0
  5. package/dist/cjs/batch-settlement/client/index.js +1565 -0
  6. package/dist/cjs/batch-settlement/client/index.js.map +1 -0
  7. package/dist/cjs/batch-settlement/facilitator/index.d.ts +71 -0
  8. package/dist/cjs/batch-settlement/facilitator/index.js +2032 -0
  9. package/dist/cjs/batch-settlement/facilitator/index.js.map +1 -0
  10. package/dist/cjs/batch-settlement/server/file-storage.d.ts +53 -0
  11. package/dist/cjs/batch-settlement/server/file-storage.js +181 -0
  12. package/dist/cjs/batch-settlement/server/file-storage.js.map +1 -0
  13. package/dist/cjs/batch-settlement/server/index.d.ts +491 -0
  14. package/dist/cjs/batch-settlement/server/index.js +1960 -0
  15. package/dist/cjs/batch-settlement/server/index.js.map +1 -0
  16. package/dist/cjs/batch-settlement/server/redis-storage.d.ts +87 -0
  17. package/dist/cjs/batch-settlement/server/redis-storage.js +181 -0
  18. package/dist/cjs/batch-settlement/server/redis-storage.js.map +1 -0
  19. package/dist/cjs/exact/client/index.d.ts +6 -4
  20. package/dist/cjs/exact/client/index.js +7 -5
  21. package/dist/cjs/exact/client/index.js.map +1 -1
  22. package/dist/cjs/exact/facilitator/index.d.ts +16 -9
  23. package/dist/cjs/exact/facilitator/index.js +56 -9
  24. package/dist/cjs/exact/facilitator/index.js.map +1 -1
  25. package/dist/cjs/exact/server/index.d.ts +0 -8
  26. package/dist/cjs/exact/server/index.js +53 -19
  27. package/dist/cjs/exact/server/index.js.map +1 -1
  28. package/dist/cjs/exact/v1/client/index.d.ts +2 -1
  29. package/dist/cjs/exact/v1/client/index.js.map +1 -1
  30. package/dist/cjs/exact/v1/facilitator/index.d.ts +11 -5
  31. package/dist/cjs/exact/v1/facilitator/index.js +16 -2
  32. package/dist/cjs/exact/v1/facilitator/index.js.map +1 -1
  33. package/dist/cjs/index.d.ts +113 -7
  34. package/dist/cjs/index.js +1353 -5
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/{esm/permit2-CyZxwngN.d.mts → cjs/permit2-DhJRUcgY.d.ts} +1 -13
  37. package/dist/cjs/rpc-DULZzRne.d.ts +13 -0
  38. package/dist/cjs/scheme-CvkPJXBD.d.ts +307 -0
  39. package/dist/{esm/scheme-DCR7hsa3.d.mts → cjs/scheme-DTQFE9xp.d.ts} +2 -2
  40. package/dist/{esm/signer-D912R4mq.d.mts → cjs/signer-tYS6Y46X.d.ts} +3 -0
  41. package/dist/cjs/storage-6W5MO46W.d.ts +50 -0
  42. package/dist/cjs/storage-Bl6aD0Xg.d.ts +81 -0
  43. package/dist/cjs/types-CF8P2-NM.d.ts +180 -0
  44. package/dist/cjs/upto/client/index.d.ts +5 -3
  45. package/dist/cjs/upto/client/index.js +7 -5
  46. package/dist/cjs/upto/client/index.js.map +1 -1
  47. package/dist/cjs/upto/facilitator/index.d.ts +2 -1
  48. package/dist/cjs/upto/facilitator/index.js +2 -1
  49. package/dist/cjs/upto/facilitator/index.js.map +1 -1
  50. package/dist/cjs/upto/server/index.d.ts +0 -8
  51. package/dist/cjs/upto/server/index.js +51 -19
  52. package/dist/cjs/upto/server/index.js.map +1 -1
  53. package/dist/cjs/v1/index.d.ts +2 -1
  54. package/dist/cjs/v1/index.js.map +1 -1
  55. package/dist/esm/batch-settlement/client/file-storage.d.mts +47 -0
  56. package/dist/esm/batch-settlement/client/file-storage.mjs +63 -0
  57. package/dist/esm/batch-settlement/client/file-storage.mjs.map +1 -0
  58. package/dist/esm/batch-settlement/client/index.d.mts +111 -0
  59. package/dist/esm/batch-settlement/client/index.mjs +59 -0
  60. package/dist/esm/batch-settlement/client/index.mjs.map +1 -0
  61. package/dist/esm/batch-settlement/facilitator/index.d.mts +71 -0
  62. package/dist/esm/batch-settlement/facilitator/index.mjs +1235 -0
  63. package/dist/esm/batch-settlement/facilitator/index.mjs.map +1 -0
  64. package/dist/esm/batch-settlement/server/file-storage.d.mts +53 -0
  65. package/dist/esm/batch-settlement/server/file-storage.mjs +128 -0
  66. package/dist/esm/batch-settlement/server/file-storage.mjs.map +1 -0
  67. package/dist/esm/batch-settlement/server/index.d.mts +491 -0
  68. package/dist/esm/batch-settlement/server/index.mjs +1645 -0
  69. package/dist/esm/batch-settlement/server/index.mjs.map +1 -0
  70. package/dist/esm/batch-settlement/server/redis-storage.d.mts +87 -0
  71. package/dist/esm/batch-settlement/server/redis-storage.mjs +156 -0
  72. package/dist/esm/batch-settlement/server/redis-storage.mjs.map +1 -0
  73. package/dist/esm/chunk-2EUQTNJO.mjs +38 -0
  74. package/dist/esm/chunk-2EUQTNJO.mjs.map +1 -0
  75. package/dist/esm/chunk-53USC5VE.mjs +47 -0
  76. package/dist/esm/chunk-53USC5VE.mjs.map +1 -0
  77. package/dist/esm/{chunk-GJ57SZGI.mjs → chunk-6WQOGWBE.mjs} +7 -5
  78. package/dist/esm/{chunk-GJ57SZGI.mjs.map → chunk-6WQOGWBE.mjs.map} +1 -1
  79. package/dist/esm/{chunk-NSFLAANF.mjs → chunk-BTYNCDNS.mjs} +51 -2
  80. package/dist/esm/chunk-BTYNCDNS.mjs.map +1 -0
  81. package/dist/esm/{chunk-RYT6M3PA.mjs → chunk-CSQS7ZON.mjs} +47 -7
  82. package/dist/esm/chunk-CSQS7ZON.mjs.map +1 -0
  83. package/dist/esm/chunk-GD4MKCN7.mjs +57 -0
  84. package/dist/esm/chunk-GD4MKCN7.mjs.map +1 -0
  85. package/dist/esm/chunk-HYABYUBD.mjs +432 -0
  86. package/dist/esm/chunk-HYABYUBD.mjs.map +1 -0
  87. package/dist/esm/chunk-IN5YIT5C.mjs +159 -0
  88. package/dist/esm/chunk-IN5YIT5C.mjs.map +1 -0
  89. package/dist/esm/{chunk-JII456TS.mjs → chunk-JK7SLLF7.mjs} +1 -1
  90. package/dist/esm/chunk-JK7SLLF7.mjs.map +1 -0
  91. package/dist/esm/{chunk-C4ZQMS77.mjs → chunk-MACPBXCT.mjs} +2 -216
  92. package/dist/esm/chunk-MACPBXCT.mjs.map +1 -0
  93. package/dist/esm/chunk-NKYVYGRA.mjs +911 -0
  94. package/dist/esm/chunk-NKYVYGRA.mjs.map +1 -0
  95. package/dist/esm/{chunk-D6RXZXOS.mjs → chunk-R7I3RZFF.mjs} +10 -6
  96. package/dist/esm/{chunk-D6RXZXOS.mjs.map → chunk-R7I3RZFF.mjs.map} +1 -1
  97. package/dist/esm/{chunk-CRT6YNY5.mjs → chunk-RWLVVO3B.mjs} +21 -61
  98. package/dist/esm/chunk-RWLVVO3B.mjs.map +1 -0
  99. package/dist/esm/chunk-TGFAVNUD.mjs +111 -0
  100. package/dist/esm/chunk-TGFAVNUD.mjs.map +1 -0
  101. package/dist/esm/chunk-TW7Z65AO.mjs +34 -0
  102. package/dist/esm/chunk-TW7Z65AO.mjs.map +1 -0
  103. package/dist/esm/chunk-U4HCGTLU.mjs +35 -0
  104. package/dist/esm/chunk-U4HCGTLU.mjs.map +1 -0
  105. package/dist/esm/chunk-VS3RYAYE.mjs +80 -0
  106. package/dist/esm/chunk-VS3RYAYE.mjs.map +1 -0
  107. package/dist/esm/chunk-W6ON4LG2.mjs +39 -0
  108. package/dist/esm/chunk-W6ON4LG2.mjs.map +1 -0
  109. package/dist/esm/{chunk-WKBC5YMI.mjs → chunk-YMQCTKDU.mjs} +23 -55
  110. package/dist/esm/chunk-YMQCTKDU.mjs.map +1 -0
  111. package/dist/esm/exact/client/index.d.mts +6 -4
  112. package/dist/esm/exact/client/index.mjs +10 -5
  113. package/dist/esm/exact/facilitator/index.d.mts +16 -9
  114. package/dist/esm/exact/facilitator/index.mjs +39 -16
  115. package/dist/esm/exact/facilitator/index.mjs.map +1 -1
  116. package/dist/esm/exact/server/index.d.mts +0 -8
  117. package/dist/esm/exact/server/index.mjs +3 -19
  118. package/dist/esm/exact/server/index.mjs.map +1 -1
  119. package/dist/esm/exact/v1/client/index.d.mts +2 -1
  120. package/dist/esm/exact/v1/client/index.mjs +5 -2
  121. package/dist/esm/exact/v1/facilitator/index.d.mts +11 -5
  122. package/dist/esm/exact/v1/facilitator/index.mjs +5 -2
  123. package/dist/esm/index.d.mts +113 -7
  124. package/dist/esm/index.mjs +53 -7
  125. package/dist/esm/index.mjs.map +1 -1
  126. package/dist/esm/permit2-DhJRUcgY.d.mts +729 -0
  127. package/dist/esm/rpc-DULZzRne.d.mts +13 -0
  128. package/dist/esm/scheme-DtbSS4Fk.d.mts +307 -0
  129. package/dist/esm/scheme-gtqAIYPJ.d.mts +47 -0
  130. package/dist/esm/signer-tYS6Y46X.d.mts +170 -0
  131. package/dist/esm/storage-6W5MO46W.d.mts +50 -0
  132. package/dist/esm/storage-sZ1CDS4P.d.mts +81 -0
  133. package/dist/esm/types-CF8P2-NM.d.mts +180 -0
  134. package/dist/esm/upto/client/index.d.mts +5 -3
  135. package/dist/esm/upto/client/index.mjs +9 -4
  136. package/dist/esm/upto/facilitator/index.d.mts +2 -1
  137. package/dist/esm/upto/facilitator/index.mjs +17 -9
  138. package/dist/esm/upto/facilitator/index.mjs.map +1 -1
  139. package/dist/esm/upto/server/index.d.mts +0 -8
  140. package/dist/esm/upto/server/index.mjs +3 -19
  141. package/dist/esm/upto/server/index.mjs.map +1 -1
  142. package/dist/esm/v1/index.d.mts +2 -1
  143. package/dist/esm/v1/index.mjs +5 -2
  144. package/package.json +5 -5
  145. package/dist/esm/chunk-C4ZQMS77.mjs.map +0 -1
  146. package/dist/esm/chunk-CRT6YNY5.mjs.map +0 -1
  147. package/dist/esm/chunk-JII456TS.mjs.map +0 -1
  148. package/dist/esm/chunk-NSFLAANF.mjs.map +0 -1
  149. package/dist/esm/chunk-RYT6M3PA.mjs.map +0 -1
  150. package/dist/esm/chunk-WKBC5YMI.mjs.map +0 -1
@@ -0,0 +1,111 @@
1
+ import { a as BatchSettlementClientDeps } from '../../scheme-DtbSS4Fk.mjs';
2
+ export { b as BatchSettlementDepositPolicy, c as BatchSettlementDepositStrategy, d as BatchSettlementDepositStrategyContext, e as BatchSettlementDepositStrategyResult, B as BatchSettlementEvmScheme, f as BatchSettlementEvmSchemeOptions, R as RefundOptions, j as ResolvedClientOptions, k as buildChannelConfig, g as depositAmountForRequest, l as getChannel, m as hasChannel, i as isBatchSettlementEvmSchemeOptions, p as processPaymentResponse, n as processSettleResponse, o as readChannelBalanceAndTotalClaimed, q as recoverChannel, r as refundChannel, h as resolveClientOptions, u as updateChannelAfterRefund, v as validateDepositPolicy } from '../../scheme-DtbSS4Fk.mjs';
3
+ export { B as BatchSettlementClientContext, C as ClientChannelStorage, I as InMemoryClientChannelStorage } from '../../storage-6W5MO46W.mjs';
4
+ import { PaymentRequirements, PaymentPayloadResult, SchemeClientHooks, PaymentRequired } from '@payai/x402/types';
5
+ import { C as ClientEvmSigner } from '../../signer-tYS6Y46X.mjs';
6
+ import { C as ChannelConfig, d as BatchSettlementVoucherFields, t as BatchSettlementChannelStateExtra, u as BatchSettlementVoucherStateExtra } from '../../types-CF8P2-NM.mjs';
7
+ import { PaymentResponseContext } from '@payai/x402/client';
8
+ import '../../rpc-DULZzRne.mjs';
9
+ import 'viem';
10
+
11
+ /**
12
+ * Computes the chain-bound channel id from a {@link ChannelConfig} struct.
13
+ *
14
+ * @param config - The immutable channel configuration.
15
+ * @param networkOrChainId - CAIP-2 network identifier or numeric EVM chain id.
16
+ * @returns The `bytes32` channel id as a hex string.
17
+ */
18
+ declare function computeChannelId(config: ChannelConfig, networkOrChainId: string | number): `0x${string}`;
19
+
20
+ /**
21
+ * Creates a deposit payload that bundles an ERC-3009 `receiveWithAuthorization` approval
22
+ * together with a cumulative voucher signature.
23
+ *
24
+ * When the facilitator submits this payload onchain, the contract atomically transfers
25
+ * tokens from the payer into the channel and records the initial voucher.
26
+ *
27
+ * @param signer - Client wallet used to sign the ERC-3009 authorization (`from` = payer).
28
+ * @param x402Version - Protocol version to embed in the payload envelope.
29
+ * @param paymentRequirements - Server-provided payment requirements (asset, network, amount, etc.).
30
+ * @param channelConfig - Immutable channel configuration (payer, receiver, token, …).
31
+ * @param depositAmount - Number of tokens (decimal string) to deposit into the channel.
32
+ * @param maxClaimableAmount - Cumulative ceiling for the accompanying voucher.
33
+ * @param voucherSigner - Optional key that signs the voucher; defaults to `signer` (same as payer).
34
+ * @returns A {@link PaymentPayloadResult} containing the signed deposit + voucher payload.
35
+ */
36
+ declare function createBatchSettlementEIP3009DepositPayload(signer: ClientEvmSigner, x402Version: number, paymentRequirements: PaymentRequirements, channelConfig: ChannelConfig, depositAmount: string, maxClaimableAmount: string, voucherSigner?: ClientEvmSigner): Promise<PaymentPayloadResult>;
37
+
38
+ /**
39
+ * Signs a cumulative voucher using the client's wallet.
40
+ *
41
+ * The voucher authorises the receiver to claim up to `maxClaimableAmount` from the
42
+ * channel identified by `channelId`. The signature covers the EIP-712 `Voucher` struct
43
+ * under the batched domain.
44
+ *
45
+ * @param signer - Client wallet used to produce the EIP-712 signature.
46
+ * @param channelId - Identifier of the payment channel. This is the EIP-712
47
+ * hash of the `ChannelConfig` typed data for the batch settlement domain; see
48
+ * `computeChannelId`.
49
+ * @param maxClaimableAmount - Cumulative ceiling the receiver may claim (decimal string in token units).
50
+ * @param network - CAIP-2 network identifier (e.g. `eip155:84532`).
51
+ * @returns Signed voucher fields ready to be included in a payment payload.
52
+ */
53
+ declare function signVoucher(signer: ClientEvmSigner, channelId: `0x${string}`, maxClaimableAmount: string, network: string): Promise<BatchSettlementVoucherFields>;
54
+
55
+ /**
56
+ * Creates storage-aware client hooks for batch-settlement payment responses.
57
+ *
58
+ * @param deps - Client identity and storage inputs.
59
+ * @returns Scheme hooks for response reconciliation and corrective recovery.
60
+ */
61
+ declare function createBatchSettlementClientHooks(deps: BatchSettlementClientDeps): SchemeClientHooks;
62
+ /**
63
+ * Reconciles batch-settlement client state after a paid request or refund attempt.
64
+ *
65
+ * @param deps - Client identity and storage inputs.
66
+ * @param ctx - Core payment response context.
67
+ * @returns A recovery signal when corrective recovery succeeds.
68
+ */
69
+ declare function handleBatchSettlementPaymentResponse(deps: BatchSettlementClientDeps, ctx: PaymentResponseContext): Promise<void | {
70
+ recovered: true;
71
+ }>;
72
+
73
+ /**
74
+ * Handles a corrective 402 response from the server when the client's
75
+ * cumulative base is out of sync.
76
+ *
77
+ * Validates the server-provided state (chargedCumulativeAmount,
78
+ * signedMaxClaimable, signature) against onchain data and the client's own
79
+ * signing key, then updates the local channel state if everything checks out.
80
+ *
81
+ * @param deps - Signer + storage + identity inputs.
82
+ * @param paymentRequired - The decoded 402 response body.
83
+ * @returns `true` if the channel state was successfully resynced and the request can be retried.
84
+ */
85
+ declare function processCorrectivePaymentRequired(deps: BatchSettlementClientDeps, paymentRequired: PaymentRequired): Promise<boolean>;
86
+ /**
87
+ * Recovers channel state from a corrective 402 that includes a server-provided
88
+ * voucher signature. Verifies the signature matches the client's own signing
89
+ * key before accepting.
90
+ *
91
+ * @param deps - Signer + storage + identity inputs.
92
+ * @param accept - Batch settlement payment requirements from the corrective 402.
93
+ * @param channelState - Server channel snapshot from `accept.extra.channelState`.
94
+ * @param voucherState - Latest signed voucher proof from `accept.extra.voucherState`.
95
+ * @returns `true` when local channel state was updated successfully.
96
+ */
97
+ declare function recoverFromSignature(deps: BatchSettlementClientDeps, accept: PaymentRequirements, channelState: BatchSettlementChannelStateExtra, voucherState: BatchSettlementVoucherStateExtra): Promise<boolean>;
98
+ /**
99
+ * Recovers channel state purely from onchain state when the server has no stored
100
+ * voucher (e.g. after a cooperative refund deleted the channel record). The onchain
101
+ * `totalClaimed` becomes the new baseline — no signature verification is
102
+ * needed because the contract is the source of truth when no outstanding
103
+ * voucher exists.
104
+ *
105
+ * @param deps - Signer + storage + identity inputs.
106
+ * @param accept - Batch settlement payment requirements from the corrective 402.
107
+ * @returns `true` when local channel state was updated from onchain data.
108
+ */
109
+ declare function recoverFromOnChainState(deps: BatchSettlementClientDeps, accept: PaymentRequirements): Promise<boolean>;
110
+
111
+ export { BatchSettlementClientDeps, computeChannelId, createBatchSettlementClientHooks, createBatchSettlementEIP3009DepositPayload, handleBatchSettlementPaymentResponse, processCorrectivePaymentRequired, recoverFromOnChainState, recoverFromSignature, signVoucher };
@@ -0,0 +1,59 @@
1
+ import {
2
+ BatchSettlementEvmScheme,
3
+ InMemoryClientChannelStorage,
4
+ buildChannelConfig,
5
+ createBatchSettlementClientHooks,
6
+ createBatchSettlementEIP3009DepositPayload,
7
+ depositAmountForRequest,
8
+ getChannel,
9
+ handleBatchSettlementPaymentResponse,
10
+ hasChannel,
11
+ isBatchSettlementEvmSchemeOptions,
12
+ processCorrectivePaymentRequired,
13
+ processPaymentResponse,
14
+ processSettleResponse,
15
+ readChannelBalanceAndTotalClaimed,
16
+ recoverChannel,
17
+ recoverFromOnChainState,
18
+ recoverFromSignature,
19
+ refundChannel,
20
+ resolveClientOptions,
21
+ signVoucher,
22
+ updateChannelAfterRefund,
23
+ validateDepositPolicy
24
+ } from "../../chunk-NKYVYGRA.mjs";
25
+ import "../../chunk-W6ON4LG2.mjs";
26
+ import {
27
+ computeChannelId
28
+ } from "../../chunk-HYABYUBD.mjs";
29
+ import "../../chunk-U4HCGTLU.mjs";
30
+ import "../../chunk-YMQCTKDU.mjs";
31
+ import "../../chunk-GD4MKCN7.mjs";
32
+ import "../../chunk-MACPBXCT.mjs";
33
+ import "../../chunk-TW7Z65AO.mjs";
34
+ export {
35
+ BatchSettlementEvmScheme,
36
+ InMemoryClientChannelStorage,
37
+ buildChannelConfig,
38
+ computeChannelId,
39
+ createBatchSettlementClientHooks,
40
+ createBatchSettlementEIP3009DepositPayload,
41
+ depositAmountForRequest,
42
+ getChannel,
43
+ handleBatchSettlementPaymentResponse,
44
+ hasChannel,
45
+ isBatchSettlementEvmSchemeOptions,
46
+ processCorrectivePaymentRequired,
47
+ processPaymentResponse,
48
+ processSettleResponse,
49
+ readChannelBalanceAndTotalClaimed,
50
+ recoverChannel,
51
+ recoverFromOnChainState,
52
+ recoverFromSignature,
53
+ refundChannel,
54
+ resolveClientOptions,
55
+ signVoucher,
56
+ updateChannelAfterRefund,
57
+ validateDepositPolicy
58
+ };
59
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,71 @@
1
+ import { SchemeNetworkFacilitator, PaymentPayload, PaymentRequirements, FacilitatorContext, VerifyResponse, SettleResponse } from '@payai/x402/types';
2
+ import { F as FacilitatorEvmSigner } from '../../signer-tYS6Y46X.mjs';
3
+ import { A as AuthorizerSigner } from '../../types-CF8P2-NM.mjs';
4
+ import 'viem';
5
+
6
+ /**
7
+ * Facilitator-side implementation of the `batch-settlement` scheme for EVM networks.
8
+ *
9
+ * Routes incoming verify/settle requests to the appropriate handler based on payload
10
+ * type (deposit, voucher, claim, settle, refund).
11
+ */
12
+ declare class BatchSettlementEvmScheme implements SchemeNetworkFacilitator {
13
+ private readonly signer;
14
+ private readonly authorizerSigner;
15
+ readonly scheme: "batch-settlement";
16
+ readonly caipFamily = "eip155:*";
17
+ /**
18
+ * Creates a facilitator scheme for verifying and settling batch-settlement payments.
19
+ *
20
+ * @param signer - Facilitator EVM signer(s) used for tx submission and onchain reads.
21
+ * @param authorizerSigner - Dedicated key that provides EIP-712 signatures for
22
+ * `claimWithSignature` / `refundWithSignature`. The facilitator will sign missing
23
+ * authorizer signatures using this key when the server omits them.
24
+ */
25
+ constructor(signer: FacilitatorEvmSigner, authorizerSigner: AuthorizerSigner);
26
+ /**
27
+ * Returns facilitator-specific extra fields to be merged into payment requirements.
28
+ *
29
+ * Exposes the configured `receiverAuthorizer` address so the server and client can
30
+ * embed it in `ChannelConfig`.
31
+ *
32
+ * @param _ - Network identifier (unused).
33
+ * @returns Extra fields containing `receiverAuthorizer`.
34
+ */
35
+ getExtra(_: string): {
36
+ receiverAuthorizer: `0x${string}`;
37
+ } | undefined;
38
+ /**
39
+ * Returns all facilitator signer addresses available for the given network.
40
+ *
41
+ * @param _ - Network identifier (unused).
42
+ * @returns Array of hex addresses.
43
+ */
44
+ getSigners(_: string): `0x${string}`[];
45
+ /**
46
+ * Verifies a payment payload (deposit or voucher) without executing settlement.
47
+ *
48
+ * @param payload - The x402 payment payload envelope.
49
+ * @param requirements - Server payment requirements (scheme, network, asset, amount).
50
+ * @param context - Optional facilitator extension context.
51
+ * @returns A {@link VerifyResponse} indicating validity with payer and channel state in `extra`.
52
+ */
53
+ verify(payload: PaymentPayload, requirements: PaymentRequirements, context?: FacilitatorContext): Promise<VerifyResponse>;
54
+ /**
55
+ * Executes settlement for a payment payload.
56
+ *
57
+ * Dispatches to the correct handler based on payload settle action:
58
+ * - `deposit` → onchain `deposit(config, amount, collector, collectorData)`
59
+ * - `claim` → onchain `claimWithSignature(VoucherClaim[], bytes)`
60
+ * - `settle` → onchain `settle(receiver, token)`
61
+ * - `refund` → optional claim + onchain `refundWithSignature(config, amount, nonce, sig)`
62
+ *
63
+ * @param payload - The x402 payment payload envelope.
64
+ * @param requirements - Server payment requirements.
65
+ * @param context - Optional facilitator extension context.
66
+ * @returns A {@link SettleResponse} with the transaction hash on success.
67
+ */
68
+ settle(payload: PaymentPayload, requirements: PaymentRequirements, context?: FacilitatorContext): Promise<SettleResponse>;
69
+ }
70
+
71
+ export { BatchSettlementEvmScheme };