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.
Files changed (123) hide show
  1. package/README.md +1 -0
  2. package/dist/credential-daemon.d.ts.map +1 -1
  3. package/dist/credential-daemon.js +416 -92
  4. package/dist/credential-daemon.js.map +1 -1
  5. package/dist/dexbot.d.ts.map +1 -1
  6. package/dist/dexbot.js +61 -27
  7. package/dist/dexbot.js.map +1 -1
  8. package/dist/modules/account_bots.d.ts.map +1 -1
  9. package/dist/modules/account_bots.js +14 -24
  10. package/dist/modules/account_bots.js.map +1 -1
  11. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  12. package/dist/modules/bitshares-native/transport.js +21 -0
  13. package/dist/modules/bitshares-native/transport.js.map +1 -1
  14. package/dist/modules/broadcast_failure.d.ts +21 -0
  15. package/dist/modules/broadcast_failure.d.ts.map +1 -0
  16. package/dist/modules/broadcast_failure.js +95 -0
  17. package/dist/modules/broadcast_failure.js.map +1 -0
  18. package/dist/modules/chain_keys.d.ts +2 -2
  19. package/dist/modules/chain_keys.d.ts.map +1 -1
  20. package/dist/modules/chain_keys.js +30 -56
  21. package/dist/modules/chain_keys.js.map +1 -1
  22. package/dist/modules/chain_orders.d.ts +79 -1
  23. package/dist/modules/chain_orders.d.ts.map +1 -1
  24. package/dist/modules/chain_orders.js +154 -10
  25. package/dist/modules/chain_orders.js.map +1 -1
  26. package/dist/modules/constants.d.ts +1 -0
  27. package/dist/modules/constants.d.ts.map +1 -1
  28. package/dist/modules/constants.js +21 -7
  29. package/dist/modules/constants.js.map +1 -1
  30. package/dist/modules/daemon_node_health.d.ts +33 -0
  31. package/dist/modules/daemon_node_health.d.ts.map +1 -0
  32. package/dist/modules/daemon_node_health.js +120 -0
  33. package/dist/modules/daemon_node_health.js.map +1 -0
  34. package/dist/modules/dexbot_class.d.ts +12 -3
  35. package/dist/modules/dexbot_class.d.ts.map +1 -1
  36. package/dist/modules/dexbot_class.js +19 -5
  37. package/dist/modules/dexbot_class.js.map +1 -1
  38. package/dist/modules/dexbot_cow_runtime.d.ts +46 -1
  39. package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
  40. package/dist/modules/dexbot_cow_runtime.js +754 -64
  41. package/dist/modules/dexbot_cow_runtime.js.map +1 -1
  42. package/dist/modules/dexbot_credential_client.d.ts +15 -0
  43. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  44. package/dist/modules/dexbot_credential_client.js +114 -141
  45. package/dist/modules/dexbot_credential_client.js.map +1 -1
  46. package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
  47. package/dist/modules/dexbot_fill_runtime.js +45 -15
  48. package/dist/modules/dexbot_fill_runtime.js.map +1 -1
  49. package/dist/modules/dexbot_maintenance_runtime.d.ts +5 -1
  50. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  51. package/dist/modules/dexbot_maintenance_runtime.js +238 -85
  52. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  53. package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
  54. package/dist/modules/dexbot_startup_runtime.js +95 -33
  55. package/dist/modules/dexbot_startup_runtime.js.map +1 -1
  56. package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
  57. package/dist/modules/dexbot_state_recovery.js +24 -2
  58. package/dist/modules/dexbot_state_recovery.js.map +1 -1
  59. package/dist/modules/key_store.d.ts.map +1 -1
  60. package/dist/modules/key_store.js +5 -4
  61. package/dist/modules/key_store.js.map +1 -1
  62. package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
  63. package/dist/modules/launcher/credential_daemon.js +15 -3
  64. package/dist/modules/launcher/credential_daemon.js.map +1 -1
  65. package/dist/modules/node_failure_ledger.d.ts +39 -0
  66. package/dist/modules/node_failure_ledger.d.ts.map +1 -0
  67. package/dist/modules/node_failure_ledger.js +88 -0
  68. package/dist/modules/node_failure_ledger.js.map +1 -0
  69. package/dist/modules/node_health_cache.d.ts +2 -1
  70. package/dist/modules/node_health_cache.d.ts.map +1 -1
  71. package/dist/modules/node_health_cache.js +25 -0
  72. package/dist/modules/node_health_cache.js.map +1 -1
  73. package/dist/modules/node_manager.d.ts +3 -0
  74. package/dist/modules/node_manager.d.ts.map +1 -1
  75. package/dist/modules/node_manager.js +41 -10
  76. package/dist/modules/node_manager.js.map +1 -1
  77. package/dist/modules/order/accounting.d.ts +26 -20
  78. package/dist/modules/order/accounting.d.ts.map +1 -1
  79. package/dist/modules/order/accounting.js +281 -139
  80. package/dist/modules/order/accounting.js.map +1 -1
  81. package/dist/modules/order/grid.d.ts.map +1 -1
  82. package/dist/modules/order/grid.js +66 -14
  83. package/dist/modules/order/grid.js.map +1 -1
  84. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  85. package/dist/modules/order/grid_reconcile.js +136 -56
  86. package/dist/modules/order/grid_reconcile.js.map +1 -1
  87. package/dist/modules/order/grid_reconcile_internal.d.ts +6 -5
  88. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
  89. package/dist/modules/order/grid_reconcile_internal.js +388 -61
  90. package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
  91. package/dist/modules/order/manager.d.ts +98 -4
  92. package/dist/modules/order/manager.d.ts.map +1 -1
  93. package/dist/modules/order/manager.js +379 -92
  94. package/dist/modules/order/manager.js.map +1 -1
  95. package/dist/modules/order/strategy.d.ts.map +1 -1
  96. package/dist/modules/order/strategy.js +24 -1
  97. package/dist/modules/order/strategy.js.map +1 -1
  98. package/dist/modules/order/sync_engine.d.ts +16 -3
  99. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  100. package/dist/modules/order/sync_engine.js +341 -253
  101. package/dist/modules/order/sync_engine.js.map +1 -1
  102. package/dist/modules/order/utils/math.d.ts +79 -1
  103. package/dist/modules/order/utils/math.d.ts.map +1 -1
  104. package/dist/modules/order/utils/math.js +18 -0
  105. package/dist/modules/order/utils/math.js.map +1 -1
  106. package/dist/modules/order/utils/order.d.ts +44 -1
  107. package/dist/modules/order/utils/order.d.ts.map +1 -1
  108. package/dist/modules/order/utils/order.js +91 -5
  109. package/dist/modules/order/utils/order.js.map +1 -1
  110. package/dist/modules/order/utils/system.d.ts +5 -1
  111. package/dist/modules/order/utils/system.d.ts.map +1 -1
  112. package/dist/modules/order/utils/system.js +7 -5
  113. package/dist/modules/order/utils/system.js.map +1 -1
  114. package/dist/modules/order/utils/withPoolRef.d.ts.map +1 -1
  115. package/dist/modules/order/utils/withPoolRef.js +39 -4
  116. package/dist/modules/order/utils/withPoolRef.js.map +1 -1
  117. package/dist/modules/socket_json_client.d.ts +14 -0
  118. package/dist/modules/socket_json_client.d.ts.map +1 -0
  119. package/dist/modules/socket_json_client.js +100 -0
  120. package/dist/modules/socket_json_client.js.map +1 -0
  121. package/package.json +2 -1
  122. package/scripts/clear-all.sh +4 -4
  123. package/scripts/clear-logs.sh +4 -4
