dexbot 1.3.3 → 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 +21 -22
- 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 -494
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +69 -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 +262 -81
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +156 -123
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +12 -9
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +132 -60
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- 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 +5 -20
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +55 -116
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +12 -12
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +55 -45
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +2 -6
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +115 -79
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +11 -24
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +62 -28
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- 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 -21
- 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 -14
- 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 -19
- 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 -33
- 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 -38
- 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 -23
- 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 -109
- 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 +50 -56
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +66 -57
- 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/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 +1 -1
- 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
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
*/
|
|
11
11
|
const chainOrders = require('./chain_orders');
|
|
12
12
|
const { BroadcastUncertainError } = require('./dexbot_credential_client');
|
|
13
|
-
const { buildCreateOrderArgs, buildCreateOpFingerprint, extractBatchOperationResults, formatUnmatchedChainOrder, convertToSpreadPlaceholder, buildOutsideInPairGroups, } = require('./order/utils/order');
|
|
13
|
+
const { buildCreateOrderArgs, buildCreateOpFingerprint, extractBatchOperationResults, formatUnmatchedChainOrder, convertToSpreadPlaceholder, buildOutsideInPairGroups, isOrderPlaced, } = require('./order/utils/order');
|
|
14
14
|
const { validateCreateTargetSlots } = require('./order/utils/validate');
|
|
15
|
-
const { validateOrderSize } = require('./order/utils/math');
|
|
15
|
+
const { validateOrderSize, findPriceCollision } = require('./order/utils/math');
|
|
16
16
|
// Lazy accessor so test mocks on the math module export take effect at call time.
|
|
17
17
|
function getAssetFees(...args) { return require('./order/utils/math').getAssetFees(...args); }
|
|
18
|
-
const { COW_ACTIONS, ORDER_STATES, ORDER_TYPES, REBALANCE_STATES,
|
|
18
|
+
const { COW_ACTIONS, ORDER_STATES, ORDER_TYPES, REBALANCE_STATES, } = require('./constants');
|
|
19
19
|
const Format = require('./order/format');
|
|
20
20
|
const { WorkingGrid } = require('./order/working_grid');
|
|
21
|
+
const { getErrorMessage } = require('./utils/errors');
|
|
21
22
|
/**
|
|
22
23
|
* Group orders into outside-in pairs for atomic create execution.
|
|
23
24
|
* @param {Array} orders
|
|
@@ -26,8 +27,8 @@ const { WorkingGrid } = require('./order/working_grid');
|
|
|
26
27
|
function buildOutsideInPairGroupsForOrders(orders) {
|
|
27
28
|
return buildOutsideInPairGroups(orders, {
|
|
28
29
|
isValid: Boolean,
|
|
29
|
-
getType: o => o.type,
|
|
30
|
-
getPrice: o => o.price,
|
|
30
|
+
getType: (o) => o.type,
|
|
31
|
+
getPrice: (o) => o.price,
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
34
|
/**
|
|
@@ -37,9 +38,9 @@ function buildOutsideInPairGroupsForOrders(orders) {
|
|
|
37
38
|
*/
|
|
38
39
|
function buildOutsideInPairGroupsForCreateEntries(createEntries) {
|
|
39
40
|
return buildOutsideInPairGroups(createEntries, {
|
|
40
|
-
isValid: e => Boolean(e?.context?.order),
|
|
41
|
-
getType: e => e.context.order.type,
|
|
42
|
-
getPrice: e => e.context.order.price,
|
|
41
|
+
isValid: (e) => Boolean(e?.context?.order),
|
|
42
|
+
getType: (e) => e.context.order.type,
|
|
43
|
+
getPrice: (e) => e.context.order.price,
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
@@ -100,8 +101,8 @@ async function recoverAfterMissingCreateResults(bot, reason = 'missing create op
|
|
|
100
101
|
}
|
|
101
102
|
const preRecoveryMissingCreateBlockers = Array.isArray(bot.manager._lastUnmatchedChainOrders)
|
|
102
103
|
? bot.manager._lastUnmatchedChainOrders
|
|
103
|
-
.filter(order => order?.reason === 'missing-create-result')
|
|
104
|
-
.map(order => ({ ...order }))
|
|
104
|
+
.filter((order) => order?.reason === 'missing-create-result')
|
|
105
|
+
.map((order) => ({ ...order }))
|
|
105
106
|
: [];
|
|
106
107
|
const openOrders = await chainOrders.readOpenOrders(accountRef);
|
|
107
108
|
const recoveryResult = await bot.manager.syncFromOpenOrders(openOrders, {
|
|
@@ -113,15 +114,15 @@ async function recoverAfterMissingCreateResults(bot, reason = 'missing create op
|
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
catch (err) {
|
|
116
|
-
bot.manager?.logger?.log?.(`[COW] CRITICAL: Recovery sync failed after ${reason}: ${err
|
|
117
|
+
bot.manager?.logger?.log?.(`[COW] CRITICAL: Recovery sync failed after ${reason}: ${getErrorMessage(err)}`, 'error');
|
|
117
118
|
if (typeof bot.manager?.requestStructuralGridResync === 'function') {
|
|
118
119
|
try {
|
|
119
120
|
await bot.manager.requestStructuralGridResync(`recovery sync failed after ${reason}`, {
|
|
120
|
-
error: err
|
|
121
|
+
error: getErrorMessage(err)
|
|
121
122
|
});
|
|
122
123
|
}
|
|
123
124
|
catch (scheduleErr) {
|
|
124
|
-
bot.manager?.logger?.log?.(`[COW] CRITICAL: Failed to schedule structural resync after recovery failure: ${scheduleErr
|
|
125
|
+
bot.manager?.logger?.log?.(`[COW] CRITICAL: Failed to schedule structural resync after recovery failure: ${getErrorMessage(scheduleErr)}`, 'error');
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
}
|
|
@@ -136,15 +137,15 @@ function preserveMissingCreateBlockersAfterRecovery(bot, blockers, recoveryResul
|
|
|
136
137
|
if (!Array.isArray(blockers) || blockers.length === 0 || !bot.manager)
|
|
137
138
|
return;
|
|
138
139
|
const adoptedSlotIds = new Set((Array.isArray(recoveryResult?.updatedOrders) ? recoveryResult.updatedOrders : [])
|
|
139
|
-
.filter(order => order?.id && order?.orderId)
|
|
140
|
-
.map(order => order.id));
|
|
141
|
-
const unresolvedBlockers = blockers.filter(blocker => !blocker.slotId || !adoptedSlotIds.has(blocker.slotId));
|
|
140
|
+
.filter((order) => order?.id && order?.orderId)
|
|
141
|
+
.map((order) => order.id));
|
|
142
|
+
const unresolvedBlockers = blockers.filter((blocker) => !blocker.slotId || !adoptedSlotIds.has(blocker.slotId));
|
|
142
143
|
if (unresolvedBlockers.length === 0)
|
|
143
144
|
return;
|
|
144
145
|
const currentUnmatched = Array.isArray(bot.manager._lastUnmatchedChainOrders)
|
|
145
146
|
? bot.manager._lastUnmatchedChainOrders
|
|
146
147
|
: [];
|
|
147
|
-
const currentKeys = new Set(currentUnmatched.map(order => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
|
|
148
|
+
const currentKeys = new Set(currentUnmatched.map((order) => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
|
|
148
149
|
const restored = [...currentUnmatched];
|
|
149
150
|
for (const blocker of unresolvedBlockers) {
|
|
150
151
|
const key = `${blocker.reason || ''}:${blocker.slotId || ''}:${blocker.operationIndex ?? ''}`;
|
|
@@ -165,7 +166,7 @@ function preserveMissingCreateBlockersAfterRecovery(bot, blockers, recoveryResul
|
|
|
165
166
|
*/
|
|
166
167
|
function markMissingCreateResultsAsStructuralBlocker(bot, missingCreateResults) {
|
|
167
168
|
const blockers = Array.isArray(missingCreateResults)
|
|
168
|
-
? missingCreateResults.map(item => {
|
|
169
|
+
? missingCreateResults.map((item) => {
|
|
169
170
|
const order = item.ctx?.order || {};
|
|
170
171
|
const fingerprint = [
|
|
171
172
|
`type=${order.type || 'unknown'}`,
|
|
@@ -188,7 +189,7 @@ function markMissingCreateResultsAsStructuralBlocker(bot, missingCreateResults)
|
|
|
188
189
|
const existing = Array.isArray(bot.manager._lastUnmatchedChainOrders)
|
|
189
190
|
? bot.manager._lastUnmatchedChainOrders
|
|
190
191
|
: [];
|
|
191
|
-
const keys = new Set(existing.map(order => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
|
|
192
|
+
const keys = new Set(existing.map((order) => `${order.reason || ''}:${order.slotId || ''}:${order.operationIndex ?? ''}`));
|
|
192
193
|
const merged = [...existing];
|
|
193
194
|
for (const blocker of blockers) {
|
|
194
195
|
const key = `${blocker.reason || ''}:${blocker.slotId || ''}:${blocker.operationIndex ?? ''}`;
|
|
@@ -406,12 +407,12 @@ async function reconcileAfterUncertainBroadcast(bot, err, opContexts, options =
|
|
|
406
407
|
* @param {Object} options
|
|
407
408
|
* @returns {Promise<Object>}
|
|
408
409
|
*/
|
|
409
|
-
async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts,
|
|
410
|
+
async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, _options) {
|
|
410
411
|
const startedAt = Date.now();
|
|
411
412
|
const pending = (bot.manager && bot.manager._pendingBroadcasts instanceof Map)
|
|
412
413
|
? Array.from(bot.manager._pendingBroadcasts.values())
|
|
413
414
|
: [];
|
|
414
|
-
const createContextCount = opContexts.filter(c => c && c.kind === 'create').length;
|
|
415
|
+
const createContextCount = opContexts.filter((c) => c && c.kind === 'create').length;
|
|
415
416
|
const nonCreateContextCount = opContexts.length - createContextCount;
|
|
416
417
|
bot.manager.logger.log(`[COW][UNCERTAIN] batchId=${err?.batchId || 'n/a'} ops=${opContexts.length} ` +
|
|
417
418
|
`creates=${createContextCount} nonCreates=${nonCreateContextCount} ` +
|
|
@@ -459,9 +460,9 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
|
|
|
459
460
|
// 2b. Second pass: search for any unmatched chain orders by fingerprint
|
|
460
461
|
// across all known pending slots.
|
|
461
462
|
if (adopted.length < pending.length) {
|
|
462
|
-
const adoptedSlotIds = new Set(adopted.map(a => a.entry.slotId));
|
|
463
|
+
const adoptedSlotIds = new Set(adopted.map((a) => a.entry.slotId));
|
|
463
464
|
for (const o of chainSnapshot) {
|
|
464
|
-
if (adopted.some(a => a.match.id === o.id))
|
|
465
|
+
if (adopted.some((a) => a.match.id === o.id))
|
|
465
466
|
continue;
|
|
466
467
|
for (const entry of pending) {
|
|
467
468
|
if (adoptedSlotIds.has(entry.slotId))
|
|
@@ -475,10 +476,49 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
|
|
|
475
476
|
}
|
|
476
477
|
}
|
|
477
478
|
// Rebuild discarded list to remove newly adopted entries.
|
|
478
|
-
const newlyAdoptedSlotIds = new Set(adopted.map(a => a.entry.slotId));
|
|
479
|
-
discarded = pending.filter(e => !newlyAdoptedSlotIds.has(e.slotId));
|
|
479
|
+
const newlyAdoptedSlotIds = new Set(adopted.map((a) => a.entry.slotId));
|
|
480
|
+
discarded = pending.filter((e) => !newlyAdoptedSlotIds.has(e.slotId));
|
|
481
|
+
}
|
|
482
|
+
// 3a. Re-read chain for discarded CREATE entries to catch broadcasts that
|
|
483
|
+
// landed between the initial read and this point (TOCTOU window).
|
|
484
|
+
if (discarded.length > 0 && typeof chainOrders.readOpenOrders === 'function') {
|
|
485
|
+
const createDiscarded = discarded.filter((e) => {
|
|
486
|
+
const ctx = opContexts[e.ctxIndex];
|
|
487
|
+
return ctx && ctx.kind === 'create';
|
|
488
|
+
});
|
|
489
|
+
if (createDiscarded.length > 0) {
|
|
490
|
+
try {
|
|
491
|
+
const freshChain = await chainOrders.readOpenOrders(accountRef);
|
|
492
|
+
const remainingDiscarded = [];
|
|
493
|
+
for (const entry of discarded) {
|
|
494
|
+
const ctx = opContexts[entry.ctxIndex];
|
|
495
|
+
if (ctx && ctx.kind === 'create') {
|
|
496
|
+
const match = findChainOrderForSlot(bot, freshChain, entry.slotId, {
|
|
497
|
+
sell: entry.finalInts?.sell,
|
|
498
|
+
receive: entry.finalInts?.receive,
|
|
499
|
+
orderType: entry.orderType,
|
|
500
|
+
fingerprint: entry.fingerprint,
|
|
501
|
+
});
|
|
502
|
+
if (match) {
|
|
503
|
+
adopted.push({ entry, match });
|
|
504
|
+
bot.manager.logger.log(`[COW][UNCERTAIN] Late-adopted discarded CREATE for slot ${entry.slotId} (${match.id}) via fresh chain read`, 'info');
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
remainingDiscarded.push(entry);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
remainingDiscarded.push(entry);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
discarded = remainingDiscarded;
|
|
515
|
+
}
|
|
516
|
+
catch {
|
|
517
|
+
bot.manager.logger.log('[COW][UNCERTAIN] Fresh chain read for late adoption failed; proceeding with original discard decisions.', 'warn');
|
|
518
|
+
}
|
|
519
|
+
}
|
|
480
520
|
}
|
|
481
|
-
//
|
|
521
|
+
// 3b. Apply decisions
|
|
482
522
|
let adoptedCount = 0;
|
|
483
523
|
let discardedCount = 0;
|
|
484
524
|
for (const { entry, match } of adopted) {
|
|
@@ -574,8 +614,8 @@ async function reconcileAfterUncertainBroadcastImpl(bot, err, opContexts, option
|
|
|
574
614
|
// chain snapshot.
|
|
575
615
|
const alreadyScheduled = bot._structuralGridResyncRunning || bot._structuralGridResyncTimer;
|
|
576
616
|
if (!alreadyScheduled && chainSnapshot.length > 0) {
|
|
577
|
-
const reconciledOrderIds = new Set(adopted.map(a => a.match?.id).filter(Boolean));
|
|
578
|
-
const unreconciledCount = chainSnapshot.filter(o => !reconciledOrderIds.has(o.id)).length;
|
|
617
|
+
const reconciledOrderIds = new Set(adopted.map((a) => a.match?.id).filter(Boolean));
|
|
618
|
+
const unreconciledCount = chainSnapshot.filter((o) => !reconciledOrderIds.has(o.id)).length;
|
|
579
619
|
if (unreconciledCount > 0) {
|
|
580
620
|
bot.manager.logger.log(`[COW][UNCERTAIN] ${unreconciledCount} chain order(s) remain unreconciled after uncertain broadcast recovery. ` +
|
|
581
621
|
`These may be legitimate pre-existing orders or leftovers from a prior cycle. Requesting structural resync.`, 'warn');
|
|
@@ -625,11 +665,11 @@ async function autoCancelOneUnmatchedOrphan(bot) {
|
|
|
625
665
|
if (unmatched.length === 0) {
|
|
626
666
|
return { cancelled: false, reason: 'no-unmatched' };
|
|
627
667
|
}
|
|
628
|
-
const fingerprinted = unmatched.find(u => u && u.fingerprint);
|
|
668
|
+
const fingerprinted = unmatched.find((u) => u && u.fingerprint);
|
|
629
669
|
if (fingerprinted) {
|
|
630
670
|
return { cancelled: false, reason: 'fingerprinted-handle-via-recovery' };
|
|
631
671
|
}
|
|
632
|
-
const target = unmatched.find(u => u && u.reason === 'price-drift-orphan');
|
|
672
|
+
const target = unmatched.find((u) => u && u.reason === 'price-drift-orphan');
|
|
633
673
|
if (!target) {
|
|
634
674
|
return { cancelled: false, reason: 'no-price-drift-orphan', message: 'no price-drift orphan to cancel; other unmatched orders are adoptable' };
|
|
635
675
|
}
|
|
@@ -661,10 +701,10 @@ async function autoCancelOneUnmatchedOrphan(bot) {
|
|
|
661
701
|
* @param {Array} opContexts
|
|
662
702
|
* @returns {boolean}
|
|
663
703
|
*/
|
|
664
|
-
function shouldExecuteCreatePairMode(
|
|
704
|
+
function shouldExecuteCreatePairMode(_bot, opContexts) {
|
|
665
705
|
if (!Array.isArray(opContexts) || opContexts.length < 2)
|
|
666
706
|
return false;
|
|
667
|
-
if (!opContexts.every(ctx => ctx?.kind === 'create' && ctx?.order))
|
|
707
|
+
if (!opContexts.every((ctx) => ctx?.kind === 'create' && ctx?.order))
|
|
668
708
|
return false;
|
|
669
709
|
let hasBuy = false;
|
|
670
710
|
let hasSell = false;
|
|
@@ -741,8 +781,8 @@ async function executeOperationsWithStrategy(bot, operations, opContexts) {
|
|
|
741
781
|
const mergedContexts = [];
|
|
742
782
|
for (let idx = 0; idx < groups.length; idx++) {
|
|
743
783
|
const group = groups[idx];
|
|
744
|
-
const groupOps = group.map(e => e.operation);
|
|
745
|
-
const groupContexts = group.map(e => e.context);
|
|
784
|
+
const groupOps = group.map((e) => e.operation);
|
|
785
|
+
const groupContexts = group.map((e) => e.context);
|
|
746
786
|
bot.manager.logger.log(`[COW] Broadcasting create pair group ${idx + 1}/${groups.length} (${groupOps.length} op${groupOps.length > 1 ? 's' : ''}, outside->center)`, 'info');
|
|
747
787
|
let groupResult;
|
|
748
788
|
try {
|
|
@@ -877,7 +917,7 @@ function validateOperationFunds(bot, operations, assetA, assetB) {
|
|
|
877
917
|
* @param {number|null} [fallbackSize=null]
|
|
878
918
|
* @returns {number|null}
|
|
879
919
|
*/
|
|
880
|
-
function resolveIdealSizeForValidation(
|
|
920
|
+
function resolveIdealSizeForValidation(_bot, orderLike, fallbackSize = null) {
|
|
881
921
|
const candidates = [
|
|
882
922
|
orderLike?.idealSize,
|
|
883
923
|
orderLike?.order?.idealSize,
|
|
@@ -911,7 +951,7 @@ function validateOrderSizeForExecution(bot, size, type, orderLike = null, fallba
|
|
|
911
951
|
* @param {Object|Array} plan
|
|
912
952
|
* @returns {Array}
|
|
913
953
|
*/
|
|
914
|
-
function buildActionsFromPlan(
|
|
954
|
+
function buildActionsFromPlan(_bot, plan) {
|
|
915
955
|
const normalizedPlan = Array.isArray(plan)
|
|
916
956
|
? { ordersToPlace: plan }
|
|
917
957
|
: (plan || {});
|
|
@@ -1089,9 +1129,9 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1089
1129
|
bot._currentCycleId = (Number.isFinite(Number(bot._currentCycleId)) ? Number(bot._currentCycleId) : 0) + 1;
|
|
1090
1130
|
const { workingGrid, workingIndexes, workingBoundary, actions } = cowResult;
|
|
1091
1131
|
if (bot.config.dryRun) {
|
|
1092
|
-
const cancelCount = actions.filter(a => a.type === COW_ACTIONS.CANCEL).length;
|
|
1093
|
-
const createCount = actions.filter(a => a.type === COW_ACTIONS.CREATE).length;
|
|
1094
|
-
const updateCount = actions.filter(a => a.type === COW_ACTIONS.UPDATE).length;
|
|
1132
|
+
const cancelCount = actions.filter((a) => a.type === COW_ACTIONS.CANCEL).length;
|
|
1133
|
+
const createCount = actions.filter((a) => a.type === COW_ACTIONS.CREATE).length;
|
|
1134
|
+
const updateCount = actions.filter((a) => a.type === COW_ACTIONS.UPDATE).length;
|
|
1095
1135
|
if (cancelCount > 0)
|
|
1096
1136
|
bot.manager.logger.log(`Dry run: would cancel ${cancelCount} orders`, 'info');
|
|
1097
1137
|
if (createCount > 0)
|
|
@@ -1114,10 +1154,10 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1114
1154
|
hadRotation: false
|
|
1115
1155
|
};
|
|
1116
1156
|
}
|
|
1117
|
-
const hasCreateActions = actions.some(action => action.type === COW_ACTIONS.CREATE);
|
|
1157
|
+
const hasCreateActions = actions.some((action) => action.type === COW_ACTIONS.CREATE);
|
|
1118
1158
|
if (hasCreateActions && bot.manager?._recoveryExhaustedAt) {
|
|
1119
1159
|
const exhaustedAge = Date.now() - bot.manager._recoveryExhaustedAt;
|
|
1120
|
-
bot.manager.logger.log?.(`[RECOVERY-EXHAUSTED] Blocking ${actions.filter(a => a.type === COW_ACTIONS.CREATE).length} CREATE(s) ` +
|
|
1160
|
+
bot.manager.logger.log?.(`[RECOVERY-EXHAUSTED] Blocking ${actions.filter((a) => a.type === COW_ACTIONS.CREATE).length} CREATE(s) ` +
|
|
1121
1161
|
`(exhausted ${(exhaustedAge / 1000).toFixed(0)}s ago). ` +
|
|
1122
1162
|
`Waiting for next fill or sync cycle to reset recovery state.`, 'warn');
|
|
1123
1163
|
return {
|
|
@@ -1140,11 +1180,11 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1140
1180
|
if (typeof bot.manager.requestStructuralGridResync === 'function') {
|
|
1141
1181
|
if (bot.manager._recoveryState)
|
|
1142
1182
|
bot.manager._recoveryState = { ...bot.manager._recoveryState, structuralResyncRequested: true };
|
|
1143
|
-
await bot.manager.requestStructuralGridResync('pending broadcasts before COW create', { pendingBroadcasts: pendingBroadcasts.map(p => p.slotId) });
|
|
1183
|
+
await bot.manager.requestStructuralGridResync('pending broadcasts before COW create', { pendingBroadcasts: pendingBroadcasts.map((p) => p.slotId) });
|
|
1144
1184
|
}
|
|
1145
1185
|
try {
|
|
1146
1186
|
await reconcileAfterUncertainBroadcast(bot, new BroadcastUncertainError('rejected CREATE batch had pending broadcasts', {
|
|
1147
|
-
operations: pendingBroadcasts.map(p => p.order),
|
|
1187
|
+
operations: pendingBroadcasts.map((p) => p.order),
|
|
1148
1188
|
accountName: bot.account,
|
|
1149
1189
|
batchId: bot._currentBatchId || null,
|
|
1150
1190
|
payload: null,
|
|
@@ -1163,7 +1203,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1163
1203
|
}
|
|
1164
1204
|
const unmatchedSample = unmatchedChainOrders
|
|
1165
1205
|
.slice(0, 3)
|
|
1166
|
-
.map(o => formatUnmatchedChainOrderForLog(o))
|
|
1206
|
+
.map((o) => formatUnmatchedChainOrderForLog(o))
|
|
1167
1207
|
.join(' | ');
|
|
1168
1208
|
bot.manager.logger.log(`[COW] ${unmatchedChainOrders.length} unmatched chain order(s) blocking CREATES ` +
|
|
1169
1209
|
(unmatchedSample ? `(${unmatchedSample})` : '') +
|
|
@@ -1251,12 +1291,12 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1251
1291
|
opContexts.push({ kind: 'cancel', order });
|
|
1252
1292
|
}
|
|
1253
1293
|
catch (err) {
|
|
1254
|
-
const orderNotFound = /\bnot found\b/i.test(err
|
|
1294
|
+
const orderNotFound = /\bnot found\b/i.test(getErrorMessage(err)) || /\bdoes not exist\b/i.test(getErrorMessage(err));
|
|
1255
1295
|
if (orderNotFound) {
|
|
1256
1296
|
bot.manager.logger.log(`[COW] Cancel skipped for ${action.id} (${action.orderId}): order already removed from chain`, 'debug');
|
|
1257
1297
|
}
|
|
1258
1298
|
else {
|
|
1259
|
-
bot.manager.logger.log(`Failed to prepare cancel op for ${action.id}: ${err
|
|
1299
|
+
bot.manager.logger.log(`Failed to prepare cancel op for ${action.id}: ${getErrorMessage(err)}`, 'error');
|
|
1260
1300
|
}
|
|
1261
1301
|
}
|
|
1262
1302
|
}
|
|
@@ -1282,6 +1322,24 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1282
1322
|
`drifted from planned=${plannedPrice} to live=${livePrice} ` +
|
|
1283
1323
|
`(diff=${priceDrift}); rebuilding CREATE op with live price.`, 'debug');
|
|
1284
1324
|
}
|
|
1325
|
+
const createPrice = effectiveOrder.price;
|
|
1326
|
+
const createSize = effectiveOrder.size;
|
|
1327
|
+
const priceCollision = findPriceCollision(bot.manager.orders.values(), order.id, createPrice, createSize, order.type, bot.manager.assets, isOrderPlaced);
|
|
1328
|
+
if (priceCollision) {
|
|
1329
|
+
bot.manager.logger.log(`[COW] Skipping CREATE for ${order.id} at ${Format.formatPrice6(createPrice)}: ` +
|
|
1330
|
+
`existing placed order ${priceCollision.id} (${priceCollision.orderId}) ` +
|
|
1331
|
+
`already at price ${Format.formatPrice6(priceCollision.price)}. ` +
|
|
1332
|
+
`The next reconcile cycle will resolve the mismatch.`, 'warn');
|
|
1333
|
+
continue;
|
|
1334
|
+
}
|
|
1335
|
+
const batchCollision = findPriceCollision(opContexts, order.id, createPrice, createSize, order.type, bot.manager.assets, (ctx) => ctx.kind === 'create');
|
|
1336
|
+
if (batchCollision) {
|
|
1337
|
+
bot.manager.logger.log(`[COW] Skipping CREATE for ${order.id} at ${Format.formatPrice6(createPrice)}: ` +
|
|
1338
|
+
`same-batch CREATE ${batchCollision.id} already at ` +
|
|
1339
|
+
`price ${Format.formatPrice6(batchCollision.order.price)}. ` +
|
|
1340
|
+
`The next reconcile cycle will resolve the mismatch.`, 'warn');
|
|
1341
|
+
continue;
|
|
1342
|
+
}
|
|
1285
1343
|
const args = buildCreateOrderArgs(effectiveOrder, assetA, assetB);
|
|
1286
1344
|
const buildResult = await chainOrders.buildCreateOrderOp(bot.account, args.amountToSell, args.sellAssetId, args.minToReceive, args.receiveAssetId, null);
|
|
1287
1345
|
if (!buildResult) {
|
|
@@ -1298,7 +1356,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1298
1356
|
});
|
|
1299
1357
|
}
|
|
1300
1358
|
catch (err) {
|
|
1301
|
-
bot.manager.logger.log(`Failed to prepare create op for ${action.id}: ${err
|
|
1359
|
+
bot.manager.logger.log(`Failed to prepare create op for ${action.id}: ${getErrorMessage(err)}`, 'error');
|
|
1302
1360
|
}
|
|
1303
1361
|
}
|
|
1304
1362
|
else if (action.type === COW_ACTIONS.UPDATE) {
|
|
@@ -1370,7 +1428,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1370
1428
|
opContexts.push({ kind: 'size-update', updateInfo: { partialOrder, newSize }, finalInts: op.finalInts });
|
|
1371
1429
|
}
|
|
1372
1430
|
catch (err) {
|
|
1373
|
-
const orderNotFound = /\bnot found\b/i.test(err
|
|
1431
|
+
const orderNotFound = /\bnot found\b/i.test(getErrorMessage(err)) || /\bdoes not exist\b/i.test(getErrorMessage(err));
|
|
1374
1432
|
if (orderNotFound) {
|
|
1375
1433
|
try {
|
|
1376
1434
|
const fbOrder = action.order || bot.manager.orders.get(action.id);
|
|
@@ -1393,6 +1451,20 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1393
1451
|
bot.manager.logger.log(`[COW] CREATE fallback for ${action.id} rejected by size validation: ${sizeCheck.reason}`, 'warn');
|
|
1394
1452
|
}
|
|
1395
1453
|
else if (fbType && fbSize > 0 && fbPrice > 0) {
|
|
1454
|
+
const fbCollision = findPriceCollision(bot.manager.orders.values(), targetSlotId, fbPrice, fbSize, fbType, bot.manager.assets, isOrderPlaced);
|
|
1455
|
+
if (fbCollision) {
|
|
1456
|
+
bot.manager.logger.log(`[COW] Skipping CREATE fallback for ${targetSlotId} at ${Format.formatPrice6(fbPrice)}: ` +
|
|
1457
|
+
`existing placed order ${fbCollision.id} (${fbCollision.orderId}) ` +
|
|
1458
|
+
`already at price ${Format.formatPrice6(fbCollision.price)}.`, 'warn');
|
|
1459
|
+
continue;
|
|
1460
|
+
}
|
|
1461
|
+
const fbBatchCollision = findPriceCollision(opContexts, targetSlotId, fbPrice, fbSize, fbType, bot.manager.assets, (ctx) => ctx.kind === 'create');
|
|
1462
|
+
if (fbBatchCollision) {
|
|
1463
|
+
bot.manager.logger.log(`[COW] Skipping CREATE fallback for ${targetSlotId} at ${Format.formatPrice6(fbPrice)}: ` +
|
|
1464
|
+
`same-batch CREATE ${fbBatchCollision.id} already at ` +
|
|
1465
|
+
`price ${Format.formatPrice6(fbBatchCollision.order.price)}.`, 'warn');
|
|
1466
|
+
continue;
|
|
1467
|
+
}
|
|
1396
1468
|
const fbArgs = buildCreateOrderArgs({ type: fbType, size: fbSize, price: fbPrice }, assetA, assetB);
|
|
1397
1469
|
const fbResult = await chainOrders.buildCreateOrderOp(bot.account, fbArgs.amountToSell, fbArgs.sellAssetId, fbArgs.minToReceive, fbArgs.receiveAssetId, null);
|
|
1398
1470
|
if (fbResult) {
|
|
@@ -1416,10 +1488,10 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1416
1488
|
}
|
|
1417
1489
|
}
|
|
1418
1490
|
catch (fbErr) {
|
|
1419
|
-
bot.manager.logger.log(`[COW] CREATE fallback also failed for ${action.id}: ${fbErr
|
|
1491
|
+
bot.manager.logger.log(`[COW] CREATE fallback also failed for ${action.id}: ${getErrorMessage(fbErr)}`, 'warn');
|
|
1420
1492
|
}
|
|
1421
1493
|
}
|
|
1422
|
-
bot.manager.logger.log(`Failed to prepare update op for ${action.id}: ${err
|
|
1494
|
+
bot.manager.logger.log(`Failed to prepare update op for ${action.id}: ${getErrorMessage(err)}`, 'error');
|
|
1423
1495
|
}
|
|
1424
1496
|
}
|
|
1425
1497
|
}
|
|
@@ -1451,7 +1523,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1451
1523
|
const missingCreateResults = findMissingCreateResultContexts(preCommitResults, executedContexts);
|
|
1452
1524
|
if (missingCreateResults.length > 0) {
|
|
1453
1525
|
const missingSlots = missingCreateResults
|
|
1454
|
-
.map(item => item.ctx?.order?.id || item.ctx?.id || `op-${item.index}`)
|
|
1526
|
+
.map((item) => item.ctx?.order?.id || item.ctx?.id || `op-${item.index}`)
|
|
1455
1527
|
.join(', ');
|
|
1456
1528
|
bot.manager.logger.log(`[COW] Refusing to commit working grid: ${missingCreateResults.length} CREATE op(s) ` +
|
|
1457
1529
|
`returned no chainOrderId (${missingSlots}). Discarding working grid and syncing from chain.`, 'error');
|
|
@@ -1462,7 +1534,7 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1462
1534
|
return {
|
|
1463
1535
|
executed: false,
|
|
1464
1536
|
hadRotation: false,
|
|
1465
|
-
missingCreateResults: missingCreateResults.map(item => ({
|
|
1537
|
+
missingCreateResults: missingCreateResults.map((item) => ({
|
|
1466
1538
|
index: item.index,
|
|
1467
1539
|
slotId: item.ctx?.order?.id || item.ctx?.id || null
|
|
1468
1540
|
}))
|
|
@@ -1498,26 +1570,26 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1498
1570
|
bot._metrics.batchesExecuted++;
|
|
1499
1571
|
bot.manager._clearWorkingGridRef();
|
|
1500
1572
|
clearPendingBroadcasts(bot.manager?._pendingBroadcasts);
|
|
1501
|
-
return { executed: true, hadRotation: true
|
|
1573
|
+
return { ...batchResult, executed: true, hadRotation: true };
|
|
1502
1574
|
}
|
|
1503
1575
|
else {
|
|
1504
1576
|
bot.manager.logger.log('[COW] Blockchain failed - working grid discarded, master unchanged', 'warn');
|
|
1505
1577
|
bot.manager._clearWorkingGridRef();
|
|
1506
1578
|
clearPendingBroadcasts(bot.manager?._pendingBroadcasts);
|
|
1507
|
-
return { executed: false, hadRotation: false
|
|
1579
|
+
return { ...result, executed: false, hadRotation: false };
|
|
1508
1580
|
}
|
|
1509
1581
|
}
|
|
1510
1582
|
finally {
|
|
1511
1583
|
bot.manager._throwOnIllegalState = false;
|
|
1512
1584
|
await bot.manager.resumeFundRecalc();
|
|
1513
1585
|
bot.manager.stopBroadcasting();
|
|
1514
|
-
const createCount = actions.filter(a => a.type === COW_ACTIONS.CREATE).length;
|
|
1515
|
-
const cancelCount = actions.filter(a => a.type === COW_ACTIONS.CANCEL).length;
|
|
1586
|
+
const createCount = actions.filter((a) => a.type === COW_ACTIONS.CREATE).length;
|
|
1587
|
+
const cancelCount = actions.filter((a) => a.type === COW_ACTIONS.CANCEL).length;
|
|
1516
1588
|
bot.manager.logger.logFundsStatus(bot.manager, `AFTER COW batch (created=${createCount}, cancelled=${cancelCount})`);
|
|
1517
1589
|
}
|
|
1518
1590
|
}
|
|
1519
1591
|
catch (err) {
|
|
1520
|
-
bot.manager.logger.log(`[COW] Batch transaction failed: ${err
|
|
1592
|
+
bot.manager.logger.log(`[COW] Batch transaction failed: ${getErrorMessage(err)}`, 'error');
|
|
1521
1593
|
if (err?.partialOnChainState) {
|
|
1522
1594
|
bot.manager.logger.log(`[COW] Non-atomic grouped execution detected (${err.groupsBroadcast}/${err.groupsTotal} groups broadcast). Local rollback cannot undo confirmed on-chain operations; next sync/reconcile will converge state.`, 'warn');
|
|
1523
1595
|
}
|
|
@@ -1537,11 +1609,11 @@ async function updateOrdersOnChainBatchCOW(bot, cowResult) {
|
|
|
1537
1609
|
];
|
|
1538
1610
|
for (const pattern of patterns) {
|
|
1539
1611
|
let m;
|
|
1540
|
-
while ((m = pattern.exec(err
|
|
1612
|
+
while ((m = pattern.exec(getErrorMessage(err))) !== null) {
|
|
1541
1613
|
staleOrderIds.add(m[1]);
|
|
1542
1614
|
}
|
|
1543
1615
|
}
|
|
1544
|
-
if (/Cannot deduct all or more from order than order contains/.test(err
|
|
1616
|
+
if (/Cannot deduct all or more from order than order contains/.test(getErrorMessage(err))) {
|
|
1545
1617
|
return await bot._recoverBatchSizeDrift(err, opContexts);
|
|
1546
1618
|
}
|
|
1547
1619
|
if (staleOrderIds.size > 0) {
|
|
@@ -1724,7 +1796,7 @@ async function processBatchResults(bot, result, opContexts) {
|
|
|
1724
1796
|
}
|
|
1725
1797
|
}
|
|
1726
1798
|
if (updatesToApply.length > 0) {
|
|
1727
|
-
await bot.manager.applyGridUpdateBatch(updatesToApply.map(u => u.order), 'batch-results-process', { skipAccounting: true });
|
|
1799
|
+
await bot.manager.applyGridUpdateBatch(updatesToApply.map((u) => u.order), 'batch-results-process', { skipAccounting: true });
|
|
1728
1800
|
}
|
|
1729
1801
|
return {
|
|
1730
1802
|
executed: true,
|