dexbot 1.6.3 → 1.6.5
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 +78 -2
- package/README.md +23 -19
- package/analysis/README.md +26 -13
- package/analysis/account_resolver.ts +171 -0
- package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +2 -5
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/analyze_dynamic_weight.ts +9 -3
- package/analysis/bot_usage/discover_bot_accounts.ts +20 -27
- package/analysis/chain_pool.ts +47 -0
- package/analysis/chart_utils.ts +33 -20
- package/analysis/derivative_chart_generator.ts +2 -3
- package/analysis/fills_source.ts +234 -0
- package/analysis/grid_correction_check.ts +38 -251
- package/analysis/trade_profitability.ts +169 -304
- package/analysis/tradingview/README.md +2 -2
- package/analysis/tradingview/analyze_tradingview.ts +5 -0
- package/analysis/tradingview/tradingview_uplot_chart_generator.ts +5 -6
- package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +35 -2
- package/analysis/trend_detection/dynamic_weight_chart_generator.ts +84 -13
- package/analysis/trend_detection/kalman_chart_generator.ts +2 -3
- package/analysis/trend_detection/package.json +1 -1
- package/analysis/trend_detection/regime_chart_generator.ts +2 -3
- package/analysis/trend_detection/volatility_chart_generator.ts +2 -3
- package/claw/modules/dexbot_profiles.ts +4 -3
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/claw/tests/test_dexbot_profiles.ts +18 -1
- package/dist/analysis/account_resolver.d.ts +43 -0
- package/dist/analysis/account_resolver.d.ts.map +1 -0
- package/dist/analysis/account_resolver.js +137 -0
- package/dist/analysis/account_resolver.js.map +1 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +1 -1
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +2 -4
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -1
- package/dist/analysis/analyze_dynamic_weight.js +9 -3
- package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
- package/dist/analysis/bot_usage/discover_bot_accounts.js +20 -28
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
- package/dist/analysis/chain_pool.d.ts +10 -0
- package/dist/analysis/chain_pool.d.ts.map +1 -0
- package/dist/analysis/chain_pool.js +47 -0
- package/dist/analysis/chain_pool.js.map +1 -0
- package/dist/analysis/chart_utils.d.ts +14 -1
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +32 -22
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/derivative_chart_generator.d.ts.map +1 -1
- package/dist/analysis/derivative_chart_generator.js +2 -3
- package/dist/analysis/derivative_chart_generator.js.map +1 -1
- package/dist/analysis/fills_source.d.ts +79 -0
- package/dist/analysis/fills_source.d.ts.map +1 -0
- package/dist/analysis/fills_source.js +186 -0
- package/dist/analysis/fills_source.js.map +1 -0
- package/dist/analysis/grid_correction_check.d.ts +1 -21
- package/dist/analysis/grid_correction_check.d.ts.map +1 -1
- package/dist/analysis/grid_correction_check.js +30 -257
- package/dist/analysis/grid_correction_check.js.map +1 -1
- package/dist/analysis/trade_profitability.d.ts +18 -19
- package/dist/analysis/trade_profitability.d.ts.map +1 -1
- package/dist/analysis/trade_profitability.js +136 -280
- package/dist/analysis/trade_profitability.js.map +1 -1
- package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -1
- package/dist/analysis/tradingview/analyze_tradingview.js +5 -0
- package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +5 -6
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +84 -13
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.js +2 -3
- package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/regime_chart_generator.js +2 -3
- package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.js +2 -3
- package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +27 -68
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.d.ts +2 -2
- package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +15 -12
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/interval_utils.d.ts +1 -1
- package/dist/market_adapter/interval_utils.js +1 -1
- package/dist/market_adapter/lp_chart_core.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +2 -3
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/modules/account_bots.d.ts +51 -18
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +258 -117
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.d.ts +1 -84
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +1 -38
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bot_defaults.d.ts +98 -0
- package/dist/modules/bot_defaults.d.ts.map +1 -0
- package/dist/modules/bot_defaults.js +169 -0
- package/dist/modules/bot_defaults.js.map +1 -0
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +4 -1
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/cli_colors.d.ts +0 -1
- package/dist/modules/cli_colors.d.ts.map +1 -1
- package/dist/modules/config.d.ts +1 -0
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +1 -0
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +11 -2
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +45 -32
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +1 -25
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +1 -1
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +1 -6
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +1 -1
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credential_session_cache.d.ts +1 -5
- package/dist/modules/credential_session_cache.d.ts.map +1 -1
- package/dist/modules/credential_session_cache.js +1 -1
- package/dist/modules/credential_session_cache.js.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts +1 -2
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.js +1 -1
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +8 -7
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +9 -8
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +7 -6
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +8 -7
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +1 -17
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +1 -1
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +2 -2
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +24 -8
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +1 -7
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +1 -1
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/launcher/adapter_requirement.d.ts +1 -5
- package/dist/modules/launcher/adapter_requirement.d.ts.map +1 -1
- package/dist/modules/launcher/adapter_requirement.js +2 -2
- package/dist/modules/launcher/adapter_requirement.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts +1 -6
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +1 -1
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.d.ts +1 -3
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/launch_modes.d.ts +17 -2
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
- package/dist/modules/launcher/launch_modes.js +18 -1
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -3
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +1 -5
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +9 -2
- 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 -1
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.d.ts +40 -1
- package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +161 -11
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/order/export.d.ts +1 -8
- package/dist/modules/order/export.d.ts.map +1 -1
- package/dist/modules/order/export.js +1 -1
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/grid.d.ts +16 -0
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +75 -103
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +1 -10
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +2 -2
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.d.ts +10 -2
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +20 -8
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +8 -15
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +1 -10
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +1 -1
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +5 -16
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +7 -4
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/process_discovery.d.ts +0 -3
- package/dist/modules/process_discovery.d.ts.map +1 -1
- package/dist/modules/process_discovery.js +1 -1
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/settings_merge.d.ts +10 -1
- package/dist/modules/settings_merge.d.ts.map +1 -1
- package/dist/modules/settings_merge.js +27 -17
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/utils/chain_logs.d.ts +1 -2
- package/dist/modules/utils/chain_logs.d.ts.map +1 -1
- package/dist/modules/utils/chain_logs.js +1 -1
- package/dist/modules/utils/chain_logs.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +4 -3
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/scripts/analyze-git.js +2 -2
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/chart_command.d.ts +48 -0
- package/dist/scripts/chart_command.d.ts.map +1 -0
- package/dist/scripts/chart_command.js +504 -0
- package/dist/scripts/chart_command.js.map +1 -0
- package/dist/scripts/dw.d.ts +3 -0
- package/dist/scripts/dw.d.ts.map +1 -0
- package/dist/scripts/dw.js +30 -0
- package/dist/scripts/dw.js.map +1 -0
- package/dist/scripts/tv.d.ts +1 -31
- package/dist/scripts/tv.d.ts.map +1 -1
- package/dist/scripts/tv.js +10 -463
- package/dist/scripts/tv.js.map +1 -1
- package/dist/scripts/update.js +145 -93
- package/dist/scripts/update.js.map +1 -1
- package/dist/scripts/update_dist_freshness.d.ts +46 -0
- package/dist/scripts/update_dist_freshness.d.ts.map +1 -0
- package/dist/scripts/update_dist_freshness.js +115 -0
- package/dist/scripts/update_dist_freshness.js.map +1 -0
- package/dist/unlock.js +1 -1
- package/dist/unlock.js.map +1 -1
- package/docs/BITSHARES_ONBOARDING.md +117 -44
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +10 -207
- package/docs/COW_INVARIANTS.md +16 -10
- package/docs/DEXBOT_COMPARISON.md +3 -3
- package/docs/EVOLUTION.md +76 -30
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +9 -9
- package/docs/GRID_RECALCULATION.md +34 -30
- package/docs/GRID_RECONCILE.md +30 -27
- package/docs/LIFECYCLE.md +12 -11
- package/docs/LOGGING.md +1 -0
- package/docs/README.md +58 -52
- package/docs/WORKFLOW.md +1 -2
- package/docs/architecture.md +21 -32
- package/docs/developer_guide.md +4 -3
- package/market_adapter/README.md +36 -60
- package/modules/README.md +2 -1
- package/package.json +1 -2
- package/scripts/README.md +18 -25
- package/scripts/git-viewer.sh +1 -1
- package/scripts/reset-settings.sh +1 -1
- package/tests/README.md +10 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts +0 -15
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +0 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +0 -191
- package/dist/scripts/generate_market_adapter_whitelist.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../modules/order/export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../modules/order/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,15 @@
|
|
|
92
92
|
*
|
|
93
93
|
* ===============================================================================
|
|
94
94
|
*/
|
|
95
|
+
/**
|
|
96
|
+
* Central resolution for the RMS structural-divergence threshold (percent).
|
|
97
|
+
* Single source of truth: per-bot override wins, global GRID_COMPARISON default
|
|
98
|
+
* is the fallback. Used by compareGrids() and re-exported for the maintenance
|
|
99
|
+
* runtime so the reset log always shows the level that actually fired.
|
|
100
|
+
* @param {any} manager - OrderManager instance (may be null)
|
|
101
|
+
* @returns {number} Threshold in percent (0 = disabled)
|
|
102
|
+
*/
|
|
103
|
+
export declare function resolveRmsThresholdPct(manager: any): number;
|
|
95
104
|
import { calculateGapSlots as _mathGapSlots } from './utils/math.js';
|
|
96
105
|
declare const calculateGapSlots: typeof _mathGapSlots;
|
|
97
106
|
export { calculateGapSlots };
|
|
@@ -311,6 +320,13 @@ export declare function updateGridFromBlockchainSnapshot(manager: any, orderType
|
|
|
311
320
|
* Each side's RMS divergence is compared against its own threshold.
|
|
312
321
|
* Only sides exceeding the threshold are marked for update.
|
|
313
322
|
*
|
|
323
|
+
* SCOPE: ACTIVE + VIRTUAL orders per side. VIRTUAL slots carry the planned
|
|
324
|
+
* reservation for unplaced rail slots (see funds.virtual); a persisted-vs-ideal
|
|
325
|
+
* drift there inflates the reservation and thereby pins Available
|
|
326
|
+
* (Available = ChainFree - Virtual - fees), so it is structural, not transient.
|
|
327
|
+
* PARTIAL orders are excluded (expected to deviate mid-fill); SPREAD placeholders
|
|
328
|
+
* are excluded (size-0, no committed structure).
|
|
329
|
+
*
|
|
314
330
|
* PURPOSE: Detect if the calculated in-memory grid has diverged significantly from the
|
|
315
331
|
* persisted grid state. High divergence indicates that order fills/rotations have caused
|
|
316
332
|
* size distributions to deviate, potentially requiring grid size recalculation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAkBH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAG3D;AAWD,OAAO,EAeH,iBAAiB,IAAI,aAAa,EAcrC,MAAM,iBAAiB,CAAC;AA8BzB,QAAA,MAAM,iBAAiB,sBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CA0DxD;AAED;;;;;;;;;;;;GAYG;AACP,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAOpD;AAED;;;;GAIG;AACP,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAEjD;AAED;;;;;;;;GAQG;AACP,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAkB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO;;;;UAyDjH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACP,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAiJ5C;AA2BD;;;;;;;;;;;;;;GAcG;AACP,wBAAsB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAE,GAAU,EAAE,YAAY,GAAE,GAAU,EAAE,OAAO,GAAE;IAAE,0BAA0B,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAod3K;AAUL;;;;;OAKO;AACP,wBAAsB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA4a5D;AAED;;;;;;;;;GASG;AACP,wBAAsB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAgIxE;AAED;;;;;GAKG;AACP,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAiFxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACP,wBAAsB,wCAAwC,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,GAAG,CAAA;CAAO;;;eAiK3H;AAED;;;;;;;;;;GAUG;AACP,wBAAsB,gCAAgC,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,GAAE,GAAY,EAAE,mBAAmB,GAAE,GAAW,EAAE,mBAAmB,GAAE,GAAU;;;;;;;UAgE1J;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACP,wBAAsB,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,GAAE,GAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAuIzG;AAED;;;;;;;;GAQG;AACP,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CA6BvG;AA6BD;;;;GAIG;AACP,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACP,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,wBAAwB,GAAE,GAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAwOxH;AAED;;;;;;;;;;;;GAYG;AACP,wBAAsB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,yBAAyB,GAAE,GAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAenG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACP,wBAAsB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAiF5D;AA8ED;;;;;;GAMG;AACP,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAIrF;AAED;;;;;;;GAOG;AACP,wBAAsB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAItF;AAED;;;;;;GAMG;AACP,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,GAAG,GAAG,CAyEhF;AAmED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAE,MAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CA6b3H"}
|
|
@@ -95,13 +95,24 @@
|
|
|
95
95
|
import { createRequire } from 'node:module';
|
|
96
96
|
const require = createRequire(import.meta.url);
|
|
97
97
|
import { ORDER_TYPES, ORDER_STATES, COW_ACTIONS, DEFAULT_CONFIG, GRID_LIMITS, TIMING, PIPELINE_TIMING, MARKET_ADAPTER, INCREMENT_BOUNDS } from '../constants.js';
|
|
98
|
-
const { GRID_COMPARISON } = GRID_LIMITS;
|
|
99
98
|
import * as Format from './format.js';
|
|
100
99
|
import { resolveMaxAsymmetryFactor, applyAsymmetricBounds, applyNarrowingSideGuard, } from '../../market_adapter/core/asymmetric_bounds.js';
|
|
101
100
|
// FIX: Extract magic numbers to named constants for maintainability
|
|
102
101
|
const GRID_CONSTANTS = {
|
|
103
102
|
RMS_PERCENTAGE_SCALE: 100, // Convert RMS percentage threshold from percent to decimal
|
|
104
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Central resolution for the RMS structural-divergence threshold (percent).
|
|
106
|
+
* Single source of truth: per-bot override wins, global GRID_COMPARISON default
|
|
107
|
+
* is the fallback. Used by compareGrids() and re-exported for the maintenance
|
|
108
|
+
* runtime so the reset log always shows the level that actually fired.
|
|
109
|
+
* @param {any} manager - OrderManager instance (may be null)
|
|
110
|
+
* @returns {number} Threshold in percent (0 = disabled)
|
|
111
|
+
*/
|
|
112
|
+
export function resolveRmsThresholdPct(manager) {
|
|
113
|
+
return manager?.config?.gridLimits?.GRID_COMPARISON?.RMS_PERCENTAGE
|
|
114
|
+
?? GRID_LIMITS.GRID_COMPARISON.RMS_PERCENTAGE;
|
|
115
|
+
}
|
|
105
116
|
function _snapshotFundState(manager) {
|
|
106
117
|
return {
|
|
107
118
|
buyFree: Number(manager.accountTotals?.buyFree || 0),
|
|
@@ -1768,6 +1779,13 @@ export async function updateGridFromBlockchainSnapshot(manager, orderType = 'bot
|
|
|
1768
1779
|
* Each side's RMS divergence is compared against its own threshold.
|
|
1769
1780
|
* Only sides exceeding the threshold are marked for update.
|
|
1770
1781
|
*
|
|
1782
|
+
* SCOPE: ACTIVE + VIRTUAL orders per side. VIRTUAL slots carry the planned
|
|
1783
|
+
* reservation for unplaced rail slots (see funds.virtual); a persisted-vs-ideal
|
|
1784
|
+
* drift there inflates the reservation and thereby pins Available
|
|
1785
|
+
* (Available = ChainFree - Virtual - fees), so it is structural, not transient.
|
|
1786
|
+
* PARTIAL orders are excluded (expected to deviate mid-fill); SPREAD placeholders
|
|
1787
|
+
* are excluded (size-0, no committed structure).
|
|
1788
|
+
*
|
|
1771
1789
|
* PURPOSE: Detect if the calculated in-memory grid has diverged significantly from the
|
|
1772
1790
|
* persisted grid state. High divergence indicates that order fills/rotations have caused
|
|
1773
1791
|
* size distributions to deviate, potentially requiring grid size recalculation.
|
|
@@ -1809,12 +1827,15 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
|
|
|
1809
1827
|
calculatedSnap = snapshotResult.calculated;
|
|
1810
1828
|
persistedSnap = snapshotResult.persisted;
|
|
1811
1829
|
}
|
|
1812
|
-
// Filter to ACTIVE orders
|
|
1813
|
-
//
|
|
1814
|
-
//
|
|
1830
|
+
// Filter to ACTIVE + VIRTUAL orders (excludes PARTIAL/SPREAD).
|
|
1831
|
+
// VIRTUAL slots hold the planned reservation (funds.virtual) for unplaced
|
|
1832
|
+
// rail slots, so a persisted-vs-ideal drift there is structural: it moves
|
|
1833
|
+
// Available = ChainFree - Virtual - fees. Partial orders are excluded from
|
|
1834
|
+
// divergence calculation as they are expected to deviate; they are instead
|
|
1835
|
+
// handled by the available-funds ratio check or follow-up correction.
|
|
1815
1836
|
// Must be sorted ASC for calculateRotationOrderSizes to match geometric weight distribution
|
|
1816
1837
|
const filterForRms = (orders, type) => {
|
|
1817
|
-
const result = Array.isArray(orders) ? orders.filter((o) => o && o.type === type && o.state === ORDER_STATES.ACTIVE) : [];
|
|
1838
|
+
const result = Array.isArray(orders) ? orders.filter((o) => o && o.type === type && (o.state === ORDER_STATES.ACTIVE || o.state === ORDER_STATES.VIRTUAL)) : [];
|
|
1818
1839
|
return result
|
|
1819
1840
|
.sort((a, b) => (a.price ?? 0) - (b.price ?? 0));
|
|
1820
1841
|
};
|
|
@@ -1827,9 +1848,9 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
|
|
|
1827
1848
|
// so both buy and sell metrics share a single fund snapshot. This avoids the previous
|
|
1828
1849
|
// double-recalculateFunds between the two sides and keeps the metric consistent even if
|
|
1829
1850
|
// a fill event arrives between per-side calculations.
|
|
1830
|
-
const computeSideIdeals = (
|
|
1831
|
-
if (!manager || !ctx || ctx.budget <= 0 ||
|
|
1832
|
-
return
|
|
1851
|
+
const computeSideIdeals = (comparedOrders, type, ctx) => {
|
|
1852
|
+
if (!manager || !ctx || ctx.budget <= 0 || comparedOrders.length === 0)
|
|
1853
|
+
return comparedOrders;
|
|
1833
1854
|
// Identify ALL slots currently assigned to this side from the calculated
|
|
1834
1855
|
// grid snapshot (not a fresh read from manager.orders). Using the snapshot
|
|
1835
1856
|
// avoids TOCTOU races and ensures the slot classification is consistent with
|
|
@@ -1841,18 +1862,18 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
|
|
|
1841
1862
|
.filter((o) => o.type === type)
|
|
1842
1863
|
.sort((a, b) => (a.price ?? 0) - (b.price ?? 0));
|
|
1843
1864
|
if (sideSlots.length === 0)
|
|
1844
|
-
return
|
|
1865
|
+
return comparedOrders;
|
|
1845
1866
|
// Calculate geometric ideals for the ENTIRE side (all slots)
|
|
1846
1867
|
try {
|
|
1847
1868
|
const allIdealSizes = calculateRotationOrderSizes(ctx.budget, 0, sideSlots.length, type, manager.config, 0, ctx.precision);
|
|
1848
1869
|
// Map Ideal sizes to IDs for quick lookup
|
|
1849
1870
|
const idealMap = new Map();
|
|
1850
1871
|
sideSlots.forEach((slot, i) => idealMap.set(slot.id, allIdealSizes[i]));
|
|
1851
|
-
// Return the
|
|
1852
|
-
return
|
|
1872
|
+
// Return the compared subset with their true geometric ideal sizes
|
|
1873
|
+
return comparedOrders.map((o) => ({ ...o, size: idealMap.get(o.id) ?? 0 }));
|
|
1853
1874
|
}
|
|
1854
1875
|
catch (e) {
|
|
1855
|
-
return
|
|
1876
|
+
return comparedOrders;
|
|
1856
1877
|
}
|
|
1857
1878
|
};
|
|
1858
1879
|
const needsBuy = calculatedBuys.length > 0 && manager?.assets;
|
|
@@ -1874,8 +1895,9 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
|
|
|
1874
1895
|
// Check if metrics exceed threshold and flag sides for regeneration
|
|
1875
1896
|
// Set RMS_PERCENTAGE to 0 to disable RMS divergence checks
|
|
1876
1897
|
let buyUpdated = false, sellUpdated = false;
|
|
1877
|
-
|
|
1878
|
-
|
|
1898
|
+
const rmsThresholdPct = resolveRmsThresholdPct(manager);
|
|
1899
|
+
if (manager && rmsThresholdPct > 0) {
|
|
1900
|
+
const limit = rmsThresholdPct / GRID_CONSTANTS.RMS_PERCENTAGE_SCALE;
|
|
1879
1901
|
if (buyMetric > limit) {
|
|
1880
1902
|
// RC-3: Use Set for automatic duplicate prevention
|
|
1881
1903
|
if (!(manager._gridSidesUpdated instanceof Set))
|
|
@@ -1890,11 +1912,16 @@ export async function compareGrids(calculatedGrid, persistedGrid, manager = null
|
|
|
1890
1912
|
manager._gridSidesUpdated.add(ORDER_TYPES.SELL);
|
|
1891
1913
|
sellUpdated = true;
|
|
1892
1914
|
}
|
|
1915
|
+
manager.logger?.log?.(`[RMS] BUY check: metric=${Format.formatPercent(buyMetric * 100, 2)}% (threshold=${rmsThresholdPct}%) → ${buyUpdated ? 'TRIGGER-RESYNC' : 'no trigger'} | SELL check: metric=${Format.formatPercent(sellMetric * 100, 2)}% (threshold=${rmsThresholdPct}%) → ${sellUpdated ? 'TRIGGER-RESYNC' : 'no trigger'}`, 'debug');
|
|
1916
|
+
}
|
|
1917
|
+
else if (manager) {
|
|
1918
|
+
manager.logger?.log?.(`[RMS] checks disabled (threshold=${rmsThresholdPct}%) — buy=${Format.formatPercent(buyMetric * 100, 2)}%, sell=${Format.formatPercent(sellMetric * 100, 2)}%`, 'debug');
|
|
1893
1919
|
}
|
|
1894
1920
|
return {
|
|
1895
1921
|
buy: { metric: buyMetric, updated: buyUpdated },
|
|
1896
1922
|
sell: { metric: sellMetric, updated: sellUpdated },
|
|
1897
|
-
totalMetric: (buyMetric + sellMetric) / 2
|
|
1923
|
+
totalMetric: (buyMetric + sellMetric) / 2,
|
|
1924
|
+
thresholdPct: rmsThresholdPct
|
|
1898
1925
|
};
|
|
1899
1926
|
}
|
|
1900
1927
|
/**
|
|
@@ -1927,7 +1954,8 @@ export async function monitorDivergence(manager, calculatedGrid, persistedGrid)
|
|
|
1927
1954
|
needsUpdate: buyUpdated || sellUpdated,
|
|
1928
1955
|
buy: { updated: buyUpdated, ratio: ratioResult.buyUpdated, rms: rmsResult.buy.updated, metric: rmsResult.buy.metric, shrink: ratioResult.buyShrink === true },
|
|
1929
1956
|
sell: { updated: sellUpdated, ratio: ratioResult.sellUpdated, rms: rmsResult.sell.updated, metric: rmsResult.sell.metric, shrink: ratioResult.sellShrink === true },
|
|
1930
|
-
orderType: getOrderTypeFromUpdatedFlags(buyUpdated, sellUpdated)
|
|
1957
|
+
orderType: getOrderTypeFromUpdatedFlags(buyUpdated, sellUpdated),
|
|
1958
|
+
thresholdPct: rmsResult.thresholdPct
|
|
1931
1959
|
};
|
|
1932
1960
|
}
|
|
1933
1961
|
/**
|
|
@@ -1991,6 +2019,10 @@ export async function checkSpreadCondition(manager, _BitShares, updateOrdersOnCh
|
|
|
1991
2019
|
// This prevents concurrent fill processing from modifying funds while we're making decisions
|
|
1992
2020
|
let correction = null;
|
|
1993
2021
|
let shouldApplyCorrection = false;
|
|
2022
|
+
// Set when determineOrderSideByFunds finds no side to fund: the caller
|
|
2023
|
+
// refreshes account totals + open orders so the next cycle re-checks
|
|
2024
|
+
// against fresh balances instead of recycling resting orders.
|
|
2025
|
+
let fundsExhausted = false;
|
|
1994
2026
|
if (!manager._gridLock) {
|
|
1995
2027
|
manager.logger?.log?.('Spread check skipped: no grid lock available', 'warn');
|
|
1996
2028
|
return { ordersPlaced: 0, partialsMoved: 0 };
|
|
@@ -2082,8 +2114,10 @@ export async function checkSpreadCondition(manager, _BitShares, updateOrdersOnCh
|
|
|
2082
2114
|
}
|
|
2083
2115
|
catch { /* best-effort */ }
|
|
2084
2116
|
const decision = determineOrderSideByFunds(manager, lastPrice);
|
|
2085
|
-
if (!decision.side)
|
|
2117
|
+
if (!decision.side) {
|
|
2118
|
+
fundsExhausted = true;
|
|
2086
2119
|
return false;
|
|
2120
|
+
}
|
|
2087
2121
|
// Perform spread correction by placing orders on the chosen side.
|
|
2088
2122
|
correction = await prepareSpreadCorrectionOrders(manager, decision.side, manager.outOfSpread);
|
|
2089
2123
|
if (!correction)
|
|
@@ -2149,7 +2183,10 @@ export async function checkSpreadCondition(manager, _BitShares, updateOrdersOnCh
|
|
|
2149
2183
|
const rePlanDecision = determineOrderSideByFunds(manager, freshPrice);
|
|
2150
2184
|
if (!rePlanDecision.side) {
|
|
2151
2185
|
manager.logger?.log?.(`[SPREAD] Fund state changed; no side has sufficient funds for re-plan. Skipping cycle.`, 'warn');
|
|
2152
|
-
|
|
2186
|
+
// Same no-free-funds condition as the initial decision:
|
|
2187
|
+
// signal the caller to refresh account totals/open orders.
|
|
2188
|
+
fundsExhausted = true;
|
|
2189
|
+
return { ordersPlaced: 0, partialsMoved: 0, fundsExhausted };
|
|
2153
2190
|
}
|
|
2154
2191
|
const rePlanCorrection = await prepareSpreadCorrectionOrders(manager, rePlanDecision.side, manager.outOfSpread);
|
|
2155
2192
|
if (rePlanCorrection && ((rePlanCorrection.ordersToPlace?.length || 0) + (rePlanCorrection.ordersToUpdate?.length || 0) > 0)) {
|
|
@@ -2180,7 +2217,7 @@ export async function checkSpreadCondition(manager, _BitShares, updateOrdersOnCh
|
|
|
2180
2217
|
return { ordersPlaced: 0, partialsMoved: 0 };
|
|
2181
2218
|
}
|
|
2182
2219
|
}
|
|
2183
|
-
return { ordersPlaced: 0, partialsMoved: 0 };
|
|
2220
|
+
return { ordersPlaced: 0, partialsMoved: 0, fundsExhausted };
|
|
2184
2221
|
}
|
|
2185
2222
|
/**
|
|
2186
2223
|
* Grid health check for structural violations.
|
|
@@ -2449,47 +2486,18 @@ export function determineOrderSideByFunds(manager, currentMarketPrice) {
|
|
|
2449
2486
|
return { side: null, reason: skipReason };
|
|
2450
2487
|
}
|
|
2451
2488
|
if (!side) {
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
const buyComparable = committedBuy;
|
|
2459
|
-
const sellComparable = committedSell * marketPrice;
|
|
2460
|
-
side = buyComparable >= sellComparable ? ORDER_TYPES.BUY : ORDER_TYPES.SELL;
|
|
2461
|
-
}
|
|
2462
|
-
else if (committedBuy > buyMinUnit && committedSell <= sellMinUnit) {
|
|
2463
|
-
side = ORDER_TYPES.BUY;
|
|
2464
|
-
}
|
|
2465
|
-
else if (committedSell > sellMinUnit && committedBuy <= buyMinUnit) {
|
|
2466
|
-
side = ORDER_TYPES.SELL;
|
|
2467
|
-
}
|
|
2468
|
-
else {
|
|
2469
|
-
// Both sides hold committed inventory but market valuation is
|
|
2470
|
-
// unavailable — leave side null (skip) rather than default to
|
|
2471
|
-
// BUY. A deterministic cross-asset guess is exactly the
|
|
2472
|
-
// wrong-side risk above; the next cycle with a real price
|
|
2473
|
-
// decides. Carry the reason so the bottom skip log does not
|
|
2474
|
-
// misreport this branch as "no committed inventory".
|
|
2475
|
-
skipReason =
|
|
2476
|
-
`market price unavailable (${String(currentMarketPrice)}) with committed inventory on both sides ` +
|
|
2477
|
-
`(committed buy=${Format.formatAmount8(committedBuy)}, committed sell=${Format.formatAmount8(committedSell)})`;
|
|
2478
|
-
}
|
|
2479
|
-
if (side) {
|
|
2480
|
-
manager.logger?.log?.(`Spread correction using redistribution fallback on ${side} ` +
|
|
2481
|
-
`(free buy=${Format.formatAmount8(buyAvailable)}, free sell=${Format.formatAmount8(sellAvailable)}, ` +
|
|
2482
|
-
`price=${hasValidPrice ? Format.formatAmount8(marketPrice) : 'unavailable'})`, 'info');
|
|
2483
|
-
}
|
|
2484
|
-
}
|
|
2485
|
-
}
|
|
2486
|
-
if (!side) {
|
|
2489
|
+
// PURE FUND-DRIVEN: a zero/insufficient free balance skips the
|
|
2490
|
+
// correction outright. Committed inventory resting in orders is
|
|
2491
|
+
// never recycled to fund it — shrinking a resting order was the
|
|
2492
|
+
// source of stale-size inventory moves. The caller refreshes
|
|
2493
|
+
// account totals + open orders instead, because the balances may
|
|
2494
|
+
// simply be a stale snapshot (the grid does not lose funds).
|
|
2487
2495
|
manager.logger?.log?.(skipReason
|
|
2488
2496
|
? `Spread correction skipped: ${skipReason}`
|
|
2489
|
-
: `Spread correction skipped: insufficient free funds
|
|
2497
|
+
: `Spread correction skipped: insufficient free funds ` +
|
|
2490
2498
|
`(buy=${Format.formatAmount8(buyAvailable)}, sell=${Format.formatAmount8(sellAvailable)})`, 'warn');
|
|
2491
2499
|
}
|
|
2492
|
-
return { side, reason: side ? `Choosing ${side}` : (skipReason || 'Insufficient funds
|
|
2500
|
+
return { side, reason: side ? `Choosing ${side}` : (skipReason || 'Insufficient free funds') };
|
|
2493
2501
|
}
|
|
2494
2502
|
/**
|
|
2495
2503
|
* Resolve the MIN_SPREAD_ORDERS gap reserve used by boundary promotion.
|
|
@@ -2810,7 +2818,15 @@ export async function prepareSpreadCorrectionOrders(manager, preferredSide, outO
|
|
|
2810
2818
|
idealById.set(slot.id, Number(idealSizes[idx] || 0));
|
|
2811
2819
|
});
|
|
2812
2820
|
const availableFund = Math.max(0, Math.min(Number(manager.funds?.available?.[sideName] || 0), Number(sideName === 'buy' ? manager.accountTotals?.buyFree : manager.accountTotals?.sellFree) || 0));
|
|
2813
|
-
|
|
2821
|
+
// PURE FUND-DRIVEN: corrections are funded exclusively by free
|
|
2822
|
+
// available/chainFree. No resting order is ever shrunk to manufacture
|
|
2823
|
+
// budget (the previous self-funded/redistribution paths moved
|
|
2824
|
+
// inventory within a rail and were gamed by stale-size snapshots).
|
|
2825
|
+
// When free funds cannot cover every target, the loop below places /
|
|
2826
|
+
// tops-up what they allow and stops; the caller refreshes account
|
|
2827
|
+
// totals + open orders to find out whether the shortfall was a stale
|
|
2828
|
+
// accounting read (the grid does not lose funds, it holds them in
|
|
2829
|
+
// resting orders).
|
|
2814
2830
|
const prioritizedTargets = [];
|
|
2815
2831
|
if (edgePartial && edgePartial.id) {
|
|
2816
2832
|
const ideal = Number(idealById.get(edgePartial.id) || 0);
|
|
@@ -2840,39 +2856,7 @@ export async function prepareSpreadCorrectionOrders(manager, preferredSide, outO
|
|
|
2840
2856
|
if (prioritizedTargets.length === 0) {
|
|
2841
2857
|
return { ordersToPlace: [], ordersToUpdate: [], origin: 'spread-correction' };
|
|
2842
2858
|
}
|
|
2843
|
-
|
|
2844
|
-
let recoveredBudget = 0;
|
|
2845
|
-
const redistributionUpdates = [];
|
|
2846
|
-
if (totalNeeded > availableFund + precisionEpsilon) {
|
|
2847
|
-
let shortfall = totalNeeded - availableFund;
|
|
2848
|
-
const donors = sideSlots
|
|
2849
|
-
.filter((o) => hasOnChainId(o) && (o.state === ORDER_STATES.ACTIVE || o.state === ORDER_STATES.PARTIAL))
|
|
2850
|
-
.filter((o) => !edgePartial || o.id !== edgePartial.id)
|
|
2851
|
-
.sort((a, b) => railType === ORDER_TYPES.BUY ? a.price - b.price : b.price - a.price);
|
|
2852
|
-
for (const donor of donors) {
|
|
2853
|
-
if (shortfall <= precisionEpsilon)
|
|
2854
|
-
break;
|
|
2855
|
-
const donorCurrent = Number(donor.size || 0);
|
|
2856
|
-
const donorIdeal = Number(idealById.get(donor.id) || 0);
|
|
2857
|
-
const donorFloor = Math.max(minAbsoluteSize, donorIdeal);
|
|
2858
|
-
const donorReducible = Math.max(0, donorCurrent - donorFloor);
|
|
2859
|
-
if (donorReducible <= precisionEpsilon)
|
|
2860
|
-
continue;
|
|
2861
|
-
const reduction = Math.min(donorReducible, shortfall);
|
|
2862
|
-
const donorNext = donorCurrent - reduction;
|
|
2863
|
-
if (donorNext <= precisionEpsilon)
|
|
2864
|
-
continue;
|
|
2865
|
-
if (!isOrderHealthy(donorNext, railType, manager.assets, donorIdeal || donorNext))
|
|
2866
|
-
continue;
|
|
2867
|
-
redistributionUpdates.push({ partialOrder: { ...donor }, newSize: donorNext });
|
|
2868
|
-
recoveredBudget += reduction;
|
|
2869
|
-
shortfall -= reduction;
|
|
2870
|
-
}
|
|
2871
|
-
if (recoveredBudget > precisionEpsilon) {
|
|
2872
|
-
manager.logger?.log?.(`[SPREAD-CORRECTION] Recovered ${Format.formatSizeByOrderType(recoveredBudget, railType, manager.assets)} on ${sideName} via redistribution`, 'info');
|
|
2873
|
-
}
|
|
2874
|
-
}
|
|
2875
|
-
let remainingBudget = availableFund + recoveredBudget;
|
|
2859
|
+
let remainingBudget = availableFund;
|
|
2876
2860
|
for (const target of prioritizedTargets) {
|
|
2877
2861
|
if (remainingBudget <= precisionEpsilon)
|
|
2878
2862
|
break;
|
|
@@ -2950,19 +2934,7 @@ export async function prepareSpreadCorrectionOrders(manager, preferredSide, outO
|
|
|
2950
2934
|
boundaryIdx = undefined;
|
|
2951
2935
|
}
|
|
2952
2936
|
}
|
|
2953
|
-
const combinedUpdates = [...
|
|
2954
|
-
for (const plannedUpdate of ordersToUpdate) {
|
|
2955
|
-
const id = plannedUpdate?.partialOrder?.id || plannedUpdate?.id;
|
|
2956
|
-
if (!id)
|
|
2957
|
-
continue;
|
|
2958
|
-
const existingIdx = combinedUpdates.findIndex((u) => (u?.partialOrder?.id || u?.id) === id);
|
|
2959
|
-
if (existingIdx >= 0) {
|
|
2960
|
-
combinedUpdates[existingIdx] = plannedUpdate;
|
|
2961
|
-
}
|
|
2962
|
-
else {
|
|
2963
|
-
combinedUpdates.push(plannedUpdate);
|
|
2964
|
-
}
|
|
2965
|
-
}
|
|
2937
|
+
const combinedUpdates = [...ordersToUpdate];
|
|
2966
2938
|
if (spreadCandidates.length < missingSlots) {
|
|
2967
2939
|
manager.logger?.log?.(`[SPREAD-CORRECTION] Requested ${missingSlots} extra slot(s), found ${spreadCandidates.length} available slot(s) on ${sideName}`, 'warn');
|
|
2968
2940
|
}
|