@@ -150,6 +150,7 @@ const paths_1 = require("./paths");
150
150
  const logger_1 = __importDefault(require("./logger"));
151
151
  const storage_1 = require("./storage");
152
152
  const fs_utils_1 = require("./utils/fs_utils");
153
+ const socket_json_client_1 = require("./socket_json_client");
153
154
  const authority_resolver_1 = require("./authority_resolver");
154
155
  const config_1 = require("./config");
155
156
  const base58check = __importStar(require("./utils/base58check"));
@@ -1034,67 +1035,40 @@ async function waitForDaemon(maxWaitMs = constants_1.TIMING.DAEMON_STARTUP_TIMEO
1034
1035
  * @returns {Promise<*>} Resolved value from extractResult
1035
1036
  */
1036
1037
  function sendDaemonRequest(requestType, accountName, timeout = constants_1.TIMING.DAEMON_PING_TIMEOUT_MS, options = {}, label = 'request', extractResult = null) {
1037
- const net = getNet();
1038
- const socketPath = (0, credential_runtime_1.getCredentialSocketPath)(options);
1039
- return new Promise((resolve, reject) => {
1040
- let settled = false;
1041
- const socket = net.createConnection(socketPath, () => {
1038
+ return (0, socket_json_client_1.sendSocketJsonRequest)({
1039
+ socketPath: (0, credential_runtime_1.getCredentialSocketPath)(options),
1040
+ timeoutMs: timeout,
1041
+ writePayload: (socket) => {
1042
1042
  socket.write(JSON.stringify({ type: requestType, accountName }) + '\n');
1043
- });
1044
- let responseBuffer = '';
1045
- const timer = setTimeout(() => {
1046
- socket.destroy();
1047
- if (!settled) {
1048
- settled = true;
1049
- reject(new Error(`Daemon ${label} timeout`));
1043
+ },
1044
+ buildError: (kind, detail) => {
1045
+ switch (kind) {
1046
+ case 'timeout':
1047
+ return new Error(`Daemon ${label} timeout`);
1048
+ case 'connection':
1049
+ return new Error(`Daemon connection failed: ${(0, errors_1.getErrorMessage)(detail)}`);
1050
+ case 'invalid':
1051
+ return new Error(`Invalid daemon ${label} response`);
1052
+ default:
1053
+ return new Error(`Daemon ${label} closed connection unexpectedly`);
1050
1054
  }
1051
- }, timeout);
1052
- socket.on('data', (data) => {
1053
- responseBuffer += data.toString();
1054
- const lines = responseBuffer.split('\n');
1055
- responseBuffer = lines.pop() ?? '';
1056
- for (const line of lines) {
1057
- if (line.trim()) {
1058
- clearTimeout(timer);
1059
- socket.end();
1060
- if (!settled) {
1061
- settled = true;
1062
- let parsed;
1063
- try {
1064
- parsed = JSON.parse(line);
1065
- }
1066
- catch {
1067
- reject(new Error(`Invalid daemon ${label} response`));
1068
- return;
1069
- }
1070
- if (extractResult) {
1071
- resolve(extractResult(parsed));
1072
- }
1073
- else if (parsed.success) {
1074
- resolve(parsed);
1075
- }
1076
- else {
1077
- reject(new Error(parsed.error || `Daemon ${label} failed`));
1078
- }
1079
- }
1080
- return;
1055
+ },
1056
+ handleResponse: (parsed, resolve, reject) => {
1057
+ try {
1058
+ if (extractResult) {
1059
+ resolve(extractResult(parsed));
1060
+ }
1061
+ else if (parsed.success) {
1062
+ resolve(parsed);
1063
+ }
1064
+ else {
1065
+ reject(new Error(parsed.error || `Daemon ${label} failed`));
1081
1066
  }
1082
1067
  }
1083
- });
1084
- socket.on('error', (error) => {
1085
- clearTimeout(timer);
1086
- if (!settled) {
1087
- settled = true;
1088
- reject(new Error(`Daemon connection failed: ${(0, errors_1.getErrorMessage)(error)}`));
1089
- }
1090
- });
1091
- socket.on('end', () => {
1092
- clearTimeout(timer);
1093
- if (!settled && !responseBuffer.trim()) {
1094
- settled = true;
1095
- reject(new Error('Daemon closed connection unexpectedly'));
1068
+ catch (handlerErr) {
1069
+ reject(handlerErr);
1096
1070
  }
1097
- });
1071
+ },
1098
1072
  });
1099
1073
  }
1100
1074
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chain_keys.js","sourceRoot":"","sources":["../../modules/chain_keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain_keys.js","sourceRoot":"","sources":["../../modules/chain_keys.ts"],"names":[],"mappings":"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"}
@@ -198,6 +198,67 @@ declare function batchReadOrders(orderIds: any, timeoutMs?: any): Promise<Map<an
198
198
  * @returns {Promise<Array>} Array of raw order objects from chain
199
199
  */
200
200
  declare function readOpenOrders(accountId?: string | null, timeoutMs?: any, suppress_log?: any): Promise<any>;
201
+ /**
202
+ * Read open orders with the truncation flag through a caller-supplied
203
+ * chainOrders module/mock, falling back to a plain readOpenOrders when the
204
+ * with-meta variant is unavailable (test mocks). Absence decisions MUST NOT
205
+ * be made on `truncated: true` or empty reads (see readOpenOrdersWithMeta).
206
+ * @param {Object} chainOrdersModule - chainOrders module (or mock) with readOpenOrders
207
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
208
+ * @param {number} [timeoutMs] - Connection timeout in milliseconds
209
+ * @param {boolean} [suppress_log] - Whether to suppress the log
210
+ * @returns {Promise<{orders: Array, truncated: boolean}>} Raw order objects plus truncation flag
211
+ */
212
+ declare function readOpenOrdersWithMetaSafe(chainOrdersModule: any, accountId?: string | null, timeoutMs?: any, suppress_log?: any): Promise<any>;
213
+ /**
214
+ * Read open orders for a sync/reconcile decision, deferring (returning null)
215
+ * when the snapshot cannot drive absence/sync decisions:
216
+ * - truncated: the get_full_accounts window omitted the freshest orders —
217
+ * syncing would virtualize live ACTIVE slots via pass-1 phantom cleanup;
218
+ * - empty (only when deferEmpty is set): indistinguishable from a lagging
219
+ * node that missed a just-broadcast transaction.
220
+ * Callers treat null as "defer this cycle" (optionally falling back to a
221
+ * local sync); the raw orders are returned otherwise.
222
+ * @param {Object} chainOrdersModule - chainOrders module (or mock)
223
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
224
+ * @param {Object} [options]
225
+ * @param {Function} [options.log] - Logger callback (message, level); skipped when omitted
226
+ * @param {string} [options.label] - Log prefix label (e.g. 'PERIODIC-SYNC')
227
+ * @param {string} [options.detail] - Extra context appended to the default message
228
+ * @param {boolean} [options.deferEmpty] - Treat an empty read as ambiguous too
229
+ * @param {number} [options.timeoutMs] - Connection timeout in milliseconds
230
+ * @param {string|Function} [options.skipMessage] - Replace the default log message;
231
+ * a function receives the kind ('TRUNCATED'|'EMPTY') to build a site-specific message
232
+ * @returns {Promise<Array|null>} Open orders, or null when the read is ambiguous
233
+ */
234
+ declare function readOpenOrdersGuarded(chainOrdersModule: any, accountId?: string | null, options?: {
235
+ log?: (message: string, level?: string) => void;
236
+ label?: string;
237
+ detail?: string;
238
+ deferEmpty?: boolean;
239
+ timeoutMs?: number;
240
+ skipMessage?: string | ((kind: string) => string);
241
+ }): Promise<any[] | null>;
242
+ /**
243
+ * Fetch all open limit orders for an account from the blockchain, returning
244
+ * the raw order list together with the node's truncation flag.
245
+ *
246
+ * get_full_accounts caps each collection (api_limit_get_full_accounts_lists,
247
+ * default 500 limit_orders; a node operator may lower it). The by_account
248
+ * index is ordered (seller, object_id), so freshly created orders sort last
249
+ * and are the FIRST entries truncated away on an oversized account. Callers
250
+ * that make absence decisions (e.g. pre-retry broadcast verification) MUST
251
+ * treat a truncated read as 'unknown' — a batch's fresh creates may simply
252
+ * be missing from the returned window, not absent from the chain.
253
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
254
+ * @param {number} timeoutMs - Connection timeout in milliseconds
255
+ * @param {boolean} suppress_log - Whether to suppress the log
256
+ * @returns {Promise<{orders: Array, truncated: boolean}>} Raw order objects plus truncation flag
257
+ */
258
+ declare function readOpenOrdersWithMeta(accountId?: string | null, timeoutMs?: any, suppress_log?: any): Promise<{
259
+ orders: any;
260
+ truncated: boolean;
261
+ }>;
201
262
  /**
202
263
  * Subscribe to fill events for an account.
203
264
  * Calls the callback when any of the account's orders are filled.
@@ -256,6 +317,23 @@ declare function buildUpdateOrderOp(accountName: any, orderId: any, newParams: a
256
317
  receiveAssetId: any;
257
318
  };
258
319
  } | null>;
320
+ /**
321
+ * Broadcast a prepared transaction through the direct-key client, classifying
322
+ * failures with the same rules as the credential daemon
323
+ * (modules/broadcast_failure.ts): an 'uncertain' outcome (RPC timeout,
324
+ * connection dropped while the response was pending, unknown error) may have
325
+ * landed, so it is re-thrown as a BroadcastUncertainError — the verify-
326
+ * before-retry machinery (COW retry verification, startup adoption) then
327
+ * checks chain inclusion before any re-broadcast. 'definite' rejections
328
+ * (node assertion, insufficient balance) and provably-untransmitted
329
+ * ('retryable') failures propagate as plain errors.
330
+ * @param {Object} tx - The prepared signing-client transaction.
331
+ * @param {string} accountName - Account the ops were intended for.
332
+ * @param {Array} [operations=[]] - The ops carried by the transaction (for the error payload).
333
+ * @returns {Promise<Object>} Broadcast result.
334
+ * @throws {BroadcastUncertainError} When the outcome may have reached the chain.
335
+ */
336
+ declare function broadcastTxWithClassification(tx: any, accountName: string, operations?: any[]): Promise<any>;
259
337
  /**
260
338
  * Update an existing limit order on the blockchain.
261
339
  * @param {string} accountName - The name of the account.
@@ -449,5 +527,5 @@ declare function buildLiquidityPoolExchangeOp(accountId: any, poolId: any, sellA
449
527
  * @returns {string} 'history' or 'open'
450
528
  */
451
529
  declare function getFillProcessingMode(): string;
452
- export { selectAccount, setPreferredAccount, resolveAccountId, resolveAccountName, readOpenOrders, readSingleOrder, batchReadOrders, listenForFills, updateOrder, createOrder, cancelOrder, getOnChainAssetBalances, getFillProcessingMode, FILL_PROCESSING_MODE, buildUpdateOrderOp, buildCreateOrderOp, buildCancelOrderOp, buildLiquidityPoolExchangeOp, executeBatch, wasRecentlyOwnCancelled, recordOwnCancel, BroadcastUncertainError };
530
+ export { selectAccount, setPreferredAccount, resolveAccountId, resolveAccountName, readOpenOrders, readOpenOrdersWithMeta, readOpenOrdersWithMetaSafe, readOpenOrdersGuarded, readSingleOrder, batchReadOrders, listenForFills, updateOrder, createOrder, cancelOrder, getOnChainAssetBalances, getFillProcessingMode, FILL_PROCESSING_MODE, buildUpdateOrderOp, buildCreateOrderOp, buildCancelOrderOp, buildLiquidityPoolExchangeOp, executeBatch, wasRecentlyOwnCancelled, recordOwnCancel, BroadcastUncertainError, broadcastTxWithClassification };
453
531
  //# sourceMappingURL=chain_orders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain_orders.d.ts","sourceRoot":"","sources":["../../modules/chain_orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain_orders.d.ts","sourceRoot":"","sources":["../../modules/chain_orders.ts"],"names":[],"mappings":"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"}
@@ -149,6 +149,9 @@ exports.setPreferredAccount = setPreferredAccount;
149
149
  exports.resolveAccountId = resolveAccountId;
150
150
  exports.resolveAccountName = resolveAccountName;
151
151
  exports.readOpenOrders = readOpenOrders;
152
+ exports.readOpenOrdersWithMeta = readOpenOrdersWithMeta;
153
+ exports.readOpenOrdersWithMetaSafe = readOpenOrdersWithMetaSafe;
154
+ exports.readOpenOrdersGuarded = readOpenOrdersGuarded;
152
155
  exports.readSingleOrder = readSingleOrder;
153
156
  exports.batchReadOrders = batchReadOrders;
154
157
  exports.listenForFills = listenForFills;
@@ -164,6 +167,7 @@ exports.buildLiquidityPoolExchangeOp = buildLiquidityPoolExchangeOp;
164
167
  exports.executeBatch = executeBatch;
165
168
  exports.wasRecentlyOwnCancelled = wasRecentlyOwnCancelled;
166
169
  exports.recordOwnCancel = recordOwnCancel;
170
+ exports.broadcastTxWithClassification = broadcastTxWithClassification;
167
171
  const client = __importStar(require("./bitshares_client"));
168
172
  const { BitShares, createAccountClient, waitForConnected, withTimeout } = client;
169
173
  const math_1 = require("./order/utils/math");
@@ -175,6 +179,7 @@ const chainKeys = __importStar(require("./chain_keys"));
175
179
  const key_store_1 = require("./key_store");
176
180
  const dexbot_credential_client_1 = require("./dexbot_credential_client");
177
181
  Object.defineProperty(exports, "BroadcastUncertainError", { enumerable: true, get: function () { return dexbot_credential_client_1.BroadcastUncertainError; } });
182
+ const broadcast_failure_1 = require("./broadcast_failure");
178
183
  const logger_1 = __importDefault(require("./logger"));
179
184
  const errors_1 = require("./utils/errors");
180
185
  function getNodeManager() { return require('./bitshares_client').getNodeManager(); }
@@ -619,6 +624,81 @@ async function batchReadOrders(orderIds, timeoutMs = constants_1.TIMING.CONNECTI
619
624
  * @returns {Promise<Array>} Array of raw order objects from chain
620
625
  */
621
626
  async function readOpenOrders(accountId = null, timeoutMs = constants_1.TIMING.CONNECTION_TIMEOUT_MS, suppress_log = true) {
627
+ const { orders } = await readOpenOrdersWithMeta(accountId, timeoutMs, suppress_log);
628
+ return orders;
629
+ }
630
+ /**
631
+ * Read open orders with the truncation flag through a caller-supplied
632
+ * chainOrders module/mock, falling back to a plain readOpenOrders when the
633
+ * with-meta variant is unavailable (test mocks). Absence decisions MUST NOT
634
+ * be made on `truncated: true` or empty reads (see readOpenOrdersWithMeta).
635
+ * @param {Object} chainOrdersModule - chainOrders module (or mock) with readOpenOrders
636
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
637
+ * @param {number} [timeoutMs] - Connection timeout in milliseconds
638
+ * @param {boolean} [suppress_log] - Whether to suppress the log
639
+ * @returns {Promise<{orders: Array, truncated: boolean}>} Raw order objects plus truncation flag
640
+ */
641
+ async function readOpenOrdersWithMetaSafe(chainOrdersModule, accountId = null, timeoutMs = constants_1.TIMING.CONNECTION_TIMEOUT_MS, suppress_log = true) {
642
+ if (chainOrdersModule && typeof chainOrdersModule.readOpenOrdersWithMeta === 'function') {
643
+ return await chainOrdersModule.readOpenOrdersWithMeta(accountId, timeoutMs, suppress_log);
644
+ }
645
+ return { orders: await chainOrdersModule.readOpenOrders(accountId, timeoutMs, suppress_log), truncated: false };
646
+ }
647
+ /**
648
+ * Read open orders for a sync/reconcile decision, deferring (returning null)
649
+ * when the snapshot cannot drive absence/sync decisions:
650
+ * - truncated: the get_full_accounts window omitted the freshest orders —
651
+ * syncing would virtualize live ACTIVE slots via pass-1 phantom cleanup;
652
+ * - empty (only when deferEmpty is set): indistinguishable from a lagging
653
+ * node that missed a just-broadcast transaction.
654
+ * Callers treat null as "defer this cycle" (optionally falling back to a
655
+ * local sync); the raw orders are returned otherwise.
656
+ * @param {Object} chainOrdersModule - chainOrders module (or mock)
657
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
658
+ * @param {Object} [options]
659
+ * @param {Function} [options.log] - Logger callback (message, level); skipped when omitted
660
+ * @param {string} [options.label] - Log prefix label (e.g. 'PERIODIC-SYNC')
661
+ * @param {string} [options.detail] - Extra context appended to the default message
662
+ * @param {boolean} [options.deferEmpty] - Treat an empty read as ambiguous too
663
+ * @param {number} [options.timeoutMs] - Connection timeout in milliseconds
664
+ * @param {string|Function} [options.skipMessage] - Replace the default log message;
665
+ * a function receives the kind ('TRUNCATED'|'EMPTY') to build a site-specific message
666
+ * @returns {Promise<Array|null>} Open orders, or null when the read is ambiguous
667
+ */
668
+ async function readOpenOrdersGuarded(chainOrdersModule, accountId = null, options = {}) {
669
+ const { log, label = 'SYNC', detail, deferEmpty = false, timeoutMs, skipMessage } = options;
670
+ const read = await readOpenOrdersWithMetaSafe(chainOrdersModule, accountId, timeoutMs);
671
+ const truncated = read?.truncated === true;
672
+ const orders = read?.orders;
673
+ const empty = !Array.isArray(orders) || orders.length === 0;
674
+ if (!truncated && !(deferEmpty && empty))
675
+ return Array.isArray(orders) ? orders : [];
676
+ if (typeof log === 'function') {
677
+ const kind = truncated ? 'TRUNCATED' : 'EMPTY';
678
+ const message = typeof skipMessage === 'function'
679
+ ? skipMessage(kind)
680
+ : (skipMessage || `[${label}] Open-order read ${kind}${detail ? ` (${detail})` : ''} - ambiguous snapshot (fresh orders omitted by the get_full_accounts window, or the node is lagging); deferring`);
681
+ log(message, 'warn');
682
+ }
683
+ return null;
684
+ }
685
+ /**
686
+ * Fetch all open limit orders for an account from the blockchain, returning
687
+ * the raw order list together with the node's truncation flag.
688
+ *
689
+ * get_full_accounts caps each collection (api_limit_get_full_accounts_lists,
690
+ * default 500 limit_orders; a node operator may lower it). The by_account
691
+ * index is ordered (seller, object_id), so freshly created orders sort last
692
+ * and are the FIRST entries truncated away on an oversized account. Callers
693
+ * that make absence decisions (e.g. pre-retry broadcast verification) MUST
694
+ * treat a truncated read as 'unknown' — a batch's fresh creates may simply
695
+ * be missing from the returned window, not absent from the chain.
696
+ * @param {string|null} accountId - Account ID to query (uses preferred if null)
697
+ * @param {number} timeoutMs - Connection timeout in milliseconds
698
+ * @param {boolean} suppress_log - Whether to suppress the log
699
+ * @returns {Promise<{orders: Array, truncated: boolean}>} Raw order objects plus truncation flag
700
+ */
701
+ async function readOpenOrdersWithMeta(accountId = null, timeoutMs = constants_1.TIMING.CONNECTION_TIMEOUT_MS, suppress_log = true) {
622
702
  await waitForConnected(timeoutMs);
623
703
  try {
624
704
  let accId = accountId;
@@ -635,11 +715,13 @@ async function readOpenOrders(accountId = null, timeoutMs = constants_1.TIMING.C
635
715
  throw new Error('No account selected. Please call selectAccount() first or pass an account id');
636
716
  }
637
717
  const fullAccount = await BitShares.db.get_full_accounts([accId], false);
638
- const orders = fullAccount[0][1].limit_orders || [];
718
+ const accountObj = fullAccount[0][1];
719
+ const orders = accountObj.limit_orders || [];
720
+ const truncated = Boolean(accountObj.more_data_available?.limit_orders);
639
721
  if (!suppress_log) {
640
- chainOrdersLogger.info(`Found ${orders.length} open orders for account ${accId}`);
722
+ chainOrdersLogger.info(`Found ${orders.length} open orders for account ${accId}${truncated ? ' (TRUNCATED)' : ''}`);
641
723
  }
642
- return orders;
724
+ return { orders, truncated };
643
725
  }
644
726
  catch (error) {
645
727
  chainOrdersLogger.error(`Error reading open orders: ${(0, errors_1.getErrorMessage)(error)}`);
@@ -912,6 +994,33 @@ async function buildUpdateOrderOp(accountName, orderId, newParams, cachedOrder =
912
994
  finalInts: { sell: adjustedSellInt, receive: newReceiveInt, sellAssetId, receiveAssetId }
913
995
  };
914
996
  }
997
+ /**
998
+ * Broadcast a prepared transaction through the direct-key client, classifying
999
+ * failures with the same rules as the credential daemon
1000
+ * (modules/broadcast_failure.ts): an 'uncertain' outcome (RPC timeout,
1001
+ * connection dropped while the response was pending, unknown error) may have
1002
+ * landed, so it is re-thrown as a BroadcastUncertainError — the verify-
1003
+ * before-retry machinery (COW retry verification, startup adoption) then
1004
+ * checks chain inclusion before any re-broadcast. 'definite' rejections
1005
+ * (node assertion, insufficient balance) and provably-untransmitted
1006
+ * ('retryable') failures propagate as plain errors.
1007
+ * @param {Object} tx - The prepared signing-client transaction.
1008
+ * @param {string} accountName - Account the ops were intended for.
1009
+ * @param {Array} [operations=[]] - The ops carried by the transaction (for the error payload).
1010
+ * @returns {Promise<Object>} Broadcast result.
1011
+ * @throws {BroadcastUncertainError} When the outcome may have reached the chain.
1012
+ */
1013
+ async function broadcastTxWithClassification(tx, accountName, operations = []) {
1014
+ try {
1015
+ return await tx.broadcast();
1016
+ }
1017
+ catch (err) {
1018
+ if ((0, broadcast_failure_1.classifyBroadcastFailure)(err) === 'uncertain') {
1019
+ throw new dexbot_credential_client_1.BroadcastUncertainError(`Direct-key broadcast uncertain for ${accountName}: ${(0, errors_1.getErrorMessage)(err)}`, { operations: operations.length > 0 ? operations : null, accountName, timeoutMs: null });
1020
+ }
1021
+ throw err;
1022
+ }
1023
+ }
915
1024
  /**
916
1025
  * Update an existing limit order on the blockchain.
917
1026
  * @param {string} accountName - The name of the account.
@@ -944,7 +1053,7 @@ async function updateOrder(accountName, privateKey, orderId, newParams, extraOpt
944
1053
  else {
945
1054
  throw new Error(`Transaction builder does not support limit_order_update`);
946
1055
  }
947
- await tx.broadcast();
1056
+ await broadcastTxWithClassification(tx, accountName, [op]);
948
1057
  chainOrdersLogger.info(`Order ${orderId} updated successfully`);
949
1058
  return { success: true, orderId };
950
1059
  }
@@ -1038,7 +1147,7 @@ async function createOrder(accountName, privateKey, amountToSell, sellAssetId, m
1038
1147
  const tx = acc.newTx();
1039
1148
  // Invoke standard method directly
1040
1149
  tx.limit_order_create(op.op_data);
1041
- const result = await tx.broadcast();
1150
+ const result = await broadcastTxWithClassification(tx, accountName, [op]);
1042
1151
  chainOrdersLogger.info(`Limit order created successfully for account ${accountName}`);
1043
1152
  return result;
1044
1153
  }
@@ -1095,7 +1204,7 @@ async function cancelOrder(accountName, privateKey, orderId, extraOptions = {})
1095
1204
  const tx = acc.newTx();
1096
1205
  // Explicit call
1097
1206
  tx.limit_order_cancel(op.op_data);
1098
- await tx.broadcast();
1207
+ await broadcastTxWithClassification(tx, accountName, [op]);
1099
1208
  recordOwnCancel(orderId);
1100
1209
  chainOrdersLogger.info(`Order ${orderId} cancelled successfully`);
1101
1210
  return { success: true, orderId, verified: true };
@@ -1103,9 +1212,44 @@ async function cancelOrder(accountName, privateKey, orderId, extraOptions = {})
1103
1212
  catch (error) {
1104
1213
  if (accountId) {
1105
1214
  try {
1106
- const openOrders = await readOpenOrders(accountId, constants_1.TIMING.CONNECTION_TIMEOUT_MS, true);
1215
+ const { orders: openOrders, truncated } = await readOpenOrdersWithMeta(accountId, constants_1.TIMING.CONNECTION_TIMEOUT_MS, true);
1216
+ // Only a NON-EMPTY, NON-TRUNCATED read is authoritative: the
1217
+ // order being absent from a live account snapshot confirms the
1218
+ // cancellation landed. An empty read is ambiguous (the node may
1219
+ // be lagging behind the broadcast) — treating it as confirmed
1220
+ // would free the slot and its capital while the order may still
1221
+ // be live on chain. A truncated read (get_full_accounts caps
1222
+ // the limit_orders window; fresh orders sort last and are the
1223
+ // first entries omitted) may omit the order without it being
1224
+ // cancelled, so absence is not authoritative there either.
1107
1225
  const stillPresent = Array.isArray(openOrders) && openOrders.some((order) => String(order?.id ?? '') === String(orderId));
1108
- if (!stillPresent) {
1226
+ let confirmedAbsent = !stillPresent && !truncated && Array.isArray(openOrders) && openOrders.length > 0;
1227
+ if (!confirmedAbsent && !truncated && !stillPresent && Array.isArray(openOrders) && openOrders.length === 0) {
1228
+ // An EMPTY account snapshot is ambiguous by itself (the node
1229
+ // may be lagging behind the broadcast), but a direct
1230
+ // get_objects probe of the order id is authoritative: the
1231
+ // object store returns null for ids that no longer exist.
1232
+ // This resolves the genuinely-empty account case (the
1233
+ // cancelled order was the account's only order) without
1234
+ // trusting a lagging node's empty window.
1235
+ try {
1236
+ const probe = await readSingleOrder(String(orderId), constants_1.TIMING.CONNECTION_TIMEOUT_MS);
1237
+ if (probe === null)
1238
+ confirmedAbsent = true;
1239
+ }
1240
+ catch (_) {
1241
+ // Probe failed — the snapshot remains ambiguous; fall
1242
+ // through to the original error.
1243
+ }
1244
+ }
1245
+ if (confirmedAbsent) {
1246
+ // The cancellation is confirmed landed (authoritative
1247
+ // non-empty, non-truncated read — or a direct object probe —
1248
+ // shows the order gone) — arm the own-cancel marker exactly
1249
+ // like the success paths above, or a later fill artifact for
1250
+ // this order would not be skipped
1251
+ // (dexbot_fill_runtime.ts wasRecentlyOwnCancelled).
1252
+ recordOwnCancel(orderId);
1109
1253
  chainOrdersLogger.info(`Order ${orderId} cancellation confirmed after broadcast failure`);
1110
1254
  return { success: true, orderId, verified: true, verifiedAfterFailure: true };
1111
1255
  }
@@ -1147,7 +1291,7 @@ async function executeBatch(accountName, privateKey, operations, extraOptions =
1147
1291
  throw new Error(`Transaction builder does not support ${op.op_name}`);
1148
1292
  }
1149
1293
  }
1150
- const result = await tx.broadcast();
1294
+ const result = await broadcastTxWithClassification(tx, accountName, operations);
1151
1295
  // Record own-cancel correlation for the self-cancel guard in the fill
1152
1296
  // consumer. Without this, batched cancels (the dominant COW path) would
1153
1297
  // skip the ring buffer and the guard would not recognize their
@@ -1332,5 +1476,5 @@ function buildLiquidityPoolExchangeOp(accountId, poolId, sellAmountInt, sellAsse
1332
1476
  function getFillProcessingMode() {
1333
1477
  return FILL_PROCESSING_MODE;
1334
1478
  }
1335
- module.exports = { selectAccount, setPreferredAccount, resolveAccountId, resolveAccountName, readOpenOrders, readSingleOrder, batchReadOrders, listenForFills, updateOrder, createOrder, cancelOrder, getOnChainAssetBalances, getFillProcessingMode, FILL_PROCESSING_MODE, buildUpdateOrderOp, buildCreateOrderOp, buildCancelOrderOp, buildLiquidityPoolExchangeOp, executeBatch, wasRecentlyOwnCancelled, recordOwnCancel, BroadcastUncertainError: dexbot_credential_client_1.BroadcastUncertainError };
1479
+ module.exports = { selectAccount, setPreferredAccount, resolveAccountId, resolveAccountName, readOpenOrders, readOpenOrdersWithMeta, readOpenOrdersWithMetaSafe, readOpenOrdersGuarded, readSingleOrder, batchReadOrders, listenForFills, updateOrder, createOrder, cancelOrder, getOnChainAssetBalances, getFillProcessingMode, FILL_PROCESSING_MODE, buildUpdateOrderOp, buildCreateOrderOp, buildCancelOrderOp, buildLiquidityPoolExchangeOp, executeBatch, wasRecentlyOwnCancelled, recordOwnCancel, BroadcastUncertainError: dexbot_credential_client_1.BroadcastUncertainError, broadcastTxWithClassification };
1336
1480
  //# sourceMappingURL=chain_orders.js.map