dexbot 1.1.13 → 1.2.0
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/README.md +1 -0
- package/dist/market_adapter/market_adapter.js +1 -1
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.d.ts +20 -0
- package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -0
- package/dist/modules/bitshares-native/lru_cache.js +45 -0
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -0
- package/dist/modules/bitshares-native/resolvers.d.ts +2 -18
- package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +2 -41
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts +1 -0
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +3 -0
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +12 -1
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +42 -3
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +77 -27
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +26 -16
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts +17 -0
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -0
- package/dist/modules/bitshares-native/tx/tx_cache.js +62 -0
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -0
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +2 -1
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +4 -1
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +30 -1
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts +6 -0
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +11 -0
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +17 -1
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +84 -18
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +40 -29
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +16 -12
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +183 -78
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_credential_client.d.ts +1 -0
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +15 -6
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -5
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +78 -42
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +2 -0
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/child_env.d.ts.map +1 -1
- package/dist/modules/launcher/child_env.js +1 -0
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/launch_modes.d.ts +2 -0
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
- package/dist/modules/launcher/launch_modes.js +7 -6
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/node_manager.d.ts +9 -0
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +35 -17
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +56 -13
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +33 -4
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +69 -7
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/grid.d.ts +435 -450
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +1621 -1548
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts +3 -73
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +11 -843
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +8 -0
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -0
- package/dist/modules/order/grid_reconcile_internal.js +771 -0
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -0
- package/dist/modules/order/logger.d.ts +1 -1
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +26 -2
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/manager.d.ts +40 -3
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +97 -15
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/runner.js +2 -2
- package/dist/modules/order/runner.js.map +1 -1
- package/dist/modules/order/strategy.js +3 -3
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +121 -29
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +17 -0
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +56 -19
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.js +4 -4
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +6 -8
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/scripts/print_grid.js +3 -3
- package/dist/scripts/print_grid.js.map +1 -1
- package/dist/scripts/test-credit-renewal.js +1 -1
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +26 -12
- package/dist/unlock.js.map +1 -1
- package/package.json +14 -4
|
@@ -154,7 +154,7 @@ declare class SyncEngine {
|
|
|
154
154
|
/**
|
|
155
155
|
* Synchronize grid orders with blockchain open orders snapshot.
|
|
156
156
|
* @param {Array|null} chainOrders - Array of blockchain order objects
|
|
157
|
-
* @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true
|
|
157
|
+
* @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true })
|
|
158
158
|
* @returns {Promise<Object>} Result with filledOrders, updatedOrders, ordersNeedingCorrection
|
|
159
159
|
*/
|
|
160
160
|
syncFromOpenOrders(chainOrders: any[] | null, options?: Record<string, any>): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;
|
|
1
|
+
{"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsHrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA+InF;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9J,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA0Y5M;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;;;;;;;;;;IAwStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsK5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gCAAgC;IA0CtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,gBAAgB;CAgCzB;AAED,SAAS,UAAU,CAAC"}
|
|
@@ -322,7 +322,7 @@ class SyncEngine {
|
|
|
322
322
|
/**
|
|
323
323
|
* Synchronize grid orders with blockchain open orders snapshot.
|
|
324
324
|
* @param {Array|null} chainOrders - Array of blockchain order objects
|
|
325
|
-
* @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true
|
|
325
|
+
* @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true })
|
|
326
326
|
* @returns {Promise<Object>} Result with filledOrders, updatedOrders, ordersNeedingCorrection
|
|
327
327
|
*/
|
|
328
328
|
async syncFromOpenOrders(chainOrders, options = {}) {
|
|
@@ -334,28 +334,48 @@ class SyncEngine {
|
|
|
334
334
|
mgr.logger?.log?.('Error: syncLock not initialized', 'error');
|
|
335
335
|
return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
|
|
336
336
|
}
|
|
337
|
-
if
|
|
337
|
+
// Skip re-acquiring if we're already inside _fillProcessingLock's
|
|
338
|
+
// execution context (the lock is re-entrant). The old fillLockAlreadyHeld
|
|
339
|
+
// flag achieved the same goal by being passed through the call chain;
|
|
340
|
+
// now the lock knows whether the caller already holds it.
|
|
341
|
+
if (mgr._fillProcessingLock && !mgr._fillProcessingLock.isReentrant()) {
|
|
338
342
|
return mgr._fillProcessingLock.acquire(async () => {
|
|
339
|
-
return this.syncFromOpenOrders(chainOrders,
|
|
340
|
-
...options,
|
|
341
|
-
fillLockAlreadyHeld: true
|
|
342
|
-
});
|
|
343
|
+
return this.syncFromOpenOrders(chainOrders, options);
|
|
343
344
|
});
|
|
344
345
|
}
|
|
345
346
|
mgr.logger?.log?.(`[SYNC] Starting synchronization from ${chainOrders?.length || 0} blockchain orders...`, 'info');
|
|
346
347
|
const timeoutMs = TIMING.SYNC_LOCK_TIMEOUT_MS;
|
|
348
|
+
const forceReleaseMs = TIMING.SYNC_LOCK_FORCE_RELEASE_AGE_MS;
|
|
347
349
|
let timedOut = false;
|
|
348
350
|
let timeoutHandle;
|
|
351
|
+
let forceReleaseHandle;
|
|
349
352
|
const syncStartedAt = Date.now();
|
|
353
|
+
// Capture sync generation so the orphan callback can detect that it
|
|
354
|
+
// was force-released and abort early instead of running to completion.
|
|
355
|
+
const captureGeneration = mgr._syncGeneration ?? 0;
|
|
350
356
|
try {
|
|
351
357
|
const result = await Promise.race([
|
|
352
358
|
mgr._syncLock.acquire(async () => {
|
|
359
|
+
// Early-abort check: if forceRelease incremented _syncGeneration
|
|
360
|
+
// while we were waiting in the lock queue, this callback is
|
|
361
|
+
// orphaned and should return immediately.
|
|
362
|
+
if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
|
|
363
|
+
mgr.logger?.log?.('[SYNC] Sync abandoned: force-released before lock acquired', 'warn');
|
|
364
|
+
return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
|
|
365
|
+
}
|
|
353
366
|
const innerResult = await this._doSyncFromOpenOrders(chainOrders, options);
|
|
367
|
+
// Re-check generation after sync completes: if forceRelease fired
|
|
368
|
+
// during the sync, this result is orphaned — discard it.
|
|
369
|
+
if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
|
|
370
|
+
mgr.logger?.log?.(`[SYNC] Sync abandoned: force-released during sync (${Date.now() - syncStartedAt}ms); discarding result`, 'warn');
|
|
371
|
+
return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
|
|
372
|
+
}
|
|
354
373
|
if (timedOut) {
|
|
355
374
|
mgr.logger?.log?.(`[SYNC] Sync completed after timeout (${Date.now() - syncStartedAt}ms) — ` +
|
|
356
375
|
`timeout won the race; next sync will reconcile chain state`, 'warn');
|
|
357
376
|
return innerResult;
|
|
358
377
|
}
|
|
378
|
+
clearTimeout(forceReleaseHandle);
|
|
359
379
|
const unmatchedCount = Array.isArray(innerResult.unmatchedChainOrders)
|
|
360
380
|
? innerResult.unmatchedChainOrders.length
|
|
361
381
|
: 0;
|
|
@@ -376,11 +396,27 @@ class SyncEngine {
|
|
|
376
396
|
})
|
|
377
397
|
]);
|
|
378
398
|
clearTimeout(timeoutHandle);
|
|
399
|
+
clearTimeout(forceReleaseHandle);
|
|
379
400
|
return result;
|
|
380
401
|
}
|
|
381
402
|
catch (err) {
|
|
382
403
|
clearTimeout(timeoutHandle);
|
|
404
|
+
clearTimeout(forceReleaseHandle);
|
|
383
405
|
if (err.message?.includes('timed out')) {
|
|
406
|
+
// Gap 3: Schedule a force-release of the sync lock if the inner
|
|
407
|
+
// operation doesn't complete within the grace window. This prevents
|
|
408
|
+
// a single stuck sync from permanently blocking all subsequent syncs.
|
|
409
|
+
if (forceReleaseMs > 0 && mgr._syncLock && typeof mgr._syncLock.forceRelease === 'function') {
|
|
410
|
+
forceReleaseHandle = setTimeout(() => {
|
|
411
|
+
if (mgr._syncLock.isLocked()) {
|
|
412
|
+
// Increment the sync generation so the orphan callback
|
|
413
|
+
// can detect it was force-released and abort early.
|
|
414
|
+
mgr._syncGeneration = (mgr._syncGeneration || 0) + 1;
|
|
415
|
+
const released = mgr._syncLock.forceRelease();
|
|
416
|
+
mgr.logger?.log?.(`[SYNC] Force-released sync lock (generation=${mgr._syncGeneration}, ${released} queued ops cleared) after ${forceReleaseMs}ms grace period`, 'warn');
|
|
417
|
+
}
|
|
418
|
+
}, Math.max(1000, forceReleaseMs - (Date.now() - syncStartedAt)));
|
|
419
|
+
}
|
|
384
420
|
mgr.logger?.log?.('[SYNC] Lock may be held by orphan after timeout; will release when inner work completes', 'warn');
|
|
385
421
|
}
|
|
386
422
|
mgr.logger?.log?.(`Sync lock error: ${err.message}`, 'error');
|
|
@@ -474,6 +510,21 @@ class SyncEngine {
|
|
|
474
510
|
orderIdsToLock.add(gridOrder.id);
|
|
475
511
|
}
|
|
476
512
|
}
|
|
513
|
+
// Re-verify that all collected order IDs still exist in mgr.orders before
|
|
514
|
+
// locking. A concurrent createOrder/cancelOrder could have removed or
|
|
515
|
+
// modified an order between collection above and the lock call below.
|
|
516
|
+
// The _gridLock serializes the main reconciliation against _applyOrderUpdate,
|
|
517
|
+
// but this re-verification catches the window before _gridLock acquisition.
|
|
518
|
+
const validOrderIds = new Set();
|
|
519
|
+
for (const id of orderIdsToLock) {
|
|
520
|
+
if (mgr.orders.has(id)) {
|
|
521
|
+
validOrderIds.add(id);
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
mgr.logger?.log?.(`[SYNC] Order ${id} disappeared between collection and locking; skipping`, 'debug');
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
const orderIdsToLockFinal = [...validOrderIds];
|
|
477
528
|
const chainOrderIdsOnGrid = new Set();
|
|
478
529
|
const matchedGridOrderIds = new Set();
|
|
479
530
|
const filledOrders = [];
|
|
@@ -481,15 +532,15 @@ class SyncEngine {
|
|
|
481
532
|
const ordersNeedingCorrection = [];
|
|
482
533
|
const unmatchedChainOrders = [];
|
|
483
534
|
// Lock orders before reconciliation
|
|
484
|
-
mgr.lockOrders(
|
|
535
|
+
mgr.lockOrders(orderIdsToLockFinal);
|
|
485
536
|
// Keep lock leases alive during long reconciliation runs.
|
|
486
537
|
const refreshEveryMs = Math.max(TIMING.LOCK_REFRESH_MIN_MS, Math.floor(TIMING.LOCK_TIMEOUT_MS / 3));
|
|
487
538
|
const refreshLockLeases = () => {
|
|
488
539
|
const expiresAt = Date.now() + TIMING.LOCK_TIMEOUT_MS;
|
|
489
|
-
for (const id of
|
|
540
|
+
for (const id of orderIdsToLockFinal) {
|
|
490
541
|
mgr.shadowOrderIds.set(id, expiresAt);
|
|
491
542
|
}
|
|
492
|
-
mgr.logger?.log?.(`Refreshed lock leases for ${
|
|
543
|
+
mgr.logger?.log?.(`Refreshed lock leases for ${orderIdsToLockFinal.length} orders`, 'debug');
|
|
493
544
|
};
|
|
494
545
|
refreshLockLeases();
|
|
495
546
|
const lockRefreshTimer = setInterval(refreshLockLeases, refreshEveryMs);
|
|
@@ -513,7 +564,7 @@ class SyncEngine {
|
|
|
513
564
|
finally {
|
|
514
565
|
clearInterval(lockRefreshTimer);
|
|
515
566
|
// Unlock after reconciliation completes
|
|
516
|
-
mgr.unlockOrders(
|
|
567
|
+
mgr.unlockOrders(orderIdsToLockFinal);
|
|
517
568
|
}
|
|
518
569
|
return { filledOrders, updatedOrders, ordersNeedingCorrection, unmatchedChainOrders };
|
|
519
570
|
}
|
|
@@ -631,13 +682,25 @@ class SyncEngine {
|
|
|
631
682
|
}
|
|
632
683
|
}
|
|
633
684
|
else if (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL) {
|
|
634
|
-
//
|
|
635
|
-
// virtualize orders that were placed by a successful COW commit.
|
|
685
|
+
// Don't virtualize orders placed by a successful COW commit.
|
|
636
686
|
// The chain snapshot may lag behind confirmed transactions,
|
|
637
|
-
// causing correctly-placed orders to appear missing.
|
|
638
|
-
//
|
|
639
|
-
//
|
|
640
|
-
|
|
687
|
+
// causing correctly-placed orders to appear missing. _committedOrderIds
|
|
688
|
+
// is atomically rebuilt from every successful COW commit
|
|
689
|
+
// (manager.ts:_commitCowPlan) and is always active for all sync
|
|
690
|
+
// paths — previously gated on options.protectCommittedOrders.
|
|
691
|
+
// Always-on is safe because committed IDs are self-cleaning:
|
|
692
|
+
// filled/virtualized orders are absent from the next commit's
|
|
693
|
+
// finalMap, so their IDs drop out on the next atomic rebuild.
|
|
694
|
+
//
|
|
695
|
+
// SAFETY: _committedOrderIds is replaced atomically (reference swap)
|
|
696
|
+
// by _commitCowPlan. The sync reads has(gridOrder.orderId) against the
|
|
697
|
+
// current reference. If a concurrent COW commit replaces the set mid-sync,
|
|
698
|
+
// the new set is a superset (only adds entries for newly committed orders).
|
|
699
|
+
// An order in the superset was just committed, so it is genuinely on-chain
|
|
700
|
+
// and should not be virtualized. An order removed from the old set was
|
|
701
|
+
// filled/virtualized, which the sync will detect independently via the
|
|
702
|
+
// chain snapshot. Superset behavior is safe for this guard.
|
|
703
|
+
if (mgr._committedOrderIds?.has(gridOrder.orderId)) {
|
|
641
704
|
continue;
|
|
642
705
|
}
|
|
643
706
|
const currentGridOrder = mgr.orders.get(gridOrder.id) || gridOrder;
|
|
@@ -679,6 +742,18 @@ class SyncEngine {
|
|
|
679
742
|
mgr.logger?.log?.(`[SYNC] Orphaned chain order ${chainOrderId} (${chainOrder.type}, price=${chainOrder.price}, ` +
|
|
680
743
|
`size=${chainOrder.size}) — NOT adopted: duplicates price level of active ` +
|
|
681
744
|
`${duplicatePriceOrder.id} (${duplicatePriceOrder.orderId} at ${duplicatePriceOrder.price})`, 'warn');
|
|
745
|
+
// Gap 2: Queue duplicate chain order for cancellation via the correction
|
|
746
|
+
// mechanism (called from _performSyncFromOpenOrders). Duplicate price levels
|
|
747
|
+
// block new placements. Cancelling proactively unblocks CREATEs.
|
|
748
|
+
queueCorrection({
|
|
749
|
+
gridOrder: duplicatePriceOrder,
|
|
750
|
+
chainOrderId,
|
|
751
|
+
expectedPrice: chainOrder.price,
|
|
752
|
+
size: chainOrder.size,
|
|
753
|
+
type: chainOrder.type,
|
|
754
|
+
isSurplus: true,
|
|
755
|
+
cancelOnly: true,
|
|
756
|
+
});
|
|
682
757
|
continue;
|
|
683
758
|
}
|
|
684
759
|
const match = findMatchingGridOrderByOpenOrder({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
|
|
@@ -763,7 +838,28 @@ class SyncEngine {
|
|
|
763
838
|
}
|
|
764
839
|
else if (match) {
|
|
765
840
|
mgr.logger?.log?.(`Warning: Orphan chain order ${chainOrderId} matched grid order ${match.id}, ` +
|
|
766
|
-
`but grid order was already matched to another chain order.
|
|
841
|
+
`but grid order was already matched to another chain order. Queuing orphan for cancellation.`, 'warn');
|
|
842
|
+
queueCorrection({
|
|
843
|
+
gridOrder: match,
|
|
844
|
+
chainOrderId,
|
|
845
|
+
expectedPrice: chainOrder.price,
|
|
846
|
+
size: chainOrder.size,
|
|
847
|
+
type: chainOrder.type,
|
|
848
|
+
isSurplus: true,
|
|
849
|
+
cancelOnly: true,
|
|
850
|
+
});
|
|
851
|
+
// Also push to unmatchedChainOrders so the existing auto-cancel
|
|
852
|
+
// path at dexbot_class.ts:4262 can pick it up if the correction
|
|
853
|
+
// mechanism does not fire first.
|
|
854
|
+
unmatchedChainOrders.push({
|
|
855
|
+
chainOrderId,
|
|
856
|
+
type: chainOrder.type,
|
|
857
|
+
price: chainOrder.price,
|
|
858
|
+
size: chainOrder.size,
|
|
859
|
+
raw: rawChainOrders.get(chainOrderId),
|
|
860
|
+
reason: 'already-matched-slot',
|
|
861
|
+
candidateSlotId: match.id,
|
|
862
|
+
});
|
|
767
863
|
}
|
|
768
864
|
else {
|
|
769
865
|
// No grid slot matched by type+price+size in the first pass.
|
|
@@ -916,9 +1012,10 @@ class SyncEngine {
|
|
|
916
1012
|
let chainConfirmsEmpty = false;
|
|
917
1013
|
let chainRefetched = false;
|
|
918
1014
|
// -----------------------------------------------------------------
|
|
919
|
-
// Drift-only refetch: the cache is self-correcting across
|
|
920
|
-
// websocket fills, but if a fill was ever missed
|
|
921
|
-
// reorg, external activity), the cache and
|
|
1015
|
+
// Drift-only refetch: the cache is self-correcting across
|
|
1016
|
+
// sequential websocket fills, but if a fill was ever missed
|
|
1017
|
+
// (reconnect, restart, reorg, external activity), the cache and
|
|
1018
|
+
// the grid can disagree.
|
|
922
1019
|
// The only signal we can detect from the in-memory state is a
|
|
923
1020
|
// consistent drift: cached for_sale < grid size. Chain `for_sale`
|
|
924
1021
|
// can only decrease, so a smaller cached value is an obvious
|
|
@@ -1233,10 +1330,8 @@ class SyncEngine {
|
|
|
1233
1330
|
break;
|
|
1234
1331
|
}
|
|
1235
1332
|
case 'cancelOrder': {
|
|
1236
|
-
const orderId =
|
|
1237
|
-
|
|
1238
|
-
: chainData;
|
|
1239
|
-
const clearSize = !!(typeof chainData === 'object' && chainData !== null && chainData.clearSize);
|
|
1333
|
+
const orderId = chainData.orderId;
|
|
1334
|
+
const clearSize = !!chainData.clearSize;
|
|
1240
1335
|
let btsFeeData;
|
|
1241
1336
|
try {
|
|
1242
1337
|
btsFeeData = getAssetFees('BTS');
|
|
@@ -1302,9 +1397,7 @@ class SyncEngine {
|
|
|
1302
1397
|
// Plain open-order syncs do not imply a fresh account balance fetch,
|
|
1303
1398
|
// so they still use optimistic accounting deltas.
|
|
1304
1399
|
return this.syncFromOpenOrders(chainData, {
|
|
1305
|
-
skipAccounting: false
|
|
1306
|
-
fillLockAlreadyHeld: options?.fillLockAlreadyHeld,
|
|
1307
|
-
protectCommittedOrders: options?.protectCommittedOrders
|
|
1400
|
+
skipAccounting: false
|
|
1308
1401
|
});
|
|
1309
1402
|
case 'periodicBlockchainFetch': {
|
|
1310
1403
|
// This source is used after fetchAccountTotals() has refreshed
|
|
@@ -1312,8 +1405,7 @@ class SyncEngine {
|
|
|
1312
1405
|
// commitment deltas here double-deducts newly adopted or resized
|
|
1313
1406
|
// open orders from already-fetched free balances.
|
|
1314
1407
|
return this.syncFromOpenOrders(chainData, {
|
|
1315
|
-
skipAccounting: true
|
|
1316
|
-
fillLockAlreadyHeld: options?.fillLockAlreadyHeld
|
|
1408
|
+
skipAccounting: true
|
|
1317
1409
|
});
|
|
1318
1410
|
}
|
|
1319
1411
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -507,6 +507,22 @@ declare function buildDelta(masterGrid: any, workingGrid: any, options?: {}): an
|
|
|
507
507
|
* @returns {number} New boundary index
|
|
508
508
|
*/
|
|
509
509
|
declare function deriveTargetBoundary(fills: any, currentBoundaryIdx: any, allSlots: any, config: any, gapSlots: any): number;
|
|
510
|
+
/**
|
|
511
|
+
* Shared BTS fee adjustment math used by both getSideBudget and Grid._getSizingContext.
|
|
512
|
+
*
|
|
513
|
+
* Deducts BTS creation fees from allocated budget when the holding side has BTS,
|
|
514
|
+
* or proportionally shares BTS fee deficits across both sides for non-BTS pairs.
|
|
515
|
+
*
|
|
516
|
+
* @param {number} allocated - Raw allocated budget for this side
|
|
517
|
+
* @param {boolean} isBtsSide - Whether this side holds BTS
|
|
518
|
+
* @param {number} formulaBudget - Pre-calculated BTS fee estimate
|
|
519
|
+
* @param {number} minBtsValue - Configured minimum BTS reserve (or 0)
|
|
520
|
+
* @param {number} btsFree - Available free BTS balance
|
|
521
|
+
* @param {number} sideFree - Free balance of this side's asset
|
|
522
|
+
* @param {number} totalFree - Total free balance across both sides
|
|
523
|
+
* @returns {number} Budget adjusted for BTS fee reservation
|
|
524
|
+
*/
|
|
525
|
+
declare function adjustBudgetForBtsFees(allocated: any, isBtsSide: any, formulaBudget: any, minBtsValue: any, btsFree: any, sideFree: any, totalFree: any): any;
|
|
510
526
|
/**
|
|
511
527
|
* Calculate side budget after BTS fee deduction.
|
|
512
528
|
*
|
|
@@ -564,6 +580,7 @@ declare const _default: {
|
|
|
564
580
|
buildDelta: typeof buildDelta;
|
|
565
581
|
getOrderSize: typeof getOrderSize;
|
|
566
582
|
deriveTargetBoundary: typeof deriveTargetBoundary;
|
|
583
|
+
adjustBudgetForBtsFees: typeof adjustBudgetForBtsFees;
|
|
567
584
|
getSideBudget: typeof getSideBudget;
|
|
568
585
|
calculateBudgetedSizes: typeof calculateBudgetedSizes;
|
|
569
586
|
buildCreateOpFingerprint: typeof buildCreateOpFingerprint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH,QAAA,MAAQ,WAAW,OAAE,YAAY,KAAoE,CAAC;AAYtG;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;EAmCpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,gCAAgC,CAAC,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAmDzE;AAED;;;;;;;;;;;;GAYG;AACH,iBAAe,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,gBAwCpF;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,WAAW,KAAA,UAOhC;AAED;;;;;;;;;;;GAWG;AACH,iBAAe,wBAAwB,CAAC,OAAO,KAAA,EAAE,cAAc,KAAA,EAAE,WAAW,KAAA,EAAE,UAAU,KAAA,EAAE,aAAa,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"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"}
|