dexbot 1.4.20 → 1.4.21
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/CHANGELOG.md +23 -0
- package/README.md +22 -12
- package/analysis/ama_fitting/calibrate_convergence_er.ts +1 -1
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/bot_fitting/shared_utils.ts +1 -1
- package/analysis/bot_key_utils.ts +1 -5
- package/analysis/bot_usage/kibana_bot_queries.ts +1 -256
- package/analysis/chart_css.ts +1 -1
- package/analysis/math_utils.ts +1 -8
- package/analysis/trend_detection/package.json +1 -1
- package/claw/ecosystem.config.cjs +2 -3
- package/claw/examples/memu_integration_example.ts +17 -17
- package/claw/modules/chain_actions.ts +51 -54
- package/claw/modules/chain_broadcast.ts +66 -104
- package/claw/modules/claw_bridge.ts +60 -80
- package/claw/modules/claw_catalog.ts +47 -16
- package/claw/modules/claw_infra.ts +1 -5
- package/claw/modules/claw_launcher.ts +47 -49
- package/claw/modules/claw_skill_md.ts +8 -11
- package/claw/modules/credit_runtime_adapter.ts +2 -18
- package/claw/modules/decision_loop.ts +4 -0
- package/claw/modules/dexbot_bridge.ts +1 -1
- package/claw/modules/dexbot_profiles.ts +5 -21
- package/claw/modules/honest_ecosystem.ts +24 -8
- package/claw/modules/liquidity_pools.ts +10 -3
- package/claw/modules/mcp_utils.ts +109 -0
- package/claw/modules/memu_bridge.ts +76 -54
- package/claw/modules/mpa_utils.ts +26 -3
- package/claw/modules/position_discovery.ts +16 -27
- package/claw/modules/position_manager.ts +32 -41
- package/claw/modules/position_manager_watch.ts +3 -2
- package/claw/modules/short_mpa_strategy.ts +1 -9
- package/claw/modules/skill_utils.ts +5 -3
- package/claw/modules/utils.ts +9 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/index.ts +27 -10
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/scripts/claw_bridge.ts +1 -1
- package/claw/scripts/claw_mcp_server.ts +19 -78
- package/claw/scripts/honest_assets_report.ts +19 -84
- package/claw/scripts/memu_mcp_server.ts +57 -155
- package/claw/tests/test_claw_bridge.ts +6 -2
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js +1 -1
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -1
- package/dist/analysis/bot_fitting/shared_utils.d.ts +1 -12
- package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -1
- package/dist/analysis/bot_fitting/shared_utils.js +1 -1
- package/dist/analysis/bot_fitting/shared_utils.js.map +1 -1
- package/dist/analysis/bot_key_utils.d.ts +1 -1
- package/dist/analysis/bot_key_utils.d.ts.map +1 -1
- package/dist/analysis/bot_key_utils.js +1 -5
- package/dist/analysis/bot_key_utils.js.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +1 -337
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js +1 -241
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
- package/dist/analysis/chart_css.d.ts +1 -15
- package/dist/analysis/chart_css.d.ts.map +1 -1
- package/dist/analysis/chart_css.js +1 -1
- package/dist/analysis/chart_css.js.map +1 -1
- package/dist/analysis/math_utils.d.ts +3 -5
- package/dist/analysis/math_utils.d.ts.map +1 -1
- package/dist/analysis/math_utils.js +3 -5
- package/dist/analysis/math_utils.js.map +1 -1
- package/dist/bot.js +2 -2
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.js +1 -1
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +18 -14
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +3 -3
- package/dist/market_adapter/core/kibana_client.d.ts +1 -3
- package/dist/market_adapter/core/kibana_client.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +1 -1
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts +1 -2
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +1 -1
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.d.ts +1 -2
- package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -2
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +5 -5
- package/dist/market_adapter/inputs/fetch_lp_data.js +5 -5
- package/dist/market_adapter/inputs/kibana_source.d.ts +1 -2
- package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +1 -1
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts +1 -2
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +4 -4
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +2 -1
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/modules/account_bots.d.ts +3 -0
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +156 -46
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +1 -7
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +9 -17
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +2 -14
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +22 -31
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.js +1 -1
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/chain_keys.js +2 -2
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +2 -3
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +8 -25
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +4 -1
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +0 -1
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +0 -4
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credential_policy.js +1 -1
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +3 -2
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +2 -1
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +5 -2
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +6 -7
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +6 -0
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +2 -3
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +7 -15
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +1 -0
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +1 -2
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +1 -4
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/order/accounting.js +2 -2
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/format.d.ts +0 -8
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +0 -8
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/logger.js +1 -1
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts +1 -13
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +1 -11
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/processed_fill_store.d.ts +0 -5
- package/dist/modules/order/processed_fill_store.d.ts.map +1 -1
- package/dist/modules/order/processed_fill_store.js +1 -12
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +10 -3
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +7 -1
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +19 -1
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +10 -2
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/runtime_settings.js +3 -1
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.d.ts.map +1 -1
- package/dist/modules/settings_merge.js +3 -1
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/storage/browser_adapter.d.ts +8 -3
- package/dist/modules/storage/browser_adapter.d.ts.map +1 -1
- package/dist/modules/storage/browser_adapter.js +53 -4
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/utils/sanitize_key.d.ts +7 -0
- package/dist/modules/utils/sanitize_key.d.ts.map +1 -0
- package/dist/modules/utils/sanitize_key.js +15 -0
- package/dist/modules/utils/sanitize_key.js.map +1 -0
- package/dist/pm2.js +6 -6
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-orders.d.ts +2 -2
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +4 -12
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/runner.js +1 -1
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/update.js +1 -1
- package/dist/scripts/update.js.map +1 -1
- package/docs/BITSHARES_ONBOARDING.md +63 -18
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +5 -14
- package/docs/COW_INVARIANTS.md +4 -4
- package/docs/CREDENTIAL_SECURITY.md +0 -11
- package/docs/DEXBOT_COMPARISON.md +11 -11
- package/docs/EVOLUTION.md +11 -10
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +27 -83
- package/docs/GRID_RECALCULATION.md +1 -13
- package/docs/GRID_RECONCILE.md +24 -24
- package/docs/LIFECYCLE.md +4 -4
- package/docs/LOGGING.md +1 -1
- package/docs/MPA_CREDIT_USAGE.md +3 -3
- package/docs/README.md +2 -2
- package/docs/WORKFLOW.md +2 -2
- package/docs/architecture.md +43 -38
- package/docs/developer_guide.md +16 -18
- package/market_adapter/README.md +0 -2
- package/modules/README.md +2 -1
- package/package.json +1 -1
- package/scripts/README.md +1 -1
- package/claw/openclaw.plugin.json +0 -13
- package/dist/market_adapter/merge_lp_data.d.ts +0 -3
- package/dist/market_adapter/merge_lp_data.d.ts.map +0 -1
- package/dist/market_adapter/merge_lp_data.js +0 -125
- package/dist/market_adapter/merge_lp_data.js.map +0 -1
- package/dist/market_adapter/utils/paths.d.ts +0 -3
- package/dist/market_adapter/utils/paths.d.ts.map +0 -1
- package/dist/market_adapter/utils/paths.js +0 -5
- package/dist/market_adapter/utils/paths.js.map +0 -1
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
* op_object.fee_paying_account — account that cancelled
|
|
33
33
|
* op_object.order — the order ID cancelled
|
|
34
34
|
*/
|
|
35
|
-
import { toIntervalLabel } from '../../market_adapter/interval_utils.js';
|
|
36
35
|
import { kibanaSearch, DEFAULT_CONFIG as BASE_CONFIG } from '../../market_adapter/core/kibana_client.js';
|
|
37
36
|
'use strict';
|
|
38
37
|
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
@@ -43,154 +42,6 @@ const DEFAULT_CONFIG = {
|
|
|
43
42
|
...BASE_CONFIG,
|
|
44
43
|
timeout: 25000,
|
|
45
44
|
};
|
|
46
|
-
// ─── Aggregation query builders (size:0, for counts & timelines) ───────────────
|
|
47
|
-
/**
|
|
48
|
-
* Time-bucketed count of limit_order_create ops for an account.
|
|
49
|
-
* Optionally filtered to orders selling a specific asset.
|
|
50
|
-
*/
|
|
51
|
-
function buildOrderCreateQuery(accountId, lookbackHours, intervalSeconds = 3600, sellAssetId = null) {
|
|
52
|
-
const filters = [
|
|
53
|
-
{ term: { operation_type: OP_LIMIT_ORDER_CREATE } },
|
|
54
|
-
{ term: { 'operation_history.op_object.seller.keyword': accountId } },
|
|
55
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
56
|
-
];
|
|
57
|
-
if (sellAssetId) {
|
|
58
|
-
filters.push({ term: { 'operation_history.op_object.amount_to_sell.asset_id.keyword': sellAssetId } });
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
size: 0,
|
|
62
|
-
query: { bool: { filter: filters } },
|
|
63
|
-
aggs: {
|
|
64
|
-
by_time: {
|
|
65
|
-
date_histogram: {
|
|
66
|
-
field: 'block_data.block_time',
|
|
67
|
-
fixed_interval: toIntervalLabel(intervalSeconds),
|
|
68
|
-
min_doc_count: 1,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
total: { value_count: { field: 'operation_type' } },
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Time-bucketed count of fill_order ops for an account.
|
|
77
|
-
* Optionally filtered to fills where account pays a specific asset.
|
|
78
|
-
*/
|
|
79
|
-
function buildFillOrderQuery(accountId, lookbackHours, intervalSeconds = 3600, paysAssetId = null) {
|
|
80
|
-
const filters = [
|
|
81
|
-
{ term: { operation_type: OP_FILL_ORDER } },
|
|
82
|
-
{ term: { 'operation_history.op_object.account_id.keyword': accountId } },
|
|
83
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
84
|
-
];
|
|
85
|
-
if (paysAssetId) {
|
|
86
|
-
filters.push({ term: { 'operation_history.op_object.pays.asset_id.keyword': paysAssetId } });
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
size: 0,
|
|
90
|
-
query: { bool: { filter: filters } },
|
|
91
|
-
aggs: {
|
|
92
|
-
by_time: {
|
|
93
|
-
date_histogram: {
|
|
94
|
-
field: 'block_data.block_time',
|
|
95
|
-
fixed_interval: toIntervalLabel(intervalSeconds),
|
|
96
|
-
min_doc_count: 1,
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
total: { value_count: { field: 'operation_type' } },
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Time-bucketed count of limit_order_cancel ops for an account.
|
|
105
|
-
*/
|
|
106
|
-
function buildOrderCancelQuery(accountId, lookbackHours, intervalSeconds = 3600) {
|
|
107
|
-
return {
|
|
108
|
-
size: 0,
|
|
109
|
-
query: {
|
|
110
|
-
bool: {
|
|
111
|
-
filter: [
|
|
112
|
-
{ term: { operation_type: OP_LIMIT_ORDER_CANCEL } },
|
|
113
|
-
{ term: { 'operation_history.op_object.fee_paying_account.keyword': accountId } },
|
|
114
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
aggs: {
|
|
119
|
-
by_time: {
|
|
120
|
-
date_histogram: {
|
|
121
|
-
field: 'block_data.block_time',
|
|
122
|
-
fixed_interval: toIntervalLabel(intervalSeconds),
|
|
123
|
-
min_doc_count: 1,
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
total: { value_count: { field: 'operation_type' } },
|
|
127
|
-
},
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Daily activity breakdown by operation type for an account.
|
|
132
|
-
* Merges creates (by seller), fills (by account_id), cancels (by fee_paying_account)
|
|
133
|
-
* into one aggregation using a filter per op type.
|
|
134
|
-
*/
|
|
135
|
-
function buildDailyActivityQuery(accountId, lookbackHours) {
|
|
136
|
-
return {
|
|
137
|
-
size: 0,
|
|
138
|
-
query: {
|
|
139
|
-
bool: {
|
|
140
|
-
filter: [
|
|
141
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
142
|
-
],
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
aggs: {
|
|
146
|
-
creates: {
|
|
147
|
-
filter: {
|
|
148
|
-
bool: {
|
|
149
|
-
filter: [
|
|
150
|
-
{ term: { operation_type: OP_LIMIT_ORDER_CREATE } },
|
|
151
|
-
{ term: { 'operation_history.op_object.seller.keyword': accountId } },
|
|
152
|
-
],
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
aggs: {
|
|
156
|
-
by_day: {
|
|
157
|
-
date_histogram: { field: 'block_data.block_time', fixed_interval: '1d', min_doc_count: 1 },
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
fills: {
|
|
162
|
-
filter: {
|
|
163
|
-
bool: {
|
|
164
|
-
filter: [
|
|
165
|
-
{ term: { operation_type: OP_FILL_ORDER } },
|
|
166
|
-
{ term: { 'operation_history.op_object.account_id.keyword': accountId } },
|
|
167
|
-
],
|
|
168
|
-
},
|
|
169
|
-
},
|
|
170
|
-
aggs: {
|
|
171
|
-
by_day: {
|
|
172
|
-
date_histogram: { field: 'block_data.block_time', fixed_interval: '1d', min_doc_count: 1 },
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
},
|
|
176
|
-
cancels: {
|
|
177
|
-
filter: {
|
|
178
|
-
bool: {
|
|
179
|
-
filter: [
|
|
180
|
-
{ term: { operation_type: OP_LIMIT_ORDER_CANCEL } },
|
|
181
|
-
{ term: { 'operation_history.op_object.fee_paying_account.keyword': accountId } },
|
|
182
|
-
],
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
aggs: {
|
|
186
|
-
by_day: {
|
|
187
|
-
date_histogram: { field: 'block_data.block_time', fixed_interval: '1d', min_doc_count: 1 },
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
45
|
// ─── Raw document query builders (size>0, for price/grid analysis) ────────────
|
|
195
46
|
/**
|
|
196
47
|
* Fetch raw limit_order_create documents for grid spacing analysis.
|
|
@@ -223,97 +74,6 @@ function buildOrderPriceQuery(accountId, lookbackHours, sellAssetId = null, maxR
|
|
|
223
74
|
sort: [{ 'block_data.block_time': { order: 'desc' } }],
|
|
224
75
|
};
|
|
225
76
|
}
|
|
226
|
-
/**
|
|
227
|
-
* Fetch raw fill_order documents for fill-price analysis.
|
|
228
|
-
*
|
|
229
|
-
* @param {string} accountId
|
|
230
|
-
* @param {number} lookbackHours
|
|
231
|
-
* @param {string} [paysAssetId]
|
|
232
|
-
* @param {number} [maxResults]
|
|
233
|
-
* @returns {Object} Elasticsearch query object
|
|
234
|
-
*/
|
|
235
|
-
function buildFillPriceQuery(accountId, lookbackHours, paysAssetId = null, maxResults = 500) {
|
|
236
|
-
const filters = [
|
|
237
|
-
{ term: { operation_type: OP_FILL_ORDER } },
|
|
238
|
-
{ term: { 'operation_history.op_object.account_id.keyword': accountId } },
|
|
239
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
240
|
-
];
|
|
241
|
-
if (paysAssetId) {
|
|
242
|
-
filters.push({ term: { 'operation_history.op_object.pays.asset_id.keyword': paysAssetId } });
|
|
243
|
-
}
|
|
244
|
-
return {
|
|
245
|
-
size: maxResults,
|
|
246
|
-
_source: [
|
|
247
|
-
'block_data.block_time',
|
|
248
|
-
'operation_history.op_object.pays',
|
|
249
|
-
'operation_history.op_object.receives',
|
|
250
|
-
'operation_history.op_object.order_id',
|
|
251
|
-
],
|
|
252
|
-
query: { bool: { filter: filters } },
|
|
253
|
-
sort: [{ 'block_data.block_time': { order: 'desc' } }],
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Discover which asset pairs an account trades by aggregating the sell asset IDs.
|
|
258
|
-
* Returns top asset IDs by order count.
|
|
259
|
-
*/
|
|
260
|
-
function buildAssetDiscoveryQuery(accountId, lookbackHours) {
|
|
261
|
-
return {
|
|
262
|
-
size: 0,
|
|
263
|
-
query: {
|
|
264
|
-
bool: {
|
|
265
|
-
filter: [
|
|
266
|
-
{ term: { operation_type: OP_LIMIT_ORDER_CREATE } },
|
|
267
|
-
{ term: { 'operation_history.op_object.seller.keyword': accountId } },
|
|
268
|
-
{ range: { 'block_data.block_time': { gte: `now-${lookbackHours}h`, lte: 'now' } } },
|
|
269
|
-
],
|
|
270
|
-
},
|
|
271
|
-
},
|
|
272
|
-
aggs: {
|
|
273
|
-
sell_assets: {
|
|
274
|
-
terms: {
|
|
275
|
-
field: 'operation_history.op_object.amount_to_sell.asset_id.keyword',
|
|
276
|
-
size: 10,
|
|
277
|
-
},
|
|
278
|
-
},
|
|
279
|
-
recv_assets: {
|
|
280
|
-
terms: {
|
|
281
|
-
field: 'operation_history.op_object.min_to_receive.asset_id.keyword',
|
|
282
|
-
size: 10,
|
|
283
|
-
},
|
|
284
|
-
},
|
|
285
|
-
},
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
// ─── Fetch helpers ────────────────────────────────────────────────────────────
|
|
289
|
-
async function fetchOrderCreate(accountId, lookbackHours, config = {}, sellAssetId = null, intervalSeconds = 3600) {
|
|
290
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
291
|
-
return kibanaSearch(cfg, buildOrderCreateQuery(accountId, lookbackHours, intervalSeconds, sellAssetId));
|
|
292
|
-
}
|
|
293
|
-
async function fetchFillOrder(accountId, lookbackHours, config = {}, paysAssetId = null, intervalSeconds = 3600) {
|
|
294
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
295
|
-
return kibanaSearch(cfg, buildFillOrderQuery(accountId, lookbackHours, intervalSeconds, paysAssetId));
|
|
296
|
-
}
|
|
297
|
-
async function fetchOrderCancel(accountId, lookbackHours, config = {}, intervalSeconds = 3600) {
|
|
298
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
299
|
-
return kibanaSearch(cfg, buildOrderCancelQuery(accountId, lookbackHours, intervalSeconds));
|
|
300
|
-
}
|
|
301
|
-
async function fetchOrderPrices(accountId, lookbackHours, config = {}, sellAssetId = null, maxResults = 1000) {
|
|
302
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
303
|
-
return kibanaSearch(cfg, buildOrderPriceQuery(accountId, lookbackHours, sellAssetId, maxResults));
|
|
304
|
-
}
|
|
305
|
-
async function fetchFillPrices(accountId, lookbackHours, config = {}, paysAssetId = null, maxResults = 500) {
|
|
306
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
307
|
-
return kibanaSearch(cfg, buildFillPriceQuery(accountId, lookbackHours, paysAssetId, maxResults));
|
|
308
|
-
}
|
|
309
|
-
async function fetchDailyActivity(accountId, lookbackHours, config = {}) {
|
|
310
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
311
|
-
return kibanaSearch(cfg, buildDailyActivityQuery(accountId, lookbackHours));
|
|
312
|
-
}
|
|
313
|
-
async function fetchAssetDiscovery(accountId, lookbackHours, config = {}) {
|
|
314
|
-
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
315
|
-
return kibanaSearch(cfg, buildAssetDiscoveryQuery(accountId, lookbackHours));
|
|
316
|
-
}
|
|
317
77
|
// ─── Discovery query builders ─────────────────────────────────────────────────
|
|
318
78
|
/**
|
|
319
79
|
* Top N accounts by limit_order_create count (seller field).
|
|
@@ -395,5 +155,5 @@ function buildTopFilledAccountsQuery(lookbackHours, topN = 100, minFills = 3) {
|
|
|
395
155
|
};
|
|
396
156
|
}
|
|
397
157
|
// ─── Exports ──────────────────────────────────────────────────────────────────
|
|
398
|
-
export {
|
|
158
|
+
export { DEFAULT_CONFIG, kibanaSearch, buildOrderPriceQuery, buildTopSellerAccountsQuery, buildTopCancellerAccountsQuery, buildTopFilledAccountsQuery };
|
|
399
159
|
//# sourceMappingURL=kibana_bot_queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kibana_bot_queries.js","sourceRoot":"","sources":["../../../analysis/bot_usage/kibana_bot_queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"kibana_bot_queries.js","sourceRoot":"","sources":["../../../analysis/bot_usage/kibana_bot_queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared CSS fragments for uPlot chart generators.
|
|
3
|
-
*
|
|
4
|
-
* All functions return raw CSS strings for interpolation into HTML template
|
|
5
|
-
* literals. Consumers compose these fragments inside their `<style>` blocks.
|
|
6
|
-
*/
|
|
7
|
-
declare function baseResetCSS(): string;
|
|
8
|
-
declare function headerCSS(height?: number): string;
|
|
9
|
-
declare function panelsCSS(headerHeight?: number): string;
|
|
10
|
-
declare function uplotBgCSS(): string;
|
|
11
|
-
declare function dotCSS(): string;
|
|
12
|
-
declare function cursorCSS(): string;
|
|
13
|
-
declare function sectionLabelCSS(): string;
|
|
14
|
-
declare function legendCSS(): string;
|
|
15
1
|
declare function sharedChartCSS(): string;
|
|
16
|
-
export {
|
|
2
|
+
export { sharedChartCSS };
|
|
17
3
|
//# sourceMappingURL=chart_css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart_css.d.ts","sourceRoot":"","sources":["../../analysis/chart_css.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chart_css.d.ts","sourceRoot":"","sources":["../../analysis/chart_css.ts"],"names":[],"mappings":"AA8CA,iBAAS,cAAc,IAAI,MAAM,CAWhC;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart_css.js","sourceRoot":"","sources":["../../analysis/chart_css.ts"],"names":[],"mappings":"AACA,YAAY,CAAC;AAEb;;;;;GAKG;AAEH,SAAS,YAAY;IACjB,OAAO;oIACyH,CAAC;AACrI,CAAC;AAED,SAAS,SAAS,CAAC,MAAM,GAAG,EAAE;IAC1B,OAAO,oKAAoK,MAAM,qBAAqB,CAAC;AAC3M,CAAC;AAED,SAAS,SAAS,CAAC,YAAY,GAAG,EAAE;IAChC,OAAO,yEAAyE,YAAY,sBAAsB,CAAC;AACvH,CAAC;AAED,SAAS,UAAU;IACf,OAAO,iCAAiC,CAAC;AAC7C,CAAC;AAED,SAAS,MAAM;IACX,OAAO,yEAAyE,CAAC;AACrF,CAAC;AAED,SAAS,SAAS;IACd,OAAO;;oDAEyC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe;IACpB,OAAO,kLAAkL,CAAC;AAC9L,CAAC;AAED,SAAS,SAAS;IACd,OAAO;uEAC4D,CAAC;AACxE,CAAC;AAED,SAAS,cAAc;IACnB,OAAO;QACH,YAAY,EAAE;QACd,SAAS,EAAE;QACX,SAAS,EAAE;QACX,UAAU,EAAE;QACZ,MAAM,EAAE;QACR,SAAS,EAAE;QACX,eAAe,EAAE;QACjB,SAAS,EAAE;KACd,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzB,CAAC;AAED,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chart_css.js","sourceRoot":"","sources":["../../analysis/chart_css.ts"],"names":[],"mappings":"AACA,YAAY,CAAC;AAEb;;;;;GAKG;AAEH,SAAS,YAAY;IACjB,OAAO;oIACyH,CAAC;AACrI,CAAC;AAED,SAAS,SAAS,CAAC,MAAM,GAAG,EAAE;IAC1B,OAAO,oKAAoK,MAAM,qBAAqB,CAAC;AAC3M,CAAC;AAED,SAAS,SAAS,CAAC,YAAY,GAAG,EAAE;IAChC,OAAO,yEAAyE,YAAY,sBAAsB,CAAC;AACvH,CAAC;AAED,SAAS,UAAU;IACf,OAAO,iCAAiC,CAAC;AAC7C,CAAC;AAED,SAAS,MAAM;IACX,OAAO,yEAAyE,CAAC;AACrF,CAAC;AAED,SAAS,SAAS;IACd,OAAO;;oDAEyC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe;IACpB,OAAO,kLAAkL,CAAC;AAC9L,CAAC;AAED,SAAS,SAAS;IACd,OAAO;uEAC4D,CAAC;AACxE,CAAC;AAED,SAAS,cAAc;IACnB,OAAO;QACH,YAAY,EAAE;QACd,SAAS,EAAE;QACX,SAAS,EAAE;QACX,UAAU,EAAE;QACZ,MAAM,EAAE;QACR,SAAS,EAAE;QACX,eAAe,EAAE;QACjB,SAAS,EAAE;KACd,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { getCandleClose,
|
|
2
|
-
import { computeATRSeries } from '../market_adapter/core/strategies/atr/calculator.js';
|
|
1
|
+
import { getCandleClose, getCandleTimestamp, normalizeCandle } from '../market_adapter/candle_utils.js';
|
|
3
2
|
/**
|
|
4
3
|
* Math utilities for analysis scripts.
|
|
5
4
|
*
|
|
6
|
-
* Candle accessors
|
|
7
|
-
* market_adapter (candle_utils.ts / strategies/atr/calculator.ts) and
|
|
5
|
+
* Candle accessors are centralized in market_adapter (candle_utils.ts) and
|
|
8
6
|
* re-exported here so analysis tooling shares one logic path with the
|
|
9
7
|
* live adapter and the browser-embedded chart scripts.
|
|
10
8
|
*/
|
|
@@ -18,5 +16,5 @@ declare function loadCandleFile(filePath: any): {
|
|
|
18
16
|
candles: any;
|
|
19
17
|
meta: any;
|
|
20
18
|
};
|
|
21
|
-
export { range, calcStdDev,
|
|
19
|
+
export { range, calcStdDev, getCandleClose, getCandleTimestamp, normalizeCandle, loadCandleFile, };
|
|
22
20
|
//# sourceMappingURL=math_utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math_utils.d.ts","sourceRoot":"","sources":["../../analysis/math_utils.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"math_utils.d.ts","sourceRoot":"","sources":["../../analysis/math_utils.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,EAClB,MAAM,mCAAmC,CAAC;AAG3C;;;;;;GAMG;AAEH,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,GAAO,YAIvE;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,GAAG,UAI3B;AAED;;;GAGG;AACH,iBAAS,cAAc,CAAC,QAAQ,EAAE,GAAG;;;EAOpC;AAED,OAAO,EACH,KAAK,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,GACjB,CAAA"}
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import { getStorage } from '../modules/storage/index.js';
|
|
4
4
|
const { readJSON } = getStorage();
|
|
5
|
-
import { getCandleClose,
|
|
6
|
-
import { computeATRSeries } from '../market_adapter/core/strategies/atr/calculator.js';
|
|
5
|
+
import { getCandleClose, getCandleTimestamp, normalizeCandle, } from '../market_adapter/candle_utils.js';
|
|
7
6
|
/**
|
|
8
7
|
* Math utilities for analysis scripts.
|
|
9
8
|
*
|
|
10
|
-
* Candle accessors
|
|
11
|
-
* market_adapter (candle_utils.ts / strategies/atr/calculator.ts) and
|
|
9
|
+
* Candle accessors are centralized in market_adapter (candle_utils.ts) and
|
|
12
10
|
* re-exported here so analysis tooling shares one logic path with the
|
|
13
11
|
* live adapter and the browser-embedded chart scripts.
|
|
14
12
|
*/
|
|
@@ -39,5 +37,5 @@ function loadCandleFile(filePath) {
|
|
|
39
37
|
return { candles: raw.data, meta: raw };
|
|
40
38
|
return { candles: [], meta: null };
|
|
41
39
|
}
|
|
42
|
-
export { range, calcStdDev,
|
|
40
|
+
export { range, calcStdDev, getCandleClose, getCandleTimestamp, normalizeCandle, loadCandleFile, };
|
|
43
41
|
//# sourceMappingURL=math_utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math_utils.js","sourceRoot":"","sources":["../../analysis/math_utils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;AAClC,OAAO,EACH,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"math_utils.js","sourceRoot":"","sources":["../../analysis/math_utils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;AAClC,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,GAClB,MAAM,mCAAmC,CAAC;AAG3C;;;;;;GAMG;AAEH,SAAS,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY,EAAE,WAAgB,CAAC;IACpE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACnE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,QAAa;IACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC9F,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC5E,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,OAAO,EACH,KAAK,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,GACjB,CAAA"}
|
package/dist/bot.js
CHANGED
|
@@ -100,7 +100,7 @@ if (!botName) {
|
|
|
100
100
|
*/
|
|
101
101
|
function loadBotConfig(name) {
|
|
102
102
|
if (!storage.exists(PROFILES_BOTS_FILE)) {
|
|
103
|
-
launcherLogger.error(
|
|
103
|
+
launcherLogger.error(`${PROFILES_BOTS_FILE} not found. Run: dexbot bot`);
|
|
104
104
|
runtime.exit(1);
|
|
105
105
|
}
|
|
106
106
|
try {
|
|
@@ -118,7 +118,7 @@ function loadBotConfig(name) {
|
|
|
118
118
|
}
|
|
119
119
|
if (!botEntry) {
|
|
120
120
|
const bots = resolveRawBotEntries(config);
|
|
121
|
-
launcherLogger.error(`Bot '${name}' not found in
|
|
121
|
+
launcherLogger.error(`Bot '${name}' not found in ${PROFILES_BOTS_FILE}`);
|
|
122
122
|
launcherLogger.error(`Available bots: ${bots.map((b) => b.name).join(', ') || 'none'}`);
|
|
123
123
|
runtime.exit(1);
|
|
124
124
|
}
|
package/dist/bot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../bot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../bot.ts"],"names":[],"mappings":"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"}
|
|
@@ -809,7 +809,7 @@ async function initialize() {
|
|
|
809
809
|
// Check that the key vault exists at the resolved profiles dir
|
|
810
810
|
const keysPath = PATHS.PROFILES.KEYS_JSON();
|
|
811
811
|
if (!storage.exists(keysPath)) {
|
|
812
|
-
throw new Error(
|
|
812
|
+
throw new Error(`Key vault not found at ${keysPath}. Please run: dexbot key`);
|
|
813
813
|
}
|
|
814
814
|
// Accept a one-shot bootstrap secret when launched by a wrapper,
|
|
815
815
|
// otherwise prompt once interactively.
|