dexbot 1.4.2 → 1.4.4
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/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +29 -1
- package/dist/modules/account_bots.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 +5 -0
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +30 -0
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +228 -7
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +31 -25
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +3 -4
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +2 -4
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +4 -6
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
- package/dist/modules/logger.js +0 -1
- package/dist/modules/logger.js.map +1 -1
- package/dist/modules/order/accounting.d.ts +2 -2
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +3 -6
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/grid.d.ts +1 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +83 -69
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts +3 -9
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +80 -48
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +2 -8
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/manager.d.ts +38 -7
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +89 -130
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/strategy.js +0 -1
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +1 -2
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +26 -1
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +107 -54
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +10 -20
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +10 -4
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +47 -28
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/timeout.d.ts +25 -0
- package/dist/modules/order/utils/timeout.d.ts.map +1 -0
- package/dist/modules/order/utils/timeout.js +49 -0
- package/dist/modules/order/utils/timeout.js.map +1 -0
- package/dist/modules/order/utils/validate.d.ts +8 -1
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +33 -8
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.d.ts +6 -0
- package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -0
- package/dist/modules/order/utils/withPoolRef.js +129 -0
- package/dist/modules/order/utils/withPoolRef.js.map +1 -0
- package/dist/modules/types.d.ts +1 -0
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +2 -4
- package/dist/unlock.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting.js","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounting.js","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":"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"}
|
|
@@ -445,5 +445,5 @@ export declare function calculateGeometricSizeForSpreadCorrection(manager: any,
|
|
|
445
445
|
* @returns {Promise<import('./types').SpreadCorrectionResult>}
|
|
446
446
|
* @throws {Error} If preferredSide is invalid.
|
|
447
447
|
*/
|
|
448
|
-
export declare function prepareSpreadCorrectionOrders(manager: any, preferredSide: any): Promise<any>;
|
|
448
|
+
export declare function prepareSpreadCorrectionOrders(manager: any, preferredSide: any, outOfSpread?: number): Promise<any>;
|
|
449
449
|
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,6 +172,7 @@ function _snapshotFundState(manager) {
|
|
|
172
172
|
const math_1 = require("./utils/math");
|
|
173
173
|
const order_1 = require("./utils/order");
|
|
174
174
|
const system_1 = require("./utils/system");
|
|
175
|
+
const withPoolRef_1 = require("./utils/withPoolRef");
|
|
175
176
|
const market_adapter_whitelist_1 = require("../market_adapter_whitelist");
|
|
176
177
|
const errors_1 = require("../utils/errors");
|
|
177
178
|
function calculateGapSlots(incrementPercent, targetSpreadPercent, gridLimitsOverride) {
|
|
@@ -298,9 +299,10 @@ async function _getSizingContext(manager, side, { skipRecalc = false } = {}) {
|
|
|
298
299
|
const targetBuy = Math.max(0, manager.config.activeOrders?.buy ?? 1);
|
|
299
300
|
const targetSell = Math.max(0, manager.config.activeOrders?.sell ?? 1);
|
|
300
301
|
const totalTarget = targetBuy + targetSell;
|
|
301
|
-
const
|
|
302
|
+
const btsOrderType = (0, math_1.getBtsSide)(manager.config?.assetA, manager.config?.assetB);
|
|
303
|
+
const isBtsSide = isBuy ? (btsOrderType === constants_1.ORDER_TYPES.BUY) : (btsOrderType === constants_1.ORDER_TYPES.SELL);
|
|
302
304
|
const formulaBudget = (0, math_1.calculateOrderCreationFees)(manager.config.assetA, manager.config.assetB, totalTarget, manager.config?.feeParams?.BTS_RESERVATION_MULTIPLIER);
|
|
303
|
-
budget = (0,
|
|
305
|
+
budget = (0, math_1.adjustBudgetForBtsFees)(budget, isBtsSide, formulaBudget, manager.config.min_BTS_value || 0, Format.toFiniteNumber(manager.funds?.btsBalance?.free, 0), Format.toFiniteNumber(isBuy ? (snap.allocatedBuy || 0) : (snap.allocatedSell || 0)), Format.toFiniteNumber(snap.allocatedBuy || 0)
|
|
304
306
|
+ Format.toFiniteNumber(snap.allocatedSell || 0));
|
|
305
307
|
}
|
|
306
308
|
return {
|
|
@@ -475,17 +477,6 @@ function createOrderGrid(config) {
|
|
|
475
477
|
function _clearOrderCachesLogic(manager) {
|
|
476
478
|
// Replace frozen master grid with fresh empty frozen Map (COW pattern)
|
|
477
479
|
manager.orders = Object.freeze(new Map());
|
|
478
|
-
// Clear index Sets with fresh empty Sets (mutable for _applyOrderUpdate)
|
|
479
|
-
if (manager._ordersByState) {
|
|
480
|
-
for (const key of Object.keys(manager._ordersByState)) {
|
|
481
|
-
manager._ordersByState[key] = new Set();
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
if (manager._ordersByType) {
|
|
485
|
-
for (const key of Object.keys(manager._ordersByType)) {
|
|
486
|
-
manager._ordersByType[key] = new Set();
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
480
|
}
|
|
490
481
|
/**
|
|
491
482
|
* Restore a persisted grid snapshot onto a manager instance.
|
|
@@ -511,8 +502,7 @@ async function loadGrid(manager, grid, boundaryIdx = null) {
|
|
|
511
502
|
manager.funds.btsFeesOwed = savedBtsFeesOwed;
|
|
512
503
|
// Restore boundary index for StrategyEngine
|
|
513
504
|
if (typeof boundaryIdx === 'number') {
|
|
514
|
-
manager.boundaryIdx
|
|
515
|
-
// FIX: Use consistent optional chaining pattern for logger calls
|
|
505
|
+
manager._restoreBoundary(boundaryIdx);
|
|
516
506
|
manager.logger?.log?.(`Restored boundary index: ${boundaryIdx}`, 'info');
|
|
517
507
|
}
|
|
518
508
|
// Reassign slot types for virtual slots based on current boundary.
|
|
@@ -522,7 +512,7 @@ async function loadGrid(manager, grid, boundaryIdx = null) {
|
|
|
522
512
|
if (typeof boundaryIdx === 'number') {
|
|
523
513
|
const gapSlots = calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
|
|
524
514
|
const buyEndIdx = boundaryIdx;
|
|
525
|
-
const sellStartIdx = boundaryIdx
|
|
515
|
+
const sellStartIdx = (0, math_1.getSellStartIdx)(boundaryIdx, gapSlots);
|
|
526
516
|
let reassignCount = 0;
|
|
527
517
|
grid = grid.map((slot, i) => {
|
|
528
518
|
if (slot.state === constants_1.ORDER_STATES.VIRTUAL && !slot.orderId) {
|
|
@@ -615,7 +605,7 @@ async function initializeGrid(manager) {
|
|
|
615
605
|
if (typeof mpRaw !== 'number' || isNaN(mpRaw)) {
|
|
616
606
|
try {
|
|
617
607
|
const { BitShares } = require('../bitshares_client');
|
|
618
|
-
const derived = await (0,
|
|
608
|
+
const derived = await (0, withPoolRef_1.derivePriceWithPoolRef)(BitShares, manager.config.assetA, manager.config.assetB, manager.config.priceMode || 'auto', manager.config.poolRef);
|
|
619
609
|
if (derived) {
|
|
620
610
|
manager.logger?.log?.(`[DIAGNOSTIC] initializeGrid: Derived new startPrice=${derived.toFixed(8)} (mode=${manager.config.priceMode || 'auto'})`, 'info');
|
|
621
611
|
manager.config.startPrice = Number(derived);
|
|
@@ -654,7 +644,7 @@ async function initializeGrid(manager) {
|
|
|
654
644
|
else if (gpMode === 'pool' || gpMode === 'book') {
|
|
655
645
|
try {
|
|
656
646
|
const { BitShares } = require('../bitshares_client');
|
|
657
|
-
const derived = await (0,
|
|
647
|
+
const derived = await (0, withPoolRef_1.derivePriceWithPoolRef)(BitShares, manager.config.assetA, manager.config.assetB, gpMode, manager.config.poolRef);
|
|
658
648
|
if (derived) {
|
|
659
649
|
gp = Number(derived);
|
|
660
650
|
gpSource = gpMode;
|
|
@@ -798,7 +788,7 @@ async function initializeGrid(manager) {
|
|
|
798
788
|
// RC-8: Update boundary with notification to dependent systems
|
|
799
789
|
// Persist master boundary for StrategyEngine
|
|
800
790
|
if (manager.boundaryIdx !== boundaryIdx) {
|
|
801
|
-
manager.boundaryIdx
|
|
791
|
+
manager._restoreBoundary(boundaryIdx);
|
|
802
792
|
// RC-8: Notify StrategyEngine of boundary change (if method exists)
|
|
803
793
|
if (typeof manager.notifyBoundaryUpdate === 'function') {
|
|
804
794
|
try {
|
|
@@ -1053,10 +1043,18 @@ async function _recalculateGridOrderSizesFromBlockchain(manager, orderType, opti
|
|
|
1053
1043
|
const ctx = await _getSizingContext(manager, sideName);
|
|
1054
1044
|
if (!ctx)
|
|
1055
1045
|
return collectActions ? { actions: [], changed: false } : undefined;
|
|
1056
|
-
// Get ALL slots for this side, sorted for calculateRotationOrderSizes
|
|
1046
|
+
// Get ALL slots for this side, sorted for calculateRotationOrderSizes.
|
|
1057
1047
|
// SELL: sorted ASC (Market to Edge)
|
|
1058
1048
|
// BUY: sorted ASC (Edge to Market)
|
|
1059
|
-
|
|
1049
|
+
//
|
|
1050
|
+
// When a working grid is available (COW mode), read types from it
|
|
1051
|
+
// instead of manager.orders. This ensures slots whose type changed
|
|
1052
|
+
// due to a boundary shift (e.g. SPREAD→BUY) are included in the
|
|
1053
|
+
// correct side's size calculation — using manager.orders here would
|
|
1054
|
+
// filter by stale pre-shift types and miss the crossers, producing a
|
|
1055
|
+
// budget allocation that doesn't match the post-shift grid structure.
|
|
1056
|
+
const orderSource = collectActions ? workingGrid : manager.orders;
|
|
1057
|
+
const allSideSlots = Array.from(orderSource.values())
|
|
1060
1058
|
.filter((o) => o.type === orderType)
|
|
1061
1059
|
.sort((a, b) => a.price - b.price);
|
|
1062
1060
|
if (allSideSlots.length === 0)
|
|
@@ -1168,32 +1166,43 @@ async function updateGridFromBlockchainSnapshot(manager, orderType = 'both', fro
|
|
|
1168
1166
|
const workingGrid = new WorkingGrid(manager.orders, { baseVersion: manager._gridVersion });
|
|
1169
1167
|
const allActions = [];
|
|
1170
1168
|
let hasWorkingChanges = false;
|
|
1171
|
-
// Calculate size updates for each side (via existing sizing function in COW mode)
|
|
1172
|
-
if (orderType === constants_1.ORDER_TYPES.BUY || orderType === 'both') {
|
|
1173
|
-
const buyResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.BUY, { workingGrid });
|
|
1174
|
-
allActions.push(...buyResult.actions);
|
|
1175
|
-
hasWorkingChanges = hasWorkingChanges || buyResult.changed;
|
|
1176
|
-
}
|
|
1177
|
-
if (orderType === constants_1.ORDER_TYPES.SELL || orderType === 'both') {
|
|
1178
|
-
const sellResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.SELL, { workingGrid });
|
|
1179
|
-
allActions.push(...sellResult.actions);
|
|
1180
|
-
hasWorkingChanges = hasWorkingChanges || sellResult.changed;
|
|
1181
|
-
}
|
|
1182
|
-
// If the boundary is shifting, reassign slot types in the WorkingGrid now.
|
|
1183
|
-
// This ensures the COW commit delivers consistent types + boundaryIdx in one
|
|
1184
|
-
// atomic operation — manager.boundaryIdx must not be touched before the commit.
|
|
1185
1169
|
const newBoundary = (overrideBoundaryIdx !== null) ? overrideBoundaryIdx : manager.boundaryIdx;
|
|
1170
|
+
// REASSIGN SLOT TYPES FIRST when the boundary is shifting.
|
|
1171
|
+
// _recalculateGridOrderSizesFromBlockchain needs to see the corrected
|
|
1172
|
+
// types so that slots which cross the boundary (e.g. SPREAD→BUY) are
|
|
1173
|
+
// included in the correct side's budget allocation. Running assignGridRoles
|
|
1174
|
+
// after the size calc means crossers keep their pre-shift sizes, producing
|
|
1175
|
+
// an allocation that doesn't match the post-shift grid structure.
|
|
1176
|
+
//
|
|
1177
|
+
// NOTE: syncBoundaryToFunds is a pure computation (no eager write), so
|
|
1178
|
+
// manager.boundaryIdx still carries the pre-shift value here. The
|
|
1179
|
+
// overrideBoundaryIdx !== manager.boundaryIdx check correctly detects
|
|
1180
|
+
// that a shift is needed. The boundary is only written atomically
|
|
1181
|
+
// inside _commitWorkingGrid via _setBoundary.
|
|
1186
1182
|
if (overrideBoundaryIdx !== null && overrideBoundaryIdx !== manager.boundaryIdx) {
|
|
1187
1183
|
const gapSlots = calculateGapSlots(manager.config.incrementPercent, manager.config.targetSpreadPercent, manager.config.gridLimits);
|
|
1188
1184
|
const allSlots = Array.from(workingGrid.values())
|
|
1189
1185
|
.filter((s) => s.price != null)
|
|
1190
1186
|
.sort((a, b) => a.price - b.price);
|
|
1191
|
-
const updatedSlots = (0, order_1.assignGridRoles)(allSlots, newBoundary, gapSlots, constants_1.ORDER_TYPES, constants_1.ORDER_STATES);
|
|
1187
|
+
const updatedSlots = (0, order_1.assignGridRoles)(allSlots, newBoundary, gapSlots, constants_1.ORDER_TYPES, constants_1.ORDER_STATES, { assignOnChain: true });
|
|
1192
1188
|
for (const slot of updatedSlots) {
|
|
1193
1189
|
workingGrid.set(slot.id, slot);
|
|
1194
1190
|
}
|
|
1195
1191
|
hasWorkingChanges = true;
|
|
1196
1192
|
}
|
|
1193
|
+
// Calculate size updates for each side (via existing sizing function in COW mode).
|
|
1194
|
+
// _recalculateGridOrderSizesFromBlockchain reads types from the working grid when
|
|
1195
|
+
// one is passed, so boundary-crossing slots are now correctly classified.
|
|
1196
|
+
if (orderType === constants_1.ORDER_TYPES.BUY || orderType === 'both') {
|
|
1197
|
+
const buyResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.BUY, { workingGrid });
|
|
1198
|
+
allActions.push(...buyResult.actions);
|
|
1199
|
+
hasWorkingChanges = hasWorkingChanges || buyResult.changed;
|
|
1200
|
+
}
|
|
1201
|
+
if (orderType === constants_1.ORDER_TYPES.SELL || orderType === 'both') {
|
|
1202
|
+
const sellResult = await _recalculateGridOrderSizesFromBlockchain(manager, constants_1.ORDER_TYPES.SELL, { workingGrid });
|
|
1203
|
+
allActions.push(...sellResult.actions);
|
|
1204
|
+
hasWorkingChanges = hasWorkingChanges || sellResult.changed;
|
|
1205
|
+
}
|
|
1197
1206
|
// Return COW result only if there are changes
|
|
1198
1207
|
if (allActions.length === 0 && !hasWorkingChanges) {
|
|
1199
1208
|
return null;
|
|
@@ -1275,9 +1284,14 @@ async function compareGrids(calculatedGrid, persistedGrid, manager = null) {
|
|
|
1275
1284
|
const computeSideIdeals = (activeOrders, type, ctx) => {
|
|
1276
1285
|
if (!manager || !ctx || ctx.budget <= 0 || activeOrders.length === 0)
|
|
1277
1286
|
return activeOrders;
|
|
1278
|
-
// Identify ALL slots currently assigned to this side
|
|
1279
|
-
//
|
|
1280
|
-
|
|
1287
|
+
// Identify ALL slots currently assigned to this side from the calculated
|
|
1288
|
+
// grid snapshot (not a fresh read from manager.orders). Using the snapshot
|
|
1289
|
+
// avoids TOCTOU races and ensures the slot classification is consistent with
|
|
1290
|
+
// the grid state used for the RMS computation. If a boundary shift is pending
|
|
1291
|
+
// (set via _gridSidesUpdated but not yet committed through the COW pipeline),
|
|
1292
|
+
// the types in manager.orders are stale — reading from the snapshot matches
|
|
1293
|
+
// what the rest of the comparison sees.
|
|
1294
|
+
const sideSlots = calculatedSnap
|
|
1281
1295
|
.filter((o) => o.type === type)
|
|
1282
1296
|
.sort((a, b) => (a.price ?? 0) - (b.price ?? 0));
|
|
1283
1297
|
if (sideSlots.length === 0)
|
|
@@ -1474,7 +1488,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
|
|
|
1474
1488
|
const gapSlots = calculateGapSlots(manager.config.incrementPercent, manager.config.targetSpreadPercent, manager.config.gridLimits);
|
|
1475
1489
|
const railLen = allSlots.length;
|
|
1476
1490
|
const buyEndIdx = manager.boundaryIdx;
|
|
1477
|
-
const sellStartIdx = manager.boundaryIdx
|
|
1491
|
+
const sellStartIdx = (0, math_1.getSellStartIdx)(manager.boundaryIdx, gapSlots);
|
|
1478
1492
|
const buySideCount = Math.max(0, Math.min(railLen, buyEndIdx + 1));
|
|
1479
1493
|
const sellSideCount = Math.max(0, railLen - sellStartIdx);
|
|
1480
1494
|
// Structural resync: both sides have room but one is empty.
|
|
@@ -1500,7 +1514,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
|
|
|
1500
1514
|
if (!decision.side)
|
|
1501
1515
|
return false;
|
|
1502
1516
|
// Perform spread correction by placing orders on the chosen side.
|
|
1503
|
-
correction = await prepareSpreadCorrectionOrders(manager, decision.side);
|
|
1517
|
+
correction = await prepareSpreadCorrectionOrders(manager, decision.side, manager.outOfSpread);
|
|
1504
1518
|
if (!correction)
|
|
1505
1519
|
return false;
|
|
1506
1520
|
let placeCount = correction.ordersToPlace?.length || 0;
|
|
@@ -1511,7 +1525,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
|
|
|
1511
1525
|
const oppositeSide = decision.side === constants_1.ORDER_TYPES.BUY ? constants_1.ORDER_TYPES.SELL : constants_1.ORDER_TYPES.BUY;
|
|
1512
1526
|
manager.logger?.log?.(`[SPREAD] Side ${decision.side} produced zero candidates; ` +
|
|
1513
1527
|
`trying opposite side ${oppositeSide}.`, 'debug');
|
|
1514
|
-
const oppositeCorrection = await prepareSpreadCorrectionOrders(manager, oppositeSide);
|
|
1528
|
+
const oppositeCorrection = await prepareSpreadCorrectionOrders(manager, oppositeSide, manager.outOfSpread);
|
|
1515
1529
|
if (oppositeCorrection) {
|
|
1516
1530
|
correction = oppositeCorrection;
|
|
1517
1531
|
placeCount = correction.ordersToPlace?.length || 0;
|
|
@@ -1553,7 +1567,7 @@ async function checkSpreadCondition(manager, _BitShares, updateOrdersOnChainBatc
|
|
|
1553
1567
|
const decision = determineOrderSideByFunds(manager, lastPrice);
|
|
1554
1568
|
if (!decision.side)
|
|
1555
1569
|
return { side: false };
|
|
1556
|
-
const c = await prepareSpreadCorrectionOrders(manager, decision.side);
|
|
1570
|
+
const c = await prepareSpreadCorrectionOrders(manager, decision.side, manager.outOfSpread);
|
|
1557
1571
|
return { side: true, correction: c };
|
|
1558
1572
|
});
|
|
1559
1573
|
if (!rePlanResult.side) {
|
|
@@ -1859,7 +1873,7 @@ async function calculateGeometricSizeForSpreadCorrection(manager, targetType) {
|
|
|
1859
1873
|
* @returns {Promise<import('./types').SpreadCorrectionResult>}
|
|
1860
1874
|
* @throws {Error} If preferredSide is invalid.
|
|
1861
1875
|
*/
|
|
1862
|
-
async function prepareSpreadCorrectionOrders(manager, preferredSide) {
|
|
1876
|
+
async function prepareSpreadCorrectionOrders(manager, preferredSide, outOfSpread = 0) {
|
|
1863
1877
|
// FIX: Validate preferredSide parameter to prevent silent logic errors
|
|
1864
1878
|
if (preferredSide !== constants_1.ORDER_TYPES.BUY && preferredSide !== constants_1.ORDER_TYPES.SELL) {
|
|
1865
1879
|
throw new Error(`Invalid preferredSide: ${preferredSide}. Must be '${constants_1.ORDER_TYPES.BUY}' or '${constants_1.ORDER_TYPES.SELL}'.`);
|
|
@@ -1868,7 +1882,7 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
|
|
|
1868
1882
|
const ordersToUpdate = [];
|
|
1869
1883
|
const railType = preferredSide;
|
|
1870
1884
|
const sideName = railType === constants_1.ORDER_TYPES.BUY ? 'buy' : 'sell';
|
|
1871
|
-
const configuredMissingSlots = Number(
|
|
1885
|
+
const configuredMissingSlots = Number(outOfSpread || 0);
|
|
1872
1886
|
const missingSlots = configuredMissingSlots > 0
|
|
1873
1887
|
? Math.floor(configuredMissingSlots)
|
|
1874
1888
|
: 1;
|
|
@@ -1878,38 +1892,29 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
|
|
|
1878
1892
|
// 1. Priority: Update existing PARTIAL orders at the edge (Highest Buy / Lowest Sell).
|
|
1879
1893
|
// 2. Fallback: Activate SPREAD slots at the edge (Lowest Spread for Buy / Highest Spread for Sell).
|
|
1880
1894
|
const allOrders = Array.from(manager.orders.values());
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
.sort((a, b) => railType === constants_1.ORDER_TYPES.BUY ? b.price - a.price : a.price - b.price);
|
|
1885
|
-
if (partials.length > 0) {
|
|
1886
|
-
edgePartial = partials[0];
|
|
1887
|
-
manager.logger?.log?.(`[SPREAD-CORRECTION] Identified partial order at ${edgePartial.price} for update`, 'debug');
|
|
1888
|
-
}
|
|
1889
|
-
// Boundary-correct type computation. Used by both candidate pools below to ensure
|
|
1890
|
-
// spread correction does not re-activate slots whose current boundary position
|
|
1891
|
-
// places them on the wrong side or in the spread zone — doing so would compound
|
|
1892
|
-
// inventory at prices where the bot already traded.
|
|
1895
|
+
// Boundary-correct type computation — hoisted before edge-partial and
|
|
1896
|
+
// candidate filters so all call sites (including the edge-partial filter
|
|
1897
|
+
// which now uses getSlotCorrectType) can access it.
|
|
1893
1898
|
//
|
|
1894
|
-
// The natural type of a slot is derived from its position in the price-sorted
|
|
1895
|
-
// relative to boundaryIdx + gapSlots: indices in [0, boundaryIdx] are
|
|
1896
|
-
// in [boundaryIdx + gapSlots + 1, N-1] are SELL, the middle
|
|
1899
|
+
// The natural type of a slot is derived from its position in the price-sorted
|
|
1900
|
+
// rail relative to boundaryIdx + gapSlots: indices in [0, boundaryIdx] are
|
|
1901
|
+
// BUY, indices in [boundaryIdx + gapSlots + 1, N-1] are SELL, the middle
|
|
1902
|
+
// band is SPREAD.
|
|
1897
1903
|
const allSlotsByPrice = allOrders
|
|
1898
1904
|
.filter((o) => o.price != null && Number.isFinite(o.price))
|
|
1899
1905
|
.sort((a, b) => a.price - b.price);
|
|
1900
1906
|
const slotIndexMap = new Map(allSlotsByPrice.map((o, i) => [o.id, i]));
|
|
1901
1907
|
const gapSlots = calculateGapSlots(manager.config?.incrementPercent, manager.config?.targetSpreadPercent, manager.config?.gridLimits);
|
|
1902
|
-
//
|
|
1903
|
-
//
|
|
1904
|
-
// boundary
|
|
1905
|
-
//
|
|
1908
|
+
// Compute boundary from current fund state for local slot classification.
|
|
1909
|
+
// syncBoundaryToFunds is a pure computation — it does NOT mutate
|
|
1910
|
+
// manager.boundaryIdx. The boundary is only updated atomically through
|
|
1911
|
+
// _commitWorkingGrid in the COW pipeline via _setBoundary.
|
|
1906
1912
|
const boundarySync = (0, system_1.syncBoundaryToFunds)(manager);
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
const bIdx = manager.boundaryIdx ?? 0;
|
|
1913
|
+
const bIdx = (boundarySync.changed && boundarySync.newIdx !== undefined)
|
|
1914
|
+
? boundarySync.newIdx
|
|
1915
|
+
: (manager.boundaryIdx ?? 0);
|
|
1911
1916
|
const buyEndIdx = bIdx;
|
|
1912
|
-
const sellStartIdx = bIdx
|
|
1917
|
+
const sellStartIdx = (0, math_1.getSellStartIdx)(bIdx, gapSlots);
|
|
1913
1918
|
const getSlotCorrectType = (slot) => {
|
|
1914
1919
|
const idx = slotIndexMap.get(slot.id);
|
|
1915
1920
|
if (idx === undefined)
|
|
@@ -1920,6 +1925,15 @@ async function prepareSpreadCorrectionOrders(manager, preferredSide) {
|
|
|
1920
1925
|
return constants_1.ORDER_TYPES.SELL;
|
|
1921
1926
|
return constants_1.ORDER_TYPES.SPREAD;
|
|
1922
1927
|
};
|
|
1928
|
+
let edgePartial = null;
|
|
1929
|
+
const partials = allOrders
|
|
1930
|
+
.filter((o) => getSlotCorrectType(o) === railType
|
|
1931
|
+
&& o.state === constants_1.ORDER_STATES.PARTIAL)
|
|
1932
|
+
.sort((a, b) => railType === constants_1.ORDER_TYPES.BUY ? b.price - a.price : a.price - b.price);
|
|
1933
|
+
if (partials.length > 0) {
|
|
1934
|
+
edgePartial = partials[0];
|
|
1935
|
+
manager.logger?.log?.(`[SPREAD-CORRECTION] Identified partial order at ${edgePartial.price} for update`, 'debug');
|
|
1936
|
+
}
|
|
1923
1937
|
// Primary candidates: SPREAD-type slots adjacent to the gap. Filter by
|
|
1924
1938
|
// boundary-correct type so a SPREAD slot that, after a boundary shift, now sits
|
|
1925
1939
|
// in the BUY or SELL zone is excluded — it would otherwise be placed on the
|