dexbot 1.4.23 → 1.4.24
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/CHANGELOG.md +8 -0
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/trend_detection/package.json +1 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +176 -21
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/constants.d.ts +1 -0
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +13 -0
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +31 -32
- package/dist/modules/credit_runtime.js.map +1 -1
- package/docs/DEXBOT_COMPARISON.md +12 -12
- package/docs/EVOLUTION.md +7 -6
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
- package/docs/README.md +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.4.24] - 2026-08-28 - Native Fill Gap Recovery, Eager Coalesced Retry, LP Collateral Offer-First Pricing
|
|
6
|
+
|
|
7
|
+
### 2026-08-28
|
|
8
|
+
|
|
9
|
+
- **Fix(native-client)**: recover dropped fills after subscription notice gaps — **core engine fix** for the 2026-08-28 crash burst (24 and 38 fills dropped, Fund invariant violation SELL / oversell). `handleNotice` advanced `lastDeliveredHistoryId` to the max op id present in the notice (including non-fill ops like `limit_order_create`), so any fill whose `1.11.x` id fell between the old cursor and that max was skipped by the strictly-newer-than-cursor `get_account_history` scan and lost forever; reconnect/poll did not arm recovery and the history merge left entries unsorted so the cursor could land on a gap entry. The fix: `handleNotice` now advances only to the max `fillMatchesAccount` id for that subscription and arms `_gapRecovery` for the next coalesced `processObjects`; `fetchFillHistoryEntries` gains a `lookbackOps` window (`NATIVE_CLIENT.SUBSCRIPTIONS.HISTORY_GAP_LOOKBACK_OPS = 2000` per-account `1.11.x` slots) that lowers `stop` to `cursor-lookback-1` inclusive (core `api.cpp:443` stop is exclusive) and skips entries below the lookback floor — so `[lookbackStop, head]` is re-covered with re-delivery safe via downstream history-id dedup; `processObjects` consumes `_gapRecovery` with a single inclusive lookback+tail scan, sorts oldest-first, and only clears the flag after a successful fetch (retry on throw/timeout); `resubscribeEntry`/`resubscribeAll` arm `_gapRecovery` unconditionally on reconnect; `startFillPolling` no longer arms every 60s tick (avoids ~80 pages/min steady-state cost); new `decrementObjectIdBy` helper and defensive sorting added (`modules/bitshares-native/subscriptions.ts`, `modules/constants.ts`, new `tests/test_fill_gap_recovery.ts` reproducing 5095..5099 gap with cursor 5000→6002 and asserting recovery).
|
|
10
|
+
- **Fix(native-client)**: eager gap recovery without waiting for poll — the initial gap fix armed `_gapRecovery` but recovery was only consumed by the next non-fill notice coalesce (250ms) or the 60s fill poll, leaving up to a 60s correctness window in the quiet-after-gap case where the burst gap (5095..5099 dropped, cursor 5000→6002) could still cause inventory drift before the lightweight 15min/240min open-orders syncs. Now `_gapRecovery` is armed only when the cursor gap exceeds one op (`gap = latest - oldCursor > 1`, so sequential 5000→5001 skips the scan while burst 5000→6002 arms it, avoiding a 40-page scan on every sequential fill) and an eager coalesced lookback is scheduled via `pendingScans`/`_processingHistory` for each armed sub (fires in ~250ms `NOTICE_COALESCE_MS`, unref timer, coalesced per burst, respects in-flight scans); `processObjects` pollution is avoided by skipping poll when `_processingHistory` is true, with poll retained only as a safety-net fallback — cost is one 40-page window per gap event, not per poll, retry-safe via history-id dedup (`modules/bitshares-native/subscriptions.ts`, `tests/test_fill_gap_recovery.ts` tightened to eager-only path without a second no-fill notice).
|
|
11
|
+
- **Fix(credit-runtime)**: prefer offer map over pool for LP collateral pricing — the hourly `live credit offer price unavailable` warn fired for LP share collateral where pool derivation failed for the debt denomination (e.g. pool requires pricing an underlying reserve with no market) even though the offer's `acceptable_collateral` listed the LP explicitly; the LP-exclusive branch ran before the offer-map lookup and returned `cached-offer` on pool miss, shadowing the live offer and logging both the pool derivation failure and the cached-offer warn on every hourly collateral distribution call, with redundant asset resolution and stale line-number refs. `_resolveCreditConversionRate` now tries the offer map (live-offer / owned-offer) first and only falls back to `deriveLiquidityPoolTokenValue` when the offer has no entry for the debt/collateral pair; pool fallback is gated on `!cachedIsFresh` to avoid hourly `deriveLiquidityPoolTokenValue` failures when a fresh cached rate exists; already-resolved `debtAsset`/`collateralAsset` are reused instead of re-resolving for the pool path; early cached return on owned-offer miss is replaced by fall-through so genuine LP-no-offer pairs still reach the pool fallback (`modules/credit_runtime.ts`).
|
|
12
|
+
|
|
5
13
|
## [1.4.23] - 2026-08-28 - Even AMA Ladder, BTS Fee-Carve Fix, Price-Bound Rejection, TradingView Axis, Doc Realignment
|
|
6
14
|
|
|
7
15
|
### 2026-08-26
|
package/claw/package.json
CHANGED
|
@@ -30,7 +30,7 @@ async function testParserAcceptsJsonlAcrossChunksAndSingleBuffer() {
|
|
|
30
30
|
capabilities: {},
|
|
31
31
|
clientInfo: {
|
|
32
32
|
name: 'claw-mcp-transport-test',
|
|
33
|
-
version: '1.4.
|
|
33
|
+
version: '1.4.24'
|
|
34
34
|
},
|
|
35
35
|
protocolVersion: '2024-11-05'
|
|
36
36
|
}
|
|
@@ -187,7 +187,7 @@ async function testMainEntrypointHandlesRealProcessInitialize() {
|
|
|
187
187
|
capabilities: {},
|
|
188
188
|
clientInfo: {
|
|
189
189
|
name: 'claw-mcp-transport-test',
|
|
190
|
-
version: '1.4.
|
|
190
|
+
version: '1.4.24'
|
|
191
191
|
},
|
|
192
192
|
protocolVersion: '2024-11-05'
|
|
193
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../modules/bitshares-native/subscriptions.ts"],"names":[],"mappings":"AAgBA,iBAAS,yBAAyB,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../modules/bitshares-native/subscriptions.ts"],"names":[],"mappings":"AAgBA,iBAAS,yBAAyB,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CA+/BxD;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
|
|
@@ -50,6 +50,22 @@ function createSubscriptionManager(chainClient) {
|
|
|
50
50
|
return null;
|
|
51
51
|
return `${match[1]}${instance - 1}`;
|
|
52
52
|
}
|
|
53
|
+
// Decrement an object id (e.g. "1.11.1234") by `n` instances, returning the
|
|
54
|
+
// resulting id string, or null if it would underflow below 0.
|
|
55
|
+
function decrementObjectIdBy(id, n) {
|
|
56
|
+
if (typeof id !== 'string' || !Number.isFinite(n) || n <= 0)
|
|
57
|
+
return null;
|
|
58
|
+
const match = id.match(/^(.+\.)(\d+)$/);
|
|
59
|
+
if (!match)
|
|
60
|
+
return null;
|
|
61
|
+
const instance = Number(match[2]);
|
|
62
|
+
if (!Number.isSafeInteger(instance))
|
|
63
|
+
return null;
|
|
64
|
+
const next = instance - Math.floor(n);
|
|
65
|
+
if (next < 0)
|
|
66
|
+
return null;
|
|
67
|
+
return `${match[1]}${next}`;
|
|
68
|
+
}
|
|
53
69
|
function warnSubscription(sub, message, err = null) {
|
|
54
70
|
const account = sub?.accountName || sub?.accountId || 'unknown';
|
|
55
71
|
const detail = err?.message ? `: ${getErrorMessage(err)}` : '';
|
|
@@ -94,10 +110,40 @@ function createSubscriptionManager(chainClient) {
|
|
|
94
110
|
const entries = [];
|
|
95
111
|
const seenIds = new Set();
|
|
96
112
|
const cursorInstance = parseObjectIdInstance(cursorHistoryId);
|
|
113
|
+
// Gap-recovery lookback: when a gap is suspected (the live feed jumped the
|
|
114
|
+
// cursor past one or more filled ops), re-scan a window BELOW the cursor so
|
|
115
|
+
// the stranded fills get recovered. Re-delivery of already-seen ops in this
|
|
116
|
+
// window is safe: downstream dedups every fill by its history id (see
|
|
117
|
+
// dexbot_fill_runtime _isNewFillKey). See AGENTS/bitshares-core for the
|
|
118
|
+
// get_account_history range semantics this relies on.
|
|
119
|
+
const lookbackOps = Number.isFinite(options?.lookbackOps) ? Math.max(0, Math.floor(options.lookbackOps)) : 0;
|
|
120
|
+
let lookbackStopHistoryId = cursorHistoryId;
|
|
121
|
+
let lookbackStopInstance = cursorInstance;
|
|
122
|
+
// Actual `stop` handed to get_account_history. For the no-lookback case this is
|
|
123
|
+
// just the cursor. With a lookback window we lower it one slot below
|
|
124
|
+
// lookbackStop so the boundary op itself is included (see below).
|
|
125
|
+
let stopHistoryId = cursorHistoryId;
|
|
126
|
+
if (lookbackOps > 0 && Number.isFinite(cursorInstance)) {
|
|
127
|
+
const decremented = decrementObjectIdBy(cursorHistoryId, lookbackOps);
|
|
128
|
+
if (decremented) {
|
|
129
|
+
lookbackStopHistoryId = decremented;
|
|
130
|
+
lookbackStopInstance = cursorInstance - lookbackOps;
|
|
131
|
+
// bitshares-core treats `stop` as EXCLUSIVE (api.cpp:443): it returns ops
|
|
132
|
+
// strictly greater than stop. To make the lookback window inclusive of the
|
|
133
|
+
// op sitting exactly at lookbackStop, lower the fetch stop by one instance.
|
|
134
|
+
const stopAdjusted = decrementObjectIdBy(lookbackStopHistoryId, 1);
|
|
135
|
+
stopHistoryId = stopAdjusted ?? lookbackStopHistoryId;
|
|
136
|
+
}
|
|
137
|
+
// else: underflow (cursor instance < lookbackOps) — keep stopHistoryId at
|
|
138
|
+
// cursor and lookbackStopInstance at cursor so the two variables stay
|
|
139
|
+
// consistent; server bounds the window anyway (1.11.0 is the floor).
|
|
140
|
+
}
|
|
97
141
|
// Scan history using get_account_history (unfiltered, uses by_op index).
|
|
98
142
|
// Parameters: (accountId, stop, limit, start)
|
|
99
143
|
// API returns entries from start (newest) down to stop (cursor), with
|
|
100
144
|
// start=0 being replaced by the server with the max/head operation ID.
|
|
145
|
+
// With a lookback window, `stop` is lowered to lookbackStopHistoryId so the
|
|
146
|
+
// scan also covers the gap-recovery region below the cursor.
|
|
101
147
|
let startHistoryId = SUBSCRIPTIONS.HISTORY_API_OBJECT;
|
|
102
148
|
let pagesFetched = 0;
|
|
103
149
|
const maxPagesDefault = SUBSCRIPTIONS.HISTORY_MAX_PAGES;
|
|
@@ -113,7 +159,7 @@ function createSubscriptionManager(chainClient) {
|
|
|
113
159
|
subscriptionsLogger.warn(`fetchFillHistoryEntries: node api_limit_get_account_history (${configuredLimit}) ` +
|
|
114
160
|
`< HISTORY_LOOKBACK_MAX (${SUBSCRIPTIONS.HISTORY_LOOKBACK_MAX}), capping page size to ${pageLimit}`);
|
|
115
161
|
}
|
|
116
|
-
subscriptionsLogger.debug(`fetchFillHistoryEntries: account=${accountId}, cursor=${cursorHistoryId},
|
|
162
|
+
subscriptionsLogger.debug(`fetchFillHistoryEntries: account=${accountId}, cursor=${cursorHistoryId}, lookbackOps=${lookbackOps}, stop=${stopHistoryId}, maxPages=${maxPages}, pageLimit=${pageLimit}`);
|
|
117
163
|
const FETCH_PAGE_TIMEOUT_MS = require('../constants').TIMING.FETCH_HISTORY_PAGE_TIMEOUT_MS;
|
|
118
164
|
const FETCH_TOTAL_DEADLINE_MS = require('../constants').TIMING.FETCH_HISTORY_TOTAL_DEADLINE_MS;
|
|
119
165
|
const scanStartedAt = Date.now();
|
|
@@ -128,7 +174,7 @@ function createSubscriptionManager(chainClient) {
|
|
|
128
174
|
}
|
|
129
175
|
let pageTimer;
|
|
130
176
|
const page = await Promise.race([
|
|
131
|
-
Promise.resolve(fetchPage(accountId,
|
|
177
|
+
Promise.resolve(fetchPage(accountId, stopHistoryId, pageLimit, startHistoryId)),
|
|
132
178
|
new Promise((_, reject) => {
|
|
133
179
|
pageTimer = setTimeout(() => {
|
|
134
180
|
reject(new Error(`fetchFillHistoryEntries: page ${pagesFetched + 1} timed out after ${FETCH_PAGE_TIMEOUT_MS}ms`));
|
|
@@ -140,26 +186,33 @@ function createSubscriptionManager(chainClient) {
|
|
|
140
186
|
});
|
|
141
187
|
pagesFetched++;
|
|
142
188
|
const pageLen = Array.isArray(page) ? page.length : 0;
|
|
143
|
-
subscriptionsLogger.debug(`fetchFillHistoryEntries: page ${pagesFetched} returned ${pageLen} entries (start=${startHistoryId}, stop=${
|
|
189
|
+
subscriptionsLogger.debug(`fetchFillHistoryEntries: page ${pagesFetched} returned ${pageLen} entries (start=${startHistoryId}, stop=${stopHistoryId})`);
|
|
144
190
|
if (!Array.isArray(page) || page.length === 0)
|
|
145
191
|
break;
|
|
146
|
-
let
|
|
192
|
+
let allEntriesAtOrBeforeStop = true;
|
|
147
193
|
let skippedCount = 0;
|
|
148
194
|
for (const entry of page) {
|
|
149
195
|
if (!entry || !entry.id || seenIds.has(entry.id))
|
|
150
196
|
continue;
|
|
151
197
|
seenIds.add(entry.id);
|
|
152
|
-
//
|
|
198
|
+
// Keep entries at or above the scan's lower bound. Without a lookback
|
|
199
|
+
// window that bound is the cursor (keep strictly newer than cursor, so
|
|
200
|
+
// skip <= cursor); with a lookback it is lookbackStop (keep >= lookbackStop,
|
|
201
|
+
// so skip < lookbackStop). The region between lookbackStop and the cursor
|
|
202
|
+
// is intentionally re-scanned to recover skipped fills.
|
|
153
203
|
const entryInstance = parseObjectIdInstance(entry.id);
|
|
154
|
-
|
|
204
|
+
const atOrBeforeStop = lookbackOps > 0
|
|
205
|
+
? (Number.isFinite(entryInstance) && entryInstance < lookbackStopInstance)
|
|
206
|
+
: (Number.isFinite(cursorInstance) && Number.isFinite(entryInstance) && entryInstance <= cursorInstance);
|
|
207
|
+
if (atOrBeforeStop) {
|
|
155
208
|
skippedCount++;
|
|
156
209
|
continue;
|
|
157
210
|
}
|
|
158
|
-
|
|
211
|
+
allEntriesAtOrBeforeStop = false;
|
|
159
212
|
entries.push(entry);
|
|
160
213
|
}
|
|
161
214
|
if (skippedCount > 0) {
|
|
162
|
-
subscriptionsLogger.debug(`fetchFillHistoryEntries: skipped ${skippedCount} entries
|
|
215
|
+
subscriptionsLogger.debug(`fetchFillHistoryEntries: skipped ${skippedCount} entries below scan lower bound (stop=${stopHistoryId})`);
|
|
163
216
|
}
|
|
164
217
|
if (page.length < pageLimit) {
|
|
165
218
|
subscriptionsLogger.debug(`fetchFillHistoryEntries: last page (${page.length} < ${pageLimit})`);
|
|
@@ -169,8 +222,8 @@ function createSubscriptionManager(chainClient) {
|
|
|
169
222
|
subscriptionsLogger.debug(`fetchFillHistoryEntries: maxPages (${maxPages}) reached`);
|
|
170
223
|
break;
|
|
171
224
|
}
|
|
172
|
-
// Stop if all entries on this page are
|
|
173
|
-
if (
|
|
225
|
+
// Stop if all entries on this page are below the scan lower bound.
|
|
226
|
+
if (allEntriesAtOrBeforeStop)
|
|
174
227
|
break;
|
|
175
228
|
const oldestId = page[page.length - 1]?.id;
|
|
176
229
|
const nextStartHistoryId = decrementObjectId(oldestId);
|
|
@@ -345,27 +398,32 @@ function createSubscriptionManager(chainClient) {
|
|
|
345
398
|
subscriptionsLogger.info(`handleNotice: dispatching ${fillObjects.length} fill(s) directly from notice data`);
|
|
346
399
|
// Batch fills per-subscription and dispatch all at once, so a single
|
|
347
400
|
// callback receives all fills from one notice.
|
|
401
|
+
const gapRecoveryArmed = [];
|
|
348
402
|
for (const [, sub] of subscriptions) {
|
|
349
403
|
if (!sub.active)
|
|
350
404
|
continue;
|
|
351
405
|
const subFills = fillObjects.filter((fill) => fillMatchesAccount(fill, sub.accountId));
|
|
352
406
|
if (subFills.length === 0)
|
|
353
407
|
continue;
|
|
354
|
-
// Compute cursor
|
|
355
|
-
//
|
|
356
|
-
//
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
//
|
|
408
|
+
// Compute the cursor advance from the FILL ops actually delivered to this
|
|
409
|
+
// subscription — NOT from every item in the notice. The previous logic
|
|
410
|
+
// advanced the cursor to the highest op id present in the notice, which
|
|
411
|
+
// could be a non-fill op (e.g. limit_order_create) or a later fill in the
|
|
412
|
+
// same block. Advancing past such an op silently skips any fill ops whose
|
|
413
|
+
// ids fall between the old cursor and that max id: fetchFillHistoryEntries
|
|
414
|
+
// only scans strictly newer than the cursor, so those fills are lost
|
|
415
|
+
// forever (causing inventory drift / oversell). Restricting the advance to
|
|
416
|
+
// delivered fills keeps the cursor as low as possible; any residual gap is
|
|
417
|
+
// recovered by the lookback scan (sub._gapRecovery) in processObjects.
|
|
360
418
|
let latestId = null;
|
|
361
419
|
let latestInstance = -1;
|
|
362
|
-
for (const
|
|
363
|
-
if (!
|
|
420
|
+
for (const fill of subFills) {
|
|
421
|
+
if (!fill || typeof fill !== 'object')
|
|
364
422
|
continue;
|
|
365
|
-
const inst = parseObjectIdInstance(
|
|
423
|
+
const inst = parseObjectIdInstance(fill.id);
|
|
366
424
|
if (Number.isFinite(inst) && inst > latestInstance) {
|
|
367
425
|
latestInstance = inst;
|
|
368
|
-
latestId =
|
|
426
|
+
latestId = fill.id;
|
|
369
427
|
}
|
|
370
428
|
}
|
|
371
429
|
const failed = [];
|
|
@@ -394,7 +452,55 @@ function createSubscriptionManager(chainClient) {
|
|
|
394
452
|
// Cursor NOT advanced — retry on next scan.
|
|
395
453
|
}
|
|
396
454
|
else if (latestId && (!sub.lastDeliveredHistoryId || parseObjectIdInstance(latestId) > parseObjectIdInstance(sub.lastDeliveredHistoryId))) {
|
|
455
|
+
const oldCursorInst = parseObjectIdInstance(sub.lastDeliveredHistoryId);
|
|
456
|
+
const gap = Number.isFinite(oldCursorInst) && Number.isFinite(latestInstance) ? latestInstance - oldCursorInst : Infinity;
|
|
397
457
|
sub.lastDeliveredHistoryId = latestId;
|
|
458
|
+
// A notice advanced the cursor without a full history scan, so a fill
|
|
459
|
+
// op may have been skipped between the old and new cursor. Arm the
|
|
460
|
+
// lookback scan only when there is at least one op slot between the
|
|
461
|
+
// old cursor and the new fill (gap > 1) — otherwise the window is
|
|
462
|
+
// contiguous and no fill could have been skipped. This avoids a
|
|
463
|
+
// 40-page history scan on every sequential fill while still
|
|
464
|
+
// covering the crash-burst case (gap >> 1).
|
|
465
|
+
if (gap > 1) {
|
|
466
|
+
sub._gapRecovery = true;
|
|
467
|
+
gapRecoveryArmed.push(sub);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
// Eager gap-recovery: don't wait for the next non-fill notice (250ms
|
|
472
|
+
// coalesce) or the 60s poll — which leaves a correctness window in the
|
|
473
|
+
// quiet-after-gap case. Schedule a coalesced lookback scan for each
|
|
474
|
+
// armed subscription. Cost is one 40-page window per gap event, not
|
|
475
|
+
// per poll. If a scan is already pending/in-flight (_processingHistory
|
|
476
|
+
// or pendingScans), the flag stays armed and the in-flight scan will
|
|
477
|
+
// consume it (or the next tick will).
|
|
478
|
+
for (const sub of gapRecoveryArmed) {
|
|
479
|
+
if (sub._processingHistory)
|
|
480
|
+
continue;
|
|
481
|
+
if (pendingScans.has(sub))
|
|
482
|
+
continue;
|
|
483
|
+
sub._processingHistory = true;
|
|
484
|
+
if (noticeCoalesceMs > 0) {
|
|
485
|
+
const entry = { timer: null, lastNoticeAt: Date.now() };
|
|
486
|
+
entry.timer = setTimeout(() => {
|
|
487
|
+
pendingScans.delete(sub);
|
|
488
|
+
(processObjects(sub, [sub.accountId]).catch((err) => {
|
|
489
|
+
subscriptionsLogger.warn(`processObjects (eager gap-recovery) error for ${sub.accountName}: ${getErrorMessage(err)}`);
|
|
490
|
+
})).finally(() => {
|
|
491
|
+
sub._processingHistory = false;
|
|
492
|
+
});
|
|
493
|
+
}, noticeCoalesceMs);
|
|
494
|
+
if (typeof entry.timer.unref === 'function')
|
|
495
|
+
entry.timer.unref();
|
|
496
|
+
pendingScans.set(sub, entry);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
(processObjects(sub, [sub.accountId]).catch((err) => {
|
|
500
|
+
subscriptionsLogger.warn(`processObjects (eager gap-recovery) error for ${sub.accountName}: ${getErrorMessage(err)}`);
|
|
501
|
+
})).finally(() => {
|
|
502
|
+
sub._processingHistory = false;
|
|
503
|
+
});
|
|
398
504
|
}
|
|
399
505
|
}
|
|
400
506
|
}
|
|
@@ -446,7 +552,29 @@ function createSubscriptionManager(chainClient) {
|
|
|
446
552
|
sub.lastDeliveredHistoryId = await primeLastDeliveredHistoryId(sub);
|
|
447
553
|
subscriptionsLogger.debug(`processObjects: primed lastDeliveredHistoryId=${sub.lastDeliveredHistoryId} for ${sub.accountName}`);
|
|
448
554
|
}
|
|
449
|
-
|
|
555
|
+
let history;
|
|
556
|
+
if (sub._gapRecovery) {
|
|
557
|
+
// Gap-recovery: a notice-driven cursor advance (or a reconnect) may have
|
|
558
|
+
// skipped fills that sit BELOW the cursor. Do a single lookback scan
|
|
559
|
+
// instead of a separate tail fetch + merge: the lookback returns the window
|
|
560
|
+
// [lookbackStop, head] — i.e. the below-cursor gap AND the strictly-newer
|
|
561
|
+
// tail in ONE call — already sorted oldest-first. Re-delivery of already-seen
|
|
562
|
+
// ops is safe (downstream dedups by history id).
|
|
563
|
+
// _gapRecovery is cleared only after a successful fetch so a throw/timeout
|
|
564
|
+
// keeps it armed for retry on the next poll/notice.
|
|
565
|
+
history = await fetchFillHistoryEntries(accountId, sub.lastDeliveredHistoryId, {
|
|
566
|
+
...options,
|
|
567
|
+
lookbackOps: SUBSCRIPTIONS.HISTORY_GAP_LOOKBACK_OPS,
|
|
568
|
+
});
|
|
569
|
+
sub._gapRecovery = false;
|
|
570
|
+
subscriptionsLogger.info(`processObjects: gap-recovery scan (lookback=${SUBSCRIPTIONS.HISTORY_GAP_LOOKBACK_OPS}) returned ${history.length} op(s) for ${sub.accountName} (cursor=${sub.lastDeliveredHistoryId})`);
|
|
571
|
+
}
|
|
572
|
+
else {
|
|
573
|
+
history = await fetchFillHistoryEntries(accountId, sub.lastDeliveredHistoryId, options);
|
|
574
|
+
}
|
|
575
|
+
// Defensive: guarantee oldest-first ordering so the cursor advance below lands
|
|
576
|
+
// on the newest op (history[last]), never a gap entry pushed onto the end.
|
|
577
|
+
sortEntriesOldestFirst(history);
|
|
450
578
|
if (history.length === 0) {
|
|
451
579
|
sub.lastNoticeAt = Date.now();
|
|
452
580
|
subscriptionsLogger.debug(`processObjects: no history entries for ${sub.accountName} (cursor=${sub.lastDeliveredHistoryId})`);
|
|
@@ -603,6 +731,10 @@ function createSubscriptionManager(chainClient) {
|
|
|
603
731
|
for (const failure of refreshFailures) {
|
|
604
732
|
scheduleReconnectRetry(failure.entry, failure.err);
|
|
605
733
|
}
|
|
734
|
+
// A disconnect/reconnect means fills may have been missed while offline.
|
|
735
|
+
// Arm gap recovery so the post-reconnect scan re-covers the window below
|
|
736
|
+
// the cursor (not just strictly-newer ops).
|
|
737
|
+
entry._gapRecovery = true;
|
|
606
738
|
await processObjects(entry, [entry.accountId], {
|
|
607
739
|
throwOnError: true,
|
|
608
740
|
});
|
|
@@ -629,6 +761,19 @@ function createSubscriptionManager(chainClient) {
|
|
|
629
761
|
continue;
|
|
630
762
|
if (entry.reconnecting)
|
|
631
763
|
continue;
|
|
764
|
+
if (entry._processingHistory)
|
|
765
|
+
continue;
|
|
766
|
+
// Poll is a lightweight liveness check (fetches only >cursor, ~1 page
|
|
767
|
+
// in steady state). Gap recovery (2000 per-account ops ≈40 pages) is
|
|
768
|
+
// already armed by handleNotice cursor advances and by
|
|
769
|
+
// resubscribeEntry/resubscribeAll on disconnects. Poll does NOT arm
|
|
770
|
+
// unconditionally — that would turn every 60s tick into a 40-page
|
|
771
|
+
// re-fetch forever (~80 pages/min for bbot9+bbot4). If a gap-recovery
|
|
772
|
+
// fetch previously threw, _gapRecovery stays true and the next poll
|
|
773
|
+
// will run the lookback; otherwise this tick is just a plain >cursor
|
|
774
|
+
// scan with no lookback. Eager gap-recovery scheduled in handleNotice
|
|
775
|
+
// already handles the quiet-after-gap case in ~250ms, so this poll
|
|
776
|
+
// is only the safety-net fallback.
|
|
632
777
|
try {
|
|
633
778
|
await processObjects(entry, [entry.accountId]);
|
|
634
779
|
}
|
|
@@ -667,6 +812,7 @@ function createSubscriptionManager(chainClient) {
|
|
|
667
812
|
statisticsId: null,
|
|
668
813
|
lastDeliveredHistoryId: SUBSCRIPTIONS.HISTORY_API_OBJECT,
|
|
669
814
|
lastNoticeAt: Date.now(),
|
|
815
|
+
_gapRecovery: false,
|
|
670
816
|
active: false,
|
|
671
817
|
callbacks: new Set(),
|
|
672
818
|
onError: null,
|
|
@@ -823,6 +969,15 @@ function createSubscriptionManager(chainClient) {
|
|
|
823
969
|
for (const failure of refreshFailures) {
|
|
824
970
|
scheduleReconnectRetry(failure.entry, failure.err);
|
|
825
971
|
}
|
|
972
|
+
// A disconnect/reconnect means fills may have been missed while offline
|
|
973
|
+
// (the exact crash-burst scenario). Arm gap recovery on every active entry so
|
|
974
|
+
// the catch-up scans below re-cover the window below each cursor — not just
|
|
975
|
+
// strictly-newer ops. resubscribeEntry does the same for the single-entry path.
|
|
976
|
+
for (const [, entry] of subscriptions) {
|
|
977
|
+
if (!entry.active)
|
|
978
|
+
continue;
|
|
979
|
+
entry._gapRecovery = true;
|
|
980
|
+
}
|
|
826
981
|
// Catch-up scan for each entry (parallelized for multi-account setups).
|
|
827
982
|
const scanTasks = [];
|
|
828
983
|
for (const [, entry] of subscriptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../modules/bitshares-native/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../modules/bitshares-native/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -624,6 +624,7 @@ declare let NATIVE_CLIENT: {
|
|
|
624
624
|
OPERATION_HISTORY_PREFIX: string;
|
|
625
625
|
HISTORY_API_OBJECT: string;
|
|
626
626
|
HISTORY_LOOKBACK_MAX: number;
|
|
627
|
+
HISTORY_GAP_LOOKBACK_OPS: number;
|
|
627
628
|
HISTORY_MAX_PAGES: number;
|
|
628
629
|
SUBSCRIBE_TIMEOUT_MS: number;
|
|
629
630
|
RECONNECT_RETRY_DELAY_MS: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../modules/constants.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,QAAA,MAAM,WAAW;;;;EAIf,CAAC;AAIH,QAAA,MAAM,YAAY;;;;EAIhB,CAAC;AAGH,QAAA,MAAM,gBAAgB;;;;EAIpB,CAAC;AAGH,QAAA,MAAM,WAAW;;;;EAIf,CAAC;AAIH,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjB,CAAC;AAGF,QAAA,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+NT,CAAC;AAGF,QAAA,IAAI,WAAW;;;;;;;;;;;;;;CAoHd,CAAC;AAGF,QAAA,IAAI,gBAAgB;;;;;CASnB,CAAC;AAGF,QAAA,IAAI,cAAc;;;;;;;;;;;;;;CAgFjB,CAAC;AAIF,QAAA,IAAI,QAAQ;;;EAGV,CAAC;AAIH,QAAA,MAAM,iBAAiB,QAA6C,CAAC;AAMrE,QAAA,MAAM,aAAa;;;EAGjB,CAAC;AAOH,QAAA,MAAM,YAAY;;;EAGhB,CAAC;AAMH,QAAA,IAAI,kBAAkB;;CASrB,CAAC;AAKF,QAAA,IAAI,aAAa,QAAI,CAAC;AAGtB,QAAA,IAAI,UAAU;;;;;CASb,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;CAoClB,CAAC;AAGF,QAAA,IAAI,WAAW;;CAGd,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;;;;;;;;;;CA0ClB,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;;CA0DlB,CAAC;AAKF,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmXjB,CAAC;AASF,QAAA,IAAI,SAAS,QAAS,CAAC;AAKvB,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EjB,CAAC;AAGF,QAAA,IAAI,OAAO;;;;;CAgBV,CAAC;AAEF,QAAA,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;CA2CX,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;CAuBlB,CAAC;AA8BF,QAAA,IAAI,aAAa
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../modules/constants.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,QAAA,MAAM,WAAW;;;;EAIf,CAAC;AAIH,QAAA,MAAM,YAAY;;;;EAIhB,CAAC;AAGH,QAAA,MAAM,gBAAgB;;;;EAIpB,CAAC;AAGH,QAAA,MAAM,WAAW;;;;EAIf,CAAC;AAIH,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjB,CAAC;AAGF,QAAA,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+NT,CAAC;AAGF,QAAA,IAAI,WAAW;;;;;;;;;;;;;;CAoHd,CAAC;AAGF,QAAA,IAAI,gBAAgB;;;;;CASnB,CAAC;AAGF,QAAA,IAAI,cAAc;;;;;;;;;;;;;;CAgFjB,CAAC;AAIF,QAAA,IAAI,QAAQ;;;EAGV,CAAC;AAIH,QAAA,MAAM,iBAAiB,QAA6C,CAAC;AAMrE,QAAA,MAAM,aAAa;;;EAGjB,CAAC;AAOH,QAAA,MAAM,YAAY;;;EAGhB,CAAC;AAMH,QAAA,IAAI,kBAAkB;;CASrB,CAAC;AAKF,QAAA,IAAI,aAAa,QAAI,CAAC;AAGtB,QAAA,IAAI,UAAU;;;;;CASb,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;CAoClB,CAAC;AAGF,QAAA,IAAI,WAAW;;CAGd,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;;;;;;;;;;CA0ClB,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;;;;CA0DlB,CAAC;AAKF,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmXjB,CAAC;AASF,QAAA,IAAI,SAAS,QAAS,CAAC;AAKvB,QAAA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EjB,CAAC;AAGF,QAAA,IAAI,OAAO;;;;;CAgBV,CAAC;AAEF,QAAA,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;CA2CX,CAAC;AAGF,QAAA,IAAI,eAAe;;;;;CAuBlB,CAAC;AA8BF,QAAA,IAAI,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQhB,CAAC;AAmGF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1417,6 +1417,19 @@ let NATIVE_CLIENT = {
|
|
|
1417
1417
|
// capped at min(HISTORY_LOOKBACK_MAX, node's api_limit_get_account_history)
|
|
1418
1418
|
// to avoid FC_ASSERT on nodes with a lower configured limit.
|
|
1419
1419
|
HISTORY_LOOKBACK_MAX: 50,
|
|
1420
|
+
// HISTORY_GAP_LOOKBACK_OPS: Number of per-account operation-history slots
|
|
1421
|
+
// (1.11.x for that account, NOT global ops) BELOW the per-subscription
|
|
1422
|
+
// cursor (lastDeliveredHistoryId) that fetchFillHistoryEntries re-scans
|
|
1423
|
+
// after a gap is suspected. This recovers fills the live subscription feed
|
|
1424
|
+
// dropped: handleNotice advances the cursor to the highest op id delivered
|
|
1425
|
+
// to that account, so any fill op stranded between the old cursor and that
|
|
1426
|
+
// max id is skipped by the strict "newer-than-cursor" scan and would
|
|
1427
|
+
// otherwise be lost forever (causing inventory drift / oversell).
|
|
1428
|
+
// Re-delivering already-seen fills in this window is safe: downstream
|
|
1429
|
+
// dedups by history id. 2000 per-account ops is generous — even a hot
|
|
1430
|
+
// bot does <<100 ops/hour, so this covers hours of missed fills, far
|
|
1431
|
+
// beyond the 24-38 fills lost in the 2026-08-28 17-18h burst.
|
|
1432
|
+
HISTORY_GAP_LOOKBACK_OPS: 2000,
|
|
1420
1433
|
// HISTORY_MAX_PAGES: Default cap on pages fetched by
|
|
1421
1434
|
// fetchFillHistoryEntries in modules/bitshares-native/subscriptions.ts
|
|
1422
1435
|
// when the caller does not pass `options.maxPages`. Bounds the loop in
|