@artblocks/abx-token-api 0.1.0-alpha.5 → 0.1.0-alpha.7
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/control-plane.d.ts +4 -1
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +139 -9
- package/dist/control-plane.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +70 -14
- package/dist/server.js.map +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +125 -2
- package/dist/watcher.js.map +1 -1
- package/package.json +4 -4
package/dist/control-plane.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* (sendJson, the bearer guard) live here and the read plane imports them.
|
|
9
9
|
*/
|
|
10
10
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
11
|
-
import { type ProjectState, type ServiceDescriptor } from '@artblocks/abx-sdk';
|
|
11
|
+
import { type ProjectState, type ServiceDescriptor, type ServiceErrorCode } from '@artblocks/abx-sdk';
|
|
12
12
|
import type { SelfHostIndexer } from '@artblocks/abx-indexer';
|
|
13
13
|
import type { StorageBackend } from '@artblocks/abx-storage';
|
|
14
14
|
export interface ControlPlaneContext {
|
|
@@ -22,6 +22,9 @@ export interface ControlPlaneContext {
|
|
|
22
22
|
baseUrl: string;
|
|
23
23
|
}
|
|
24
24
|
export declare function sendJson(res: ServerResponse, status: number, body: unknown): void;
|
|
25
|
+
/** Every non-2xx control-plane response: `{error: <human>, code: <machine>}` — clients key off
|
|
26
|
+
* `code`, never off prose (specs/self-host-toolkit/remote-services.md → Errors). */
|
|
27
|
+
export declare function sendError(res: ServerResponse, status: number, code: ServiceErrorCode, message: string, extra?: Record<string, unknown>): void;
|
|
25
28
|
/**
|
|
26
29
|
* The ONE bearer guard for every gated route: 404 code `disabled` when no token is configured on
|
|
27
30
|
* the host (the write surface honestly doesn't exist — the descriptor omits the control-plane
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAC/D,OAAO,EAaL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAG3D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,uGAAuG;IACvG,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGjF;AAED;qFACqF;AACrF,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE7I;AAuDD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAUhF;AA+BD,qGAAqG;AACrG,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY;;;;;;;;;;;;EAcxC;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAS7E;AAcD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,SAAS,UAAQ,GAChB;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,GAAG,IAAI,CAK3C;AAuCD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuB5F;AAID;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
package/dist/control-plane.js
CHANGED
|
@@ -19,9 +19,56 @@ export function sendJson(res, status, body) {
|
|
|
19
19
|
}
|
|
20
20
|
/** Every non-2xx control-plane response: `{error: <human>, code: <machine>}` — clients key off
|
|
21
21
|
* `code`, never off prose (specs/self-host-toolkit/remote-services.md → Errors). */
|
|
22
|
-
function sendError(res, status, code, message, extra) {
|
|
22
|
+
export function sendError(res, status, code, message, extra) {
|
|
23
23
|
sendJson(res, status, { error: message, code, ...extra });
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* How long a register/reindex may hold the HTTP request open before answering `202 backfilling` and
|
|
27
|
+
* finishing in the background. Registration is durable BEFORE catch-up starts, so the deadline only
|
|
28
|
+
* decides who waits — never whether the add survives.
|
|
29
|
+
*
|
|
30
|
+
* The default keeps the common case synchronous (a fresh deploy is a few-hundred-block window: the
|
|
31
|
+
* client gets real counts, which is the honest answer) and stops the pathological case from holding a
|
|
32
|
+
* socket for minutes (a cold replay of an old contract on a rate-limited RPC — the case where the
|
|
33
|
+
* client used to time out and re-POST, doubling the load on the RPC that was already the problem).
|
|
34
|
+
*/
|
|
35
|
+
function registerDeadlineMs() {
|
|
36
|
+
const raw = process.env.ABX_REGISTER_DEADLINE_MS;
|
|
37
|
+
if (raw === undefined || raw === '')
|
|
38
|
+
return 8_000;
|
|
39
|
+
const n = Number(raw);
|
|
40
|
+
return Number.isFinite(n) && n >= 0 ? n : 8_000;
|
|
41
|
+
}
|
|
42
|
+
/** Resolve to the catch-up result if it finishes within the deadline, else `undefined` — the work
|
|
43
|
+
* keeps running either way (the caller must attach its own completion/failure handling). */
|
|
44
|
+
async function withinDeadline(work, ms) {
|
|
45
|
+
let timer;
|
|
46
|
+
const deadline = new Promise((resolve) => {
|
|
47
|
+
timer = setTimeout(() => resolve(undefined), ms);
|
|
48
|
+
});
|
|
49
|
+
try {
|
|
50
|
+
// The rejection case belongs to the caller's handler; here a failure just means "not finished
|
|
51
|
+
// in time with a result", and the caller reports the recorded status instead.
|
|
52
|
+
return await Promise.race([work.catch(() => undefined), deadline]);
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** The lifecycle state to report for a project right now — never a silent nothing (see
|
|
59
|
+
* `SelfHostIndexer.indexStatus` for what an unstamped registration reads as). */
|
|
60
|
+
function indexStatusOf(ctx, address) {
|
|
61
|
+
return ctx.indexer.indexStatus(address).status;
|
|
62
|
+
}
|
|
63
|
+
/** The lifecycle fields shared by the status route and the register/reindex responses. */
|
|
64
|
+
function lifecycle(ctx, address) {
|
|
65
|
+
const row = ctx.indexer.indexStatus(address);
|
|
66
|
+
return {
|
|
67
|
+
status: row.status,
|
|
68
|
+
...(row.errorClass ? { error: { class: row.errorClass, ...(row.errorMessage ? { message: row.errorMessage } : {}) } } : {}),
|
|
69
|
+
attempts: row.attempts,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
25
72
|
/**
|
|
26
73
|
* The ONE bearer guard for every gated route: 404 code `disabled` when no token is configured on
|
|
27
74
|
* the host (the write surface honestly doesn't exist — the descriptor omits the control-plane
|
|
@@ -335,6 +382,8 @@ async function registerProject(req, res, ctx) {
|
|
|
335
382
|
if (body.contentLocators !== undefined) {
|
|
336
383
|
contentLocators = mergeLocators(existing?.contentLocators, body.contentLocators);
|
|
337
384
|
}
|
|
385
|
+
// DURABLE FIRST (normative): the registration is written before any catch-up, so a flaky RPC
|
|
386
|
+
// mid-reconstruct can never lose the add — it becomes a slower backfill, not a failed request.
|
|
338
387
|
indexer.register({
|
|
339
388
|
address: address,
|
|
340
389
|
chainKey: ctx.chainKey,
|
|
@@ -347,9 +396,62 @@ async function registerProject(req, res, ctx) {
|
|
|
347
396
|
tokenAttributes,
|
|
348
397
|
contentLocators,
|
|
349
398
|
});
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
399
|
+
return catchUpAndRespond(res, ctx, address, { full });
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Start (or join) catch-up and answer in one of the two conformant shapes: `200` with the completed
|
|
403
|
+
* summary when it lands inside the deadline, `202` + the lifecycle state when it doesn't. Shared by
|
|
404
|
+
* register and reindex so both branches behave identically.
|
|
405
|
+
*
|
|
406
|
+
* Single process, no queue: the work continues on the same event loop after the 202 goes out, and
|
|
407
|
+
* `reindexShared` guarantees a second POST joins that run instead of starting a rival reconstruct.
|
|
408
|
+
*/
|
|
409
|
+
async function catchUpAndRespond(res, ctx, address, opts) {
|
|
410
|
+
const { indexer } = ctx;
|
|
411
|
+
const work = indexer.reindexShared(address, opts);
|
|
412
|
+
// Attach terminal handling ONCE, up front: whichever way we answer, a completed catch-up must
|
|
413
|
+
// notify the effects layer and a failed one must not surface as an unhandled rejection (its status
|
|
414
|
+
// is already recorded by reindex()).
|
|
415
|
+
let finished = false;
|
|
416
|
+
const settled = work.then((r) => {
|
|
417
|
+
finished = true;
|
|
418
|
+
notifyEffects(address);
|
|
419
|
+
return r;
|
|
420
|
+
}, (err) => {
|
|
421
|
+
finished = true;
|
|
422
|
+
console.error(`[control-plane] catch-up failed for ${address}: ${err.message}`);
|
|
423
|
+
return undefined;
|
|
424
|
+
});
|
|
425
|
+
const done = await withinDeadline(settled, registerDeadlineMs());
|
|
426
|
+
if (!done && !finished) {
|
|
427
|
+
// About to tell the client "wait": make sure the stored state says so. An INCREMENTAL catch-up
|
|
428
|
+
// deliberately keeps its prior status (so a live project doesn't flicker on every watcher tick) —
|
|
429
|
+
// but a client polling a run we deferred must not read `live` and stop waiting on stale counts.
|
|
430
|
+
// Guarded by `finished` so a run that just completed keeps its own `live`/`failed`.
|
|
431
|
+
const current = indexStatusOf(ctx, address);
|
|
432
|
+
if (current !== 'backfilling' && current !== 'failed') {
|
|
433
|
+
indexer.store.setIndexStatus(address, { status: 'backfilling' });
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
if (done) {
|
|
437
|
+
return sendJson(res, 200, {
|
|
438
|
+
ok: true,
|
|
439
|
+
mode: done.mode,
|
|
440
|
+
elapsedMs: done.elapsedMs,
|
|
441
|
+
project: { ...summarize(done.state), status: indexStatusOf(ctx, address) },
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
// Still working (or it failed and the client should read the class from status, not from a 500 that
|
|
445
|
+
// would imply the registration didn't land).
|
|
446
|
+
return sendJson(res, 202, {
|
|
447
|
+
ok: true,
|
|
448
|
+
accepted: true,
|
|
449
|
+
project: {
|
|
450
|
+
address,
|
|
451
|
+
name: indexer.getProject(address)?.name ?? null,
|
|
452
|
+
...lifecycle(ctx, address),
|
|
453
|
+
},
|
|
454
|
+
});
|
|
353
455
|
}
|
|
354
456
|
/** `GET /v1/projects` — the projects visible to this token. Single-tenant reference: the token IS
|
|
355
457
|
* the node's one credential, so it sees every registration. */
|
|
@@ -363,11 +465,16 @@ function listProjects(res, ctx) {
|
|
|
363
465
|
catch {
|
|
364
466
|
/* unknown stored key — fall back to the node's chain */
|
|
365
467
|
}
|
|
468
|
+
// `status` (+ the error CLASS, never the hint) rides the list so a client renders
|
|
469
|
+
// "3 live, 1 backfilling, 1 failed (rpc_rate_limited)" without a round trip per project.
|
|
470
|
+
const life = lifecycle(ctx, reg.address);
|
|
366
471
|
return {
|
|
367
472
|
chainId,
|
|
368
473
|
address: reg.address,
|
|
369
474
|
label: reg.label ?? null,
|
|
370
475
|
name: state?.name ?? null,
|
|
476
|
+
status: life.status,
|
|
477
|
+
...(life.error ? { error: { class: life.error.class } } : {}),
|
|
371
478
|
eventCount: state?.eventCount ?? 0,
|
|
372
479
|
tokenCount: state?.tokens.length ?? 0,
|
|
373
480
|
mintedCount: state?.tokens.filter((t) => t.minted).length ?? 0,
|
|
@@ -390,23 +497,29 @@ async function reindexProject(res, ctx, address) {
|
|
|
390
497
|
if (!ctx.indexer.store.getRegistration(address)) {
|
|
391
498
|
return sendError(res, 404, 'not_registered', 'not registered');
|
|
392
499
|
}
|
|
393
|
-
|
|
394
|
-
notifyEffects(address);
|
|
395
|
-
return sendJson(res, 200, { ok: true, mode, elapsedMs, project: summarize(state) });
|
|
500
|
+
return catchUpAndRespond(res, ctx, address, { full: true });
|
|
396
501
|
}
|
|
397
502
|
/** `GET /v1/projects/{chainId}/{address}/status` — indexing freshness: the registration's floor,
|
|
398
503
|
* the projection's watermarks, and the chain watcher's liveness (all already in the store). */
|
|
399
|
-
function projectStatus(res, ctx, address) {
|
|
504
|
+
async function projectStatus(res, ctx, address) {
|
|
400
505
|
const reg = ctx.indexer.store.getRegistration(address);
|
|
401
506
|
if (!reg)
|
|
402
507
|
return sendError(res, 404, 'not_registered', 'not registered');
|
|
403
508
|
const state = ctx.indexer.getProject(address);
|
|
404
509
|
const pollAt = ctx.indexer.store.getMeta('watch:pollAt');
|
|
510
|
+
// The head the watcher last saw. Top-level (not just under `watcher`) because it's what a client
|
|
511
|
+
// computes lag / "N of M blocks" from, and it must not require knowing this node HAS a watcher.
|
|
512
|
+
const watcherHead = ctx.indexer.store.getMeta(`watch:${reg.chainKey}:head`);
|
|
513
|
+
// No watcher head yet (a fresh node's first backfill — exactly when a client most wants a
|
|
514
|
+
// percentage, and when it's most likely to be polling) ⇒ read head once, cached.
|
|
515
|
+
const head = watcherHead ?? (await cachedHead(ctx, reg.chainKey));
|
|
405
516
|
return sendJson(res, 200, {
|
|
406
517
|
chainId: ctx.chainId,
|
|
407
518
|
address: reg.address,
|
|
519
|
+
...lifecycle(ctx, address),
|
|
408
520
|
fromBlock: reg.fromBlock,
|
|
409
521
|
toBlock: state?.toBlock ?? null,
|
|
522
|
+
headBlock: head,
|
|
410
523
|
eventCount: state?.eventCount ?? 0,
|
|
411
524
|
tokenCount: state?.tokens.length ?? 0,
|
|
412
525
|
mintedCount: state?.tokens.filter((t) => t.minted).length ?? 0,
|
|
@@ -414,11 +527,28 @@ function projectStatus(res, ctx, address) {
|
|
|
414
527
|
watcher: {
|
|
415
528
|
watching: pollAt !== null,
|
|
416
529
|
pollAt,
|
|
417
|
-
head:
|
|
530
|
+
head: watcherHead,
|
|
418
531
|
intervalMs: watchIntervalMs(),
|
|
419
532
|
},
|
|
420
533
|
});
|
|
421
534
|
}
|
|
535
|
+
// Head is per-chain and moves slowly relative to a client's poll cadence, so one cached read serves
|
|
536
|
+
// a whole wait loop. Best-effort by design: a status read must never fail because the RPC is down —
|
|
537
|
+
// that's precisely when a caller needs the status.
|
|
538
|
+
let headCache = null;
|
|
539
|
+
const HEAD_CACHE_MS = 5_000;
|
|
540
|
+
async function cachedHead(ctx, chainKey) {
|
|
541
|
+
if (headCache && headCache.chainKey === chainKey && Date.now() - headCache.at < HEAD_CACHE_MS)
|
|
542
|
+
return headCache.head;
|
|
543
|
+
try {
|
|
544
|
+
const head = (await ctx.indexer.publicClient(chainKey).getBlockNumber()).toString();
|
|
545
|
+
headCache = { at: Date.now(), chainKey, head };
|
|
546
|
+
return head;
|
|
547
|
+
}
|
|
548
|
+
catch {
|
|
549
|
+
return null;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
422
552
|
/**
|
|
423
553
|
* `POST /v1/effect-artifacts {chainId, address, tokenId, inputsHash, output?, effectKey?, locator? |
|
|
424
554
|
* bytes_base64?, contentType?}` — a conforming effect runner publishes a render output so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,MAAM,EAAsB,MAAM,WAAW,CAAC;AAC/F,OAAO,EAaL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAiB,KAAK,cAAc,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,MAAM,EAAsB,MAAM,WAAW,CAAC;AAC/F,OAAO,EAaL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAiB,KAAK,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAoC3E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;CAAC,CAAC,CAsB3D;AAaD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAYxF;AAED,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,SAAe,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB3D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAwBhE;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC,CAO/F;AAocD,wBAAsB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;GAetF"}
|
package/dist/server.js
CHANGED
|
@@ -9,7 +9,7 @@ import { ABX_JS } from './abxjs.js';
|
|
|
9
9
|
import { resolveFieldBytes, resolveFieldRendered, COLLECTION_TOKEN_ID } from './resolve.js';
|
|
10
10
|
import { renderDashboard, renderIndex } from './dashboard.js';
|
|
11
11
|
import { watchIntervalMs } from './watcher.js';
|
|
12
|
-
import { requireBearer, routeControlPlane, safeLocators, sendJson, serviceDescriptor, summarize, } from './control-plane.js';
|
|
12
|
+
import { requireBearer, routeControlPlane, safeLocators, sendError, sendJson, serviceDescriptor, summarize, } from './control-plane.js';
|
|
13
13
|
// A read-only client for resolving on-chain `reader`-represented content (eth_call).
|
|
14
14
|
const chainClient = makePublicClient();
|
|
15
15
|
// The chain this resolver serves. The path grammar carries the chainId
|
|
@@ -197,7 +197,7 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
197
197
|
return wrongChain(res, parts[1]);
|
|
198
198
|
const state = indexer.getProject(parts[2]);
|
|
199
199
|
if (!state)
|
|
200
|
-
return
|
|
200
|
+
return unknownProject(res);
|
|
201
201
|
res.writeHead(200, { 'content-type': 'text/html; charset=utf-8' });
|
|
202
202
|
res.end(renderDashboard(state, baseUrl, SERVER_CHAIN_ID));
|
|
203
203
|
return;
|
|
@@ -230,10 +230,10 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
230
230
|
return wrongChain(res, parts[1]);
|
|
231
231
|
const state = indexer.getProject(parts[2]);
|
|
232
232
|
if (!state)
|
|
233
|
-
return
|
|
233
|
+
return unknownProject(res);
|
|
234
234
|
const token = resolveTokenView(state, parts[3]);
|
|
235
235
|
if (!token)
|
|
236
|
-
return
|
|
236
|
+
return sendError(res, 404, 'not_registered', 'unknown token — not minted, and outside this project\'s supply cap');
|
|
237
237
|
const view = await resolveLiveView(chainClient, state, token);
|
|
238
238
|
if (!view)
|
|
239
239
|
return sendJson(res, 404, { error: 'no live view — not a code project' });
|
|
@@ -274,7 +274,7 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
274
274
|
return wrongChain(res, parts[2]);
|
|
275
275
|
const state = indexer.getProject(parts[3]);
|
|
276
276
|
if (!state)
|
|
277
|
-
return
|
|
277
|
+
return unknownProject(res);
|
|
278
278
|
return sendJson(res, 200, await depStatusReport(chainClient, state));
|
|
279
279
|
}
|
|
280
280
|
if (parts[1] === 'project' && parts[2]) {
|
|
@@ -295,16 +295,18 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
295
295
|
if (parts[3] === 'effects') {
|
|
296
296
|
const state = indexer.getProject(address);
|
|
297
297
|
if (!state)
|
|
298
|
-
return
|
|
298
|
+
return unknownProject(res);
|
|
299
299
|
return sendJson(res, 200, await effectStatusReport(indexer, state, storage));
|
|
300
300
|
}
|
|
301
301
|
// GET /api/project/:addr
|
|
302
302
|
const state = indexer.getProject(address);
|
|
303
303
|
if (!state)
|
|
304
|
-
return
|
|
304
|
+
return unknownProject(res);
|
|
305
305
|
return sendJson(res, 200, state);
|
|
306
306
|
}
|
|
307
|
-
return
|
|
307
|
+
return sendError(res, 404, 'unknown_route', 'unknown api route', {
|
|
308
|
+
routes: ['/api/projects', '/api/watch', '/api/project/:address', '/api/project/:address/effects', '/api/project/:address/verify', '/api/deps/:chainId/:address'],
|
|
309
|
+
});
|
|
308
310
|
}
|
|
309
311
|
// GET /t/:chainId/:addr/:id and /t/:chainId/:addr/:id/image
|
|
310
312
|
if (parts[0] === 't' && parts[1] && parts[2] && parts[3] !== undefined) {
|
|
@@ -314,12 +316,12 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
314
316
|
const tokenId = parts[3];
|
|
315
317
|
const state = indexer.getProject(address);
|
|
316
318
|
if (!state)
|
|
317
|
-
return
|
|
319
|
+
return unknownProject(res);
|
|
318
320
|
// Resolve the issuance token → its metadata-id slot (identity vs. content), synthesizing a
|
|
319
321
|
// pre-mint view for a not-yet-issued id within the cap so metadata warms before mint.
|
|
320
322
|
const token = resolveTokenView(state, tokenId);
|
|
321
323
|
if (!token)
|
|
322
|
-
return
|
|
324
|
+
return sendError(res, 404, 'not_registered', 'unknown token — not minted, and outside this project\'s supply cap');
|
|
323
325
|
if (parts[4] === 'image') {
|
|
324
326
|
// the render-effect seam: no explicit image field + a code project ⇒ serve the
|
|
325
327
|
// artifact stored at the CURRENT inputsHash address, when a producer has run.
|
|
@@ -384,13 +386,49 @@ async function route(req, res, indexer, baseUrl, storage) {
|
|
|
384
386
|
const address = parts[2];
|
|
385
387
|
const state = indexer.getProject(address);
|
|
386
388
|
if (!state)
|
|
387
|
-
return
|
|
389
|
+
return unknownProject(res);
|
|
388
390
|
if (parts[3] === 'data' && parts[4]) {
|
|
389
391
|
return serveFieldArtifact(res, state, null, parts[4], storage, displayMeta(indexer, address));
|
|
390
392
|
}
|
|
391
393
|
return sendJson(res, 200, await buildContractMetadata(chainClient, state, baseUrl, SERVER_CHAIN_ID, displayMeta(indexer, address), storage));
|
|
392
394
|
}
|
|
393
|
-
|
|
395
|
+
return sendRouteError(res, parts);
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* The last word of the router: nothing matched. A BARE 404 here is actively misleading — it's the
|
|
399
|
+
* same answer as "this project isn't indexed", so a client that hand-built a URL (dropping the
|
|
400
|
+
* `:id` off `/t/:chainId/:address/:id` and expecting collection metadata is the observed case)
|
|
401
|
+
* reads its own mistake as a service outage and reports a non-bug.
|
|
402
|
+
*
|
|
403
|
+
* So: a KNOWN route prefix with the wrong segment count is a **400 `invalid_request`** naming the
|
|
404
|
+
* correct template, and anything else is a **404 `unknown_route`**. Same `{error, code}` shape the
|
|
405
|
+
* control plane already uses (remote-services.md → Errors), so clients key off `code`, not prose.
|
|
406
|
+
*
|
|
407
|
+
* These are hints, not a discoverable API: the route grammar is fixed by the `abx-token-api/v1`
|
|
408
|
+
* interface and committed on-chain per contract (`tokenURIBase`/`contractURIBase`). The real fix for
|
|
409
|
+
* a client is to read the URL off the contract (`abx tokenuri` / `abx contracturi`) rather than
|
|
410
|
+
* assembling one — so every hint below points at the grammar it should already have, and never
|
|
411
|
+
* invites a client to treat routes as per-node negotiable.
|
|
412
|
+
*/
|
|
413
|
+
const ROUTE_TEMPLATES = {
|
|
414
|
+
t: { template: '/t/:chainId/:address/:id (· /image · /data/:field)', what: 'ERC-721 token metadata' },
|
|
415
|
+
c: { template: '/c/:chainId/:address (· /data/:field)', what: 'ERC-7572 collection metadata' },
|
|
416
|
+
a: { template: '/a/:chainId/:address/:id', what: 'the live view of a code project' },
|
|
417
|
+
d: { template: '/d/:chainId/:address', what: 'the per-contract read-only dashboard' },
|
|
418
|
+
};
|
|
419
|
+
function sendRouteError(res, parts) {
|
|
420
|
+
const known = parts[0] ? ROUTE_TEMPLATES[parts[0]] : undefined;
|
|
421
|
+
if (known) {
|
|
422
|
+
// The single highest-value hint: a `/t/:chainId/:address` with no token id is almost always
|
|
423
|
+
// someone reaching for collection metadata. Name `/c/…` explicitly.
|
|
424
|
+
const missingId = (parts[0] === 't' || parts[0] === 'a') && parts.length === 3;
|
|
425
|
+
return sendError(res, 400, 'invalid_request', `malformed ${known.what} path — use ${known.template}` +
|
|
426
|
+
(missingId ? '. For COLLECTION-level metadata (no token id) use /c/:chainId/:address' : ''), { route: known.template, ...(missingId ? { didYouMean: `/c/${parts[1]}/${parts[2]}` } : {}) });
|
|
427
|
+
}
|
|
428
|
+
return sendError(res, 404, 'unknown_route', 'this node serves no route at that path', {
|
|
429
|
+
routes: Object.values(ROUTE_TEMPLATES).map((r) => r.template.split(' ')[0]),
|
|
430
|
+
hint: 'a contract commits its own metadata URL on-chain (tokenURIBase/contractURIBase) — read it with `abx tokenuri` / `abx contracturi` instead of building a path',
|
|
431
|
+
});
|
|
394
432
|
}
|
|
395
433
|
/** The manifest's read surface over the effect-artifact registry (metadata.ts stays store-free). */
|
|
396
434
|
function planeAccess(indexer) {
|
|
@@ -635,8 +673,26 @@ function watchStatusReport(indexer) {
|
|
|
635
673
|
chains,
|
|
636
674
|
};
|
|
637
675
|
}
|
|
638
|
-
/**
|
|
676
|
+
/**
|
|
677
|
+
* The path was well-formed and on the right chain — this node just doesn't index that contract.
|
|
678
|
+
* Code `not_registered` (the control plane's own code for the same condition) so a client can tell
|
|
679
|
+
* it apart from a malformed path (400 `invalid_request`) and a nonexistent route (404
|
|
680
|
+
* `unknown_route`). Those three used to be one indistinguishable `{error: '…'}` 404.
|
|
681
|
+
*/
|
|
682
|
+
function unknownProject(res) {
|
|
683
|
+
sendError(res, 404, 'not_registered', 'this node does not index that contract', {
|
|
684
|
+
hint: 'register it with `abx add <address> --remote <name|url>` (bearer-gated control plane), then `abx index <address> --remote`',
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* A path whose chainId segment isn't the chain this resolver serves. **400 `unsupported_chain`**,
|
|
689
|
+
* matching the control plane's `checkChain` exactly (control-plane.ts) — it's a request error, not a
|
|
690
|
+
* missing resource, and answering 404 made it indistinguishable from "that project isn't indexed
|
|
691
|
+
* here", which sent at least one client hunting a phantom outage. `chains` says what IS served.
|
|
692
|
+
*/
|
|
639
693
|
function wrongChain(res, got) {
|
|
640
|
-
|
|
694
|
+
sendError(res, 400, 'unsupported_chain', `this resolver serves chain ${SERVER_CHAIN_ID}, not ${got}`, {
|
|
695
|
+
chains: [SERVER_CHAIN_ID],
|
|
696
|
+
});
|
|
641
697
|
}
|
|
642
698
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/watcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAkDD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAWxE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG;IAAC,IAAI,IAAI,IAAI,CAAC;IAAC,MAAM,IAAI,aAAa,CAAA;CAAC,CAuO/F"}
|
package/dist/watcher.js
CHANGED
|
@@ -1,9 +1,48 @@
|
|
|
1
1
|
import { parseEventLogs } from 'viem';
|
|
2
|
-
import { spineEventAbi } from '@artblocks/abx-sdk';
|
|
2
|
+
import { classifyIndexError, spineEventAbi } from '@artblocks/abx-sdk';
|
|
3
3
|
/** Largest block window one tick will scan; a longer gap (resolver was down) continues next tick. */
|
|
4
4
|
const MAX_BLOCKS_PER_TICK = 5000n;
|
|
5
5
|
/** Consecutive-failure backoff cap (multiplier on the base interval). */
|
|
6
6
|
const MAX_BACKOFF = 8;
|
|
7
|
+
/**
|
|
8
|
+
* How far behind head the watcher may fall before the projects it tracks are reported `stale`
|
|
9
|
+
* (still serving, but honestly not tracking head — see the lifecycle in
|
|
10
|
+
* specs/self-host-toolkit/remote-services.md).
|
|
11
|
+
*
|
|
12
|
+
* Measured against the WATCHER'S WATERMARK, never a project's own `toBlock`: the watermark advances
|
|
13
|
+
* every tick, while a quiet project's `toBlock` only moves when it has events — so lag-by-`toBlock`
|
|
14
|
+
* would slowly mark every idle project stale, which is exactly wrong.
|
|
15
|
+
*/
|
|
16
|
+
const DEFAULT_STALE_LAG_BLOCKS = 5000n;
|
|
17
|
+
/** How many queued/retryable projects one tick will pick up (bounded so a burst of registrations
|
|
18
|
+
* can't monopolize a tick — the rest come next tick). */
|
|
19
|
+
const DRAIN_PER_TICK = 2;
|
|
20
|
+
/** Consecutive tick failures before the tracked projects are reported `stale`. One failed tick is
|
|
21
|
+
* weather; two in a row is a condition worth surfacing. */
|
|
22
|
+
const FAILURES_BEFORE_STALE = 2;
|
|
23
|
+
function staleLagBlocks() {
|
|
24
|
+
const raw = process.env.ABX_STALE_LAG_BLOCKS;
|
|
25
|
+
if (raw === undefined || raw === '')
|
|
26
|
+
return DEFAULT_STALE_LAG_BLOCKS;
|
|
27
|
+
try {
|
|
28
|
+
const n = BigInt(raw);
|
|
29
|
+
return n > 0n ? n : DEFAULT_STALE_LAG_BLOCKS;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return DEFAULT_STALE_LAG_BLOCKS;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A `failed` project is retried with exponential backoff off its attempt count — the point of
|
|
37
|
+
* recording `attempts` at all. Without this a rate-limited RPC gets hammered every tick, which is how
|
|
38
|
+
* a transient throttle becomes a permanent one.
|
|
39
|
+
*/
|
|
40
|
+
function dueForRetry(row, baseMs, now) {
|
|
41
|
+
if (!row.lastAttemptAt)
|
|
42
|
+
return true;
|
|
43
|
+
const wait = Math.min(baseMs * 2 ** Math.min(row.attempts, 8), 15 * 60_000);
|
|
44
|
+
return now - new Date(row.lastAttemptAt).getTime() >= wait;
|
|
45
|
+
}
|
|
7
46
|
/** Steady-state proof-of-life cadence: on a quiet stretch (nothing else logged) the watcher emits
|
|
8
47
|
* ONE "alive" line at most this often, so `tail`ing a resolver shows it's watching, not hung —
|
|
9
48
|
* without per-tick spam. Deltas and first-run lines reset the clock (they're proof enough). */
|
|
@@ -52,6 +91,61 @@ export function startChainWatcher(opts) {
|
|
|
52
91
|
let stopped = false;
|
|
53
92
|
let timer = null;
|
|
54
93
|
let failures = 0;
|
|
94
|
+
/**
|
|
95
|
+
* Flip the tracked projects between `live` and `stale` — and ONLY those two. A project that is
|
|
96
|
+
* `queued`/`backfilling`/`failed` is mid-lifecycle and owns its own status; overwriting it here
|
|
97
|
+
* would erase a recorded failure class or claim a backfill finished.
|
|
98
|
+
*/
|
|
99
|
+
function markLag(addresses, lag, error) {
|
|
100
|
+
for (const addr of addresses) {
|
|
101
|
+
const row = indexer.store.getIndexStatus(addr);
|
|
102
|
+
if (!row)
|
|
103
|
+
continue;
|
|
104
|
+
if (lag === 'behind' && row.status === 'live') {
|
|
105
|
+
indexer.store.setIndexStatus(addr, {
|
|
106
|
+
status: 'stale',
|
|
107
|
+
...(error ? { error: classifyIndexError(error) } : {}),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else if (lag === 'caught-up' && row.status === 'stale') {
|
|
111
|
+
indexer.store.setIndexStatus(addr, { status: 'live', error: null });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Pick up projects whose catch-up hasn't happened or didn't finish: a `queued` registration (a
|
|
117
|
+
* register that answered 202 and handed the work here, or one interrupted by a restart) and a
|
|
118
|
+
* `failed` one whose backoff has elapsed. This is what makes a deferred registration eventually
|
|
119
|
+
* become `live` with nobody watching — and what repairs the old silent failure mode where an
|
|
120
|
+
* interrupted `add` left a registered project that only a manual `abx index` would fix.
|
|
121
|
+
*/
|
|
122
|
+
async function drainPending() {
|
|
123
|
+
const now = Date.now();
|
|
124
|
+
const pending = indexer.store
|
|
125
|
+
.listIndexStatuses()
|
|
126
|
+
.filter((row) => {
|
|
127
|
+
if (indexer.isCatchingUp(row.address))
|
|
128
|
+
return false;
|
|
129
|
+
if (row.status === 'queued')
|
|
130
|
+
return true;
|
|
131
|
+
return row.status === 'failed' && dueForRetry(row, intervalMs, now);
|
|
132
|
+
})
|
|
133
|
+
.slice(0, DRAIN_PER_TICK);
|
|
134
|
+
for (const row of pending) {
|
|
135
|
+
if (!indexer.store.getRegistration(row.address))
|
|
136
|
+
continue; // deregistered under us
|
|
137
|
+
try {
|
|
138
|
+
const { state, mode } = await indexer.reindexShared(row.address);
|
|
139
|
+
notify(row.address);
|
|
140
|
+
log(`${row.address}: catch-up complete (${mode}, ${state.eventCount} event(s)) → live`);
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
// reindex() already recorded status + the credential-free class; one project's failure must
|
|
144
|
+
// not abort the tick (or hold the whole chain's watermark).
|
|
145
|
+
log(`${row.address}: catch-up failed (${classifyIndexError(err).class}) — will retry with backoff`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
55
149
|
async function tick() {
|
|
56
150
|
const regs = indexer.store.listRegistrations();
|
|
57
151
|
if (regs.length === 0)
|
|
@@ -81,6 +175,10 @@ export function startChainWatcher(opts) {
|
|
|
81
175
|
continue;
|
|
82
176
|
}
|
|
83
177
|
const watermark = BigInt(stored);
|
|
178
|
+
// Honest lag: the watcher itself is behind head (a restart after downtime, a slow/failing RPC).
|
|
179
|
+
// Projects still serve their last-known state — that's what `stale` means, as opposed to
|
|
180
|
+
// `failed`. Cleared as soon as the watermark catches back up.
|
|
181
|
+
markLag(addresses, head - watermark > staleLagBlocks() ? 'behind' : 'caught-up');
|
|
84
182
|
if (head <= watermark)
|
|
85
183
|
continue; // no new blocks
|
|
86
184
|
const from = watermark + 1n;
|
|
@@ -102,7 +200,9 @@ export function startChainWatcher(opts) {
|
|
|
102
200
|
touched.set(key, list);
|
|
103
201
|
}
|
|
104
202
|
for (const [addr, projectLogs] of touched) {
|
|
105
|
-
|
|
203
|
+
// Shared: if a register's backfill for this project is still running, join it rather than
|
|
204
|
+
// starting a rival reconstruct. Throws ⇒ watermark holds; same window retries next tick.
|
|
205
|
+
await indexer.reindexShared(addr);
|
|
106
206
|
const hint = tokenHint(projectLogs);
|
|
107
207
|
notify(addr, hint);
|
|
108
208
|
log(`${chainKey}: ${addr} changed (${projectLogs.length} log(s), blocks ${from}–${to}) → notified effects${hint ? ` [tokens ${hint.join(',')}]` : ' [all]'}`);
|
|
@@ -113,6 +213,11 @@ export function startChainWatcher(opts) {
|
|
|
113
213
|
indexer.store.putMeta(metaKey, to.toString());
|
|
114
214
|
status.chains[chainKey].watermark = to.toString();
|
|
115
215
|
}
|
|
216
|
+
// AFTER the delta lane, deliberately: a project the delta scan just reindexed needs nothing more,
|
|
217
|
+
// and draining first would duplicate that work (and its notification) in the same tick. What's
|
|
218
|
+
// left here is what the delta lane can't fix — a deferred registration, an interrupted backfill,
|
|
219
|
+
// a catch-up that failed with no pending window to retry it.
|
|
220
|
+
await drainPending();
|
|
116
221
|
// Tick completed. Record it (proof-of-life for the API) and, if we've been quiet a while, emit
|
|
117
222
|
// one heartbeat so a human tailing the resolver sees the watcher is alive between changes.
|
|
118
223
|
indexer.store.putMeta('watch:pollAt', new Date().toISOString());
|
|
@@ -160,11 +265,29 @@ export function startChainWatcher(opts) {
|
|
|
160
265
|
catch (err) {
|
|
161
266
|
failures = Math.min(failures + 1, MAX_BACKOFF);
|
|
162
267
|
status.lastError = err.message;
|
|
268
|
+
// Repeated tick failures mean this node is no longer tracking head for anything — say so on
|
|
269
|
+
// the projects themselves, so `abx status` / a provider's status route shows it. Until this,
|
|
270
|
+
// a watcher that had been failing for an hour was visible only in the node's own log.
|
|
271
|
+
if (failures >= FAILURES_BEFORE_STALE) {
|
|
272
|
+
markLag(indexer.store.listRegistrations().map((r) => r.address), 'behind', err);
|
|
273
|
+
}
|
|
163
274
|
log(`tick failed (retry with backoff): ${err.message}`);
|
|
164
275
|
}
|
|
165
276
|
loop();
|
|
166
277
|
}, intervalMs * Math.max(1, failures)); // linear backoff up to MAX_BACKOFF× on repeated failure
|
|
167
278
|
}
|
|
279
|
+
// A `backfilling` row at startup belonged to a process that is gone (the catch-up ran in-process
|
|
280
|
+
// and died with it), so nothing would ever finish it. Reset to `queued` and let drainPending pick
|
|
281
|
+
// it up — the repair for an `add` interrupted by a restart or a deploy.
|
|
282
|
+
for (const row of indexer.store.listIndexStatuses()) {
|
|
283
|
+
// …unless a catch-up for it is running in THIS process: `abx serve` starts the watcher after the
|
|
284
|
+
// server is already accepting registers, so a backfill that began moments ago is still alive and
|
|
285
|
+
// owns its own status.
|
|
286
|
+
if (row.status === 'backfilling' && !indexer.isCatchingUp(row.address)) {
|
|
287
|
+
indexer.store.setIndexStatus(row.address, { status: 'queued' });
|
|
288
|
+
log(`${row.address}: backfill was interrupted — re-queued`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
168
291
|
loop();
|
|
169
292
|
return {
|
|
170
293
|
stop() {
|
package/dist/watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAW,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAe,MAAM,oBAAoB,CAAC;AA4C/D,qGAAqG;AACrG,MAAM,mBAAmB,GAAG,KAAM,CAAC;AACnC,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB;;gGAEgG;AAChG,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,yBAAyB,CAAC;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAmB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAA2B,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC5C,IAAI,KAAK;QAAE,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;IACrD,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC;KACzE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IACpD,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9E,kGAAkG;IAClG,yEAAyE;IACzE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,MAAM,GAAkB,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC1G,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,GAA0B,IAAI,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,UAAU,IAAI;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,oDAAoD;QAEnF,mFAAmF;QACnF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,SAAS,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;YACrE,2FAA2F;YAC3F,mGAAmG;YACnG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,QAAQ,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjE,sFAAsF;YACtF,qFAAqF;YACrF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,QAAQ,cAAc,SAAS,CAAC,MAAM,0BAA0B,IAAI,EAAE,CAAC,CAAC;gBAC/E,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,SAAS;gBAAE,SAAS,CAAC,gBAAgB;YAEjD,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAE3F,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;gBACjC,OAAO,EAAE,SAAsB;gBAC/B,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,EAAE;aACZ,CAAC,CAAU,CAAC;YAEb,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,sFAAsF;gBACtF,mFAAmF;gBACnF,sFAAsF;gBACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAI,CAAC,CAAC,OAAkB,CAAC,WAAW,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC1C,MAAM,OAAO,CAAC,OAAO,CAAC,IAAe,CAAC,CAAC,CAAC,0DAA0D;oBAClG,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,QAAQ,KAAK,IAAI,aAAa,WAAW,CAAC,MAAM,mBAAmB,IAAI,IAAI,EAAE,uBAAuB,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChK,CAAC;gBACD,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC;QAED,+FAA+F;QAC/F,2FAA2F;QAC3F,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,GAAG,CAAC,oBAAoB,OAAO,IAAI,wBAAwB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC1J,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,SAAS,CAAC,WAAkB;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,CAAC,iCAAiC;YAC5E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,EAAE,CAAC,IAA2C,CAAC;gBAC5D,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC;gBACvD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,SAAS,CAAC,CAAC,+BAA+B;gBACtF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,IAAI;QACX,IAAI,OAAO;YAAE,OAAO;QACpB,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;gBACb,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,CAAC,SAAS,GAAI,GAAa,CAAC,OAAO,CAAC;gBAC1C,GAAG,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,wDAAwD;IAClG,CAAC;IAED,IAAI,EAAE,CAAC;IACP,OAAO;QACL,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAW,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAC;AA4CnF,qGAAqG;AACrG,MAAM,mBAAmB,GAAG,KAAM,CAAC;AACnC,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB;;;;;;;;GAQG;AACH,MAAM,wBAAwB,GAAG,KAAM,CAAC;AACxC;0DAC0D;AAC1D,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB;4DAC4D;AAC5D,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,wBAAwB,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wBAAwB,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAsD,EAAE,MAAc,EAAE,GAAW;IACtG,IAAI,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;IAC5E,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED;;gGAEgG;AAChG,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,yBAAyB,CAAC;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAmB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAA2B,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC5C,IAAI,KAAK;QAAE,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;IACrD,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC;KACzE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IACpD,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9E,kGAAkG;IAClG,yEAAyE;IACzE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,MAAM,GAAkB,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC1G,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,GAA0B,IAAI,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB;;;;OAIG;IACH,SAAS,OAAO,CAAC,SAAmB,EAAE,GAA2B,EAAE,KAAe;QAChF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;oBACjC,MAAM,EAAE,OAAO;oBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,YAAY;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;aAC1B,iBAAiB,EAAE;aACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAkB,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS,CAAC,wBAAwB;YACnF,IAAI,CAAC;gBACH,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAkB,CAAC,CAAC;gBAC1E,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpB,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,wBAAwB,IAAI,KAAK,KAAK,CAAC,UAAU,mBAAmB,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4FAA4F;gBAC5F,4DAA4D;gBAC5D,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,sBAAsB,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,oDAAoD;QAEnF,mFAAmF;QACnF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,SAAS,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;YACrE,2FAA2F;YAC3F,mGAAmG;YACnG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,QAAQ,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjE,sFAAsF;YACtF,qFAAqF;YACrF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,QAAQ,cAAc,SAAS,CAAC,MAAM,0BAA0B,IAAI,EAAE,CAAC,CAAC;gBAC/E,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,gGAAgG;YAChG,yFAAyF;YACzF,8DAA8D;YAC9D,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACjF,IAAI,IAAI,IAAI,SAAS;gBAAE,SAAS,CAAC,gBAAgB;YAEjD,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAE3F,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;gBACjC,OAAO,EAAE,SAAsB;gBAC/B,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,EAAE;aACZ,CAAC,CAAU,CAAC;YAEb,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,sFAAsF;gBACtF,mFAAmF;gBACnF,sFAAsF;gBACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAI,CAAC,CAAC,OAAkB,CAAC,WAAW,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC1C,0FAA0F;oBAC1F,yFAAyF;oBACzF,MAAM,OAAO,CAAC,aAAa,CAAC,IAAe,CAAC,CAAC;oBAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,QAAQ,KAAK,IAAI,aAAa,WAAW,CAAC,MAAM,mBAAmB,IAAI,IAAI,EAAE,uBAAuB,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChK,CAAC;gBACD,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC;QAED,kGAAkG;QAClG,+FAA+F;QAC/F,iGAAiG;QACjG,6DAA6D;QAC7D,MAAM,YAAY,EAAE,CAAC;QAErB,+FAA+F;QAC/F,2FAA2F;QAC3F,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,GAAG,CAAC,oBAAoB,OAAO,IAAI,wBAAwB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAC1J,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,SAAS,CAAC,WAAkB;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,CAAC,iCAAiC;YAC5E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,EAAE,CAAC,IAA2C,CAAC;gBAC5D,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC;gBACvD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,SAAS,CAAC,CAAC,+BAA+B;gBACtF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,IAAI;QACX,IAAI,OAAO;YAAE,OAAO;QACpB,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;gBACb,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,CAAC,SAAS,GAAI,GAAa,CAAC,OAAO,CAAC;gBAC1C,4FAA4F;gBAC5F,6FAA6F;gBAC7F,sFAAsF;gBACtF,IAAI,QAAQ,IAAI,qBAAqB,EAAE,CAAC;oBACtC,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EACvD,QAAQ,EACR,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,wDAAwD;IAClG,CAAC;IAED,iGAAiG;IACjG,kGAAkG;IAClG,wEAAwE;IACxE,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACpD,iGAAiG;QACjG,iGAAiG;QACjG,uBAAuB;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAkB,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,wCAAwC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC;IACP,OAAO;QACL,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artblocks/abx-token-api",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ABX Self-Host Toolkit (Layer 3) — the reference token API + byte-custody server. Serves standard ERC-721 metadata, the image, a JSON state API, and a demo dashboard, all from the reconstructed projection.",
|
|
6
6
|
"type": "module",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"viem": "^2.21.0",
|
|
42
|
-
"@artblocks/abx-sdk": "0.1.0-alpha.
|
|
43
|
-
"@artblocks/abx-indexer": "0.1.0-alpha.
|
|
44
|
-
"@artblocks/abx-storage": "0.1.0-alpha.
|
|
42
|
+
"@artblocks/abx-sdk": "0.1.0-alpha.4",
|
|
43
|
+
"@artblocks/abx-indexer": "0.1.0-alpha.5",
|
|
44
|
+
"@artblocks/abx-storage": "0.1.0-alpha.4"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsc -b tsconfig.build.json"
|