dexbot 1.4.10 → 1.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +9 -18
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/math_utils.d.ts.map +1 -1
- package/dist/analysis/math_utils.js +6 -16
- package/dist/analysis/math_utils.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +31 -38
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js +7 -10
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +10 -14
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +10 -15
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +7 -10
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +4 -12
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.d.ts +0 -1
- package/dist/credential-daemon.d.ts.map +1 -1
- package/dist/credential-daemon.js +3 -123
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts +0 -87
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +54 -23
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +8 -9
- package/dist/market_adapter/ama_signal_runner.js.map +1 -1
- package/dist/market_adapter/candle_utils.js +1 -7
- package/dist/market_adapter/candle_utils.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +1 -4
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/core/config_normalizers.js +5 -9
- package/dist/market_adapter/core/config_normalizers.js.map +1 -1
- package/dist/market_adapter/core/kibana_candles.js +8 -15
- package/dist/market_adapter/core/kibana_candles.js.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +7 -13
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js +6 -12
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts +2 -0
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +100 -101
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama.js +5 -10
- package/dist/market_adapter/core/strategies/ama.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +21 -24
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.js +3 -5
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +4 -6
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +15 -22
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/index.d.ts +23 -23
- package/dist/market_adapter/index.d.ts.map +1 -1
- package/dist/market_adapter/index.js +24 -82
- package/dist/market_adapter/index.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +59 -98
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +11 -17
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/interval_utils.js +1 -2
- package/dist/market_adapter/interval_utils.js.map +1 -1
- package/dist/market_adapter/log_format.js +1 -7
- package/dist/market_adapter/log_format.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +20 -22
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_runner.js +41 -57
- package/dist/market_adapter/lp_chart_runner.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +30 -34
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts +2 -2
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +163 -222
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/merge_lp_data.js +17 -18
- package/dist/market_adapter/merge_lp_data.js.map +1 -1
- package/dist/market_adapter/test_helpers.js +3 -14
- package/dist/market_adapter/test_helpers.js.map +1 -1
- package/dist/market_adapter/utils/adapter_client.js +7 -16
- package/dist/market_adapter/utils/adapter_client.js.map +1 -1
- package/dist/market_adapter/utils/atomic_write.js +3 -5
- package/dist/market_adapter/utils/atomic_write.js.map +1 -1
- package/dist/market_adapter/utils/chain.d.ts.map +1 -1
- package/dist/market_adapter/utils/chain.js +9 -17
- package/dist/market_adapter/utils/chain.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +8 -10
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +11 -14
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
- package/dist/market_adapter/utils/file_lock.js +14 -19
- package/dist/market_adapter/utils/file_lock.js.map +1 -1
- package/dist/market_adapter/utils/native_history.js +8 -14
- package/dist/market_adapter/utils/native_history.js.map +1 -1
- package/dist/market_adapter/utils/paths.js +3 -6
- package/dist/market_adapter/utils/paths.js.map +1 -1
- package/dist/modules/account_bots.d.ts +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +90 -97
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +0 -9
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +26 -121
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/authority_resolver.js +12 -18
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/chain_client.js +16 -21
- package/dist/modules/bitshares-native/chain_client.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +12 -72
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.js +13 -40
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -6
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
- package/dist/modules/bitshares-native/index.d.ts +8 -8
- package/dist/modules/bitshares-native/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/index.js +11 -68
- package/dist/modules/bitshares-native/index.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.js +3 -6
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +9 -11
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +3 -28
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/index.d.ts +4 -4
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/index.js +5 -46
- package/dist/modules/bitshares-native/serial/index.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.d.ts +98 -98
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +372 -473
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js +3 -8
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +9 -74
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +11 -48
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +24 -27
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +14 -26
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +29 -72
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +12 -21
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +21 -0
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +32 -86
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +30 -49
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/bots_file_lock.d.ts.map +1 -1
- package/dist/modules/bots_file_lock.js +5 -13
- package/dist/modules/bots_file_lock.js.map +1 -1
- package/dist/modules/broadcast_failure.js +1 -3
- package/dist/modules/broadcast_failure.js.map +1 -1
- package/dist/modules/chain_keys.d.ts +4 -9
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +77 -182
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +2 -2
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +81 -144
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +23 -28
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +4 -14
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +46 -78
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.js +15 -26
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +3 -6
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +62 -153
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +1 -1
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +34 -41
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credential_session_cache.d.ts +1 -1
- package/dist/modules/credential_session_cache.d.ts.map +1 -1
- package/dist/modules/credential_session_cache.js +5 -42
- package/dist/modules/credential_session_cache.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +126 -162
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/browser_provider.d.ts +1 -1
- package/dist/modules/crypto/browser_provider.d.ts.map +1 -1
- package/dist/modules/crypto/browser_provider.js +7 -11
- package/dist/modules/crypto/browser_provider.js.map +1 -1
- package/dist/modules/crypto/index.d.ts +6 -6
- package/dist/modules/crypto/index.d.ts.map +1 -1
- package/dist/modules/crypto/index.js +12 -30
- package/dist/modules/crypto/index.js.map +1 -1
- package/dist/modules/crypto/node_provider.d.ts +1 -1
- package/dist/modules/crypto/node_provider.d.ts.map +1 -1
- package/dist/modules/crypto/node_provider.js +3 -5
- package/dist/modules/crypto/node_provider.js.map +1 -1
- package/dist/modules/crypto/provider.js +1 -2
- package/dist/modules/crypto/pure_ripemd160.js +1 -3
- package/dist/modules/crypto/pure_ripemd160.js.map +1 -1
- package/dist/modules/crypto/pure_scrypt.js +1 -4
- package/dist/modules/crypto/pure_scrypt.js.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.js +1 -16
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
- package/dist/modules/crypto/sync.d.ts.map +1 -1
- package/dist/modules/crypto/sync.js +16 -17
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/daemon_node_health.js +14 -16
- package/dist/modules/daemon_node_health.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +19 -14
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +127 -164
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +28 -27
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +55 -45
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_credential_client.d.ts +6 -2
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +21 -31
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +23 -23
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +119 -77
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -38
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +81 -81
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +3 -3
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +43 -81
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +11 -11
- package/dist/modules/dexbot_state_recovery.js +32 -78
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/env.js +3 -7
- package/dist/modules/env.js.map +1 -1
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +12 -24
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/general_settings.js +10 -16
- package/dist/modules/general_settings.js.map +1 -1
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +12 -19
- 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 +27 -65
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +89 -118
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/child_env.js +1 -5
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/credential_bootstrap.js +22 -31
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +37 -75
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/credential_secret.js +2 -37
- package/dist/modules/launcher/credential_secret.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +25 -31
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/headless_password.js +10 -12
- package/dist/modules/launcher/headless_password.js.map +1 -1
- package/dist/modules/launcher/launch_modes.js +3 -9
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +25 -35
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +42 -45
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +3 -2
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +97 -138
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts +1 -11
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +12 -15
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +1 -1
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +15 -36
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/launcher/supervisor_control.js +4 -9
- package/dist/modules/launcher/supervisor_control.js.map +1 -1
- package/dist/modules/logger.d.ts +1 -1
- package/dist/modules/logger.d.ts.map +1 -1
- package/dist/modules/logger.js +3 -38
- package/dist/modules/logger.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +9 -18
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/node_failure_ledger.js +1 -3
- package/dist/modules/node_failure_ledger.js.map +1 -1
- package/dist/modules/node_health_cache.d.ts.map +1 -1
- package/dist/modules/node_health_cache.js +15 -25
- 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 -43
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +102 -118
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +3 -15
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +6 -26
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/export.js +34 -75
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +1 -3
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +4 -24
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +8 -8
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +254 -266
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +77 -94
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +117 -149
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/index.d.ts.map +1 -1
- package/dist/modules/order/index.js +11 -45
- package/dist/modules/order/index.js.map +1 -1
- package/dist/modules/order/logger.d.ts +0 -8
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +28 -141
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +3 -4
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/manager.d.ts +10 -79
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +131 -247
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/processed_fill_store.js +2 -7
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/strategy.js +23 -25
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +27 -0
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +232 -181
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +1 -25
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +49 -172
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +46 -2
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +165 -143
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +3 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +152 -211
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/timeout.js +1 -4
- package/dist/modules/order/utils/timeout.js.map +1 -1
- package/dist/modules/order/utils/validate.js +91 -142
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.js +21 -61
- package/dist/modules/order/utils/withPoolRef.js.map +1 -1
- package/dist/modules/order/working_grid.js +6 -9
- package/dist/modules/order/working_grid.js.map +1 -1
- package/dist/modules/path_api.d.ts.map +1 -1
- package/dist/modules/path_api.js +8 -11
- package/dist/modules/path_api.js.map +1 -1
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +61 -67
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/process_discovery.d.ts.map +1 -1
- package/dist/modules/process_discovery.js +14 -23
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/runtime.js +7 -11
- package/dist/modules/runtime.js.map +1 -1
- package/dist/modules/runtime_settings.d.ts.map +1 -1
- package/dist/modules/runtime_settings.js +14 -16
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.js +1 -3
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/socket_json_client.js +3 -5
- package/dist/modules/socket_json_client.js.map +1 -1
- package/dist/modules/storage/browser_adapter.js +1 -4
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/storage/index.d.ts +3 -2
- package/dist/modules/storage/index.d.ts.map +1 -1
- package/dist/modules/storage/index.js +5 -8
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/modules/storage/node_adapter.d.ts +3 -4
- package/dist/modules/storage/node_adapter.d.ts.map +1 -1
- package/dist/modules/storage/node_adapter.js +12 -16
- package/dist/modules/storage/node_adapter.js.map +1 -1
- package/dist/modules/storage/types.js +1 -2
- package/dist/modules/types.d.ts +0 -6
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js +1 -2
- package/dist/modules/types.js.map +1 -1
- package/dist/modules/utils/base58check.js +8 -15
- package/dist/modules/utils/base58check.js.map +1 -1
- package/dist/modules/utils/build_dir.js +3 -7
- package/dist/modules/utils/build_dir.js.map +1 -1
- package/dist/modules/utils/errors.js +1 -5
- package/dist/modules/utils/errors.js.map +1 -1
- package/dist/modules/utils/math_utils.d.ts +1 -1
- package/dist/modules/utils/math_utils.d.ts.map +1 -1
- package/dist/modules/utils/math_utils.js +2 -7
- package/dist/modules/utils/math_utils.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +18 -25
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.d.ts +4 -70
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +106 -132
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-git.js +13 -17
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +48 -63
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.js +2 -1
- package/dist/scripts/diagnose-kibana-candles.js.map +1 -1
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
- package/dist/scripts/diagnose-pool-history.js +2 -1
- 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 +2 -2
- package/dist/scripts/divergence-calc.js.map +1 -1
- package/dist/scripts/fix-err-message.js +17 -22
- package/dist/scripts/fix-err-message.js.map +1 -1
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
- package/dist/scripts/generate_lp_chart.js +7 -15
- package/dist/scripts/generate_lp_chart.js.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.js +3 -2
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +18 -24
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
- package/dist/scripts/native_release_gates.js +15 -19
- package/dist/scripts/native_release_gates.js.map +1 -1
- package/dist/scripts/print_grid.d.ts.map +1 -1
- package/dist/scripts/print_grid.js +2 -2
- package/dist/scripts/print_grid.js.map +1 -1
- package/dist/scripts/run-tests.js +12 -17
- package/dist/scripts/run-tests.js.map +1 -1
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +18 -20
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/sync-version.js +2 -2
- package/dist/scripts/sync-version.js.map +1 -1
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
- package/dist/scripts/test-credit-renewal.js +4 -3
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/scripts/update.js +93 -95
- package/dist/scripts/update.js.map +1 -1
- package/dist/scripts/validate_bots.d.ts.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 +12 -17
- package/dist/scripts/verify-browser-bundle.js.map +1 -1
- package/dist/unlock.d.ts +0 -30
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +258 -222
- package/dist/unlock.js.map +1 -1
- package/package.json +5 -8
- package/scripts/README.md +1 -1
- package/scripts/create-bot-symlinks.sh +2 -2
- package/dist/modules/utils/fs_utils.d.ts +0 -18
- package/dist/modules/utils/fs_utils.d.ts.map +0 -1
- package/dist/modules/utils/fs_utils.js +0 -32
- package/dist/modules/utils/fs_utils.js.map +0 -1
- package/dist/scripts/migrate_bot_keys.d.ts +0 -3
- package/dist/scripts/migrate_bot_keys.d.ts.map +0 -1
- package/dist/scripts/migrate_bot_keys.js +0 -225
- package/dist/scripts/migrate_bot_keys.js.map +0 -1
|
@@ -1,28 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/** Fill processing runtime - handles order fill events and replay-safe accounting */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.applyReplaySafeTrackedFillAccounting = applyReplaySafeTrackedFillAccounting;
|
|
11
|
-
exports.applyReplaySafeOrphanFillAccounting = applyReplaySafeOrphanFillAccounting;
|
|
12
|
-
exports.processSweepOrphanFill = processSweepOrphanFill;
|
|
13
|
-
exports.createFillCallback = createFillCallback;
|
|
14
|
-
exports.maxConsecutiveFillConsumerFailures = maxConsecutiveFillConsumerFailures;
|
|
15
|
-
exports.computeFillConsumerBackoffMs = computeFillConsumerBackoffMs;
|
|
16
|
-
exports.scheduleFillConsumerRestart = scheduleFillConsumerRestart;
|
|
17
|
-
exports.consumeFillQueue = consumeFillQueue;
|
|
18
|
-
exports.processFillsWithBootstrapMode = processFillsWithBootstrapMode;
|
|
19
|
-
const processed_fill_store_1 = require("./order/processed_fill_store");
|
|
20
|
-
const constants_1 = require("./constants");
|
|
21
|
-
const errors_1 = require("./utils/errors");
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
const require = createRequire(import.meta.url);
|
|
4
|
+
import * as chainOrders from './chain_orders.js';
|
|
5
|
+
import { PROCESSED_FILL_PERSISTENCE_MODES } from './order/processed_fill_store.js';
|
|
6
|
+
import { NATIVE_CLIENT, FILL_PROCESSING, TIMING, MAINTENANCE, ORDER_TYPES } from './constants.js';
|
|
7
|
+
import { getErrorMessage } from './utils/errors.js';
|
|
8
|
+
import { isOrderDoesNotExistError } from './dexbot_maintenance_runtime.js';
|
|
22
9
|
function buildFillKey(...args) { return require('./order/utils/order').buildFillKey(...args); }
|
|
23
10
|
function correctAllPriceMismatches(...args) { return require('./order/utils/order').correctAllPriceMismatches(...args); }
|
|
24
11
|
function retryPersistenceIfNeeded(...args) { return require('./order/utils/system').retryPersistenceIfNeeded(...args); }
|
|
25
|
-
const { readOpenOrdersGuarded } =
|
|
12
|
+
const { readOpenOrdersGuarded } = chainOrders;
|
|
26
13
|
/**
|
|
27
14
|
* Handle a sweep fill whose grid order could not be resolved (orphan): derive a
|
|
28
15
|
* replay-safe key (with degraded fallback), skip already-processed fills, credit
|
|
@@ -57,9 +44,39 @@ function wireProcessedFillTracking(bot) {
|
|
|
57
44
|
bot.manager.processedFillTracker = bot._recentlyProcessedFills;
|
|
58
45
|
bot.manager.processedFillStore = bot._processedFillStore;
|
|
59
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Explicitly cancel residual orders that the chain still holds after a fill was
|
|
49
|
+
* treated as a full fill (other-side rounds to 0). The chain only auto-culls an
|
|
50
|
+
* order when its residual value in the QUOTE asset truncates to 0 (bitshares-core
|
|
51
|
+
* maybe_cull_small_order); a residual of >= 1 base unit with non-zero quote value
|
|
52
|
+
* is NOT culled and would be stranded once the slot is virtualized. Best-effort:
|
|
53
|
+
* tolerates "order does not exist"
|
|
54
|
+
* (already culled), logs other failures for the next cycle's reconciliation.
|
|
55
|
+
*/
|
|
56
|
+
async function cancelResidualOrders(bot, residualCancels) {
|
|
57
|
+
if (!residualCancels || residualCancels.length === 0)
|
|
58
|
+
return;
|
|
59
|
+
for (const rc of residualCancels) {
|
|
60
|
+
if (!rc || !rc.orderId)
|
|
61
|
+
continue;
|
|
62
|
+
try {
|
|
63
|
+
await chainOrders.cancelOrder(bot.account, bot.privateKey, rc.orderId);
|
|
64
|
+
bot.manager.logger.log(`[RESIDUAL] Cancelled residual order ${rc.orderId}${rc.id ? ` (slot ${rc.id})` : ''} left on chain after sub-dust fill`, 'warn');
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
const errMsg = getErrorMessage(err) || '';
|
|
68
|
+
if (isOrderDoesNotExistError(errMsg, rc.orderId)) {
|
|
69
|
+
bot.manager.logger.log(`[RESIDUAL] Residual order ${rc.orderId} already gone from chain; nothing to cancel`, 'debug');
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
bot.manager.logger.log(`[RESIDUAL] Failed to cancel residual order ${rc.orderId}: ${errMsg}`, 'warn');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
60
77
|
/**
|
|
61
78
|
* Flush all pending processed fill writes to persistent storage.
|
|
62
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
79
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
63
80
|
* @param {string} [reason='manual'] - Reason label for the flush
|
|
64
81
|
* @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flush
|
|
65
82
|
* @returns {Promise<void>}
|
|
@@ -70,7 +87,7 @@ async function flushProcessedFillPersistence(bot, reason = 'manual', options = {
|
|
|
70
87
|
}
|
|
71
88
|
/**
|
|
72
89
|
* Flush pending processed fill writes for specific fill keys.
|
|
73
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
90
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
74
91
|
* @param {string[]|Set<string>} fillKeys - Fill keys to flush
|
|
75
92
|
* @param {string} [reason='manual-selected'] - Reason label for the flush
|
|
76
93
|
* @param {Object} [options] - Flush options forwarded to ProcessedFillStore.flushKeys
|
|
@@ -82,7 +99,7 @@ async function flushProcessedFillPersistenceForKeys(bot, fillKeys, reason = 'man
|
|
|
82
99
|
}
|
|
83
100
|
/**
|
|
84
101
|
* Discard pending processed fill writes for specific fill keys from the queue.
|
|
85
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
102
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
86
103
|
* @param {string[]|Set<string>} fillKeys - Fill keys to discard
|
|
87
104
|
*/
|
|
88
105
|
function discardPendingProcessedFillPersistence(bot, fillKeys) {
|
|
@@ -91,8 +108,8 @@ function discardPendingProcessedFillPersistence(bot, fillKeys) {
|
|
|
91
108
|
/**
|
|
92
109
|
* Build a degraded orphan fill replay key when the standard fill history id is missing.
|
|
93
110
|
* The fallback key is derived from order_id, block_num, pays/receives amounts and asset IDs.
|
|
94
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
95
|
-
* @param {import('./types').FillEvent} fill - Raw fill event
|
|
111
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
112
|
+
* @param {import('./types.js').FillEvent} fill - Raw fill event
|
|
96
113
|
* @returns {string|null} Orphan fallback key or null if insufficient data
|
|
97
114
|
*/
|
|
98
115
|
function buildOrphanFillFallbackKey(bot, fill) {
|
|
@@ -121,9 +138,9 @@ function buildOrphanFillFallbackKey(bot, fill) {
|
|
|
121
138
|
/**
|
|
122
139
|
* Apply fill accounting with replay-safe deduplication.
|
|
123
140
|
* Prevents the same fill from being accounted twice across restarts or re-syncs.
|
|
124
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
125
|
-
* @param {import('./types').FillEvent} fill - Raw fill event
|
|
126
|
-
* @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
|
|
141
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
142
|
+
* @param {import('./types.js').FillEvent} fill - Raw fill event
|
|
143
|
+
* @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
|
|
127
144
|
* @param {Object} [options] - Options
|
|
128
145
|
* @param {Function} [options.missingKeyMessage] - Callback to generate log message when fill key is missing
|
|
129
146
|
* @param {Function} [options.fallbackKeyMessage] - Callback to generate log message when fallback key is used
|
|
@@ -135,9 +152,9 @@ function buildOrphanFillFallbackKey(bot, fill) {
|
|
|
135
152
|
* @param {string} [options.replayLevel='debug'] - Log level for replay messages
|
|
136
153
|
* @param {string} [options.persistenceMode='immediate'] - Processed fill persistence mode (wrappers default to 'batched')
|
|
137
154
|
* @param {boolean} [options.allowOrphanFallbackKey=false] - Allow degraded orphan fallback key
|
|
138
|
-
* @returns {Promise<import('./types').ReplaySafeFillResult>}
|
|
155
|
+
* @returns {Promise<import('./types.js').ReplaySafeFillResult>}
|
|
139
156
|
*/
|
|
140
|
-
async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger = bot.manager?.logger, missingKeyLevel = 'warn', fallbackKeyLevel = 'warn', replayLevel = 'debug', persistenceMode =
|
|
157
|
+
async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMessage, fallbackKeyMessage, replayMessage, errorMessage, logger = bot.manager?.logger, missingKeyLevel = 'warn', fallbackKeyLevel = 'warn', replayLevel = 'debug', persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.IMMEDIATE, allowOrphanFallbackKey = false } = {}) {
|
|
141
158
|
let fillKey = buildFillKey(fill);
|
|
142
159
|
let usedFallbackKey = false;
|
|
143
160
|
if (!fillKey && allowOrphanFallbackKey) {
|
|
@@ -174,45 +191,45 @@ async function applyReplaySafeFillAccounting(bot, fill, fillOp, { missingKeyMess
|
|
|
174
191
|
/**
|
|
175
192
|
* Apply replay-safe fill accounting for tracked fills (with fill history id).
|
|
176
193
|
* Wraps applyReplaySafeFillAccounting with context and default message builders.
|
|
177
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
178
|
-
* @param {import('./types').FillEvent} fill - Raw fill event
|
|
179
|
-
* @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
|
|
194
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
195
|
+
* @param {import('./types.js').FillEvent} fill - Raw fill event
|
|
196
|
+
* @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
|
|
180
197
|
* @param {Object} [options] - Options
|
|
181
198
|
* @param {string} [options.context] - Context label for log messages
|
|
182
199
|
* @param {Object} [options.logger] - Logger instance
|
|
183
200
|
* @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
|
|
184
201
|
* @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
|
|
185
|
-
* @returns {Promise<import('./types').ReplaySafeFillResult>}
|
|
202
|
+
* @returns {Promise<import('./types.js').ReplaySafeFillResult>}
|
|
186
203
|
*/
|
|
187
|
-
async function applyReplaySafeTrackedFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode =
|
|
204
|
+
async function applyReplaySafeTrackedFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
|
|
188
205
|
return applyReplaySafeFillAccounting(bot, fill, fillOp, {
|
|
189
206
|
logger,
|
|
190
207
|
missingKeyMessage: (op) => `[${context}] Missing fill history id for ${op.order_id}; deferring to open-orders sync`,
|
|
191
208
|
replayMessage,
|
|
192
|
-
errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${
|
|
209
|
+
errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${getErrorMessage(err)}`,
|
|
193
210
|
persistenceMode
|
|
194
211
|
});
|
|
195
212
|
}
|
|
196
213
|
/**
|
|
197
214
|
* Apply replay-safe fill accounting for orphan fills (missing fill history id).
|
|
198
215
|
* Uses a degraded orphan fallback key when the standard key is unavailable.
|
|
199
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
200
|
-
* @param {import('./types').FillEvent} fill - Raw fill event
|
|
201
|
-
* @param {import('./types').FillOperationData} fillOp - Extracted fill operation data
|
|
216
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
217
|
+
* @param {import('./types.js').FillEvent} fill - Raw fill event
|
|
218
|
+
* @param {import('./types.js').FillOperationData} fillOp - Extracted fill operation data
|
|
202
219
|
* @param {Object} [options] - Options
|
|
203
220
|
* @param {string} [options.context] - Context label for log messages
|
|
204
221
|
* @param {Object} [options.logger] - Logger instance
|
|
205
222
|
* @param {Function} [options.replayMessage] - Callback to generate log message on duplicate fill
|
|
206
223
|
* @param {string} [options.persistenceMode='batched'] - Processed fill persistence mode
|
|
207
|
-
* @returns {Promise<import('./types').ReplaySafeFillResult>}
|
|
224
|
+
* @returns {Promise<import('./types.js').ReplaySafeFillResult>}
|
|
208
225
|
*/
|
|
209
|
-
async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode =
|
|
226
|
+
async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context, logger = bot.manager?.logger, replayMessage, persistenceMode = PROCESSED_FILL_PERSISTENCE_MODES.BATCHED } = {}) {
|
|
210
227
|
return applyReplaySafeFillAccounting(bot, fill, fillOp, {
|
|
211
228
|
logger,
|
|
212
229
|
missingKeyMessage: (op) => `[${context}] Missing fill history id and orphan fallback key for ${op.order_id}; deferring to open-orders sync`,
|
|
213
230
|
fallbackKeyMessage: (op) => `[${context}] Missing fill history id for orphan fill ${op.order_id}; using degraded orphan replay key for proceeds-only accounting`,
|
|
214
231
|
replayMessage,
|
|
215
|
-
errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${
|
|
232
|
+
errorMessage: (op, _fill, err) => `[${context}] Failed to process accounting for ${op.order_id}: ${getErrorMessage(err)}`,
|
|
216
233
|
persistenceMode,
|
|
217
234
|
allowOrphanFallbackKey: true
|
|
218
235
|
});
|
|
@@ -220,7 +237,7 @@ async function applyReplaySafeOrphanFillAccounting(bot, fill, fillOp, { context,
|
|
|
220
237
|
/**
|
|
221
238
|
* Create a fill callback handler for blockchain subscription events.
|
|
222
239
|
* Queues incoming fills and triggers fill queue consumption.
|
|
223
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
240
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
224
241
|
* @param {Object} chainOrders - Chain orders module
|
|
225
242
|
* @returns {Function} Async callback function accepting an array of fill events
|
|
226
243
|
*/
|
|
@@ -230,7 +247,7 @@ function createFillCallback(bot, chainOrders) {
|
|
|
230
247
|
return;
|
|
231
248
|
}
|
|
232
249
|
if (bot.manager && !bot.config.dryRun && Array.isArray(fills) && fills.length > 0) {
|
|
233
|
-
const maxQueueDepth =
|
|
250
|
+
const maxQueueDepth = NATIVE_CLIENT.SUBSCRIPTIONS.MAX_INCOMING_FILL_QUEUE;
|
|
234
251
|
if (bot._incomingFillQueue.length + fills.length > maxQueueDepth) {
|
|
235
252
|
const message = `Incoming fill queue back-pressure: ${bot._incomingFillQueue.length} queued + ${fills.length} incoming exceeds limit ${maxQueueDepth}`;
|
|
236
253
|
bot._warn(message);
|
|
@@ -239,30 +256,30 @@ function createFillCallback(bot, chainOrders) {
|
|
|
239
256
|
bot._markGridActivity?.('fill queued');
|
|
240
257
|
bot._incomingFillQueue.push(...fills);
|
|
241
258
|
bot._consumeFillQueue(chainOrders).catch((err) => {
|
|
242
|
-
bot._warn(`Fill queue consume failed: ${
|
|
259
|
+
bot._warn(`Fill queue consume failed: ${getErrorMessage(err)}`);
|
|
243
260
|
});
|
|
244
261
|
}
|
|
245
262
|
};
|
|
246
263
|
}
|
|
247
264
|
/**
|
|
248
265
|
* Returns the maximum consecutive fill consumer failures allowed before backoff.
|
|
249
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
266
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
250
267
|
* @returns {number}
|
|
251
268
|
*/
|
|
252
269
|
function maxConsecutiveFillConsumerFailures(bot) {
|
|
253
|
-
return bot.config.fillProcessing?.MAX_CONSECUTIVE_CONSUMER_FAILURES ??
|
|
270
|
+
return bot.config.fillProcessing?.MAX_CONSECUTIVE_CONSUMER_FAILURES ?? FILL_PROCESSING.MAX_CONSECUTIVE_CONSUMER_FAILURES;
|
|
254
271
|
}
|
|
255
272
|
/**
|
|
256
273
|
* Compute the backoff delay for fill-consumer retries after the failure
|
|
257
274
|
* budget (MAX_CONSECUTIVE_CONSUMER_FAILURES) is exhausted. Each retry
|
|
258
275
|
* doubles the previous delay, capped at CONSUMER_BACKOFF_MAX_MS. The
|
|
259
276
|
* consumer NEVER permanently stops re-scheduling — it just slows down.
|
|
260
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
277
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
261
278
|
* @param {number} failures The current consecutive-failure count.
|
|
262
279
|
* @returns {number} Delay in milliseconds before the next retry.
|
|
263
280
|
*/
|
|
264
281
|
function computeFillConsumerBackoffMs(bot, failures) {
|
|
265
|
-
const fp = bot.config.fillProcessing ||
|
|
282
|
+
const fp = bot.config.fillProcessing || FILL_PROCESSING;
|
|
266
283
|
const initial = fp.CONSUMER_BACKOFF_INITIAL_MS;
|
|
267
284
|
const max = fp.CONSUMER_BACKOFF_MAX_MS;
|
|
268
285
|
const stepAfterMax = Math.max(0, failures - maxConsecutiveFillConsumerFailures(bot));
|
|
@@ -272,7 +289,7 @@ function computeFillConsumerBackoffMs(bot, failures) {
|
|
|
272
289
|
* Schedule a fill consumer restart with exponential backoff when the
|
|
273
290
|
* failure budget is exhausted, or immediate retry via setImmediate when
|
|
274
291
|
* within the budget. The consumer NEVER permanently stops re-scheduling.
|
|
275
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
292
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
276
293
|
* @param {Object} chainOrders - Chain orders module
|
|
277
294
|
*/
|
|
278
295
|
function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
@@ -280,7 +297,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
|
280
297
|
if (failures >= maxConsecutiveFillConsumerFailures(bot)) {
|
|
281
298
|
const backoffMs = computeFillConsumerBackoffMs(bot, failures);
|
|
282
299
|
const elapsedSec = bot._consumeFailureFirstAt
|
|
283
|
-
? Math.round((Date.now() - bot._consumeFailureFirstAt) /
|
|
300
|
+
? Math.round((Date.now() - bot._consumeFailureFirstAt) / TIMING.MILLISECONDS_PER_SECOND)
|
|
284
301
|
: null;
|
|
285
302
|
const elapsed = elapsedSec !== null ? `${elapsedSec}s` : 'unknown';
|
|
286
303
|
const sustainedLevel = (failures >= 20 || (elapsedSec !== null && elapsedSec >= 900))
|
|
@@ -289,7 +306,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
|
289
306
|
? 'error'
|
|
290
307
|
: 'warn';
|
|
291
308
|
bot._log(`[FILL-QUEUE] Fill consumer has failed ${failures} consecutive times over ${elapsed}; ` +
|
|
292
|
-
`backing off ${Math.round(backoffMs /
|
|
309
|
+
`backing off ${Math.round(backoffMs / TIMING.MILLISECONDS_PER_SECOND)}s before retry. ` +
|
|
293
310
|
`Queue: ${bot._incomingFillQueue.length} fills.`, sustainedLevel);
|
|
294
311
|
setTimeout(() => {
|
|
295
312
|
if (bot._shuttingDown)
|
|
@@ -301,7 +318,7 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
|
301
318
|
bot._consecutiveConsumeFailures++;
|
|
302
319
|
const newFailures = bot._consecutiveConsumeFailures;
|
|
303
320
|
const newElapsedSec = bot._consumeFailureFirstAt
|
|
304
|
-
? Math.round((Date.now() - bot._consumeFailureFirstAt) /
|
|
321
|
+
? Math.round((Date.now() - bot._consumeFailureFirstAt) / TIMING.MILLISECONDS_PER_SECOND)
|
|
305
322
|
: null;
|
|
306
323
|
const resumeLevel = (newFailures >= 20 || (newElapsedSec !== null && newElapsedSec >= 900))
|
|
307
324
|
? 'critical'
|
|
@@ -310,8 +327,8 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
|
310
327
|
: 'warn';
|
|
311
328
|
bot._log(`Fill consumer resume after backoff failed ` +
|
|
312
329
|
`(${newFailures} total, ` +
|
|
313
|
-
`next backoff ${Math.round(computeFillConsumerBackoffMs(bot, newFailures) /
|
|
314
|
-
`${
|
|
330
|
+
`next backoff ${Math.round(computeFillConsumerBackoffMs(bot, newFailures) / TIMING.MILLISECONDS_PER_SECOND)}s): ` +
|
|
331
|
+
`${getErrorMessage(err)}`, resumeLevel);
|
|
315
332
|
bot._scheduleFillConsumerRestart(chainOrders);
|
|
316
333
|
});
|
|
317
334
|
}, backoffMs);
|
|
@@ -324,13 +341,13 @@ function scheduleFillConsumerRestart(bot, chainOrders) {
|
|
|
324
341
|
bot._consecutiveConsumeFailures++;
|
|
325
342
|
const remaining = maxConsecutiveFillConsumerFailures(bot) - bot._consecutiveConsumeFailures;
|
|
326
343
|
bot._log(`Fill consumer failed (${bot._consecutiveConsumeFailures}/${maxConsecutiveFillConsumerFailures(bot)}, ` +
|
|
327
|
-
`${remaining} attempts remaining): ${
|
|
344
|
+
`${remaining} attempts remaining): ${getErrorMessage(err)}`, bot._consecutiveConsumeFailures >= 3 ? 'warn' : 'error');
|
|
328
345
|
}));
|
|
329
346
|
}
|
|
330
347
|
/**
|
|
331
348
|
* Process fills during bootstrap phase using the standard fill pipeline.
|
|
332
349
|
* Delegates to the same fill pipeline as the post-reset path.
|
|
333
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
350
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
334
351
|
* @param {Object} chainOrders - Chain orders module for blockchain operations
|
|
335
352
|
* @returns {Promise<void>}
|
|
336
353
|
*/
|
|
@@ -343,7 +360,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
|
|
|
343
360
|
const processedFillKeys = new Set();
|
|
344
361
|
let requiresOpenOrdersSync = false;
|
|
345
362
|
for (const fill of fills) {
|
|
346
|
-
if (!fill || fill.op?.[0] !==
|
|
363
|
+
if (!fill || fill.op?.[0] !== FILL_PROCESSING.OPERATION_TYPE)
|
|
347
364
|
continue;
|
|
348
365
|
const fillOp = fill.op[1];
|
|
349
366
|
const gridOrder = bot.manager.orders.get(fillOp.order_id) ||
|
|
@@ -372,7 +389,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
|
|
|
372
389
|
continue;
|
|
373
390
|
}
|
|
374
391
|
validFills.push({ ...fill, gridOrder });
|
|
375
|
-
const fillType = gridOrder.type ===
|
|
392
|
+
const fillType = gridOrder.type === ORDER_TYPES.BUY ? 'BUY' : 'SELL';
|
|
376
393
|
bot._log(`[BOOTSTRAP] Fill detected: ${fillType} order (${fillOp.is_maker !== false ? 'maker' : 'taker'})`);
|
|
377
394
|
}
|
|
378
395
|
finally {
|
|
@@ -416,8 +433,8 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
|
|
|
416
433
|
bot._metrics.fillProcessingTimeMs += Date.now() - startTime;
|
|
417
434
|
}
|
|
418
435
|
catch (err) {
|
|
419
|
-
bot._warn(`[BOOTSTRAP] Error processing fills: ${
|
|
420
|
-
bot.manager.logger.log(`[BOOTSTRAP] Fill error: ${
|
|
436
|
+
bot._warn(`[BOOTSTRAP] Error processing fills: ${getErrorMessage(err)}`);
|
|
437
|
+
bot.manager.logger.log(`[BOOTSTRAP] Fill error: ${getErrorMessage(err)}`, 'error');
|
|
421
438
|
}
|
|
422
439
|
}
|
|
423
440
|
/**
|
|
@@ -426,7 +443,7 @@ async function processFillsWithBootstrapMode(bot, chainOrders) {
|
|
|
426
443
|
* orders from history or open orders mode, handles price mismatches, processes
|
|
427
444
|
* fills sequentially with interruptible rebalancing, and periodically cleans old
|
|
428
445
|
* fill records.
|
|
429
|
-
* @param {import('./dexbot_class').DEXBot} bot
|
|
446
|
+
* @param {import('./dexbot_class.js').DEXBot} bot
|
|
430
447
|
* @param {Object} chainOrders - Chain orders module for blockchain operations
|
|
431
448
|
*/
|
|
432
449
|
async function consumeFillQueue(bot, chainOrders) {
|
|
@@ -482,7 +499,7 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
482
499
|
pendingFillKeysForCurrentCycle = new Set();
|
|
483
500
|
let requiresOpenOrdersSync = false;
|
|
484
501
|
for (const fill of allFills) {
|
|
485
|
-
if (fill && fill.op && fill.op[0] ===
|
|
502
|
+
if (fill && fill.op && fill.op[0] === FILL_PROCESSING.OPERATION_TYPE) {
|
|
486
503
|
const fillOp = fill.op[1];
|
|
487
504
|
const hasFillEconomics = fillOp?.pays?.asset_id && fillOp?.pays?.amount != null
|
|
488
505
|
&& fillOp?.receives?.asset_id && fillOp?.receives?.amount != null;
|
|
@@ -552,13 +569,14 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
552
569
|
let allFilledOrders = [];
|
|
553
570
|
let ordersNeedingCorrection = [];
|
|
554
571
|
const fillMode = chainOrders.getFillProcessingMode();
|
|
572
|
+
const residualCancels = [];
|
|
555
573
|
const processValidFills = async (fillsToSync) => {
|
|
556
574
|
let resolvedOrders = [];
|
|
557
|
-
if (fillMode ===
|
|
575
|
+
if (fillMode === FILL_PROCESSING.MODE) {
|
|
558
576
|
bot.manager.logger.log(`Syncing ${fillsToSync.length} fill(s) (history mode)`, 'info');
|
|
559
577
|
if (fillsToSync.length >= 2) {
|
|
560
578
|
const batchResult = await bot.manager.syncFromFillHistoryBatch(fillsToSync, {
|
|
561
|
-
persistenceMode:
|
|
579
|
+
persistenceMode: PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
|
|
562
580
|
});
|
|
563
581
|
if (batchResult.deferred) {
|
|
564
582
|
// Deferred: stale accountTotals refresh failed.
|
|
@@ -578,13 +596,15 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
578
596
|
}
|
|
579
597
|
if (batchResult.filledOrders)
|
|
580
598
|
resolvedOrders.push(...batchResult.filledOrders);
|
|
599
|
+
if (batchResult.residualCancels)
|
|
600
|
+
residualCancels.push(...batchResult.residualCancels);
|
|
581
601
|
if (batchResult.requiresOpenOrdersSync)
|
|
582
602
|
requiresOpenOrdersSync = true;
|
|
583
603
|
}
|
|
584
604
|
else {
|
|
585
605
|
for (const fill of fillsToSync) {
|
|
586
606
|
const resultHistory = await bot.manager.syncFromFillHistory(fill, {
|
|
587
|
-
persistenceMode:
|
|
607
|
+
persistenceMode: PROCESSED_FILL_PERSISTENCE_MODES.BATCHED
|
|
588
608
|
});
|
|
589
609
|
const fillKey = buildFillKey({
|
|
590
610
|
orderId: fill?.op?.[1]?.order_id,
|
|
@@ -599,13 +619,15 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
599
619
|
pendingFillKeysForCurrentCycle.add(fillKey);
|
|
600
620
|
if (resultHistory.filledOrders)
|
|
601
621
|
resolvedOrders.push(...resultHistory.filledOrders);
|
|
622
|
+
if (resultHistory.residualCancels)
|
|
623
|
+
residualCancels.push(...resultHistory.residualCancels);
|
|
602
624
|
if (resultHistory.requiresOpenOrdersSync)
|
|
603
625
|
requiresOpenOrdersSync = true;
|
|
604
626
|
}
|
|
605
627
|
}
|
|
606
628
|
}
|
|
607
|
-
if (fillMode !==
|
|
608
|
-
if (fillMode ===
|
|
629
|
+
if (fillMode !== FILL_PROCESSING.MODE || requiresOpenOrdersSync) {
|
|
630
|
+
if (fillMode === FILL_PROCESSING.MODE && requiresOpenOrdersSync) {
|
|
609
631
|
bot.manager.logger.log('Falling back to open-orders sync for fill(s) missing replay-safe history identifiers', 'warn');
|
|
610
632
|
}
|
|
611
633
|
bot.manager.logger.log(`Syncing ${fillsToSync.length} fill(s) (open orders mode)`, 'info');
|
|
@@ -688,6 +710,14 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
688
710
|
blockNum: filledOrder?.blockNum,
|
|
689
711
|
historyId: filledOrder?.historyId
|
|
690
712
|
})).filter(Boolean));
|
|
713
|
+
// Same-order fills are aggregated into one filled order by
|
|
714
|
+
// syncFromFillHistoryBatch, so the raw per-fill keys of the
|
|
715
|
+
// cycle must be flushed here too — otherwise the aggregated
|
|
716
|
+
// order only carries the last fill's key and the earlier
|
|
717
|
+
// same-order fills (already credited in Phase 3 accounting)
|
|
718
|
+
// would be re-credited on crash recovery.
|
|
719
|
+
for (const fillKey of pendingFillKeysForCurrentCycle)
|
|
720
|
+
batchFillKeys.add(fillKey);
|
|
691
721
|
await bot._flushProcessedFillPersistenceForKeys(batchFillKeys, 'fill-batch-committed');
|
|
692
722
|
}
|
|
693
723
|
else {
|
|
@@ -713,6 +743,17 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
713
743
|
}
|
|
714
744
|
}
|
|
715
745
|
}
|
|
746
|
+
// Cancel residuals the chain still holds after sub-dust full
|
|
747
|
+
// fills were virtualized. The chain only auto-culls orders whose
|
|
748
|
+
// QUOTE-side residual rounds to 0; a leftover of >= 1 base unit
|
|
749
|
+
// is NOT culled and would otherwise sit on the book forever once
|
|
750
|
+
// the slot stopped referencing it. Runs BEFORE post-fill grid
|
|
751
|
+
// maintenance so the residual cannot be re-adopted into a slot
|
|
752
|
+
// first (which would turn this cancel into a ghost: a grid order
|
|
753
|
+
// referencing a chain order that no longer exists).
|
|
754
|
+
if (!abortedFillCycle && residualCancels.length > 0) {
|
|
755
|
+
await cancelResidualOrders(bot, residualCancels);
|
|
756
|
+
}
|
|
716
757
|
if (shouldRunPostFillChecks && !abortedFillCycle) {
|
|
717
758
|
await bot._runGridMaintenance('post-fill');
|
|
718
759
|
}
|
|
@@ -723,16 +764,16 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
723
764
|
bot.manager._recentFillKeysSnapshot = bot._getRecentFillKeysSnapshot();
|
|
724
765
|
await retryPersistenceIfNeeded(bot.manager);
|
|
725
766
|
bot._fillCleanupCounter += validFills.length;
|
|
726
|
-
const cleanupThreshold =
|
|
727
|
-
? Math.floor(1 /
|
|
767
|
+
const cleanupThreshold = MAINTENANCE.CLEANUP_PROBABILITY > 0 && MAINTENANCE.CLEANUP_PROBABILITY < 1
|
|
768
|
+
? Math.floor(1 / MAINTENANCE.CLEANUP_PROBABILITY)
|
|
728
769
|
: 100;
|
|
729
770
|
if (bot._fillCleanupCounter >= cleanupThreshold) {
|
|
730
771
|
try {
|
|
731
|
-
await bot.accountOrders.cleanOldProcessedFills(
|
|
772
|
+
await bot.accountOrders.cleanOldProcessedFills(TIMING.FILL_RECORD_RETENTION_MS);
|
|
732
773
|
bot._fillCleanupCounter = 0;
|
|
733
774
|
}
|
|
734
775
|
catch (err) {
|
|
735
|
-
bot.manager?.logger?.log(`Warning: Fill cleanup failed (will retry): ${
|
|
776
|
+
bot.manager?.logger?.log(`Warning: Fill cleanup failed (will retry): ${getErrorMessage(err)}`, 'warn');
|
|
736
777
|
}
|
|
737
778
|
}
|
|
738
779
|
bot._metrics.fillsProcessed += validFills.length;
|
|
@@ -765,7 +806,7 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
765
806
|
: 'fill-cycle-error-verified-fills';
|
|
766
807
|
if (isCredentialOutage) {
|
|
767
808
|
bot._credentialRecoveryNeeded = true;
|
|
768
|
-
bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${
|
|
809
|
+
bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${getErrorMessage(err)}`);
|
|
769
810
|
}
|
|
770
811
|
try {
|
|
771
812
|
await bot._flushProcessedFillPersistenceForKeys(pendingFillKeysForCurrentCycle, flushReason, { throwOnError: true });
|
|
@@ -775,14 +816,14 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
775
816
|
bot.manager?.logger?.log?.(`[FILL-DEDUP] Persisted ${pendingFillKeysForCurrentCycle.size} verified processed-fill write(s) after fill cycle error${credentialSuffix}.`, isCredentialOutage ? 'warn' : 'info');
|
|
776
817
|
}
|
|
777
818
|
catch (flushErr) {
|
|
778
|
-
bot.manager?.logger?.log?.(`[FILL-DEDUP] Failed to persist verified fill keys during fill error handling: ${
|
|
819
|
+
bot.manager?.logger?.log?.(`[FILL-DEDUP] Failed to persist verified fill keys during fill error handling: ${getErrorMessage(flushErr)}`, 'warn');
|
|
779
820
|
}
|
|
780
821
|
}
|
|
781
822
|
if (isCredentialOutage && pendingFillKeysForCurrentCycle.size === 0) {
|
|
782
823
|
bot._credentialRecoveryNeeded = true;
|
|
783
|
-
bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${
|
|
824
|
+
bot._suspendGridPersistenceForCredentialOutage(`credential outage during fill processing: ${getErrorMessage(err)}`);
|
|
784
825
|
}
|
|
785
|
-
bot._log(`Error processing fills: ${
|
|
826
|
+
bot._log(`Error processing fills: ${getErrorMessage(err)}`, 'error');
|
|
786
827
|
if (err.stack)
|
|
787
828
|
bot._log(err.stack, 'error');
|
|
788
829
|
}
|
|
@@ -790,4 +831,5 @@ async function consumeFillQueue(bot, chainOrders) {
|
|
|
790
831
|
scheduleFillConsumerRestart(bot, chainOrders);
|
|
791
832
|
}
|
|
792
833
|
}
|
|
834
|
+
export { wireProcessedFillTracking, flushProcessedFillPersistence, flushProcessedFillPersistenceForKeys, discardPendingProcessedFillPersistence, buildOrphanFillFallbackKey, applyReplaySafeFillAccounting, applyReplaySafeTrackedFillAccounting, applyReplaySafeOrphanFillAccounting, processSweepOrphanFill, createFillCallback, maxConsecutiveFillConsumerFailures, computeFillConsumerBackoffMs, scheduleFillConsumerRestart, consumeFillQueue, processFillsWithBootstrapMode };
|
|
793
835
|
//# sourceMappingURL=dexbot_fill_runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexbot_fill_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dexbot_fill_runtime.js","sourceRoot":"","sources":["../../modules/dexbot_fill_runtime.ts"],"names":[],"mappings":"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"}
|