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
|
@@ -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
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
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
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
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
|
-
},
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
if (
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAYH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|