dexbot 1.4.6 → 1.4.8
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/credential-daemon.d.ts.map +1 -1
- package/dist/credential-daemon.js +416 -92
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +61 -27
- package/dist/dexbot.js.map +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +14 -24
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +21 -0
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/broadcast_failure.d.ts +21 -0
- package/dist/modules/broadcast_failure.d.ts.map +1 -0
- package/dist/modules/broadcast_failure.js +95 -0
- package/dist/modules/broadcast_failure.js.map +1 -0
- package/dist/modules/chain_keys.d.ts +2 -2
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +30 -56
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +79 -1
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +154 -10
- package/dist/modules/chain_orders.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 +21 -7
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/daemon_node_health.d.ts +33 -0
- package/dist/modules/daemon_node_health.d.ts.map +1 -0
- package/dist/modules/daemon_node_health.js +120 -0
- package/dist/modules/daemon_node_health.js.map +1 -0
- package/dist/modules/dexbot_class.d.ts +12 -3
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +19 -5
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +46 -1
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +754 -64
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_credential_client.d.ts +15 -0
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +114 -141
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +45 -15
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +5 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +238 -85
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +95 -33
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +24 -2
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +5 -4
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +15 -3
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/node_failure_ledger.d.ts +39 -0
- package/dist/modules/node_failure_ledger.d.ts.map +1 -0
- package/dist/modules/node_failure_ledger.js +88 -0
- package/dist/modules/node_failure_ledger.js.map +1 -0
- package/dist/modules/node_health_cache.d.ts +2 -1
- package/dist/modules/node_health_cache.d.ts.map +1 -1
- package/dist/modules/node_health_cache.js +25 -0
- package/dist/modules/node_health_cache.js.map +1 -1
- package/dist/modules/node_manager.d.ts +3 -0
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +41 -10
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts +26 -20
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +281 -139
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +66 -14
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +136 -56
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +6 -5
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +388 -61
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.d.ts +98 -4
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +379 -92
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/strategy.d.ts.map +1 -1
- package/dist/modules/order/strategy.js +24 -1
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +16 -3
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +341 -253
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +79 -1
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +18 -0
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +44 -1
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +91 -5
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +5 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +7 -5
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -1
- package/dist/modules/order/utils/withPoolRef.js +39 -4
- package/dist/modules/order/utils/withPoolRef.js.map +1 -1
- package/dist/modules/socket_json_client.d.ts +14 -0
- package/dist/modules/socket_json_client.d.ts.map +1 -0
- package/dist/modules/socket_json_client.js +100 -0
- package/dist/modules/socket_json_client.js.map +1 -0
- package/package.json +2 -1
- package/scripts/clear-all.sh +4 -4
- package/scripts/clear-logs.sh +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_health_cache.js","sourceRoot":"","sources":["../../modules/node_health_cache.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"node_health_cache.js","sourceRoot":"","sources":["../../modules/node_health_cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,7 @@ declare class NodeManager {
|
|
|
85
85
|
expectedChainId: string;
|
|
86
86
|
BLACKLIST_COOLDOWN_MS: number;
|
|
87
87
|
FAILURE_REPORT_COOLDOWN_MS: number;
|
|
88
|
+
failureLedger: any;
|
|
88
89
|
constructor(config?: NodeManagerConfig);
|
|
89
90
|
/**
|
|
90
91
|
* Initialize tracking for all configured nodes
|
|
@@ -179,6 +180,8 @@ declare class NodeManager {
|
|
|
179
180
|
* Report a node failure (from health check or broadcast).
|
|
180
181
|
* Increments failureCount and auto-blacklists when the threshold is reached.
|
|
181
182
|
* All node-failure paths route through here so the retry budget is synchronized.
|
|
183
|
+
* Counting (threshold / cooldown / rate-limit) is delegated to the shared
|
|
184
|
+
* failure ledger — the same rules the credential daemon applies.
|
|
182
185
|
* @param {string} nodeUrl - Node URL that failed
|
|
183
186
|
* @param {string} [errorMessage] - Optional error description
|
|
184
187
|
* @param {string} [source] - Failure source ('health-check' or 'broadcast'); controls log level
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_manager.d.ts","sourceRoot":"","sources":["../../modules/node_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;
|
|
1
|
+
{"version":3,"file":"node_manager.d.ts","sourceRoot":"","sources":["../../modules/node_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ const constants_1 = require("./constants");
|
|
|
49
49
|
const paths_1 = require("./paths");
|
|
50
50
|
const bots_file_lock_1 = require("./bots_file_lock");
|
|
51
51
|
const fs_utils_1 = require("./utils/fs_utils");
|
|
52
|
+
const node_failure_ledger_1 = require("./node_failure_ledger");
|
|
52
53
|
const _WebSocket = globalThis.WebSocket;
|
|
53
54
|
const node_health_cache_1 = require("./node_health_cache");
|
|
54
55
|
const errors_1 = require("./utils/errors");
|
|
@@ -80,6 +81,7 @@ class NodeManager {
|
|
|
80
81
|
expectedChainId;
|
|
81
82
|
BLACKLIST_COOLDOWN_MS;
|
|
82
83
|
FAILURE_REPORT_COOLDOWN_MS;
|
|
84
|
+
failureLedger;
|
|
83
85
|
constructor(config = {}) {
|
|
84
86
|
this.logger = new logger_1.default('NodeManager');
|
|
85
87
|
this.blacklistStateFile = typeof config.blacklistStateFile === 'string' && config.blacklistStateFile.trim()
|
|
@@ -104,6 +106,21 @@ class NodeManager {
|
|
|
104
106
|
};
|
|
105
107
|
// Node statistics tracking
|
|
106
108
|
this.nodeStats = new Map();
|
|
109
|
+
// Shared failure-counting ledger (same rules as the credential daemon's
|
|
110
|
+
// ledger — see modules/node_failure_ledger.ts). Counts live here; the
|
|
111
|
+
// stats map mirrors them for persistence/health-gating.
|
|
112
|
+
this.failureLedger = (0, node_failure_ledger_1.createFailureLedger)({
|
|
113
|
+
threshold: this.config.healthCheck.blacklistThreshold,
|
|
114
|
+
cooldownMs: constants_1.NODE_MANAGEMENT.BLACKLIST_COOLDOWN_MS,
|
|
115
|
+
reportCooldownMs: constants_1.NODE_MANAGEMENT.FAILURE_REPORT_COOLDOWN_MS,
|
|
116
|
+
// NodeManager semantics: the count that crossed the threshold is
|
|
117
|
+
// kept (persisted via the blacklist state file), failures while a
|
|
118
|
+
// node is blacklisted keep counting (each extends the blacklist),
|
|
119
|
+
// and the health-check cooldown expiry resets the entry via reset().
|
|
120
|
+
resetCountOnBlacklist: false,
|
|
121
|
+
resetCountAfterCooldown: false,
|
|
122
|
+
skipWhileBlacklisted: false,
|
|
123
|
+
});
|
|
107
124
|
this.initializeNodeStats();
|
|
108
125
|
this.loadBlacklistState();
|
|
109
126
|
// Blacklist warning dedup: track last warn time per node+error to suppress repeats.
|
|
@@ -157,6 +174,14 @@ class NodeManager {
|
|
|
157
174
|
stats.failureCount = typeof entry.failureCount === 'number' ? entry.failureCount : this.config.healthCheck.blacklistThreshold;
|
|
158
175
|
stats.blacklistedAt = typeof entry.blacklistedAt === 'number' ? entry.blacklistedAt : Date.now();
|
|
159
176
|
stats.lastErrorMessage = typeof entry.lastErrorMessage === 'string' ? entry.lastErrorMessage : null;
|
|
177
|
+
// Seed the shared ledger so counting continues across restarts
|
|
178
|
+
// (a persisted blacklist must still count toward the threshold
|
|
179
|
+
// until the cooldown expires or a health check re-admits the
|
|
180
|
+
// node).
|
|
181
|
+
this.failureLedger.seed(nodeUrl, {
|
|
182
|
+
failureCount: stats.failureCount,
|
|
183
|
+
blacklistedUntil: (stats.blacklistedAt || 0) + this.BLACKLIST_COOLDOWN_MS,
|
|
184
|
+
});
|
|
160
185
|
this.logger.debug(`Loaded persisted blacklist: ${nodeUrl}`);
|
|
161
186
|
}
|
|
162
187
|
}
|
|
@@ -266,6 +291,7 @@ class NodeManager {
|
|
|
266
291
|
stats.status = 'unchecked';
|
|
267
292
|
stats.failureCount = 0;
|
|
268
293
|
stats.blacklistedAt = null;
|
|
294
|
+
this.failureLedger.reset(nodeUrl);
|
|
269
295
|
this.saveBlacklistState();
|
|
270
296
|
this.logger.info(`${nodeUrl.substring(0, 40)}... blacklist cooldown expired, re-enabling`);
|
|
271
297
|
return true;
|
|
@@ -323,6 +349,7 @@ class NodeManager {
|
|
|
323
349
|
stats.status = status;
|
|
324
350
|
stats.latencyMs = latencyMs;
|
|
325
351
|
stats.failureCount = 0;
|
|
352
|
+
this.failureLedger.reset(nodeUrl);
|
|
326
353
|
stats.lastCheckTime = new Date().toISOString();
|
|
327
354
|
stats.lastErrorMessage = null;
|
|
328
355
|
stats.chainId = result;
|
|
@@ -531,6 +558,8 @@ class NodeManager {
|
|
|
531
558
|
* Report a node failure (from health check or broadcast).
|
|
532
559
|
* Increments failureCount and auto-blacklists when the threshold is reached.
|
|
533
560
|
* All node-failure paths route through here so the retry budget is synchronized.
|
|
561
|
+
* Counting (threshold / cooldown / rate-limit) is delegated to the shared
|
|
562
|
+
* failure ledger — the same rules the credential daemon applies.
|
|
534
563
|
* @param {string} nodeUrl - Node URL that failed
|
|
535
564
|
* @param {string} [errorMessage] - Optional error description
|
|
536
565
|
* @param {string} [source] - Failure source ('health-check' or 'broadcast'); controls log level
|
|
@@ -542,31 +571,27 @@ class NodeManager {
|
|
|
542
571
|
return;
|
|
543
572
|
}
|
|
544
573
|
const isHealthCheck = source === 'health-check';
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
const now = Date.now();
|
|
548
|
-
const lastReported = stats.lastFailureReportedAt || 0;
|
|
549
|
-
if (now - lastReported < this.FAILURE_REPORT_COOLDOWN_MS) {
|
|
574
|
+
const result = this.failureLedger.recordFailure(nodeUrl);
|
|
575
|
+
if (result.outcome === 'rate-limited' || result.outcome === 'skipped-blacklisted') {
|
|
550
576
|
return;
|
|
551
577
|
}
|
|
552
|
-
stats.
|
|
553
|
-
stats.failureCount++;
|
|
578
|
+
stats.failureCount = result.failureCount;
|
|
554
579
|
stats.lastCheckTime = new Date().toISOString();
|
|
555
580
|
if (errorMessage)
|
|
556
581
|
stats.lastErrorMessage = errorMessage;
|
|
557
|
-
if (
|
|
582
|
+
if (result.outcome === 'blacklisted') {
|
|
558
583
|
stats.status = 'blacklisted';
|
|
559
584
|
stats.blacklistedAt = Date.now();
|
|
560
585
|
this.saveBlacklistState();
|
|
561
586
|
this.saveHealthCache();
|
|
562
587
|
if (this._shouldLogBlacklistWarning(nodeUrl, errorMessage || '')) {
|
|
563
|
-
this.logger.warn(`✗ ${nodeUrl.substring(0, 40)}... BLACKLISTED after ${
|
|
588
|
+
this.logger.warn(`✗ ${nodeUrl.substring(0, 40)}... BLACKLISTED after ${result.failureCount} failures (${errorMessage || 'unknown'})`);
|
|
564
589
|
}
|
|
565
590
|
}
|
|
566
591
|
else {
|
|
567
592
|
stats.status = 'failed';
|
|
568
593
|
const log = isHealthCheck ? this.logger.debug.bind(this.logger) : this.logger.warn.bind(this.logger);
|
|
569
|
-
log(`⚠ ${nodeUrl.substring(0, 40)}... FAILED attempt ${
|
|
594
|
+
log(`⚠ ${nodeUrl.substring(0, 40)}... FAILED attempt ${result.failureCount}/${result.threshold} (${errorMessage || 'unknown'})`);
|
|
570
595
|
}
|
|
571
596
|
}
|
|
572
597
|
/**
|
|
@@ -579,6 +604,10 @@ class NodeManager {
|
|
|
579
604
|
stats.status = 'blacklisted';
|
|
580
605
|
stats.failureCount = this.config.healthCheck.blacklistThreshold;
|
|
581
606
|
stats.blacklistedAt = Date.now();
|
|
607
|
+
this.failureLedger.seed(nodeUrl, {
|
|
608
|
+
failureCount: stats.failureCount,
|
|
609
|
+
blacklistedUntil: stats.blacklistedAt + this.BLACKLIST_COOLDOWN_MS,
|
|
610
|
+
});
|
|
582
611
|
this.saveBlacklistState();
|
|
583
612
|
this.saveHealthCache();
|
|
584
613
|
this.logger.warn(`Manually blacklisted: ${nodeUrl}`);
|
|
@@ -596,6 +625,7 @@ class NodeManager {
|
|
|
596
625
|
stats.latencyMs = null;
|
|
597
626
|
stats.lastErrorMessage = null;
|
|
598
627
|
stats.blacklistedAt = null;
|
|
628
|
+
this.failureLedger.reset(nodeUrl);
|
|
599
629
|
this._clearBlacklistWarningCooldown(nodeUrl);
|
|
600
630
|
this.saveBlacklistState();
|
|
601
631
|
this.saveHealthCache();
|
|
@@ -614,6 +644,7 @@ class NodeManager {
|
|
|
614
644
|
stats.chainId = null;
|
|
615
645
|
stats.blacklistedAt = null;
|
|
616
646
|
}
|
|
647
|
+
this.failureLedger.clear();
|
|
617
648
|
this._clearBlacklistWarningCooldown();
|
|
618
649
|
this.saveBlacklistState();
|
|
619
650
|
this.saveHealthCache();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_manager.js","sourceRoot":"","sources":["../../modules/node_manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node_manager.js","sourceRoot":"","sources":["../../modules/node_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Exports a single Accountant class that manages all fund accounting operations.
|
|
7
7
|
*
|
|
8
8
|
* ===============================================================================
|
|
9
|
-
* TABLE OF CONTENTS - Accountant Class (
|
|
9
|
+
* TABLE OF CONTENTS - Accountant Class (19 methods)
|
|
10
10
|
* ===============================================================================
|
|
11
11
|
*
|
|
12
12
|
* CORE INITIALIZATION & RECALCULATION (2 methods)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* Called after any state change. Aggregates committed/available funds and triggers allocation.
|
|
19
19
|
*
|
|
20
20
|
* VERIFICATION & RECOVERY (3 methods - async, internal)
|
|
21
|
-
* 4. _verifyFundInvariants(mgr, chainFreeBuy, chainFreeSell, chainBuy, chainSell) - Verify fund tracking invariants
|
|
21
|
+
* 4. _verifyFundInvariants(mgr, chainFreeBuy, chainFreeSell, chainBuy, chainSell, actualBuy, actualSell) - Verify fund tracking invariants
|
|
22
22
|
* 5. _performStateRecovery(mgr) - Centralized state recovery (fetch + sync + validate) (async, internal)
|
|
23
23
|
* 6. _attemptFundRecovery(mgr, violationType) - Attempt immediate recovery from invariant violations (async, internal)
|
|
24
24
|
*
|
|
@@ -26,25 +26,26 @@
|
|
|
26
26
|
* 7. tryDeductFromChainFree(orderType, size, operation) - Atomically deduct from FREE portion
|
|
27
27
|
* 8. addToChainFree(orderType, size, operation) - Add amount back to optimistic chainFree balance
|
|
28
28
|
*
|
|
29
|
-
* BALANCE ADJUSTMENTS (
|
|
30
|
-
* 9. adjustTotalBalance(orderType, delta, operation) -
|
|
31
|
-
* 10.
|
|
32
|
-
* 11.
|
|
33
|
-
* 12.
|
|
29
|
+
* BALANCE ADJUSTMENTS (5 methods)
|
|
30
|
+
* 9. adjustTotalBalance(orderType, delta, operation) - Acquires _fundLock, adjusts total and free balances
|
|
31
|
+
* 10. _adjustTotalBalanceLocked(orderType, delta, operation) - PRIVATE: body of adjustTotalBalance, caller must hold _fundLock
|
|
32
|
+
* 11. _normalizeSideHint(sideHint) - Normalize side hint to standard key (internal)
|
|
33
|
+
* 12. _resolveOrderSide(order, fallbackOrder, explicitSideHint) - Resolve order side (internal)
|
|
34
|
+
* 13. updateOptimisticFreeBalance(oldOrder, newOrder, context, fee, skipAssetAccounting) - Update optimistic balance during transitions
|
|
34
35
|
*
|
|
35
36
|
* FEE MANAGEMENT (2 methods)
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* 14. deductBtsFees(requestedSide) - Deduct BTS fees using adjustTotalBalance with deferral strategy (async)
|
|
38
|
+
* 15. _deductFeesFromProceeds(assetSymbol, rawAmount, isMaker) - Deduct fees from fill proceeds (internal)
|
|
38
39
|
*
|
|
39
40
|
* FILL BALANCE TRACKING (1 method)
|
|
40
|
-
*
|
|
41
|
+
* 16. recordFillBalances(paysAsset, paysAmount, receivesAsset, receivesAmount, context) - Record fill proceeds (async)
|
|
41
42
|
*
|
|
42
43
|
* FILL PROCESSING (1 method)
|
|
43
|
-
*
|
|
44
|
+
* 17. processFillAccounting(fillOp, fillKey, persistenceMode) - Process fund impact of order fill (atomically updates accountTotals)
|
|
44
45
|
*
|
|
45
46
|
* RECOVERY & VALIDATION (2 methods)
|
|
46
|
-
*
|
|
47
|
-
*
|
|
47
|
+
* 18. resetRecoveryState() - Reset recovery backoff and state
|
|
48
|
+
* 19. validateTargetGrid(targetGrid, mgr) - Validate target grid fund requirements
|
|
48
49
|
*
|
|
49
50
|
* ===============================================================================
|
|
50
51
|
* FUND STRUCTURE (managed by Accountant)
|
|
@@ -106,7 +107,7 @@ declare class Accountant {
|
|
|
106
107
|
* @param {Array<{orderType: string, delta: number, operation: string}>} balanceAdjustments
|
|
107
108
|
* @returns {void}
|
|
108
109
|
*/
|
|
109
|
-
_applyBalanceAdjustments(balanceAdjustments: any): void
|
|
110
|
+
_applyBalanceAdjustments(balanceAdjustments: any): Promise<void>;
|
|
110
111
|
_getBtsOrderType(): string | null;
|
|
111
112
|
_normalizeBtsFeeState(order: any): {
|
|
112
113
|
deferredFee: number;
|
|
@@ -180,7 +181,7 @@ declare class Accountant {
|
|
|
180
181
|
* @returns {void}
|
|
181
182
|
* @private
|
|
182
183
|
*/
|
|
183
|
-
_verifyFundInvariants(mgr: any, chainFreeBuy: any, chainFreeSell: any, chainBuy: any, chainSell: any): Promise<void>;
|
|
184
|
+
_verifyFundInvariants(mgr: any, chainFreeBuy: any, chainFreeSell: any, chainBuy: any, chainSell: any, actualBuy: any, actualSell: any): Promise<void>;
|
|
184
185
|
/**
|
|
185
186
|
* Perform centralized state recovery (fetch + sync + validate).
|
|
186
187
|
* Shared by both immediate recovery and stabilization gate.
|
|
@@ -240,12 +241,17 @@ declare class Accountant {
|
|
|
240
241
|
*/
|
|
241
242
|
recordFillBalances(paysAsset: any, paysAmount: any, _receivesAsset: any, receivesAmount: any, context?: any): Promise<any>;
|
|
242
243
|
/**
|
|
244
|
+
* PRIVATE: Must be called while holding _fundLock.
|
|
245
|
+
* Body of adjustTotalBalance; takes the lock externally for clean
|
|
246
|
+
* nesting in callers that already hold the lock (e.g. recordFillBalances).
|
|
247
|
+
*/
|
|
248
|
+
_adjustTotalBalanceLocked(orderType: any, delta: any, operation: any): void;
|
|
249
|
+
/**
|
|
250
|
+
* PUBLIC API: Acquires _fundLock.
|
|
243
251
|
* Adjust both total and free balances (for fills, fees, deposits).
|
|
244
|
-
* @
|
|
245
|
-
* @param {number} delta - Amount to adjust
|
|
246
|
-
* @param {string} operation - Context for logging
|
|
252
|
+
* @returns {Promise<void>}
|
|
247
253
|
*/
|
|
248
|
-
adjustTotalBalance(orderType: any, delta: any, operation: any): void
|
|
254
|
+
adjustTotalBalance(orderType: any, delta: any, operation: any): Promise<void>;
|
|
249
255
|
/**
|
|
250
256
|
* Normalize side hint to standard ORDER_TYPES constant.
|
|
251
257
|
* @param {string|null} sideHint - Side hint ('buy', 'sell', ORDER_TYPES.BUY, ORDER_TYPES.SELL, or null)
|
|
@@ -268,7 +274,7 @@ declare class Accountant {
|
|
|
268
274
|
* @param {number} fee - Blockchain fee to deduct
|
|
269
275
|
* @param {boolean} skipAssetAccounting - If true, skip capital commitment changes (asset amounts) but still process fees
|
|
270
276
|
*/
|
|
271
|
-
updateOptimisticFreeBalance(oldOrder: any, newOrder: any, context: any, fee?: any, skipAssetAccounting?: any): Promise<
|
|
277
|
+
updateOptimisticFreeBalance(oldOrder: any, newOrder: any, context: any, fee?: any, skipAssetAccounting?: any): Promise<any>;
|
|
272
278
|
/**
|
|
273
279
|
* Deduct BTS fees using adjustTotalBalance.
|
|
274
280
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting.d.ts","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"accounting.d.ts","sourceRoot":"","sources":["../../../modules/order/accounting.ts"],"names":[],"mappings":"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"}
|