@absol-labs/agent 0.12.0-rc.2 → 0.12.0-rc.3
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.
- package/dist/cli/commands/claim.d.ts +9 -0
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +12 -1
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/refund.d.ts +2 -0
- package/dist/cli/commands/refund.d.ts.map +1 -1
- package/dist/cli/commands/refund.js +126 -8
- package/dist/cli/commands/refund.js.map +1 -1
- package/dist/cli/status.d.ts +6 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +25 -6
- package/dist/cli/status.js.map +1 -1
- package/dist/gateway/x402-opener-mode.d.ts.map +1 -1
- package/dist/gateway/x402-opener-mode.js +104 -7
- package/dist/gateway/x402-opener-mode.js.map +1 -1
- package/dist/x402-opener/block-floors.d.ts +35 -0
- package/dist/x402-opener/block-floors.d.ts.map +1 -0
- package/dist/x402-opener/block-floors.js +72 -0
- package/dist/x402-opener/block-floors.js.map +1 -0
- package/dist/x402-opener/facilitator-server.d.ts.map +1 -1
- package/dist/x402-opener/facilitator-server.js +7 -0
- package/dist/x402-opener/facilitator-server.js.map +1 -1
- package/dist/x402-opener/index.d.ts +1 -0
- package/dist/x402-opener/index.d.ts.map +1 -1
- package/dist/x402-opener/index.js +1 -0
- package/dist/x402-opener/index.js.map +1 -1
- package/dist/x402-opener/refund-relay.d.ts +62 -1
- package/dist/x402-opener/refund-relay.d.ts.map +1 -1
- package/dist/x402-opener/refund-relay.js +387 -208
- package/dist/x402-opener/refund-relay.js.map +1 -1
- package/dist/x402-opener/scheme.d.ts +8 -0
- package/dist/x402-opener/scheme.d.ts.map +1 -1
- package/dist/x402-opener/scheme.js +14 -0
- package/dist/x402-opener/scheme.js.map +1 -1
- package/docs/cli.md +23 -2
- package/docs/x402.md +83 -26
- package/package.json +2 -2
- package/src/cli/commands/claim.ts +17 -1
- package/src/cli/commands/refund.ts +149 -8
- package/src/cli/status.ts +28 -7
- package/src/gateway/x402-opener-mode.ts +131 -6
- package/src/x402-opener/block-floors.ts +78 -0
- package/src/x402-opener/facilitator-server.ts +7 -0
- package/src/x402-opener/index.ts +1 -0
- package/src/x402-opener/refund-relay.ts +486 -217
- package/src/x402-opener/scheme.ts +38 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Account, type Address, type Chain, type Hex, type PublicClient, type Transport, type WalletClient } from "viem";
|
|
2
|
+
import { StreamBlockFloors } from "./block-floors.js";
|
|
2
3
|
import { RelayerQueue } from "./relayer-queue.js";
|
|
3
4
|
import { type OpenerKind } from "./terms.js";
|
|
4
5
|
/**
|
|
@@ -168,7 +169,27 @@ export interface OpenerRefundRelayConfig {
|
|
|
168
169
|
* `escrow.generation` for (chain, escrow), else `v2`.
|
|
169
170
|
*/
|
|
170
171
|
readonly escrowGeneration?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Per-stream block floors shared with the opener scheme: the block of every
|
|
174
|
+
* mined settlement (and of every close/reclaim this relay mines). The relay
|
|
175
|
+
* never answers about a stream from a block below its floor, so a lagging
|
|
176
|
+
* RPC node cannot make a just-opened stream look unknown or a just-closed
|
|
177
|
+
* one look active. Default: a private instance (this relay's own txs only).
|
|
178
|
+
*/
|
|
179
|
+
readonly streamFloors?: StreamBlockFloors;
|
|
180
|
+
/**
|
|
181
|
+
* How long one request may wait for the RPC to reach a stream's floor
|
|
182
|
+
* block, ms, before answering `503 chain-lagging` (never a wrong `404`).
|
|
183
|
+
* Default {@link DEFAULT_REFUND_LAG_TOLERANCE_MS}.
|
|
184
|
+
*/
|
|
185
|
+
readonly lagToleranceMs?: number;
|
|
186
|
+
/** Poll interval while waiting for the RPC to catch up, ms. Default 1000. */
|
|
187
|
+
readonly lagPollMs?: number;
|
|
188
|
+
/** Injectable sleep, for tests. */
|
|
189
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
171
190
|
}
|
|
191
|
+
/** Default bound on waiting for a lagging RPC inside one relay request. */
|
|
192
|
+
export declare const DEFAULT_REFUND_LAG_TOLERANCE_MS = 8000;
|
|
172
193
|
/** Default reuse window for a stream's status and oracle proof. */
|
|
173
194
|
export declare const DEFAULT_REFUND_READ_CACHE_SECONDS = 5;
|
|
174
195
|
/** HTTP-shaped outcome of one relay call. `body` is JSON-safe. */
|
|
@@ -206,6 +227,10 @@ export declare class OpenerRefundRelay implements RefundRelayHandler {
|
|
|
206
227
|
private readonly cacheMs;
|
|
207
228
|
private readonly logger;
|
|
208
229
|
private readonly statusCache;
|
|
230
|
+
private readonly floors;
|
|
231
|
+
private readonly lagToleranceMs;
|
|
232
|
+
private readonly lagPollMs;
|
|
233
|
+
private readonly sleep;
|
|
209
234
|
private readonly proofCache;
|
|
210
235
|
constructor(config: OpenerRefundRelayConfig);
|
|
211
236
|
/**
|
|
@@ -216,6 +241,7 @@ export declare class OpenerRefundRelay implements RefundRelayHandler {
|
|
|
216
241
|
init(): Promise<void>;
|
|
217
242
|
status(rawStreamId: string): Promise<RefundRelayResponse>;
|
|
218
243
|
private computeStatus;
|
|
244
|
+
private describeStatus;
|
|
219
245
|
close(rawStreamId: string, body: unknown): Promise<RefundRelayResponse>;
|
|
220
246
|
reclaim(rawStreamId: string): Promise<RefundRelayResponse>;
|
|
221
247
|
reclaimUnverified(rawStreamId: string, body: unknown): Promise<RefundRelayResponse>;
|
|
@@ -226,6 +252,33 @@ export declare class OpenerRefundRelay implements RefundRelayHandler {
|
|
|
226
252
|
private log;
|
|
227
253
|
private logged;
|
|
228
254
|
private unavailable;
|
|
255
|
+
/**
|
|
256
|
+
* The RPC has not reached the block of a transaction this facilitator saw
|
|
257
|
+
* mined for the stream. NEVER a `404` (the stream exists) and never a stale
|
|
258
|
+
* answer: a retryable `503`.
|
|
259
|
+
*/
|
|
260
|
+
private lagging;
|
|
261
|
+
/** Poll budget of one answer (snapshot waits + pinned-read retries). */
|
|
262
|
+
private maxLagPolls;
|
|
263
|
+
/**
|
|
264
|
+
* A view of the chain at a block >= `floor`: waits (bounded) while the RPC's
|
|
265
|
+
* `latest` is below it, then throws {@link ChainLagging}.
|
|
266
|
+
*/
|
|
267
|
+
private snapshot;
|
|
268
|
+
/**
|
|
269
|
+
* Resolves a stream on a view that is at or above its floor. A miss for a
|
|
270
|
+
* stream with no known floor is confirmed once more, a poll interval later,
|
|
271
|
+
* before it is answered as `404`, so a node that lags the one which mined the stream
|
|
272
|
+
* (or a facilitator restarted since the settlement) cannot turn a real
|
|
273
|
+
* stream into "not found".
|
|
274
|
+
*/
|
|
275
|
+
private resolveFresh;
|
|
276
|
+
/**
|
|
277
|
+
* `readContract` pinned to the view's block. A node behind that block
|
|
278
|
+
* answers with an error rather than old state; such errors are retried
|
|
279
|
+
* within the view's poll budget. Contract reverts are never retried.
|
|
280
|
+
*/
|
|
281
|
+
private read;
|
|
229
282
|
/** When the no-proof escape hatch opens for this stream, per generation. */
|
|
230
283
|
private escapeHatchAt;
|
|
231
284
|
private grace;
|
|
@@ -247,7 +300,6 @@ export declare class OpenerRefundRelay implements RefundRelayHandler {
|
|
|
247
300
|
private resolve;
|
|
248
301
|
/** Off-chain check of a payer-signed opener action. `undefined` = valid. */
|
|
249
302
|
private verifyPayerSignature;
|
|
250
|
-
private chainNow;
|
|
251
303
|
private readNonce;
|
|
252
304
|
/** An upfront opener's immutable terms (`price`, `upfrontAmount`). */
|
|
253
305
|
private readUpfrontTerms;
|
|
@@ -262,5 +314,14 @@ export declare class OpenerRefundRelay implements RefundRelayHandler {
|
|
|
262
314
|
private fetchProof;
|
|
263
315
|
private loadProof;
|
|
264
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* What the stream is doing now, as a payer means it: `closed` (on-chain
|
|
319
|
+
* Closed), `expired` (on-chain still Active, but past `expiresAt`, so it
|
|
320
|
+
* accrues nothing more and needs no close), or `active` (running).
|
|
321
|
+
*/
|
|
322
|
+
export declare function streamState(stream: {
|
|
323
|
+
readonly status: number;
|
|
324
|
+
readonly expiresAt: bigint;
|
|
325
|
+
}, now: bigint): "active" | "expired" | "closed";
|
|
265
326
|
export {};
|
|
266
327
|
//# sourceMappingURL=refund-relay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refund-relay.d.ts","sourceRoot":"","sources":["../../src/x402-opener/refund-relay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"refund-relay.d.ts","sourceRoot":"","sources":["../../src/x402-opener/refund-relay.ts"],"names":[],"mappings":"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"}
|