dexbot 1.3.2 → 1.4.0
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/dist/analysis/chart_utils.d.ts +11 -9
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +21 -16
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/math_utils.d.ts +4 -13
- package/dist/analysis/math_utils.d.ts.map +1 -1
- package/dist/analysis/math_utils.js +16 -18
- package/dist/analysis/math_utils.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +3 -7
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +38 -34
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts +1 -4
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js +10 -7
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts +6 -6
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts.map +1 -1
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +23 -15
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts +12 -13
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts.map +1 -1
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +16 -16
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts +1 -4
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts.map +1 -1
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +10 -7
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +6 -13
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.d.ts.map +1 -1
- package/dist/credential-daemon.js +74 -35
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +16 -15
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.d.ts +1 -1
- package/dist/market_adapter/ama_signal_runner.d.ts.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +8 -20
- package/dist/market_adapter/ama_signal_runner.js.map +1 -1
- package/dist/market_adapter/candle_utils.d.ts +2 -10
- package/dist/market_adapter/candle_utils.d.ts.map +1 -1
- package/dist/market_adapter/candle_utils.js +7 -8
- package/dist/market_adapter/candle_utils.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.d.ts +12 -7
- package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +4 -5
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/core/config_normalizers.d.ts +4 -9
- package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -1
- package/dist/market_adapter/core/config_normalizers.js +9 -9
- package/dist/market_adapter/core/config_normalizers.js.map +1 -1
- package/dist/market_adapter/core/kibana_candles.d.ts +16 -20
- package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_candles.js +16 -15
- package/dist/market_adapter/core/kibana_candles.js.map +1 -1
- package/dist/market_adapter/core/kibana_client.d.ts +8 -11
- package/dist/market_adapter/core/kibana_client.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +13 -11
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.d.ts +5 -12
- package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js +12 -21
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts +75 -53
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +102 -98
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama.d.ts +21 -1
- package/dist/market_adapter/core/strategies/ama.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/ama.js +10 -10
- package/dist/market_adapter/core/strategies/ama.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +7 -11
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +23 -30
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts +5 -4
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.js +5 -3
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts +4 -7
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +5 -4
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.d.ts +11 -19
- package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +22 -22
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/index.d.ts +24 -2
- package/dist/market_adapter/index.d.ts.map +1 -1
- package/dist/market_adapter/index.js +82 -56
- package/dist/market_adapter/index.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +26 -37
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +4 -12
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +100 -66
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.d.ts +4 -9
- package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +17 -18
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/interval_utils.d.ts +1 -4
- package/dist/market_adapter/interval_utils.d.ts.map +1 -1
- package/dist/market_adapter/interval_utils.js +2 -3
- package/dist/market_adapter/interval_utils.js.map +1 -1
- package/dist/market_adapter/log_format.d.ts +1 -9
- package/dist/market_adapter/log_format.d.ts.map +1 -1
- package/dist/market_adapter/log_format.js +7 -8
- package/dist/market_adapter/log_format.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.d.ts +1 -4
- package/dist/market_adapter/lp_chart_core.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +22 -20
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts +13 -24
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_runner.js +58 -56
- package/dist/market_adapter/lp_chart_runner.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts +4 -17
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +36 -36
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts +51 -72
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +227 -192
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/merge_lp_data.js +17 -16
- package/dist/market_adapter/merge_lp_data.js.map +1 -1
- package/dist/market_adapter/test_helpers.d.ts +9 -13
- package/dist/market_adapter/test_helpers.d.ts.map +1 -1
- package/dist/market_adapter/test_helpers.js +14 -14
- package/dist/market_adapter/test_helpers.js.map +1 -1
- package/dist/market_adapter/utils/adapter_client.d.ts +6 -14
- package/dist/market_adapter/utils/adapter_client.d.ts.map +1 -1
- package/dist/market_adapter/utils/adapter_client.js +16 -15
- package/dist/market_adapter/utils/adapter_client.js.map +1 -1
- package/dist/market_adapter/utils/atomic_write.d.ts +2 -5
- package/dist/market_adapter/utils/atomic_write.d.ts.map +1 -1
- package/dist/market_adapter/utils/atomic_write.js +5 -5
- package/dist/market_adapter/utils/atomic_write.js.map +1 -1
- package/dist/market_adapter/utils/chain.d.ts +19 -21
- package/dist/market_adapter/utils/chain.d.ts.map +1 -1
- package/dist/market_adapter/utils/chain.js +15 -16
- package/dist/market_adapter/utils/chain.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.d.ts +1 -4
- package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +10 -10
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts +1 -6
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +14 -14
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
- package/dist/market_adapter/utils/file_lock.d.ts +1 -7
- package/dist/market_adapter/utils/file_lock.d.ts.map +1 -1
- package/dist/market_adapter/utils/file_lock.js +21 -25
- package/dist/market_adapter/utils/file_lock.js.map +1 -1
- package/dist/market_adapter/utils/native_history.d.ts +12 -12
- package/dist/market_adapter/utils/native_history.d.ts.map +1 -1
- package/dist/market_adapter/utils/native_history.js +15 -15
- package/dist/market_adapter/utils/native_history.js.map +1 -1
- package/dist/market_adapter/utils/paths.d.ts +2 -4
- package/dist/market_adapter/utils/paths.d.ts.map +1 -1
- package/dist/market_adapter/utils/paths.js +6 -5
- package/dist/market_adapter/utils/paths.js.map +1 -1
- package/dist/modules/account_bots.d.ts +7 -8
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +92 -114
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +5 -9
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +69 -32
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/authority_resolver.d.ts +32 -1
- package/dist/modules/authority_resolver.d.ts.map +1 -1
- package/dist/modules/authority_resolver.js +18 -12
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/chain_client.d.ts +3 -8
- package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/chain_client.js +21 -16
- package/dist/modules/bitshares-native/chain_client.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +21 -29
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +72 -38
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.d.ts +9 -36
- package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.js +40 -83
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts +14 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -3
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
- package/dist/modules/bitshares-native/index.d.ts +10 -2
- package/dist/modules/bitshares-native/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/index.js +68 -31
- package/dist/modules/bitshares-native/index.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.d.ts +1 -4
- package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.js +6 -3
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
- package/dist/modules/bitshares-native/resolvers.d.ts +3 -6
- package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +11 -9
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts +53 -55
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +28 -27
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/index.d.ts +5 -9
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/index.js +46 -12
- package/dist/modules/bitshares-native/serial/index.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.d.ts +102 -100
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +473 -471
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.d.ts +2 -7
- package/dist/modules/bitshares-native/serial/serializer.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js +8 -3
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.d.ts +26 -41
- package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +76 -42
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.d.ts +1 -5
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +49 -11
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts +1 -4
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +47 -84
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts +1 -8
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +22 -15
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.d.ts +3 -8
- package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +61 -23
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts +1 -8
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +21 -17
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +12 -23
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +109 -56
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.d.ts +1 -13
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +34 -34
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/bots_file_lock.d.ts +3 -9
- package/dist/modules/bots_file_lock.d.ts.map +1 -1
- package/dist/modules/bots_file_lock.js +8 -9
- package/dist/modules/bots_file_lock.js.map +1 -1
- package/dist/modules/chain_keys.d.ts +7 -39
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +126 -90
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +46 -52
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +152 -104
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts +50 -57
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +28 -24
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +492 -492
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +79 -39
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.d.ts +1 -13
- package/dist/modules/cr_planner.d.ts.map +1 -1
- package/dist/modules/cr_planner.js +28 -28
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +18 -33
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +114 -87
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +11 -21
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +40 -40
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credential_session_cache.d.ts +8 -8
- package/dist/modules/credential_session_cache.d.ts.map +1 -1
- package/dist/modules/credential_session_cache.js +41 -8
- package/dist/modules/credential_session_cache.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts +51 -316
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +257 -183
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/browser_provider.js +6 -6
- package/dist/modules/crypto/browser_provider.js.map +1 -1
- package/dist/modules/crypto/index.d.ts.map +1 -1
- package/dist/modules/crypto/index.js +2 -0
- package/dist/modules/crypto/index.js.map +1 -1
- package/dist/modules/crypto/sync.js +3 -3
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +124 -73
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +198 -3577
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +322 -0
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_cow_runtime.js +1836 -0
- package/dist/modules/dexbot_cow_runtime.js.map +1 -0
- package/dist/modules/dexbot_credential_client.d.ts +5 -11
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +32 -30
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +47 -15
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +565 -22
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +79 -10
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +294 -55
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +26 -0
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_startup_runtime.js +575 -0
- package/dist/modules/dexbot_startup_runtime.js.map +1 -0
- package/dist/modules/dexbot_state_recovery.d.ts +115 -0
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -0
- package/dist/modules/dexbot_state_recovery.js +431 -0
- package/dist/modules/dexbot_state_recovery.js.map +1 -0
- package/dist/modules/fund_registry.d.ts +1 -13
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +23 -22
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/general_settings.d.ts +3 -7
- package/dist/modules/general_settings.d.ts.map +1 -1
- package/dist/modules/general_settings.js +15 -15
- package/dist/modules/general_settings.js.map +1 -1
- package/dist/modules/graceful_shutdown.d.ts +1 -6
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +19 -16
- package/dist/modules/graceful_shutdown.js.map +1 -1
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +53 -20
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts +23 -66
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +115 -107
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/child_env.d.ts +2 -5
- package/dist/modules/launcher/child_env.d.ts.map +1 -1
- package/dist/modules/launcher/child_env.js +4 -4
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/credential_bootstrap.d.ts +4 -8
- package/dist/modules/launcher/credential_bootstrap.d.ts.map +1 -1
- package/dist/modules/launcher/credential_bootstrap.js +30 -26
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.d.ts +8 -15
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +72 -41
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/credential_secret.d.ts +1 -4
- package/dist/modules/launcher/credential_secret.d.ts.map +1 -1
- package/dist/modules/launcher/credential_secret.js +36 -4
- package/dist/modules/launcher/credential_secret.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.d.ts +32 -1
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +25 -28
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/headless_password.d.ts +1 -4
- package/dist/modules/launcher/headless_password.d.ts.map +1 -1
- package/dist/modules/launcher/headless_password.js +11 -11
- package/dist/modules/launcher/headless_password.js.map +1 -1
- package/dist/modules/launcher/launch_modes.d.ts +15 -14
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
- package/dist/modules/launcher/launch_modes.js +8 -8
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +10 -19
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +33 -34
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts +10 -17
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +42 -39
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +28 -57
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +135 -108
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts +5 -10
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +14 -14
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +17 -37
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +35 -34
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/launcher/supervisor_control.d.ts +1 -4
- package/dist/modules/launcher/supervisor_control.d.ts.map +1 -1
- package/dist/modules/launcher/supervisor_control.js +9 -4
- package/dist/modules/launcher/supervisor_control.js.map +1 -1
- package/dist/modules/logger.d.ts +3 -1
- package/dist/modules/logger.d.ts.map +1 -1
- package/dist/modules/logger.js +38 -28
- package/dist/modules/logger.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.d.ts +2 -10
- package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +18 -16
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/node_health_cache.d.ts +2 -12
- package/dist/modules/node_health_cache.d.ts.map +1 -1
- package/dist/modules/node_health_cache.js +24 -24
- package/dist/modules/node_health_cache.js.map +1 -1
- package/dist/modules/node_manager.d.ts +1 -1
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +44 -38
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts +12 -12
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +111 -76
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +1 -2
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +4 -4
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/export.d.ts +8 -14
- package/dist/modules/order/export.d.ts.map +1 -1
- package/dist/modules/order/export.js +77 -42
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +17 -22
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +25 -31
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +18 -104
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +246 -188
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts +8 -8
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +24 -24
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +224 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +145 -72
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/index.d.ts +1 -1
- package/dist/modules/order/index.d.ts.map +1 -1
- package/dist/modules/order/index.js +42 -7
- package/dist/modules/order/index.js.map +1 -1
- package/dist/modules/order/logger.d.ts +6 -16
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +76 -53
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts +4 -4
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +3 -1
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/manager.d.ts +160 -37
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +166 -128
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/processed_fill_store.d.ts +6 -10
- package/dist/modules/order/processed_fill_store.d.ts.map +1 -1
- package/dist/modules/order/processed_fill_store.js +10 -9
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/strategy.d.ts +3 -3
- package/dist/modules/order/strategy.d.ts.map +1 -1
- package/dist/modules/order/strategy.js +29 -27
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +9 -19
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +176 -126
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +55 -85
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +155 -88
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +27 -72
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +144 -105
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +74 -44
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +188 -149
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts +21 -43
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +140 -110
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/working_grid.d.ts +1 -4
- package/dist/modules/order/working_grid.d.ts.map +1 -1
- package/dist/modules/order/working_grid.js +9 -7
- package/dist/modules/order/working_grid.js.map +1 -1
- package/dist/modules/path_api.js +2 -2
- package/dist/modules/path_api.js.map +1 -1
- package/dist/modules/paths.d.ts +51 -55
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +72 -52
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/process_discovery.d.ts +1 -1
- package/dist/modules/process_discovery.d.ts.map +1 -1
- package/dist/modules/process_discovery.js +7 -7
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/runtime.d.ts +1 -1
- package/dist/modules/runtime.d.ts.map +1 -1
- package/dist/modules/runtime.js +4 -4
- package/dist/modules/runtime.js.map +1 -1
- package/dist/modules/runtime_settings.d.ts +1 -0
- package/dist/modules/runtime_settings.d.ts.map +1 -1
- package/dist/modules/runtime_settings.js +15 -10
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.d.ts +1 -4
- package/dist/modules/settings_merge.d.ts.map +1 -1
- package/dist/modules/settings_merge.js +2 -1
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/storage/browser_adapter.d.ts +7 -3
- package/dist/modules/storage/browser_adapter.d.ts.map +1 -1
- package/dist/modules/storage/browser_adapter.js +2 -0
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/storage/index.d.ts +2 -2
- package/dist/modules/storage/index.d.ts.map +1 -1
- package/dist/modules/storage/index.js +2 -5
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/modules/storage/node_adapter.d.ts +3 -3
- package/dist/modules/storage/node_adapter.d.ts.map +1 -1
- package/dist/modules/storage/node_adapter.js +9 -7
- package/dist/modules/storage/node_adapter.js.map +1 -1
- package/dist/modules/storage/types.d.ts +13 -10
- package/dist/modules/storage/types.d.ts.map +1 -1
- package/dist/modules/types.d.ts +0 -2
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/utils/base58check.d.ts +1 -9
- package/dist/modules/utils/base58check.d.ts.map +1 -1
- package/dist/modules/utils/base58check.js +14 -16
- package/dist/modules/utils/base58check.js.map +1 -1
- package/dist/modules/utils/build_dir.d.ts +2 -5
- package/dist/modules/utils/build_dir.d.ts.map +1 -1
- package/dist/modules/utils/build_dir.js +6 -3
- package/dist/modules/utils/build_dir.js.map +1 -1
- package/dist/modules/utils/errors.d.ts +2 -0
- package/dist/modules/utils/errors.d.ts.map +1 -0
- package/dist/modules/utils/errors.js +12 -0
- package/dist/modules/utils/errors.js.map +1 -0
- package/dist/modules/utils/fs_utils.d.ts +1 -8
- package/dist/modules/utils/fs_utils.d.ts.map +1 -1
- package/dist/modules/utils/fs_utils.js +8 -3
- package/dist/modules/utils/fs_utils.js.map +1 -1
- package/dist/modules/utils/math_utils.d.ts +2 -6
- package/dist/modules/utils/math_utils.d.ts.map +1 -1
- package/dist/modules/utils/math_utils.js +6 -2
- package/dist/modules/utils/math_utils.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts +1 -11
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +25 -27
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.d.ts +7 -6
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +132 -106
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-git.d.ts.map +1 -1
- package/dist/scripts/analyze-git.js +15 -11
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/analyze-orders.d.ts +146 -1
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +81 -105
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
- package/dist/scripts/diagnose-pool-history.js +9 -8
- package/dist/scripts/diagnose-pool-history.js.map +1 -1
- package/dist/scripts/divergence-calc.d.ts.map +1 -1
- package/dist/scripts/divergence-calc.js +11 -8
- package/dist/scripts/divergence-calc.js.map +1 -1
- package/dist/scripts/fix-err-message.d.ts +3 -0
- package/dist/scripts/fix-err-message.d.ts.map +1 -0
- package/dist/scripts/fix-err-message.js +198 -0
- package/dist/scripts/fix-err-message.js.map +1 -0
- package/dist/scripts/generate_lp_chart.d.ts +2 -9
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
- package/dist/scripts/generate_lp_chart.js +14 -10
- package/dist/scripts/generate_lp_chart.js.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.js +4 -4
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts +17 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +23 -20
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
- package/dist/scripts/migrate_bot_keys.d.ts +1 -4
- package/dist/scripts/migrate_bot_keys.d.ts.map +1 -1
- package/dist/scripts/migrate_bot_keys.js +48 -124
- package/dist/scripts/migrate_bot_keys.js.map +1 -1
- package/dist/scripts/native_release_gates.d.ts.map +1 -1
- package/dist/scripts/native_release_gates.js +18 -14
- package/dist/scripts/native_release_gates.js.map +1 -1
- package/dist/scripts/print_grid.js +1 -1
- package/dist/scripts/print_grid.js.map +1 -1
- package/dist/scripts/run-tests.js +1 -0
- package/dist/scripts/run-tests.js.map +1 -1
- package/dist/scripts/runner.d.ts +1 -11
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +21 -19
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
- package/dist/scripts/test-credit-renewal.js +2 -1
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/scripts/update.d.ts.map +1 -1
- package/dist/scripts/update.js +85 -79
- package/dist/scripts/update.js.map +1 -1
- package/dist/scripts/validate_bots.js +2 -2
- package/dist/scripts/validate_bots.js.map +1 -1
- package/dist/scripts/verify-browser-bundle.js +25 -1
- package/dist/scripts/verify-browser-bundle.js.map +1 -1
- package/dist/unlock.d.ts +4 -17
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +141 -108
- package/dist/unlock.js.map +1 -1
- package/package.json +7 -2
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +0 -3
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +0 -149
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +0 -1
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +0 -3
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +0 -387
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +0 -1
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +0 -3
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js +0 -200
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +0 -1
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +0 -3
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/fetch_lp_candles.js +0 -212
- package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +0 -1
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +0 -31
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +0 -249
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +0 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +0 -2
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +0 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js +0 -782
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +0 -1
- package/dist/analysis/analyze_derivatives.d.ts +0 -95
- package/dist/analysis/analyze_derivatives.d.ts.map +0 -1
- package/dist/analysis/analyze_derivatives.js +0 -295
- package/dist/analysis/analyze_derivatives.js.map +0 -1
- package/dist/analysis/analyze_dynamic_weight.d.ts +0 -14
- package/dist/analysis/analyze_dynamic_weight.d.ts.map +0 -1
- package/dist/analysis/analyze_dynamic_weight.js +0 -207
- package/dist/analysis/analyze_dynamic_weight.js.map +0 -1
- package/dist/analysis/analyze_kalman.d.ts +0 -13
- package/dist/analysis/analyze_kalman.d.ts.map +0 -1
- package/dist/analysis/analyze_kalman.js +0 -123
- package/dist/analysis/analyze_kalman.js.map +0 -1
- package/dist/analysis/analyze_regime.d.ts +0 -20
- package/dist/analysis/analyze_regime.d.ts.map +0 -1
- package/dist/analysis/analyze_regime.js +0 -139
- package/dist/analysis/analyze_regime.js.map +0 -1
- package/dist/analysis/analyze_regime_windows.d.ts +0 -19
- package/dist/analysis/analyze_regime_windows.d.ts.map +0 -1
- package/dist/analysis/analyze_regime_windows.js +0 -413
- package/dist/analysis/analyze_regime_windows.js.map +0 -1
- package/dist/analysis/analyze_risk_profile.d.ts +0 -3
- package/dist/analysis/analyze_risk_profile.d.ts.map +0 -1
- package/dist/analysis/analyze_risk_profile.js +0 -159
- package/dist/analysis/analyze_risk_profile.js.map +0 -1
- package/dist/analysis/analyze_trade_heatmap.d.ts +0 -3
- package/dist/analysis/analyze_trade_heatmap.d.ts.map +0 -1
- package/dist/analysis/analyze_trade_heatmap.js +0 -367
- package/dist/analysis/analyze_trade_heatmap.js.map +0 -1
- package/dist/analysis/analyze_volatility.d.ts +0 -22
- package/dist/analysis/analyze_volatility.d.ts.map +0 -1
- package/dist/analysis/analyze_volatility.js +0 -172
- package/dist/analysis/analyze_volatility.js.map +0 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +0 -99
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +0 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js +0 -804
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +0 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +0 -2
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +0 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js +0 -347
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +0 -1
- package/dist/analysis/bot_fitting/shared_utils.d.ts +0 -15
- package/dist/analysis/bot_fitting/shared_utils.d.ts.map +0 -1
- package/dist/analysis/bot_fitting/shared_utils.js +0 -48
- package/dist/analysis/bot_fitting/shared_utils.js.map +0 -1
- package/dist/analysis/bot_key_utils.d.ts +0 -22
- package/dist/analysis/bot_key_utils.d.ts.map +0 -1
- package/dist/analysis/bot_key_utils.js +0 -162
- package/dist/analysis/bot_key_utils.js.map +0 -1
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +0 -3
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +0 -1
- package/dist/analysis/bot_usage/discover_bot_accounts.js +0 -498
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +0 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +0 -546
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +0 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js +0 -427
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +0 -1
- package/dist/analysis/derivative_chart_generator.d.ts +0 -18
- package/dist/analysis/derivative_chart_generator.d.ts.map +0 -1
- package/dist/analysis/derivative_chart_generator.js +0 -896
- package/dist/analysis/derivative_chart_generator.js.map +0 -1
- package/dist/analysis/price_sources.d.ts +0 -34
- package/dist/analysis/price_sources.d.ts.map +0 -1
- package/dist/analysis/price_sources.js +0 -103
- package/dist/analysis/price_sources.js.map +0 -1
- package/dist/analysis/trade_profitability.d.ts +0 -115
- package/dist/analysis/trade_profitability.d.ts.map +0 -1
- package/dist/analysis/trade_profitability.js +0 -1247
- package/dist/analysis/trade_profitability.js.map +0 -1
- package/dist/analysis/tradingview/analyze_tradingview.d.ts +0 -36
- package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +0 -1
- package/dist/analysis/tradingview/analyze_tradingview.js +0 -172
- package/dist/analysis/tradingview/analyze_tradingview.js.map +0 -1
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts +0 -250
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +0 -1
- package/dist/analysis/trend_detection/derivative_analyzer.js +0 -903
- package/dist/analysis/trend_detection/derivative_analyzer.js.map +0 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +0 -6
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +0 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +0 -1450
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +0 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +0 -6
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +0 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.js +0 -408
- package/dist/analysis/trend_detection/kalman_chart_generator.js.map +0 -1
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts +0 -6
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +0 -1
- package/dist/analysis/trend_detection/regime_chart_generator.js +0 -345
- package/dist/analysis/trend_detection/regime_chart_generator.js.map +0 -1
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +0 -2
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +0 -1
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js +0 -130
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +0 -1
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +0 -2
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +0 -1
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +0 -38
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +0 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +0 -6
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +0 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.js +0 -732
- package/dist/analysis/trend_detection/volatility_chart_generator.js.map +0 -1
|
@@ -4,29 +4,49 @@ const { createHash } = require('./crypto/sync');
|
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const { path } = require('./path_api');
|
|
6
6
|
const { spawn } = require('child_process');
|
|
7
|
-
const { BitShares, getNodeManager } = require('./bitshares_client');
|
|
8
7
|
const chainOrders = require('./chain_orders');
|
|
9
|
-
const { BroadcastUncertainError } = require('./dexbot_credential_client');
|
|
10
|
-
const { Config, hasOpenOrdersSyncLoopMsSet, getOpenOrdersSyncLoopMs } = require('./config');
|
|
11
8
|
const grid = require('./order/grid');
|
|
12
|
-
const { isGridBloated, isGridBloatGraceActive, clearGridBloatFlag, loadGrid, recalculateGrid } = grid;
|
|
13
9
|
const { ORDER_STATES, ORDER_TYPES, TIMING, BTS_PRECISION, NATIVE_CLIENT } = require('./constants');
|
|
14
10
|
const { PATHS } = require('./paths');
|
|
15
|
-
const { buildRuntimeScriptPath, isDistCodeRoot } = require('./launcher/runtime_entry');
|
|
16
|
-
const { applyGridDivergenceCorrections, loadAmaCenterSnapshot, sleep } = require('./order/utils/system');
|
|
17
|
-
const { isPm2Runtime } = require('./order/logger');
|
|
18
|
-
const { getSharedMarketAdapterRuntime } = require('./launcher/market_adapter_runtime');
|
|
19
|
-
const { resetMarketAdapterWhitelistCache, isBotDynamicWeightWhitelisted, } = require('./market_adapter_whitelist');
|
|
20
11
|
const Format = require('./order/format');
|
|
21
|
-
const { parseJsonWithComments } = require('./order/utils/system');
|
|
22
|
-
const { cloneWeightDistribution, calculateOrderCreationFees, calculateSwapInAmount, floatToBlockchainInt, blockchainToFloat } = require('./order/utils/math');
|
|
23
|
-
const { updateDynamicGridSnapshotSync } = require('../market_adapter/utils/dynamic_grid_snapshot');
|
|
24
|
-
const { reconcileGridOrders } = require('./order/grid_reconcile');
|
|
25
|
-
const { formatUnmatchedChainOrder, getSideBudget, correctAllPriceMismatches, isOrderOnChain, parseChainOrder } = require('./order/utils/order');
|
|
26
12
|
const { getStorage } = require('./storage');
|
|
27
13
|
const storage = getStorage();
|
|
28
|
-
const { ensureDir, safeUnlink } = require('./utils/fs_utils');
|
|
29
14
|
const fundRegistry = require('./fund_registry');
|
|
15
|
+
const { BitShares } = require('./bitshares_client');
|
|
16
|
+
const { BroadcastUncertainError } = require('./dexbot_credential_client');
|
|
17
|
+
const { Config } = require('./config');
|
|
18
|
+
function getNodeManager(...args) { return require('./bitshares_client').getNodeManager(...args); }
|
|
19
|
+
function hasOpenOrdersSyncLoopMsSet(...args) { return require('./config').hasOpenOrdersSyncLoopMsSet(...args); }
|
|
20
|
+
function getOpenOrdersSyncLoopMs(...args) { return require('./config').getOpenOrdersSyncLoopMs(...args); }
|
|
21
|
+
function isGridBloated(...args) { return grid.isGridBloated(...args); }
|
|
22
|
+
function isGridBloatGraceActive(...args) { return grid.isGridBloatGraceActive(...args); }
|
|
23
|
+
function clearGridBloatFlag(...args) { return grid.clearGridBloatFlag(...args); }
|
|
24
|
+
function recalculateGrid(...args) { return grid.recalculateGrid(...args); }
|
|
25
|
+
function buildRuntimeScriptPath(...args) { return require('./launcher/runtime_entry').buildRuntimeScriptPath(...args); }
|
|
26
|
+
function isDistCodeRoot(...args) { return require('./launcher/runtime_entry').isDistCodeRoot(...args); }
|
|
27
|
+
function applyGridDivergenceCorrections(...args) { return require('./order/utils/system').applyGridDivergenceCorrections(...args); }
|
|
28
|
+
function loadAmaCenterSnapshot(...args) { return require('./order/utils/system').loadAmaCenterSnapshot(...args); }
|
|
29
|
+
function sleep(...args) { return require('./order/utils/system').sleep(...args); }
|
|
30
|
+
function parseJsonWithComments(...args) { return require('./order/utils/system').parseJsonWithComments(...args); }
|
|
31
|
+
function isPm2Runtime(...args) { return require('./order/logger').isPm2Runtime(...args); }
|
|
32
|
+
function getSharedMarketAdapterRuntime(...args) { return require('./launcher/market_adapter_runtime').getSharedMarketAdapterRuntime(...args); }
|
|
33
|
+
function resetMarketAdapterWhitelistCache(...args) { return require('./market_adapter_whitelist').resetMarketAdapterWhitelistCache(...args); }
|
|
34
|
+
function isBotDynamicWeightWhitelisted(...args) { return require('./market_adapter_whitelist').isBotDynamicWeightWhitelisted(...args); }
|
|
35
|
+
function getRuntimeSettingsKeys() { return require('./runtime_settings').RUNTIME_SETTINGS_KEYS; }
|
|
36
|
+
function cloneWeightDistribution(...args) { return require('./order/utils/math').cloneWeightDistribution(...args); }
|
|
37
|
+
function calculateOrderCreationFees(...args) { return require('./order/utils/math').calculateOrderCreationFees(...args); }
|
|
38
|
+
function calculateSwapInAmount(...args) { return require('./order/utils/math').calculateSwapInAmount(...args); }
|
|
39
|
+
function floatToBlockchainInt(...args) { return require('./order/utils/math').floatToBlockchainInt(...args); }
|
|
40
|
+
function blockchainToFloat(...args) { return require('./order/utils/math').blockchainToFloat(...args); }
|
|
41
|
+
function updateDynamicGridSnapshotSync(...args) { return require('../market_adapter/utils/dynamic_grid_snapshot').updateDynamicGridSnapshotSync(...args); }
|
|
42
|
+
function reconcileGridOrders(...args) { return require('./order/grid_reconcile').reconcileGridOrders(...args); }
|
|
43
|
+
function formatUnmatchedChainOrder(...args) { return require('./order/utils/order').formatUnmatchedChainOrder(...args); }
|
|
44
|
+
function getSideBudget(...args) { return require('./order/utils/order').getSideBudget(...args); }
|
|
45
|
+
function correctAllPriceMismatches(...args) { return require('./order/utils/order').correctAllPriceMismatches(...args); }
|
|
46
|
+
function isOrderOnChain(...args) { return require('./order/utils/order').isOrderOnChain(...args); }
|
|
47
|
+
function parseChainOrder(...args) { return require('./order/utils/order').parseChainOrder(...args); }
|
|
48
|
+
const { ensureDir, safeUnlink } = require('./utils/fs_utils');
|
|
49
|
+
const { getErrorMessage } = require('./utils/errors');
|
|
30
50
|
const CODE_ROOT = path.join(__dirname, '..');
|
|
31
51
|
const PROFILES_DIR = PATHS.PROFILES_DIR;
|
|
32
52
|
const PROFILES_BOTS_FILE = PATHS.PROFILES.BOTS_JSON;
|
|
@@ -118,7 +138,7 @@ function countLiveGridOrders(manager, type) {
|
|
|
118
138
|
return 0;
|
|
119
139
|
const active = manager.getOrdersByTypeAndState?.(type, ORDER_STATES.ACTIVE) || [];
|
|
120
140
|
const partial = manager.getOrdersByTypeAndState?.(type, ORDER_STATES.PARTIAL) || [];
|
|
121
|
-
return active.concat(partial).filter(o => o?.orderId).length;
|
|
141
|
+
return active.concat(partial).filter((o) => o?.orderId).length;
|
|
122
142
|
}
|
|
123
143
|
function getTargetActiveOrders(config, side) {
|
|
124
144
|
const configured = Number(config?.activeOrders?.[side]);
|
|
@@ -219,7 +239,7 @@ async function maybeRunTargetedDriftReconciliation(bot, context) {
|
|
|
219
239
|
return true;
|
|
220
240
|
}
|
|
221
241
|
catch (err) {
|
|
222
|
-
bot._warn(`[TARGETED-SYNC] Failed during ${context}: ${err
|
|
242
|
+
bot._warn(`[TARGETED-SYNC] Failed during ${context}: ${getErrorMessage(err)}`);
|
|
223
243
|
return false;
|
|
224
244
|
}
|
|
225
245
|
}
|
|
@@ -409,7 +429,7 @@ async function syncMarketAdapterOnPeriodicConfigCheck(bot, context = 'periodic')
|
|
|
409
429
|
}
|
|
410
430
|
catch (err) {
|
|
411
431
|
pm2QueryFailed = true;
|
|
412
|
-
bot._warn(`Could not query PM2 for ${MARKET_ADAPTER_APP_NAME}: ${err
|
|
432
|
+
bot._warn(`Could not query PM2 for ${MARKET_ADAPTER_APP_NAME}: ${getErrorMessage(err)}. Using a direct PM2 action.`);
|
|
413
433
|
}
|
|
414
434
|
// Cross-reference config-active bots against actually running PM2 processes
|
|
415
435
|
// so we don't start the adapter for configured AMA bots that aren't running.
|
|
@@ -462,14 +482,14 @@ async function syncMarketAdapterOnPeriodicConfigCheck(bot, context = 'periodic')
|
|
|
462
482
|
};
|
|
463
483
|
}
|
|
464
484
|
catch (err) {
|
|
465
|
-
bot._warn(`Market adapter watchdog failed during ${context}: ${err
|
|
485
|
+
bot._warn(`Market adapter watchdog failed during ${context}: ${getErrorMessage(err)}`);
|
|
466
486
|
return {
|
|
467
487
|
changed: false,
|
|
468
488
|
required: false,
|
|
469
489
|
running: false,
|
|
470
490
|
started: false,
|
|
471
491
|
stopped: false,
|
|
472
|
-
error: err
|
|
492
|
+
error: getErrorMessage(err),
|
|
473
493
|
};
|
|
474
494
|
}
|
|
475
495
|
finally {
|
|
@@ -589,7 +609,7 @@ function buildGridResyncMetadata(reason) {
|
|
|
589
609
|
return {
|
|
590
610
|
...defaults,
|
|
591
611
|
...marketAdapterUnknown,
|
|
592
|
-
...GRID_RESYNC_REASONS[resetSource],
|
|
612
|
+
...(GRID_RESYNC_REASONS[resetSource] || {}),
|
|
593
613
|
resetSource,
|
|
594
614
|
};
|
|
595
615
|
}
|
|
@@ -709,19 +729,28 @@ function performGridResync(bot, options = {}) {
|
|
|
709
729
|
const content = storage.readFile(PROFILES_BOTS_FILE);
|
|
710
730
|
const allBotsConfig = parseJsonWithComments(content).bots || [];
|
|
711
731
|
const myName = self.config.name;
|
|
712
|
-
const updatedBot = allBotsConfig.find(b => b.name === myName);
|
|
732
|
+
const updatedBot = allBotsConfig.find((b) => b.name === myName);
|
|
713
733
|
if (updatedBot) {
|
|
714
734
|
self._log(`Reloaded configuration for bot '${myName}'`);
|
|
715
735
|
const oldKey = self.config.botKey;
|
|
716
736
|
const oldIndex = self.config.botIndex;
|
|
717
|
-
|
|
737
|
+
// Preserve runtime-only properties set by the constructor
|
|
738
|
+
// (timing, gridLimits, feeParams, etc.) that are not present
|
|
739
|
+
// in the raw profile from bots.json.
|
|
740
|
+
const runtimeProps = {};
|
|
741
|
+
for (const key of getRuntimeSettingsKeys()) {
|
|
742
|
+
if (self.config[key] !== undefined) {
|
|
743
|
+
runtimeProps[key] = self.config[key];
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
self.config = { ...updatedBot, botKey: oldKey, botIndex: oldIndex, ...runtimeProps };
|
|
718
747
|
self.manager.config = { ...self.manager.config, ...self.config };
|
|
719
748
|
self._baseWeightDistribution = cloneWeightDistribution(updatedBot.weightDistribution, self._baseWeightDistribution);
|
|
720
749
|
refreshDynamicWeightDistribution(self, 'grid resync');
|
|
721
750
|
}
|
|
722
751
|
}
|
|
723
752
|
catch (e) {
|
|
724
|
-
self._warn(`Failed to reload config during resync (using current settings): ${e
|
|
753
|
+
self._warn(`Failed to reload config during resync (using current settings): ${getErrorMessage(e)}`);
|
|
725
754
|
}
|
|
726
755
|
if (refreshCenterPrice) {
|
|
727
756
|
if (promoteAmaCenterSnapshotForGridReset(self.config?.botKey)) {
|
|
@@ -766,7 +795,7 @@ function performGridResync(bot, options = {}) {
|
|
|
766
795
|
});
|
|
767
796
|
}
|
|
768
797
|
catch (_dustErr) {
|
|
769
|
-
self._warn(`[DUST] Post-resync dust cancel failed: ${_dustErr
|
|
798
|
+
self._warn(`[DUST] Post-resync dust cancel failed: ${getErrorMessage(_dustErr)}`);
|
|
770
799
|
}
|
|
771
800
|
}
|
|
772
801
|
// Clear unmatched chain orders after a successful rebuild.
|
|
@@ -780,7 +809,7 @@ function performGridResync(bot, options = {}) {
|
|
|
780
809
|
}
|
|
781
810
|
}
|
|
782
811
|
catch (err) {
|
|
783
|
-
self._log(`Error during triggered resync: ${err
|
|
812
|
+
self._log(`Error during triggered resync: ${getErrorMessage(err)}`, 'error');
|
|
784
813
|
}
|
|
785
814
|
finally {
|
|
786
815
|
self.manager.finishBootstrap();
|
|
@@ -851,8 +880,8 @@ async function setupTriggerFileDetection(bot) {
|
|
|
851
880
|
if (!ok) {
|
|
852
881
|
bot._warn('Runtime trigger reset failed; retaining existing grid state.');
|
|
853
882
|
}
|
|
854
|
-
}).catch(err => {
|
|
855
|
-
bot._warn(`Trigger reset lock error: ${err
|
|
883
|
+
}).catch((err) => {
|
|
884
|
+
bot._warn(`Trigger reset lock error: ${getErrorMessage(err)}`);
|
|
856
885
|
bot.manager._recoveryState = { ...bot.manager._recoveryState, lastFailureAt: Date.now() };
|
|
857
886
|
});
|
|
858
887
|
}, 200);
|
|
@@ -860,12 +889,12 @@ async function setupTriggerFileDetection(bot) {
|
|
|
860
889
|
}
|
|
861
890
|
}
|
|
862
891
|
catch (err) {
|
|
863
|
-
bot._warn(`fs.watch handler error: ${err && err
|
|
892
|
+
bot._warn(`fs.watch handler error: ${err && getErrorMessage(err) ? getErrorMessage(err) : err}`);
|
|
864
893
|
}
|
|
865
894
|
});
|
|
866
895
|
}
|
|
867
896
|
catch (err) {
|
|
868
|
-
bot._warn(`Failed to setup file watcher: ${err
|
|
897
|
+
bot._warn(`Failed to setup file watcher: ${getErrorMessage(err)}`);
|
|
869
898
|
}
|
|
870
899
|
}
|
|
871
900
|
/**
|
|
@@ -941,12 +970,12 @@ function startOpenOrdersSyncLoop(bot) {
|
|
|
941
970
|
}
|
|
942
971
|
}
|
|
943
972
|
catch (err) {
|
|
944
|
-
bot._warn(`Order manager loop error: ${err
|
|
973
|
+
bot._warn(`Order manager loop error: ${getErrorMessage(err)}`);
|
|
945
974
|
}
|
|
946
975
|
await sleep(loopDelayMs);
|
|
947
976
|
}
|
|
948
|
-
})().catch(err => {
|
|
949
|
-
bot._warn(`Open-orders sync loop failed: ${err && err
|
|
977
|
+
})().catch((err) => {
|
|
978
|
+
bot._warn(`Open-orders sync loop failed: ${err && getErrorMessage(err) ? getErrorMessage(err) : err}`);
|
|
950
979
|
}).finally(() => {
|
|
951
980
|
bot._mainLoopPromise = null;
|
|
952
981
|
});
|
|
@@ -982,12 +1011,12 @@ function setupBlockchainFetchInterval(bot) {
|
|
|
982
1011
|
}
|
|
983
1012
|
}
|
|
984
1013
|
catch (_err) {
|
|
985
|
-
bot?._warn?.(`Registry unavailable for shared-account interval check: ${_err
|
|
1014
|
+
bot?._warn?.(`Registry unavailable for shared-account interval check: ${getErrorMessage(_err)}`);
|
|
986
1015
|
}
|
|
987
1016
|
}
|
|
988
1017
|
syncMarketAdapterOnPeriodicConfigCheck(bot, 'startup blockchain fetch setup')
|
|
989
1018
|
.catch((err) => {
|
|
990
|
-
bot._warn(`Market adapter watchdog failed during startup blockchain fetch setup: ${err
|
|
1019
|
+
bot._warn(`Market adapter watchdog failed during startup blockchain fetch setup: ${getErrorMessage(err)}`);
|
|
991
1020
|
});
|
|
992
1021
|
if (bot._blockchainFetchInterval !== null && bot._blockchainFetchInterval !== undefined) {
|
|
993
1022
|
stopBlockchainFetchInterval(bot);
|
|
@@ -1058,14 +1087,14 @@ function setupBlockchainFetchInterval(bot) {
|
|
|
1058
1087
|
}
|
|
1059
1088
|
}
|
|
1060
1089
|
catch (err) {
|
|
1061
|
-
bot._warn(`Error reading open orders during periodic fetch: ${err
|
|
1090
|
+
bot._warn(`Error reading open orders during periodic fetch: ${getErrorMessage(err)}`);
|
|
1062
1091
|
}
|
|
1063
1092
|
}
|
|
1064
1093
|
await performPeriodicGridChecks(bot);
|
|
1065
1094
|
});
|
|
1066
1095
|
}
|
|
1067
1096
|
catch (err) {
|
|
1068
|
-
bot._warn(`Error during periodic blockchain fetch: ${err && err
|
|
1097
|
+
bot._warn(`Error during periodic blockchain fetch: ${err && getErrorMessage(err) ? getErrorMessage(err) : err}`);
|
|
1069
1098
|
}
|
|
1070
1099
|
}
|
|
1071
1100
|
finally {
|
|
@@ -1096,7 +1125,7 @@ function stopBlockchainFetchInterval(bot) {
|
|
|
1096
1125
|
* @param {string} [context='shutdown'] - Context label for logging
|
|
1097
1126
|
* @returns {Promise<import('./types').MarketAdapterReleaseResult>}
|
|
1098
1127
|
*/
|
|
1099
|
-
async function releaseMarketAdapterRuntime(
|
|
1128
|
+
async function releaseMarketAdapterRuntime(_bot, botId, context = 'shutdown') {
|
|
1100
1129
|
if (isPm2Runtime()) {
|
|
1101
1130
|
return { released: false, mode: 'pm2' };
|
|
1102
1131
|
}
|
|
@@ -1174,8 +1203,8 @@ function scheduleMaintenanceAfterIdle(ctx, context, options = {}) {
|
|
|
1174
1203
|
if (ctx._shuttingDown)
|
|
1175
1204
|
return;
|
|
1176
1205
|
ctx._runGridMaintenance(context, timerOptions)
|
|
1177
|
-
.catch(err => {
|
|
1178
|
-
ctx._warn(`Deferred ${context} grid maintenance failed: ${err
|
|
1206
|
+
.catch((err) => {
|
|
1207
|
+
ctx._warn(`Deferred ${context} grid maintenance failed: ${getErrorMessage(err)}`);
|
|
1179
1208
|
if (ctx.manager) {
|
|
1180
1209
|
ctx.manager._recoveryState = { ...ctx.manager._recoveryState, lastFailureAt: Date.now() };
|
|
1181
1210
|
}
|
|
@@ -1217,8 +1246,8 @@ function scheduleDeferredGridResync(ctx, options = {}) {
|
|
|
1217
1246
|
: 'grid resync rejected or failed';
|
|
1218
1247
|
ctx._warn(`Deferred trigger reset blocked: ${reason}; retaining existing grid state.`);
|
|
1219
1248
|
}
|
|
1220
|
-
}).catch(err => {
|
|
1221
|
-
ctx._warn(`Deferred trigger reset lock error: ${err
|
|
1249
|
+
}).catch((err) => {
|
|
1250
|
+
ctx._warn(`Deferred trigger reset lock error: ${getErrorMessage(err)}`);
|
|
1222
1251
|
if (ctx.manager) {
|
|
1223
1252
|
ctx.manager._recoveryState = { ...ctx.manager._recoveryState, lastFailureAt: Date.now() };
|
|
1224
1253
|
}
|
|
@@ -1273,7 +1302,7 @@ async function executeMaintenanceLogic(bot, context) {
|
|
|
1273
1302
|
bot._log(`[GRID-BLOAT] Grid size ${d.gridSize} still exceeds expected maximum ${d.maxAllowed} ` +
|
|
1274
1303
|
`after grace period (${grace.graceMs}ms). Triggering structural resync.`, 'warn');
|
|
1275
1304
|
bot.manager.requestStructuralGridResync('grid-bloat-persistent', { reason: `Grid size ${d.gridSize} still exceeds max ${d.maxAllowed} after grace` }).catch((err) => {
|
|
1276
|
-
bot.manager?.logger?.log?.(`[GRID-BLOAT] Structural resync request failed: ${err
|
|
1305
|
+
bot.manager?.logger?.log?.(`[GRID-BLOAT] Structural resync request failed: ${getErrorMessage(err)}`, 'error');
|
|
1277
1306
|
});
|
|
1278
1307
|
}
|
|
1279
1308
|
else {
|
|
@@ -1299,7 +1328,7 @@ async function executeMaintenanceLogic(bot, context) {
|
|
|
1299
1328
|
bot._log('[LIGHTWEIGHT-SYNC] Skipped: manager assets not available', 'debug');
|
|
1300
1329
|
}
|
|
1301
1330
|
else {
|
|
1302
|
-
const chainOrdersCount = chainOpenOrdersResult.filter(o => parseChainOrder(o, assets) !== null).length;
|
|
1331
|
+
const chainOrdersCount = chainOpenOrdersResult.filter((o) => parseChainOrder(o, assets) !== null).length;
|
|
1303
1332
|
const gridActive = Array.from(bot.manager.orders.values()).filter((o) => isOrderOnChain(o)).length;
|
|
1304
1333
|
const diff = Math.abs(chainOrdersCount - gridActive);
|
|
1305
1334
|
if (diff > 2) {
|
|
@@ -1316,7 +1345,7 @@ async function executeMaintenanceLogic(bot, context) {
|
|
|
1316
1345
|
}
|
|
1317
1346
|
}
|
|
1318
1347
|
catch (e) {
|
|
1319
|
-
bot._log(`[LIGHTWEIGHT-SYNC] Check failed: ${e
|
|
1348
|
+
bot._log(`[LIGHTWEIGHT-SYNC] Check failed: ${getErrorMessage(e)}`, 'debug');
|
|
1320
1349
|
}
|
|
1321
1350
|
}
|
|
1322
1351
|
// Process any price corrections queued by prior sync operations before
|
|
@@ -1388,12 +1417,12 @@ async function executeMaintenanceLogic(bot, context) {
|
|
|
1388
1417
|
bot._log(`Grid divergence corrections applied during ${context}`);
|
|
1389
1418
|
}
|
|
1390
1419
|
catch (err) {
|
|
1391
|
-
bot._warn(`Error applying divergence corrections during ${context}: ${err
|
|
1420
|
+
bot._warn(`Error applying divergence corrections during ${context}: ${getErrorMessage(err)}`);
|
|
1392
1421
|
}
|
|
1393
1422
|
}
|
|
1394
1423
|
}
|
|
1395
1424
|
catch (err) {
|
|
1396
|
-
bot._warn(`Error running divergence check during ${context}: ${err
|
|
1425
|
+
bot._warn(`Error running divergence check during ${context}: ${getErrorMessage(err)}`);
|
|
1397
1426
|
}
|
|
1398
1427
|
const spreadResult = await bot.manager.checkSpreadCondition(BitShares, bot.updateOrdersOnChainPlan.bind(bot));
|
|
1399
1428
|
if (await bot._abortFlowIfIllegalState(`${context} spread check`))
|
|
@@ -1431,7 +1460,7 @@ async function executeMaintenanceLogic(bot, context) {
|
|
|
1431
1460
|
async function cancelOrderWithNodeFallback(bot, order) {
|
|
1432
1461
|
try {
|
|
1433
1462
|
const nodeManager = getNodeManager();
|
|
1434
|
-
const nodes = nodeManager
|
|
1463
|
+
const nodes = nodeManager?.getHealthyNodes() ?? [];
|
|
1435
1464
|
const fallbackNodes = nodes.length > 1 ? nodes.slice(1) : undefined;
|
|
1436
1465
|
return await chainOrders.cancelOrder(bot.account, bot.privateKey, order.orderId, fallbackNodes
|
|
1437
1466
|
? {
|
|
@@ -1481,13 +1510,13 @@ async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [] }
|
|
|
1481
1510
|
}
|
|
1482
1511
|
}
|
|
1483
1512
|
catch (refetchErr) {
|
|
1484
|
-
bot._warn(`[DUST] Cancel succeeded but refetch failed for ${order.id} (${order.orderId}): ${refetchErr
|
|
1513
|
+
bot._warn(`[DUST] Cancel succeeded but refetch failed for ${order.id} (${order.orderId}): ${getErrorMessage(refetchErr)}`);
|
|
1485
1514
|
}
|
|
1486
1515
|
syntheticFills.push({ ...order, isPartial: true, isDelayedRotationTrigger: true });
|
|
1487
1516
|
bot._log(`[DUST] Cancelled ${order.id} (${order.orderId}) size=${order.size}`, 'debug');
|
|
1488
1517
|
}
|
|
1489
1518
|
catch (err) {
|
|
1490
|
-
const errMsg = err
|
|
1519
|
+
const errMsg = getErrorMessage(err) || '';
|
|
1491
1520
|
if (isOrderDoesNotExistError(errMsg, order.orderId)) {
|
|
1492
1521
|
syntheticFills.push({ ...order, isPartial: true, isDelayedRotationTrigger: true });
|
|
1493
1522
|
bot._log(`[DUST] Order ${order.id} (${order.orderId}) already gone from chain`, 'debug');
|
|
@@ -1499,7 +1528,7 @@ async function cancelDustOrders(bot, { buy: buyDust = [], sell: sellDust = [] }
|
|
|
1499
1528
|
}
|
|
1500
1529
|
if (syntheticFills.length === 0)
|
|
1501
1530
|
return { cancelledCount: 0, batchResult: null };
|
|
1502
|
-
const result = await bot._processFillsWithBatching(syntheticFills, new Set(), `dust cancel [${syntheticFills.map(o => o.id).join(', ')}]`);
|
|
1531
|
+
const result = await bot._processFillsWithBatching(syntheticFills, new Set(), `dust cancel [${syntheticFills.map((o) => o.id).join(', ')}]`);
|
|
1503
1532
|
if (!result.aborted) {
|
|
1504
1533
|
await bot.manager.persistGrid();
|
|
1505
1534
|
}
|
|
@@ -1542,7 +1571,7 @@ async function runGridMaintenance(bot, context = 'periodic', options = {}) {
|
|
|
1542
1571
|
});
|
|
1543
1572
|
}
|
|
1544
1573
|
catch (err) {
|
|
1545
|
-
bot._warn(`Error during ${context} grid maintenance: ${err
|
|
1574
|
+
bot._warn(`Error during ${context} grid maintenance: ${getErrorMessage(err)}`);
|
|
1546
1575
|
throw err;
|
|
1547
1576
|
}
|
|
1548
1577
|
}
|
|
@@ -1623,7 +1652,7 @@ async function acquireBts(bot, deficit) {
|
|
|
1623
1652
|
continue;
|
|
1624
1653
|
try {
|
|
1625
1654
|
const pools = await BitShares.db.get_liquidity_pools_by_both_assets(asset.id, coreAssetId);
|
|
1626
|
-
const validPools = Array.isArray(pools) ? pools.filter(p => p?.id) : [];
|
|
1655
|
+
const validPools = Array.isArray(pools) ? pools.filter((p) => p?.id) : [];
|
|
1627
1656
|
const poolData = validPools.length
|
|
1628
1657
|
? validPools.sort((a, b) => {
|
|
1629
1658
|
const getBtsBal = (p) => {
|
|
@@ -1649,7 +1678,7 @@ async function acquireBts(bot, deficit) {
|
|
|
1649
1678
|
candidates.push({ asset, poolId: poolData.id, sellAmount, expectedReceive, priceImpact: sellAmount / assetReserve });
|
|
1650
1679
|
}
|
|
1651
1680
|
catch (e) {
|
|
1652
|
-
bot._log(`[BTS-ACQ] Pool lookup failed for ${asset?.symbol}: ${e
|
|
1681
|
+
bot._log(`[BTS-ACQ] Pool lookup failed for ${asset?.symbol}: ${getErrorMessage(e)}`, 'debug');
|
|
1653
1682
|
}
|
|
1654
1683
|
}
|
|
1655
1684
|
if (candidates.length === 0) {
|
|
@@ -1673,7 +1702,7 @@ async function acquireBts(bot, deficit) {
|
|
|
1673
1702
|
}
|
|
1674
1703
|
}
|
|
1675
1704
|
catch (err) {
|
|
1676
|
-
bot._log(`[BTS-ACQ] Swap broadcast failed: ${err
|
|
1705
|
+
bot._log(`[BTS-ACQ] Swap broadcast failed: ${getErrorMessage(err)}`, 'error');
|
|
1677
1706
|
return;
|
|
1678
1707
|
}
|
|
1679
1708
|
const orderType = (best.asset.id === bot.assets?.assetA?.id) ? 'sell' : 'buy';
|
|
@@ -1688,6 +1717,208 @@ async function acquireBts(bot, deficit) {
|
|
|
1688
1717
|
// if the chain balance is still below the trigger threshold.
|
|
1689
1718
|
bot._log(`[BTS-ACQ] Acquired ~${Format.formatAmount8(best.expectedReceive)} BTS: sold ${Format.formatAmount8(best.sellAmount)} ${best.asset.symbol} via pool ${best.poolId}`, 'info');
|
|
1690
1719
|
}
|
|
1720
|
+
/**
|
|
1721
|
+
* Run a single dust health check cycle.
|
|
1722
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1723
|
+
*/
|
|
1724
|
+
async function runDustHealthCheck(bot) {
|
|
1725
|
+
if (bot._shuttingDown || !bot.manager)
|
|
1726
|
+
return;
|
|
1727
|
+
try {
|
|
1728
|
+
const health = await bot.manager.checkGridHealth(bot.updateOrdersOnChainPlan?.bind(bot));
|
|
1729
|
+
const buyDust = health.buyDustOrders || [];
|
|
1730
|
+
const sellDust = health.sellDustOrders || [];
|
|
1731
|
+
const totalDust = buyDust.length + sellDust.length;
|
|
1732
|
+
if (totalDust > 0) {
|
|
1733
|
+
bot._log(`[DUST] Health check: ${totalDust} dust order(s) (buy=${buyDust.length}, sell=${sellDust.length})`);
|
|
1734
|
+
const lock = bot.manager._fillProcessingLock;
|
|
1735
|
+
if (lock && typeof lock.acquire === 'function') {
|
|
1736
|
+
await lock.acquire(async () => {
|
|
1737
|
+
await bot._cancelDustOrders({
|
|
1738
|
+
buy: health.buyDustOrders,
|
|
1739
|
+
sell: health.sellDustOrders,
|
|
1740
|
+
});
|
|
1741
|
+
}, { timeout: TIMING.DUST_CANCEL_TIMEOUT_MS });
|
|
1742
|
+
}
|
|
1743
|
+
else {
|
|
1744
|
+
bot._warn('[DUST] Fill lock unavailable — cancelling dust without lock (potential race)');
|
|
1745
|
+
await bot._cancelDustOrders({
|
|
1746
|
+
buy: health.buyDustOrders,
|
|
1747
|
+
sell: health.sellDustOrders,
|
|
1748
|
+
});
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
catch (err) {
|
|
1753
|
+
if (getErrorMessage(err).includes('Lock acquisition timeout')) {
|
|
1754
|
+
bot._warn('[DUST] Lock busy, skipping dust cancel this cycle (retry in 5 min)');
|
|
1755
|
+
}
|
|
1756
|
+
else {
|
|
1757
|
+
bot._warn(`[DUST] Health check error (retry in 5 min): ${getErrorMessage(err)}`);
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
/**
|
|
1762
|
+
* Set up the periodic dust health check interval.
|
|
1763
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1764
|
+
*/
|
|
1765
|
+
function setupDustHealthCheckInterval(bot) {
|
|
1766
|
+
bot._dustHealthCheckTimer = setInterval(() => {
|
|
1767
|
+
runDustHealthCheck(bot);
|
|
1768
|
+
}, TIMING.DUST_HEALTH_CHECK_INTERVAL_MS);
|
|
1769
|
+
if (typeof bot._dustHealthCheckTimer?.unref === 'function') {
|
|
1770
|
+
bot._dustHealthCheckTimer.unref();
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
/**
|
|
1774
|
+
* Request a full grid reset from fresh on-chain state.
|
|
1775
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1776
|
+
* @param {string} [reason='structural change']
|
|
1777
|
+
* @param {{refreshCenterPrice?: boolean}} [options={}]
|
|
1778
|
+
* @returns {Promise<Object>}
|
|
1779
|
+
*/
|
|
1780
|
+
async function requestGridReset(bot, reason = 'structural change', options = {}) {
|
|
1781
|
+
if (!bot.manager || typeof bot._performGridResync !== 'function') {
|
|
1782
|
+
return { skipped: true, reason: 'grid resync unavailable' };
|
|
1783
|
+
}
|
|
1784
|
+
const message = reason ? `[CR-RESET] ${reason}` : '[CR-RESET] grid reset requested';
|
|
1785
|
+
bot._log(`${message}; rebuilding grid from fresh on-chain state`, 'info');
|
|
1786
|
+
const resetOptions = {
|
|
1787
|
+
...options,
|
|
1788
|
+
refreshCenterPrice: options.refreshCenterPrice !== false,
|
|
1789
|
+
};
|
|
1790
|
+
if (!bot.manager._fillProcessingLock || bot.manager._fillProcessingLock.isReentrant()) {
|
|
1791
|
+
return performGridResync(bot, resetOptions);
|
|
1792
|
+
}
|
|
1793
|
+
return bot.manager._fillProcessingLock.acquire(async () => performGridResync(bot, resetOptions));
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* Wire the structural grid resync request handler on the manager.
|
|
1797
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1798
|
+
*/
|
|
1799
|
+
function wireStructuralGridResyncRequest(bot) {
|
|
1800
|
+
if (!bot.manager || bot.manager.requestStructuralGridResync)
|
|
1801
|
+
return;
|
|
1802
|
+
bot.manager.requestStructuralGridResync = async (reason = 'structural recovery', details = {}) => {
|
|
1803
|
+
if (bot._shuttingDown) {
|
|
1804
|
+
return { skipped: true, reason: 'shutting down' };
|
|
1805
|
+
}
|
|
1806
|
+
if (bot._structuralGridResyncRunning || bot._structuralGridResyncTimer) {
|
|
1807
|
+
return { skipped: true, reason: 'structural grid resync already scheduled' };
|
|
1808
|
+
}
|
|
1809
|
+
const unmatchedCount = Array.isArray(details?.unmatchedChainOrders)
|
|
1810
|
+
? details.unmatchedChainOrders.length
|
|
1811
|
+
: 0;
|
|
1812
|
+
bot._structuralGridResyncTimer = setTimeout(async () => {
|
|
1813
|
+
bot._structuralGridResyncTimer = null;
|
|
1814
|
+
if (bot._shuttingDown)
|
|
1815
|
+
return;
|
|
1816
|
+
bot._structuralGridResyncRunning = true;
|
|
1817
|
+
try {
|
|
1818
|
+
const persistedResult = await bot._recoverFromPersistedGrid();
|
|
1819
|
+
if (persistedResult.success) {
|
|
1820
|
+
if (bot.manager?._recoveryState) {
|
|
1821
|
+
bot.manager._recoveryState = { ...bot.manager._recoveryState, attemptCount: 0, lastAttemptAt: 0, lastFailureAt: 0 };
|
|
1822
|
+
}
|
|
1823
|
+
return;
|
|
1824
|
+
}
|
|
1825
|
+
const suffix = unmatchedCount > 0 ? ` (${unmatchedCount} unmatched chain order(s))` : '';
|
|
1826
|
+
bot._warn(`[RECOVERY] Running structural full grid resync for ${reason}${suffix}`);
|
|
1827
|
+
const resetResult = await bot.requestGridReset('rms_structural_grid_resync', {
|
|
1828
|
+
refreshCenterPrice: true,
|
|
1829
|
+
});
|
|
1830
|
+
if (resetResult && bot.manager?._recoveryState) {
|
|
1831
|
+
bot.manager._recoveryState = { ...bot.manager._recoveryState, attemptCount: 0, lastAttemptAt: 0, lastFailureAt: 0 };
|
|
1832
|
+
}
|
|
1833
|
+
}
|
|
1834
|
+
catch (err) {
|
|
1835
|
+
bot._warn(`[RECOVERY] Structural full grid resync failed: ${getErrorMessage(err)}`);
|
|
1836
|
+
}
|
|
1837
|
+
finally {
|
|
1838
|
+
bot._structuralGridResyncRunning = false;
|
|
1839
|
+
if (bot.manager?._recoveryState) {
|
|
1840
|
+
bot.manager._recoveryState = { ...bot.manager._recoveryState, structuralResyncRequested: false };
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
}, 0);
|
|
1844
|
+
return { scheduled: true };
|
|
1845
|
+
};
|
|
1846
|
+
}
|
|
1847
|
+
/**
|
|
1848
|
+
* Get current pipeline signal state for congestion checks.
|
|
1849
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1850
|
+
* @returns {Object}
|
|
1851
|
+
*/
|
|
1852
|
+
function getPipelineSignals(bot) {
|
|
1853
|
+
bot.manager?._cleanExpiredLocks?.();
|
|
1854
|
+
return {
|
|
1855
|
+
incomingFillQueueLength: bot._incomingFillQueue.length,
|
|
1856
|
+
shadowLocks: bot.manager?.shadowOrderIds?.size || 0,
|
|
1857
|
+
batchInFlight: bot._batchInFlight,
|
|
1858
|
+
recoveryInFlight: bot._recoverySyncInFlight,
|
|
1859
|
+
broadcasting: bot.manager?.isBroadcastingActive?.() || false
|
|
1860
|
+
};
|
|
1861
|
+
}
|
|
1862
|
+
/**
|
|
1863
|
+
* Mark that grid activity occurred (updates idle timer).
|
|
1864
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1865
|
+
* @param {string} [reason='activity']
|
|
1866
|
+
*/
|
|
1867
|
+
function markGridActivity(bot, reason = 'activity') {
|
|
1868
|
+
bot._lastGridActivityAt = Date.now();
|
|
1869
|
+
bot.manager?.logger?.log?.(`[MAINT-IDLE] Activity observed: ${reason}`, 'debug');
|
|
1870
|
+
}
|
|
1871
|
+
/**
|
|
1872
|
+
* Get current metrics for monitoring and debugging.
|
|
1873
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1874
|
+
* @returns {Object}
|
|
1875
|
+
*/
|
|
1876
|
+
function getMetrics(bot) {
|
|
1877
|
+
bot.manager?._cleanExpiredLocks?.();
|
|
1878
|
+
return {
|
|
1879
|
+
...bot._metrics,
|
|
1880
|
+
queueDepth: bot._incomingFillQueue.length,
|
|
1881
|
+
fillProcessingLockActive: bot.manager?._fillProcessingLock?.isLocked() || false,
|
|
1882
|
+
divergenceLockActive: bot.manager?._divergenceLock?.isLocked() || false,
|
|
1883
|
+
shadowLocksActive: bot.manager?.shadowOrderIds?.size || 0,
|
|
1884
|
+
recoveryExhaustedAt: bot.manager?._recoveryExhaustedAt || null,
|
|
1885
|
+
recentFillsTracked: bot._recentlyProcessedFills.size
|
|
1886
|
+
};
|
|
1887
|
+
}
|
|
1888
|
+
/**
|
|
1889
|
+
* Read open orders from chain, sync with local state, and process any fills found.
|
|
1890
|
+
* @param {import('./dexbot_class').DEXBot} bot
|
|
1891
|
+
* @param {string} tag - Context label for logging
|
|
1892
|
+
* @returns {Promise<Object>}
|
|
1893
|
+
*/
|
|
1894
|
+
async function syncOpenOrdersAndProcessFills(bot, tag) {
|
|
1895
|
+
if (!bot.accountId || bot.config?.dryRun) {
|
|
1896
|
+
return { syncResult: null, aborted: false, hasUnmatched: 0, openOrders: null };
|
|
1897
|
+
}
|
|
1898
|
+
try {
|
|
1899
|
+
let openOrders = await chainOrders.readOpenOrders(bot.accountId);
|
|
1900
|
+
const syncResult = await bot.manager.synchronizeWithChain(openOrders, 'readOpenOrders');
|
|
1901
|
+
let aborted = false;
|
|
1902
|
+
if (syncResult?.filledOrders?.length > 0) {
|
|
1903
|
+
bot._refreshDynamicWeightDistribution(`${tag} sync-fill`);
|
|
1904
|
+
bot._log(`[SYNC-CHAIN] ${syncResult.filledOrders.length} filled order(s) found during ${tag}`, 'info');
|
|
1905
|
+
const batchResult = await bot._processFillsWithBatching(syncResult.filledOrders, new Set(), `${tag} sync-fill`);
|
|
1906
|
+
if (!batchResult?.aborted) {
|
|
1907
|
+
openOrders = await chainOrders.readOpenOrders(bot.accountId);
|
|
1908
|
+
await bot.manager.synchronizeWithChain(openOrders, 'readOpenOrders');
|
|
1909
|
+
}
|
|
1910
|
+
else {
|
|
1911
|
+
aborted = true;
|
|
1912
|
+
}
|
|
1913
|
+
}
|
|
1914
|
+
const hasUnmatched = syncResult?.unmatchedChainOrders?.length || 0;
|
|
1915
|
+
return { syncResult, aborted, hasUnmatched, openOrders };
|
|
1916
|
+
}
|
|
1917
|
+
catch (err) {
|
|
1918
|
+
bot._warn(`[SYNC-CHAIN] Open-orders sync failed during ${tag}: ${getErrorMessage(err)}`);
|
|
1919
|
+
return { syncResult: null, aborted: true, hasUnmatched: -1, openOrders: null };
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1691
1922
|
module.exports = {
|
|
1692
1923
|
loadBotsConfigSnapshot,
|
|
1693
1924
|
refreshDynamicWeightDistribution,
|
|
@@ -1713,5 +1944,13 @@ module.exports = {
|
|
|
1713
1944
|
usesAmaGridPrice,
|
|
1714
1945
|
checkBtsBalanceAndAcquire,
|
|
1715
1946
|
acquireBts,
|
|
1947
|
+
runDustHealthCheck,
|
|
1948
|
+
setupDustHealthCheckInterval,
|
|
1949
|
+
requestGridReset,
|
|
1950
|
+
wireStructuralGridResyncRequest,
|
|
1951
|
+
getPipelineSignals,
|
|
1952
|
+
markGridActivity,
|
|
1953
|
+
getMetrics,
|
|
1954
|
+
syncOpenOrdersAndProcessFills,
|
|
1716
1955
|
};
|
|
1717
1956
|
//# sourceMappingURL=dexbot_maintenance_runtime.js.map
|