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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ama_fitting",
3
- "version": "1.4.23",
3
+ "version": "1.4.24",
4
4
  "description": "Tools for fitting AMA parameters to market data",
5
5
  "main": "../../dist/analysis/ama_fitting/optimizer_high_resolution.js",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trend-detection",
3
- "version": "1.4.23",
3
+ "version": "1.4.24",
4
4
  "description": "Kalman filter trend detection with tactical/modal state tracking",
5
5
  "main": "../../dist/analysis/trend_detection/kalman_trend_analyzer.js",
6
6
  "scripts": {
package/claw/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dexbot2-claw",
3
- "version": "1.4.23",
3
+ "version": "1.4.24",
4
4
  "private": true,
5
5
  "description": "Claw bridge and runtime integration layer for BitShares and DEXBot2.",
6
6
  "type": "module",
@@ -2,7 +2,7 @@
2
2
  "id": "bitshares-claw",
3
3
  "name": "BitShares Claw",
4
4
  "description": "Native BitShares and DEXBot2 tools from the DEXBot2 claw integration",
5
- "version": "1.4.23",
5
+ "version": "1.4.24",
6
6
  "skills": [
7
7
  "skills"
8
8
  ],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bitshares-claw-openclaw-plugin",
3
3
  "private": true,
4
- "version": "1.4.23",
4
+ "version": "1.4.24",
5
5
  "type": "module",
6
6
  "main": "index.js"
7
7
  }
@@ -30,7 +30,7 @@ async function testParserAcceptsJsonlAcrossChunksAndSingleBuffer() {
30
30
  capabilities: {},
31
31
  clientInfo: {
32
32
  name: 'claw-mcp-transport-test',
33
- version: '1.4.23'
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.23'
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,CAw2BxD;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
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}, start=${startHistoryId}, maxPages=${maxPages}, pageLimit=${pageLimit}`);
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, cursorHistoryId, pageLimit, startHistoryId)),
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=${cursorHistoryId})`);
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 allEntriesAtOrBeforeCursor = true;
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
- // Only keep entries strictly newer than the cursor (already-delivered).
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
- if (Number.isFinite(cursorInstance) && Number.isFinite(entryInstance) && entryInstance <= cursorInstance) {
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
- allEntriesAtOrBeforeCursor = false;
211
+ allEntriesAtOrBeforeStop = false;
159
212
  entries.push(entry);
160
213
  }
161
214
  if (skippedCount > 0) {
162
- subscriptionsLogger.debug(`fetchFillHistoryEntries: skipped ${skippedCount} entries at/before cursor (cursor=${cursorHistoryId})`);
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 at or before the cursor.
173
- if (allEntriesAtOrBeforeCursor)
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 for this batch but do NOT advance until callbacks succeed.
355
- // On failure the cursor stays unchanged so the next processObjects scan
356
- // (triggered by the next notice or reconnect) will re-fetch these fills.
357
- // Scan ALL notice entries (not just fills) to prevent re-fetching non-fill
358
- // operations on subsequent processObjects scans. Non-fill ops may have
359
- // higher IDs than fills in the same block.
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 item of data) {
363
- if (!item || typeof item !== 'object')
420
+ for (const fill of subFills) {
421
+ if (!fill || typeof fill !== 'object')
364
422
  continue;
365
- const inst = parseObjectIdInstance(item.id);
423
+ const inst = parseObjectIdInstance(fill.id);
366
424
  if (Number.isFinite(inst) && inst > latestInstance) {
367
425
  latestInstance = inst;
368
- latestId = item.id;
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
- const history = await fetchFillHistoryEntries(accountId, sub.lastDeliveredHistoryId, options);
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsPhB,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"}
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