dexbot 1.3.3 → 1.4.1
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 +144 -63
- 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 +122 -91
- 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 +346 -212
- 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 +80 -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 +159 -73
- 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 +103 -45
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +271 -150
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts +35 -47
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +233 -116
- 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
|
@@ -1,4 +1,94 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports._setBitsharesClientForTests = exports.normalizeNativeMarketHistoryCandles = exports.isBotGridRangeScalingWhitelisted = exports.isBotAsymmetricBoundsWhitelisted = exports.isBotDynamicWeightWhitelisted = exports.isBotWhitelisted = exports.normalizeMarketSource = exports.DEFAULTS = exports.DEFAULT_AMA = void 0;
|
|
41
|
+
exports.main = main;
|
|
42
|
+
exports.runOnceForAma = runOnceForAma;
|
|
43
|
+
exports.calculateBotThreshold = calculateBotThreshold;
|
|
44
|
+
exports.calcAmaComparison = calcAmaComparison;
|
|
45
|
+
exports.computeCandleStaleness = computeCandleStaleness;
|
|
46
|
+
exports.sleepUntilAlignedBoundary = sleepUntilAlignedBoundary;
|
|
47
|
+
exports.resolveAmaForBot = resolveAmaForBot;
|
|
48
|
+
exports.resolveDeltaThresholdPercentFromGeneralSettings = resolveDeltaThresholdPercentFromGeneralSettings;
|
|
49
|
+
exports.applyRuntimeDefaultsFromGeneralSettings = applyRuntimeDefaultsFromGeneralSettings;
|
|
50
|
+
exports.resolveBotCfg = resolveBotCfg;
|
|
51
|
+
exports.usesAmaGridPrice = usesAmaGridPrice;
|
|
52
|
+
exports.usesOrderbookMarketSource = usesOrderbookMarketSource;
|
|
53
|
+
exports._resetCycleCache = _resetCycleCache;
|
|
54
|
+
exports.writeCenterSnapshot = writeCenterSnapshot;
|
|
55
|
+
exports.writeBotDynamicGrid = writeBotDynamicGrid;
|
|
56
|
+
exports.writeGridResetTrigger = writeGridResetTrigger;
|
|
57
|
+
exports.mergeGridResetMetadataFromDynamicGrid = mergeGridResetMetadataFromDynamicGrid;
|
|
58
|
+
exports.fetchNativeMarketHistorySince = fetchNativeMarketHistorySince;
|
|
59
|
+
exports.loadMarketAdapterSettings = loadMarketAdapterSettings;
|
|
60
|
+
exports.findPairForBot = findPairForBot;
|
|
61
|
+
const path_api_1 = require("../modules/path_api");
|
|
62
|
+
const storage_1 = require("../modules/storage");
|
|
63
|
+
const system_1 = require("../modules/order/utils/system");
|
|
64
|
+
const general_settings_1 = require("../modules/general_settings");
|
|
65
|
+
const constants_1 = require("../modules/constants");
|
|
66
|
+
const bot_settings_1 = require("../modules/bot_settings");
|
|
67
|
+
const ama_1 = require("./core/strategies/ama");
|
|
68
|
+
const kibanaSource = __importStar(require("./inputs/kibana_source"));
|
|
69
|
+
const kibanaMarketSource = __importStar(require("./core/kibana_market_candles"));
|
|
70
|
+
const candle_utils_1 = require("./candle_utils");
|
|
71
|
+
const interval_utils_1 = require("./interval_utils");
|
|
72
|
+
const tradingview_uplot_chart_generator_1 = require("../analysis/tradingview/tradingview_uplot_chart_generator");
|
|
73
|
+
const atomic_write_1 = require("./utils/atomic_write");
|
|
74
|
+
const file_lock_1 = require("./utils/file_lock");
|
|
75
|
+
const dynamic_grid_snapshot_1 = require("./utils/dynamic_grid_snapshot");
|
|
76
|
+
const paths_1 = require("../modules/paths");
|
|
77
|
+
const logger_1 = __importDefault(require("../modules/logger"));
|
|
78
|
+
const fs_utils_1 = require("../modules/utils/fs_utils");
|
|
79
|
+
const math_utils_1 = require("../modules/utils/math_utils");
|
|
80
|
+
const config_normalizers_js_1 = require("./core/config_normalizers.js");
|
|
81
|
+
const market_adapter_whitelist_js_1 = require("../modules/market_adapter_whitelist.js");
|
|
82
|
+
Object.defineProperty(exports, "isBotWhitelisted", { enumerable: true, get: function () { return market_adapter_whitelist_js_1.isBotWhitelisted; } });
|
|
83
|
+
Object.defineProperty(exports, "isBotDynamicWeightWhitelisted", { enumerable: true, get: function () { return market_adapter_whitelist_js_1.isBotDynamicWeightWhitelisted; } });
|
|
84
|
+
Object.defineProperty(exports, "isBotAsymmetricBoundsWhitelisted", { enumerable: true, get: function () { return market_adapter_whitelist_js_1.isBotAsymmetricBoundsWhitelisted; } });
|
|
85
|
+
Object.defineProperty(exports, "isBotGridRangeScalingWhitelisted", { enumerable: true, get: function () { return market_adapter_whitelist_js_1.isBotGridRangeScalingWhitelisted; } });
|
|
86
|
+
const chain_js_1 = require("./utils/chain.js");
|
|
87
|
+
Object.defineProperty(exports, "normalizeMarketSource", { enumerable: true, get: function () { return chain_js_1.normalizeMarketSource; } });
|
|
88
|
+
Object.defineProperty(exports, "_setBitsharesClientForTests", { enumerable: true, get: function () { return chain_js_1.setBitsharesClientForTests; } });
|
|
89
|
+
const native_history_js_1 = require("./utils/native_history.js");
|
|
90
|
+
Object.defineProperty(exports, "normalizeNativeMarketHistoryCandles", { enumerable: true, get: function () { return native_history_js_1.normalizeNativeMarketHistoryCandles; } });
|
|
91
|
+
const log_format_js_1 = require("./log_format.js");
|
|
2
92
|
'use strict';
|
|
3
93
|
/**
|
|
4
94
|
* PRICE ADAPTER — standalone or auto-launched by dexbot runtime.
|
|
@@ -11,55 +101,31 @@
|
|
|
11
101
|
*
|
|
12
102
|
* No wallet keys/password/auth required (read-only chain + Kibana bootstrap).
|
|
13
103
|
*/
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const { tradesToCandles, detectMissingCandleTimestamps, fillCandleGaps, detectStaleTail, pruneStaleTail, mergeCandles } = require('./candle_utils');
|
|
28
|
-
const { toIntervalLabel } = require('./interval_utils');
|
|
29
|
-
const { normalizeAssetSymbol, normalizeMarketSource, hasNumericStartPrice, resolveMarketSourceForBot, resolveAsset, findPoolByAssets, resolveBotContext, isExactPair, isSamePair, isExactPairIds, isSamePairIds, getBitsharesClient, setBitsharesClientForTests, } = require('./utils/chain');
|
|
30
|
-
const { loadMarketProfiles } = require('../analysis/tradingview/tradingview_uplot_chart_generator');
|
|
31
|
-
const { writeJsonAtomic } = require('./utils/atomic_write');
|
|
32
|
-
const { acquireFileLockSync, releaseFileLockSync } = require('./utils/file_lock');
|
|
33
|
-
const { updateDynamicGridSnapshotSync } = require('./utils/dynamic_grid_snapshot');
|
|
34
|
-
const { normalizeNativeMarketHistoryCandles, } = require('./utils/native_history');
|
|
35
|
-
const { formatLogPercent, buildWeightSummary, buildDynamicWeightInputsLog, buildDynamicWeightTuningLog, buildAsymmetricBoundsLog, buildStartupDefaultsLog, } = require('./log_format');
|
|
36
|
-
const { PATHS, getRecalculateTriggerFile } = require('../modules/paths');
|
|
37
|
-
const ROOT = PATHS.PROJECT_ROOT;
|
|
38
|
-
const PROFILES_DIR = PATHS.PROFILES_DIR;
|
|
39
|
-
const BOTS_FILE = PATHS.PROFILES.BOTS_JSON;
|
|
40
|
-
const DATA_DIR = PATHS.MARKET_ADAPTER.DATA_DIR;
|
|
41
|
-
const STATE_DIR = PATHS.MARKET_ADAPTER.STATE_DIR;
|
|
42
|
-
const STATE_FILE = PATHS.MARKET_ADAPTER.STATE_FILE;
|
|
43
|
-
const CENTER_FILE = PATHS.MARKET_ADAPTER.CENTERS_FILE;
|
|
44
|
-
const LOCK_FILE = PATHS.MARKET_ADAPTER.LOCK_FILE;
|
|
45
|
-
const MARKET_ADAPTER_SOURCE = path.relative(PATHS.PROJECT_ROOT, __filename).replace(/^dist[\\\/]/, '');
|
|
46
|
-
const MARKET_PROFILES_FILE = PATHS.PROFILES.MARKET_PROFILES_JSON;
|
|
47
|
-
const MARKET_ADAPTER_SETTINGS_FILE = PATHS.PROFILES.MARKET_ADAPTER_SETTINGS_JSON;
|
|
48
|
-
const LP_OP_TYPE = NATIVE_CLIENT.OPERATIONS.LIQUIDITY_POOL_EXCHANGE;
|
|
49
|
-
const API_MAX_PAGE = API_LIMITS.LP_API_MAX_PAGE;
|
|
50
|
-
const RUNTIME_DEFAULTS = MARKET_ADAPTER.RUNTIME_DEFAULTS;
|
|
104
|
+
const storage = (0, storage_1.getStorage)();
|
|
105
|
+
const ROOT = paths_1.PATHS.PROJECT_ROOT;
|
|
106
|
+
const BOTS_FILE = paths_1.PATHS.PROFILES.BOTS_JSON;
|
|
107
|
+
const DATA_DIR = paths_1.PATHS.MARKET_ADAPTER.DATA_DIR;
|
|
108
|
+
const STATE_DIR = paths_1.PATHS.MARKET_ADAPTER.STATE_DIR;
|
|
109
|
+
const STATE_FILE = paths_1.PATHS.MARKET_ADAPTER.STATE_FILE;
|
|
110
|
+
const CENTER_FILE = paths_1.PATHS.MARKET_ADAPTER.CENTERS_FILE;
|
|
111
|
+
const LOCK_FILE = paths_1.PATHS.MARKET_ADAPTER.LOCK_FILE;
|
|
112
|
+
const MARKET_ADAPTER_SOURCE = path_api_1.path.relative(paths_1.PATHS.PROJECT_ROOT, __filename).replace(/^dist[\\\/]/, '');
|
|
113
|
+
const MARKET_ADAPTER_SETTINGS_FILE = paths_1.PATHS.PROFILES.MARKET_ADAPTER_SETTINGS_JSON;
|
|
114
|
+
const LP_OP_TYPE = constants_1.NATIVE_CLIENT.OPERATIONS.LIQUIDITY_POOL_EXCHANGE;
|
|
115
|
+
const API_MAX_PAGE = constants_1.API_LIMITS.LP_API_MAX_PAGE;
|
|
116
|
+
const RUNTIME_DEFAULTS = constants_1.MARKET_ADAPTER.RUNTIME_DEFAULTS;
|
|
51
117
|
const DEFAULTS = {
|
|
52
118
|
pollSeconds: RUNTIME_DEFAULTS.pollSeconds,
|
|
53
|
-
deltaThresholdPercent: MARKET_ADAPTER.AMA_DELTA_THRESHOLD_PERCENT,
|
|
119
|
+
deltaThresholdPercent: constants_1.MARKET_ADAPTER.AMA_DELTA_THRESHOLD_PERCENT,
|
|
54
120
|
amaSlopeDeltaThresholdPercent: undefined,
|
|
55
|
-
absoluteThreshold: MARKET_ADAPTER.DYNAMIC_WEIGHT_ABSOLUTE_THRESHOLD_DEFAULT,
|
|
121
|
+
absoluteThreshold: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_ABSOLUTE_THRESHOLD_DEFAULT,
|
|
56
122
|
intervalSeconds: RUNTIME_DEFAULTS.intervalSeconds,
|
|
57
123
|
bootstrapLookbackHours: RUNTIME_DEFAULTS.bootstrapLookbackHours,
|
|
58
124
|
nativeBackfillHours: RUNTIME_DEFAULTS.nativeBackfillHours,
|
|
59
125
|
maxStaleHours: RUNTIME_DEFAULTS.maxStaleHours,
|
|
60
126
|
sourceRetries: RUNTIME_DEFAULTS.sourceRetries,
|
|
61
127
|
retryDelayMs: RUNTIME_DEFAULTS.retryDelayMs,
|
|
62
|
-
kibanaRequestTimeoutMs: MARKET_ADAPTER.KIBANA_REQUEST_TIMEOUT_MS,
|
|
128
|
+
kibanaRequestTimeoutMs: constants_1.MARKET_ADAPTER.KIBANA_REQUEST_TIMEOUT_MS,
|
|
63
129
|
metricsJson: false,
|
|
64
130
|
quiet: false,
|
|
65
131
|
dryRun: false,
|
|
@@ -67,25 +133,26 @@ const DEFAULTS = {
|
|
|
67
133
|
maxPages: RUNTIME_DEFAULTS.maxPages,
|
|
68
134
|
pageLimit: RUNTIME_DEFAULTS.pageLimit,
|
|
69
135
|
once: false,
|
|
70
|
-
maxNativeGapFillCandles: MARKET_ADAPTER.STALE_TAIL_THRESHOLD_CANDLES,
|
|
71
|
-
staleTailThreshold: MARKET_ADAPTER.STALE_TAIL_THRESHOLD_CANDLES,
|
|
136
|
+
maxNativeGapFillCandles: constants_1.MARKET_ADAPTER.STALE_TAIL_THRESHOLD_CANDLES,
|
|
137
|
+
staleTailThreshold: constants_1.MARKET_ADAPTER.STALE_TAIL_THRESHOLD_CANDLES,
|
|
72
138
|
amaSlope: {
|
|
73
|
-
lookbackBars: MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS,
|
|
74
|
-
maxSlopePct: MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_MAX_SLOPE_PCT,
|
|
75
|
-
neutralZonePct: MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT,
|
|
76
|
-
deltaThresholdPct: MARKET_ADAPTER.AMA_SLOPE_DELTA_THRESHOLD_PERCENT,
|
|
139
|
+
lookbackBars: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS,
|
|
140
|
+
maxSlopePct: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_MAX_SLOPE_PCT,
|
|
141
|
+
neutralZonePct: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT,
|
|
142
|
+
deltaThresholdPct: constants_1.MARKET_ADAPTER.AMA_SLOPE_DELTA_THRESHOLD_PERCENT,
|
|
77
143
|
},
|
|
78
144
|
kalmanSlope: {
|
|
79
|
-
maxSlopePct: MARKET_ADAPTER.DYNAMIC_WEIGHT_KALMAN_MAX_SLOPE_PCT,
|
|
145
|
+
maxSlopePct: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_KALMAN_MAX_SLOPE_PCT,
|
|
80
146
|
},
|
|
81
|
-
atrPeriod: MARKET_ADAPTER.DYNAMIC_WEIGHT_ATR_PERIOD_DEFAULT,
|
|
147
|
+
atrPeriod: constants_1.MARKET_ADAPTER.DYNAMIC_WEIGHT_ATR_PERIOD_DEFAULT,
|
|
82
148
|
};
|
|
149
|
+
exports.DEFAULTS = DEFAULTS;
|
|
83
150
|
// Cycle-scoped caches — reset once per runOnce() so each cycle reads files fresh
|
|
84
151
|
// but all bots within that cycle share the same loaded data (N bots → 1 file read).
|
|
85
152
|
let _marketAdapterSettingsCache = null;
|
|
86
153
|
function _resetCycleCache() {
|
|
87
154
|
_marketAdapterSettingsCache = null;
|
|
88
|
-
resetMarketAdapterWhitelistCache();
|
|
155
|
+
(0, market_adapter_whitelist_js_1.resetMarketAdapterWhitelistCache)();
|
|
89
156
|
}
|
|
90
157
|
function loadMarketAdapterSettings() {
|
|
91
158
|
if (_marketAdapterSettingsCache !== null)
|
|
@@ -93,11 +160,11 @@ function loadMarketAdapterSettings() {
|
|
|
93
160
|
if (!storage.exists(MARKET_ADAPTER_SETTINGS_FILE))
|
|
94
161
|
return null;
|
|
95
162
|
try {
|
|
96
|
-
_marketAdapterSettingsCache = readJSON(MARKET_ADAPTER_SETTINGS_FILE);
|
|
163
|
+
_marketAdapterSettingsCache = (0, fs_utils_1.readJSON)(MARKET_ADAPTER_SETTINGS_FILE);
|
|
97
164
|
return _marketAdapterSettingsCache;
|
|
98
165
|
}
|
|
99
166
|
catch (_) {
|
|
100
|
-
console.warn(`[WARN] Failed to parse ${MARKET_ADAPTER_SETTINGS_FILE}: ${_
|
|
167
|
+
console.warn(`[WARN] Failed to parse ${MARKET_ADAPTER_SETTINGS_FILE}: ${(0, errors_1.getErrorMessage)(_)}. Using defaults.`);
|
|
101
168
|
_marketAdapterSettingsCache = false;
|
|
102
169
|
return null;
|
|
103
170
|
}
|
|
@@ -107,27 +174,27 @@ function findPairForBot(bot, pairs) {
|
|
|
107
174
|
return null;
|
|
108
175
|
const botAId = String(bot.assetAId || '');
|
|
109
176
|
const botBId = String(bot.assetBId || '');
|
|
110
|
-
const botA = normalizeAssetSymbol(bot.assetA);
|
|
111
|
-
const botB = normalizeAssetSymbol(bot.assetB);
|
|
177
|
+
const botA = (0, chain_js_1.normalizeAssetSymbol)(bot.assetA);
|
|
178
|
+
const botB = (0, chain_js_1.normalizeAssetSymbol)(bot.assetB);
|
|
112
179
|
let fallbackMatch = null;
|
|
113
180
|
for (const p of pairs) {
|
|
114
181
|
const parts = String(p.key || '').split('|');
|
|
115
182
|
const pAId = parts[0];
|
|
116
183
|
const pBId = parts[1];
|
|
117
|
-
const pA = normalizeAssetSymbol(p.assetASymbol);
|
|
118
|
-
const pB = normalizeAssetSymbol(p.assetBSymbol);
|
|
184
|
+
const pA = (0, chain_js_1.normalizeAssetSymbol)(p.assetASymbol);
|
|
185
|
+
const pB = (0, chain_js_1.normalizeAssetSymbol)(p.assetBSymbol);
|
|
119
186
|
if (botAId && botBId && pAId && pBId) {
|
|
120
|
-
if (isExactPairIds(botAId, botBId, pAId, pBId))
|
|
187
|
+
if ((0, chain_js_1.isExactPairIds)(botAId, botBId, pAId, pBId))
|
|
121
188
|
return p;
|
|
122
|
-
if (!fallbackMatch && isSamePairIds(botAId, botBId, pAId, pBId)) {
|
|
189
|
+
if (!fallbackMatch && (0, chain_js_1.isSamePairIds)(botAId, botBId, pAId, pBId)) {
|
|
123
190
|
fallbackMatch = p;
|
|
124
191
|
continue;
|
|
125
192
|
}
|
|
126
193
|
}
|
|
127
194
|
if (botA && botB && pA && pB) {
|
|
128
|
-
if (isExactPair(botA, botB, pA, pB))
|
|
195
|
+
if ((0, chain_js_1.isExactPair)(botA, botB, pA, pB))
|
|
129
196
|
return p;
|
|
130
|
-
if (!fallbackMatch && isSamePair(botA, botB, pA, pB)) {
|
|
197
|
+
if (!fallbackMatch && (0, chain_js_1.isSamePair)(botA, botB, pA, pB)) {
|
|
131
198
|
fallbackMatch = p;
|
|
132
199
|
}
|
|
133
200
|
}
|
|
@@ -146,25 +213,25 @@ function applyAmaSlopeOverrides(target, overrides) {
|
|
|
146
213
|
return target;
|
|
147
214
|
target.amaSlope = { ...(target.amaSlope || {}) };
|
|
148
215
|
const previousLookbackBars = target.amaSlope.lookbackBars;
|
|
149
|
-
const explicitMode = normalizeAmaSlopePercentMode(overrides.amaSlopePercentMode
|
|
216
|
+
const explicitMode = (0, market_adapter_service_js_1.normalizeAmaSlopePercentMode)(overrides.amaSlopePercentMode
|
|
150
217
|
?? overrides.amaSlopeUnits
|
|
151
218
|
?? overrides.amaSlope?.percentMode
|
|
152
219
|
?? overrides.amaSlope?.units);
|
|
153
220
|
if (explicitMode)
|
|
154
221
|
target.amaSlopePercentMode = explicitMode;
|
|
155
|
-
const mode = explicitMode || target.amaSlopePercentMode || AMA_SLOPE_PERCENT_MODE_PER_BAR;
|
|
222
|
+
const mode = explicitMode || target.amaSlopePercentMode || market_adapter_service_js_1.AMA_SLOPE_PERCENT_MODE_PER_BAR;
|
|
156
223
|
if (overrides.amaSlopeDeltaThresholdPercent != null) {
|
|
157
|
-
target.amaSlopeDeltaThresholdPercent = convertSlopePercentToPerBar(overrides.amaSlopeDeltaThresholdPercent, overrides.amaSlope?.lookbackBars ?? previousLookbackBars, mode);
|
|
224
|
+
target.amaSlopeDeltaThresholdPercent = (0, market_adapter_service_js_1.convertSlopePercentToPerBar)(overrides.amaSlopeDeltaThresholdPercent, overrides.amaSlope?.lookbackBars ?? previousLookbackBars, mode);
|
|
158
225
|
}
|
|
159
226
|
if (overrides.amaSlope && typeof overrides.amaSlope === 'object') {
|
|
160
227
|
const { percentMode: _percentMode, units: _units, maxSlopePct, neutralZonePct, ...amaSlopeRest } = overrides.amaSlope;
|
|
161
228
|
target.amaSlope = { ...target.amaSlope, ...amaSlopeRest };
|
|
162
229
|
const lookbackBars = target.amaSlope.lookbackBars ?? previousLookbackBars;
|
|
163
230
|
if (maxSlopePct != null) {
|
|
164
|
-
target.amaSlope.maxSlopePct = convertSlopePercentToPerBar(maxSlopePct, lookbackBars, mode);
|
|
231
|
+
target.amaSlope.maxSlopePct = (0, market_adapter_service_js_1.convertSlopePercentToPerBar)(maxSlopePct, lookbackBars, mode);
|
|
165
232
|
}
|
|
166
233
|
if (neutralZonePct != null) {
|
|
167
|
-
target.amaSlope.neutralZonePct = convertSlopePercentToPerBar(neutralZonePct, lookbackBars, mode);
|
|
234
|
+
target.amaSlope.neutralZonePct = (0, market_adapter_service_js_1.convertSlopePercentToPerBar)(neutralZonePct, lookbackBars, mode);
|
|
168
235
|
}
|
|
169
236
|
}
|
|
170
237
|
return target;
|
|
@@ -213,12 +280,12 @@ function applyMarketAdapterOverrides(target, overrides, opts = {}) {
|
|
|
213
280
|
'asymmetricBounds',
|
|
214
281
|
]);
|
|
215
282
|
if (overrides.maxVolatilityOffset != null) {
|
|
216
|
-
target.maxVolatilityOffset = normalizeMaxVolatilityOffset(overrides.maxVolatilityOffset);
|
|
283
|
+
target.maxVolatilityOffset = (0, config_normalizers_js_1.normalizeMaxVolatilityOffset)(overrides.maxVolatilityOffset);
|
|
217
284
|
}
|
|
218
285
|
if (overrides.atrPeriod != null)
|
|
219
|
-
target.atrPeriod = normalizeAtrPeriod(overrides.atrPeriod);
|
|
286
|
+
target.atrPeriod = (0, config_normalizers_js_1.normalizeAtrPeriod)(overrides.atrPeriod);
|
|
220
287
|
if (overrides.volatilityThreshold != null) {
|
|
221
|
-
target.volatilityThreshold = normalizeVolatilityThreshold(overrides.volatilityThreshold);
|
|
288
|
+
target.volatilityThreshold = (0, config_normalizers_js_1.normalizeVolatilityThreshold)(overrides.volatilityThreshold);
|
|
222
289
|
}
|
|
223
290
|
if (overrides.peNodes)
|
|
224
291
|
target.peNodes = overrides.peNodes;
|
|
@@ -255,9 +322,10 @@ function resolveBotCfg(bot, globalCfg) {
|
|
|
255
322
|
}
|
|
256
323
|
return merged;
|
|
257
324
|
}
|
|
258
|
-
const DEFAULT_AMA_KEY = String(MARKET_ADAPTER.DEFAULT_AMA_KEY).toUpperCase();
|
|
259
|
-
const BUILTIN_AMAS = MARKET_ADAPTER.AMAS;
|
|
260
|
-
const DEFAULT_AMA = MARKET_ADAPTER.AMAS.AMA3;
|
|
325
|
+
const DEFAULT_AMA_KEY = String(constants_1.MARKET_ADAPTER.DEFAULT_AMA_KEY).toUpperCase();
|
|
326
|
+
const BUILTIN_AMAS = constants_1.MARKET_ADAPTER.AMAS;
|
|
327
|
+
const DEFAULT_AMA = constants_1.MARKET_ADAPTER.AMAS.AMA3;
|
|
328
|
+
exports.DEFAULT_AMA = DEFAULT_AMA;
|
|
261
329
|
const AMA_KEYWORDS = new Set(['ama', 'ama1', 'ama2', 'ama3', 'ama4']);
|
|
262
330
|
const AMA_PRESET_KEYS = ['AMA1', 'AMA2', 'AMA3', 'AMA4'];
|
|
263
331
|
function normalizeAmaPreset(raw) {
|
|
@@ -284,16 +352,16 @@ function usesAmaGridPrice(bot) {
|
|
|
284
352
|
return isAmaKeyword(bot?.gridPrice);
|
|
285
353
|
}
|
|
286
354
|
function usesOrderbookMarketSource(bot) {
|
|
287
|
-
return resolveMarketSourceForBot(bot) === 'book';
|
|
355
|
+
return (0, chain_js_1.resolveMarketSourceForBot)(bot) === 'book';
|
|
288
356
|
}
|
|
289
|
-
function findAmaProfileForBot(bot, ctx
|
|
290
|
-
const profiles = loadMarketProfiles()?.profiles || [];
|
|
357
|
+
function findAmaProfileForBot(bot, ctx) {
|
|
358
|
+
const profiles = (0, tradingview_uplot_chart_generator_1.loadMarketProfiles)()?.profiles || [];
|
|
291
359
|
if (profiles.length === 0)
|
|
292
360
|
return null;
|
|
293
|
-
const botAssetA = normalizeAssetSymbol(bot?.assetA);
|
|
294
|
-
const botAssetB = normalizeAssetSymbol(bot?.assetB);
|
|
295
|
-
const ctxAssetAId = normalizeAssetSymbol(ctx?.assetA?.id);
|
|
296
|
-
const ctxAssetBId = normalizeAssetSymbol(ctx?.assetB?.id);
|
|
361
|
+
const botAssetA = (0, chain_js_1.normalizeAssetSymbol)(bot?.assetA);
|
|
362
|
+
const botAssetB = (0, chain_js_1.normalizeAssetSymbol)(bot?.assetB);
|
|
363
|
+
const ctxAssetAId = (0, chain_js_1.normalizeAssetSymbol)(ctx?.assetA?.id);
|
|
364
|
+
const ctxAssetBId = (0, chain_js_1.normalizeAssetSymbol)(ctx?.assetB?.id);
|
|
297
365
|
if (!botAssetA && !ctxAssetAId)
|
|
298
366
|
return null;
|
|
299
367
|
if (!botAssetB && !ctxAssetBId)
|
|
@@ -303,12 +371,12 @@ function findAmaProfileForBot(bot, ctx = null) {
|
|
|
303
371
|
const pB = p?.assetB;
|
|
304
372
|
const pAId = p?.assetAId;
|
|
305
373
|
const pBId = p?.assetBId;
|
|
306
|
-
const exactBySymbol = botAssetA && botAssetB && pA && pB && isExactPair(botAssetA, botAssetB, pA, pB);
|
|
374
|
+
const exactBySymbol = botAssetA && botAssetB && pA && pB && (0, chain_js_1.isExactPair)(botAssetA, botAssetB, pA, pB);
|
|
307
375
|
const exactById = ctxAssetAId && ctxAssetBId && pAId && pBId
|
|
308
|
-
&& isExactPairIds(ctxAssetAId, ctxAssetBId, pAId, pBId);
|
|
309
|
-
const symmetricBySymbol = botAssetA && botAssetB && pA && pB && isSamePair(botAssetA, botAssetB, pA, pB);
|
|
376
|
+
&& (0, chain_js_1.isExactPairIds)(ctxAssetAId, ctxAssetBId, pAId, pBId);
|
|
377
|
+
const symmetricBySymbol = botAssetA && botAssetB && pA && pB && (0, chain_js_1.isSamePair)(botAssetA, botAssetB, pA, pB);
|
|
310
378
|
const symmetricById = ctxAssetAId && ctxAssetBId && pAId && pBId
|
|
311
|
-
&& isSamePairIds(ctxAssetAId, ctxAssetBId, pAId, pBId);
|
|
379
|
+
&& (0, chain_js_1.isSamePairIds)(ctxAssetAId, ctxAssetBId, pAId, pBId);
|
|
312
380
|
const matchRank = (exactById || exactBySymbol)
|
|
313
381
|
? 2
|
|
314
382
|
: ((symmetricById || symmetricBySymbol) ? 1 : 0);
|
|
@@ -327,7 +395,7 @@ function findAmaProfileForBot(bot, ctx = null) {
|
|
|
327
395
|
return bTs - aTs;
|
|
328
396
|
})[0] || null;
|
|
329
397
|
}
|
|
330
|
-
function getAmaPresetForKey(key, profile
|
|
398
|
+
function getAmaPresetForKey(key, profile) {
|
|
331
399
|
return normalizeAmaPreset(profile?.amas?.[key]) || normalizeAmaPreset(BUILTIN_AMAS[key]) || null;
|
|
332
400
|
}
|
|
333
401
|
function normalizeErSmoothPeriod(raw, fallback = 0) {
|
|
@@ -341,13 +409,13 @@ function normalizeErSmoothPeriod(raw, fallback = 0) {
|
|
|
341
409
|
}
|
|
342
410
|
function resolveErSmoothPeriodForBot(bot) {
|
|
343
411
|
const raw = (bot && typeof bot.ama === 'object' && bot.ama !== null) ? bot.ama : {};
|
|
344
|
-
const globalErSmoothPeriod = normalizeErSmoothPeriod(MARKET_ADAPTER.AMA_ER_SMOOTH_FAST_PERIOD, 0);
|
|
412
|
+
const globalErSmoothPeriod = normalizeErSmoothPeriod(constants_1.MARKET_ADAPTER.AMA_ER_SMOOTH_FAST_PERIOD, 0);
|
|
345
413
|
if (Object.prototype.hasOwnProperty.call(raw, 'erSmoothPeriod')) {
|
|
346
414
|
return normalizeErSmoothPeriod(raw.erSmoothPeriod, globalErSmoothPeriod);
|
|
347
415
|
}
|
|
348
416
|
return globalErSmoothPeriod;
|
|
349
417
|
}
|
|
350
|
-
function buildAmaComparisonPresets(bot, ctx
|
|
418
|
+
function buildAmaComparisonPresets(bot, ctx) {
|
|
351
419
|
const profile = findAmaProfileForBot(bot, ctx);
|
|
352
420
|
const erSmoothPeriod = resolveErSmoothPeriodForBot(bot);
|
|
353
421
|
return AMA_PRESET_KEYS
|
|
@@ -365,7 +433,7 @@ function buildAmaComparisonPresets(bot, ctx = null) {
|
|
|
365
433
|
})
|
|
366
434
|
.filter(Boolean);
|
|
367
435
|
}
|
|
368
|
-
function getAmaFromProfilesForBot(bot, ctx
|
|
436
|
+
function getAmaFromProfilesForBot(bot, ctx, cfg) {
|
|
369
437
|
const profile = findAmaProfileForBot(bot, ctx);
|
|
370
438
|
if (!profile)
|
|
371
439
|
return null;
|
|
@@ -378,8 +446,8 @@ function getAmaFromProfilesForBot(bot, ctx = null, cfg = null) {
|
|
|
378
446
|
: (overrideDefaultAmaKey || normalizeAmaKey(profile?.defaultAma)));
|
|
379
447
|
const selected = normalizeAmaPreset(profile?.amas?.[requestedKey])
|
|
380
448
|
|| normalizeAmaPreset(profile?.amas?.[overrideDefaultAmaKey || DEFAULT_AMA_KEY])
|
|
381
|
-
|| getAmaPresetForKey(requestedKey)
|
|
382
|
-
|| getAmaPresetForKey(overrideDefaultAmaKey || DEFAULT_AMA_KEY);
|
|
449
|
+
|| getAmaPresetForKey(requestedKey, profile)
|
|
450
|
+
|| getAmaPresetForKey(overrideDefaultAmaKey || DEFAULT_AMA_KEY, profile);
|
|
383
451
|
if (!selected)
|
|
384
452
|
return null;
|
|
385
453
|
return {
|
|
@@ -409,7 +477,7 @@ function withRetries(fn, attempts, baseDelayMs, label) {
|
|
|
409
477
|
break;
|
|
410
478
|
const waitMs = Math.max(0, baseDelayMs) * (i + 1);
|
|
411
479
|
if (waitMs > 0)
|
|
412
|
-
await sleep(waitMs);
|
|
480
|
+
await (0, system_1.sleep)(waitMs);
|
|
413
481
|
}
|
|
414
482
|
}
|
|
415
483
|
const msg = label ? `${label}: ${lastErr?.message || 'unknown error'}` : (lastErr?.message || 'unknown error');
|
|
@@ -532,7 +600,7 @@ function applyRuntimeDefaultsFromGeneralSettings(cfg, provided = {}, settingsOve
|
|
|
532
600
|
const out = { ...cfg };
|
|
533
601
|
if (!provided?.deltaThresholdPercent) {
|
|
534
602
|
const settings = settingsOverride === undefined
|
|
535
|
-
? readGeneralSettings({ fallback: null })
|
|
603
|
+
? (0, general_settings_1.readGeneralSettings)({ fallback: null })
|
|
536
604
|
: settingsOverride;
|
|
537
605
|
const fromSettings = resolveDeltaThresholdPercentFromGeneralSettings(settings);
|
|
538
606
|
if (fromSettings != null) {
|
|
@@ -541,11 +609,8 @@ function applyRuntimeDefaultsFromGeneralSettings(cfg, provided = {}, settingsOve
|
|
|
541
609
|
}
|
|
542
610
|
return out;
|
|
543
611
|
}
|
|
544
|
-
const
|
|
545
|
-
const
|
|
546
|
-
const { fixedTo, roundTo } = require('../modules/utils/math_utils');
|
|
547
|
-
const marketAdapterLogFile = path.join(PATHS.LOGS_DIR, 'market_adapter.log');
|
|
548
|
-
const logger = createPm2AwareLogger('MarketAdapter', { quiet: DEFAULTS.quiet, logFile: marketAdapterLogFile });
|
|
612
|
+
const marketAdapterLogFile = path_api_1.path.join(paths_1.PATHS.LOGS_DIR, 'market_adapter.log');
|
|
613
|
+
const logger = new logger_1.default('MarketAdapter', { quiet: DEFAULTS.quiet, logFile: marketAdapterLogFile });
|
|
549
614
|
function log(cfg, ...args) {
|
|
550
615
|
logger.quiet = !!cfg?.quiet;
|
|
551
616
|
logger.info(...args);
|
|
@@ -580,24 +645,24 @@ function loadActiveBots() {
|
|
|
580
645
|
if (!storage.exists(BOTS_FILE)) {
|
|
581
646
|
throw new Error(`Bots file not found at ${BOTS_FILE}`);
|
|
582
647
|
}
|
|
583
|
-
const raw = parseJsonWithComments(storage.readFile(BOTS_FILE));
|
|
648
|
+
const raw = (0, system_1.parseJsonWithComments)(storage.readFile(BOTS_FILE));
|
|
584
649
|
const bots = Array.isArray(raw?.bots) ? raw.bots : (Array.isArray(raw) ? raw : []);
|
|
585
650
|
return bots
|
|
586
|
-
.map((b, i) => normalizeBotEntry(b, i))
|
|
651
|
+
.map((b, i) => (0, bot_settings_1.normalizeBotEntry)(b, i))
|
|
587
652
|
.filter((b) => b.active);
|
|
588
653
|
}
|
|
589
654
|
function loadJson(filePath, defaultValue) {
|
|
590
655
|
try {
|
|
591
656
|
if (!storage.exists(filePath))
|
|
592
657
|
return defaultValue;
|
|
593
|
-
return readJSON(filePath);
|
|
658
|
+
return (0, fs_utils_1.readJSON)(filePath);
|
|
594
659
|
}
|
|
595
660
|
catch (_) {
|
|
596
661
|
return defaultValue;
|
|
597
662
|
}
|
|
598
663
|
}
|
|
599
664
|
function saveJson(filePath, data) {
|
|
600
|
-
writeJsonAtomic(filePath, data);
|
|
665
|
+
(0, atomic_write_1.writeJsonAtomic)(filePath, data);
|
|
601
666
|
}
|
|
602
667
|
function parseChainTimeToMs(timeStr) {
|
|
603
668
|
if (!timeStr)
|
|
@@ -608,8 +673,8 @@ function parseChainTimeToMs(timeStr) {
|
|
|
608
673
|
function candleFileForBot(botKey, intervalSeconds = RUNTIME_DEFAULTS.intervalSeconds) {
|
|
609
674
|
const label = intervalSeconds === RUNTIME_DEFAULTS.intervalSeconds
|
|
610
675
|
? RUNTIME_DEFAULTS.intervalLabel
|
|
611
|
-
: toIntervalLabel(intervalSeconds);
|
|
612
|
-
return path.join(DATA_DIR, `market_adapter_${botKey}_${label}.json`);
|
|
676
|
+
: (0, interval_utils_1.toIntervalLabel)(intervalSeconds);
|
|
677
|
+
return path_api_1.path.join(DATA_DIR, `market_adapter_${botKey}_${label}.json`);
|
|
613
678
|
}
|
|
614
679
|
function calculateBotThreshold(cfg) {
|
|
615
680
|
const value = Number(cfg?.deltaThresholdPercent);
|
|
@@ -637,7 +702,7 @@ function resolveAmaForBot(bot, ctx = null, cfg = null) {
|
|
|
637
702
|
enabled: raw.enabled !== false,
|
|
638
703
|
};
|
|
639
704
|
if (isAmaKeyword(bot?.gridPrice)) {
|
|
640
|
-
const preset = getAmaPresetForKey(normalizeAmaKey(bot.gridPrice));
|
|
705
|
+
const preset = getAmaPresetForKey(normalizeAmaKey(bot.gridPrice), null);
|
|
641
706
|
if (preset) {
|
|
642
707
|
if (!Number.isFinite(amaCfg.erPeriod))
|
|
643
708
|
amaCfg.erPeriod = preset.erPeriod;
|
|
@@ -677,7 +742,7 @@ function calcAmaComparison(candles, bot = null, ctx = null) {
|
|
|
677
742
|
out.push({ ...p, value: null, ok: false });
|
|
678
743
|
continue;
|
|
679
744
|
}
|
|
680
|
-
const values = calculateAMA(closes, {
|
|
745
|
+
const values = (0, ama_1.calculateAMA)(closes, {
|
|
681
746
|
erPeriod: p.erPeriod,
|
|
682
747
|
fastPeriod: p.fastPeriod,
|
|
683
748
|
slowPeriod: p.slowPeriod,
|
|
@@ -689,7 +754,7 @@ function calcAmaComparison(candles, bot = null, ctx = null) {
|
|
|
689
754
|
return out;
|
|
690
755
|
}
|
|
691
756
|
async function fetchNativeTradesSince(poolId, sinceMs, pageLimit, maxPages) {
|
|
692
|
-
const { BitShares } = getBitsharesClient();
|
|
757
|
+
const { BitShares } = (0, chain_js_1.getBitsharesClient)();
|
|
693
758
|
const trades = [];
|
|
694
759
|
const seenSequences = new Set();
|
|
695
760
|
let pages = 0;
|
|
@@ -759,7 +824,7 @@ function nativeHistoryRowToTrade(row) {
|
|
|
759
824
|
};
|
|
760
825
|
}
|
|
761
826
|
async function fetchNativeTradesUntilOverlap(poolId, overlapSequences, minOverlap, pageLimit, maxPages) {
|
|
762
|
-
const { BitShares } = getBitsharesClient();
|
|
827
|
+
const { BitShares } = (0, chain_js_1.getBitsharesClient)();
|
|
763
828
|
const overlapSet = new Set((Array.isArray(overlapSequences) ? overlapSequences : [])
|
|
764
829
|
.map((v) => String(v))
|
|
765
830
|
.filter((v) => v !== ''));
|
|
@@ -816,7 +881,7 @@ async function fetchNativeTradesUntilOverlap(poolId, overlapSequences, minOverla
|
|
|
816
881
|
};
|
|
817
882
|
}
|
|
818
883
|
async function fetchNativeMarketHistorySince(assetA, assetB, sinceMs, untilMs, intervalSeconds, options = {}) {
|
|
819
|
-
const { BitShares } = getBitsharesClient();
|
|
884
|
+
const { BitShares } = (0, chain_js_1.getBitsharesClient)();
|
|
820
885
|
if (!BitShares) {
|
|
821
886
|
throw new Error('BitShares client unavailable');
|
|
822
887
|
}
|
|
@@ -832,14 +897,14 @@ async function fetchNativeMarketHistorySince(assetA, assetB, sinceMs, untilMs, i
|
|
|
832
897
|
else {
|
|
833
898
|
throw new Error('native market history source unavailable');
|
|
834
899
|
}
|
|
835
|
-
let candles = normalizeNativeMarketHistoryCandles(history, assetA, assetB, intervalSeconds);
|
|
900
|
+
let candles = (0, native_history_js_1.normalizeNativeMarketHistoryCandles)(history, assetA, assetB, intervalSeconds);
|
|
836
901
|
if (candles.length > 0 && typeof options.fillCandleGaps === 'function') {
|
|
837
902
|
candles = options.fillCandleGaps(candles, intervalSeconds);
|
|
838
903
|
}
|
|
839
904
|
return candles;
|
|
840
905
|
}
|
|
841
906
|
function writeGridResetTrigger(bot, payload) {
|
|
842
|
-
const triggerPath = getRecalculateTriggerFile(bot.botKey);
|
|
907
|
+
const triggerPath = (0, paths_1.getRecalculateTriggerFile)(bot.botKey);
|
|
843
908
|
const content = {
|
|
844
909
|
createdAt: new Date().toISOString(),
|
|
845
910
|
source: MARKET_ADAPTER_SOURCE,
|
|
@@ -847,10 +912,10 @@ function writeGridResetTrigger(bot, payload) {
|
|
|
847
912
|
botKey: bot.botKey,
|
|
848
913
|
...payload,
|
|
849
914
|
};
|
|
850
|
-
writeJsonAtomic(triggerPath, content);
|
|
915
|
+
(0, atomic_write_1.writeJsonAtomic)(triggerPath, content);
|
|
851
916
|
return triggerPath;
|
|
852
917
|
}
|
|
853
|
-
const ORDERS_DIR = PATHS.ORDERS_DIR;
|
|
918
|
+
const ORDERS_DIR = paths_1.PATHS.ORDERS_DIR;
|
|
854
919
|
/**
|
|
855
920
|
* Atomically write the dynamic grid snapshot for a bot to profiles/orders/<botKey>.dynamicgrid.json.
|
|
856
921
|
* Contains AMA-derived center price and any computed effective weight offsets.
|
|
@@ -859,7 +924,7 @@ const ORDERS_DIR = PATHS.ORDERS_DIR;
|
|
|
859
924
|
*/
|
|
860
925
|
function writeBotDynamicGrid(botKey, gridCenterPrice, options = {}) {
|
|
861
926
|
try {
|
|
862
|
-
const filePath = path.join(ORDERS_DIR, `${botKey}.dynamicgrid.json`);
|
|
927
|
+
const filePath = path_api_1.path.join(ORDERS_DIR, `${botKey}.dynamicgrid.json`);
|
|
863
928
|
const preserveGridResetMetadata = (target, snapshot) => {
|
|
864
929
|
if (!snapshot?.lastGridResetAt)
|
|
865
930
|
return target;
|
|
@@ -886,16 +951,16 @@ function writeBotDynamicGrid(botKey, gridCenterPrice, options = {}) {
|
|
|
886
951
|
}
|
|
887
952
|
return target;
|
|
888
953
|
};
|
|
889
|
-
const result = updateDynamicGridSnapshotSync(filePath, (previousSnapshot) => {
|
|
954
|
+
const result = (0, dynamic_grid_snapshot_1.updateDynamicGridSnapshotSync)(filePath, (previousSnapshot) => {
|
|
890
955
|
const amaCenterPrice = Number(options.amaCenterPrice);
|
|
891
956
|
const resolvedGridCenterPrice = Number.isFinite(Number(gridCenterPrice))
|
|
892
|
-
? roundTo(Number(gridCenterPrice), 1e8)
|
|
957
|
+
? (0, math_utils_1.roundTo)(Number(gridCenterPrice), 1e8)
|
|
893
958
|
: null;
|
|
894
959
|
const payload = {
|
|
895
960
|
gridCenterPrice: resolvedGridCenterPrice,
|
|
896
961
|
centerPrice: resolvedGridCenterPrice,
|
|
897
962
|
amaCenterPrice: Number.isFinite(amaCenterPrice) && amaCenterPrice > 0 ? amaCenterPrice : resolvedGridCenterPrice,
|
|
898
|
-
amaSlopePercentMode: AMA_SLOPE_PERCENT_MODE_PER_BAR,
|
|
963
|
+
amaSlopePercentMode: market_adapter_service_js_1.AMA_SLOPE_PERCENT_MODE_PER_BAR,
|
|
899
964
|
updatedAt: new Date().toISOString(),
|
|
900
965
|
source: MARKET_ADAPTER_SOURCE,
|
|
901
966
|
};
|
|
@@ -929,13 +994,14 @@ function writeBotDynamicGrid(botKey, gridCenterPrice, options = {}) {
|
|
|
929
994
|
return result.ok && result.written;
|
|
930
995
|
}
|
|
931
996
|
catch (err) {
|
|
932
|
-
logger.warn(`[writeBotDynamicGrid] Failed to write dynamic grid for ${botKey}: ${err
|
|
997
|
+
logger.warn(`[writeBotDynamicGrid] Failed to write dynamic grid for ${botKey}: ${(0, errors_1.getErrorMessage)(err)}`);
|
|
933
998
|
return false;
|
|
934
999
|
}
|
|
935
1000
|
}
|
|
936
|
-
const
|
|
937
|
-
const
|
|
938
|
-
|
|
1001
|
+
const market_adapter_service_js_1 = require("./core/market_adapter_service.js");
|
|
1002
|
+
const errors_1 = require("../modules/utils/errors");
|
|
1003
|
+
const adapterService = new market_adapter_service_js_1.MarketAdapterService({
|
|
1004
|
+
resolveBotContext: chain_js_1.resolveBotContext,
|
|
939
1005
|
resolveAmaForBot,
|
|
940
1006
|
candleFileForBot,
|
|
941
1007
|
loadJson,
|
|
@@ -948,22 +1014,22 @@ const adapterService = new MarketAdapterService({
|
|
|
948
1014
|
fetchNativeMarketHistorySince,
|
|
949
1015
|
fetchNativeTradesSince,
|
|
950
1016
|
fetchNativeTradesUntilOverlap,
|
|
951
|
-
tradesToCandles,
|
|
952
|
-
detectMissingCandleTimestamps,
|
|
953
|
-
fillCandleGaps,
|
|
954
|
-
detectStaleTail,
|
|
955
|
-
pruneStaleTail,
|
|
956
|
-
mergeCandles,
|
|
1017
|
+
tradesToCandles: candle_utils_1.tradesToCandles,
|
|
1018
|
+
detectMissingCandleTimestamps: candle_utils_1.detectMissingCandleTimestamps,
|
|
1019
|
+
fillCandleGaps: candle_utils_1.fillCandleGaps,
|
|
1020
|
+
detectStaleTail: candle_utils_1.detectStaleTail,
|
|
1021
|
+
pruneStaleTail: candle_utils_1.pruneStaleTail,
|
|
1022
|
+
mergeCandles: candle_utils_1.mergeCandles,
|
|
957
1023
|
pruneCandles,
|
|
958
1024
|
calcAmaComparison,
|
|
959
1025
|
writeGridResetTrigger,
|
|
960
1026
|
writeBotDynamicGrid,
|
|
961
|
-
isBotWhitelisted,
|
|
962
|
-
isBotDynamicWeightWhitelisted,
|
|
963
|
-
isBotGridRangeScalingWhitelisted,
|
|
1027
|
+
isBotWhitelisted: market_adapter_whitelist_js_1.isBotWhitelisted,
|
|
1028
|
+
isBotDynamicWeightWhitelisted: market_adapter_whitelist_js_1.isBotDynamicWeightWhitelisted,
|
|
1029
|
+
isBotGridRangeScalingWhitelisted: market_adapter_whitelist_js_1.isBotGridRangeScalingWhitelisted,
|
|
964
1030
|
logger,
|
|
965
1031
|
root: ROOT,
|
|
966
|
-
path,
|
|
1032
|
+
path: path_api_1.path,
|
|
967
1033
|
});
|
|
968
1034
|
async function processBot(bot, state, cfg, contextCache, hooks = {}) {
|
|
969
1035
|
return adapterService.processBot(bot, state, cfg, contextCache, hooks);
|
|
@@ -987,7 +1053,7 @@ function writeCenterSnapshot(state) {
|
|
|
987
1053
|
lastDeltaPercent: v.lastDeltaPercent,
|
|
988
1054
|
amaSlopeDeltaPercent: v.amaSlopeDeltaPercent,
|
|
989
1055
|
amaSlopeThresholdPercent: v.amaSlopeThresholdPercent,
|
|
990
|
-
amaSlopePercentMode: v.amaSlopePercentMode || AMA_SLOPE_PERCENT_MODE_PER_BAR,
|
|
1056
|
+
amaSlopePercentMode: v.amaSlopePercentMode || market_adapter_service_js_1.AMA_SLOPE_PERCENT_MODE_PER_BAR,
|
|
991
1057
|
gridRangeScalingAmaSlope: v.gridRangeScalingAmaSlope,
|
|
992
1058
|
weights: v.weights,
|
|
993
1059
|
effectiveWeights: v.effectiveWeights,
|
|
@@ -1006,10 +1072,10 @@ function mergeGridResetMetadataFromDynamicGrid(state) {
|
|
|
1006
1072
|
for (const [botKey, botState] of Object.entries(bots)) {
|
|
1007
1073
|
if (!botState || typeof botState !== 'object')
|
|
1008
1074
|
continue;
|
|
1009
|
-
const snapshotPath = path.join(ORDERS_DIR, `${botKey}.dynamicgrid.json`);
|
|
1075
|
+
const snapshotPath = path_api_1.path.join(ORDERS_DIR, `${botKey}.dynamicgrid.json`);
|
|
1010
1076
|
let snapshot;
|
|
1011
1077
|
try {
|
|
1012
|
-
snapshot = readJSON(snapshotPath);
|
|
1078
|
+
snapshot = (0, fs_utils_1.readJSON)(snapshotPath);
|
|
1013
1079
|
}
|
|
1014
1080
|
catch (_) {
|
|
1015
1081
|
continue;
|
|
@@ -1041,7 +1107,7 @@ async function runOnce(cfg, state, contextCache) {
|
|
|
1041
1107
|
log(cfg, `Active bots: ${allBots.length} | AMA-grid bots: ${bots.length}`);
|
|
1042
1108
|
const results = [];
|
|
1043
1109
|
for (const bot of bots) {
|
|
1044
|
-
const isDryRun = cfg.dryRun || (!cfg.whitelistAll && !isBotWhitelisted(bot.botKey));
|
|
1110
|
+
const isDryRun = cfg.dryRun || (!cfg.whitelistAll && !(0, market_adapter_whitelist_js_1.isBotWhitelisted)(bot.botKey));
|
|
1045
1111
|
write(cfg, `- ${bot.name} (${bot.botKey})${isDryRun ? ' [DRY RUN]' : ''}: `);
|
|
1046
1112
|
try {
|
|
1047
1113
|
const botCfg = resolveBotCfg(bot, cfg);
|
|
@@ -1071,9 +1137,9 @@ async function runOnce(cfg, state, contextCache) {
|
|
|
1071
1137
|
const patchText = Number.isFinite(r.kibanaGapRepairCount) && r.kibanaGapRepairCount > 0 ? ` KIBANA_PATCH(${r.kibanaGapRepairCount})` : '';
|
|
1072
1138
|
const backfillText = Number.isFinite(r.kibanaBackfillCount) && r.kibanaBackfillCount > 0 ? ` BACKFILL(${r.kibanaBackfillCount})` : '';
|
|
1073
1139
|
const gapText = Number.isFinite(r.unresolvedGapCount) && r.unresolvedGapCount > 0 ? ` GAPS(${r.unresolvedGapCount})` : '';
|
|
1074
|
-
const trigText = r.triggered ? ` TRIGGERED -> ${r.triggerPath ? path.relative(ROOT, r.triggerPath) : '[suppressed, dry-run]'}` : '';
|
|
1140
|
+
const trigText = r.triggered ? ` TRIGGERED -> ${r.triggerPath ? path_api_1.path.relative(ROOT, r.triggerPath) : '[suppressed, dry-run]'}` : '';
|
|
1075
1141
|
const pendingText = r.pendingClosedCandle ? ' WAITING_FOR_CLOSED_CANDLE' : '';
|
|
1076
|
-
const weightText = buildWeightSummary(r.weights);
|
|
1142
|
+
const weightText = (0, log_format_js_1.buildWeightSummary)(r.weights);
|
|
1077
1143
|
const trendText = r.amaSlope?.trend ? ` trend=${r.amaSlope.trend}` : '';
|
|
1078
1144
|
const warmupText = r.triggerSuppressedReason === 'ama_warmup_insufficient'
|
|
1079
1145
|
? ` WARMUP_INSUFFICIENT(used=${r.analysisCandleCount}${Number.isFinite(r.analysisKeepCount) ? `/${r.analysisKeepCount}` : ''})`
|
|
@@ -1104,23 +1170,23 @@ async function runOnce(cfg, state, contextCache) {
|
|
|
1104
1170
|
log(cfg, ' No write pass: numeric startPrice disables market adapter fetch.');
|
|
1105
1171
|
}
|
|
1106
1172
|
if (Array.isArray(r.dryRunMessages)) {
|
|
1107
|
-
r.dryRunMessages.forEach(msg => log(cfg, ` ${msg}`));
|
|
1173
|
+
r.dryRunMessages.forEach((msg) => log(cfg, ` ${msg}`));
|
|
1108
1174
|
}
|
|
1109
1175
|
if (isOneHourResult && r.weights?.meta) {
|
|
1110
1176
|
const m = r.weights.meta;
|
|
1111
|
-
log(cfg, ` Inputs: ${buildDynamicWeightInputsLog(m, r.amaConfig)}`);
|
|
1112
|
-
log(cfg, ` Tuning: ${buildDynamicWeightTuningLog(m)}`);
|
|
1177
|
+
log(cfg, ` Inputs: ${(0, log_format_js_1.buildDynamicWeightInputsLog)(m, r.amaConfig)}`);
|
|
1178
|
+
log(cfg, ` Tuning: ${(0, log_format_js_1.buildDynamicWeightTuningLog)(m)}`);
|
|
1113
1179
|
}
|
|
1114
1180
|
if (isOneHourResult && r.gridRangeScalingWhitelisted) {
|
|
1115
1181
|
const asymSource = r.weights?.meta && Number.isFinite(r.weights.meta.rawAsymmetryFactor)
|
|
1116
1182
|
? r.weights.meta
|
|
1117
1183
|
: r;
|
|
1118
|
-
log(cfg, ` Asymmetric bounds: ${buildAsymmetricBoundsLog(asymSource)}`);
|
|
1184
|
+
log(cfg, ` Asymmetric bounds: ${(0, log_format_js_1.buildAsymmetricBoundsLog)(asymSource)}`);
|
|
1119
1185
|
}
|
|
1120
1186
|
if (Array.isArray(r.amaComparison) && r.amaComparison.length > 0) {
|
|
1121
1187
|
const parts = r.amaComparison.map((a) => {
|
|
1122
1188
|
const val = Number.isFinite(a.value) ? a.value.toFixed(8) : 'n/a';
|
|
1123
|
-
const erSmoothText = Number.isFinite(Number(a.erSmoothPeriod)) ? `/es${fixedTo(a.erSmoothPeriod, 0)}` : '';
|
|
1189
|
+
const erSmoothText = Number.isFinite(Number(a.erSmoothPeriod)) ? `/es${(0, math_utils_1.fixedTo)(a.erSmoothPeriod, 0)}` : '';
|
|
1124
1190
|
return `${a.name}[${a.erPeriod}/${a.fastPeriod}/${a.slowPeriod}${erSmoothText}]=${val}`;
|
|
1125
1191
|
});
|
|
1126
1192
|
log(cfg, ` AMA compare: ${parts.join(' | ')}`);
|
|
@@ -1132,12 +1198,12 @@ async function runOnce(cfg, state, contextCache) {
|
|
|
1132
1198
|
});
|
|
1133
1199
|
}
|
|
1134
1200
|
catch (err) {
|
|
1135
|
-
log(cfg, `error (${err
|
|
1201
|
+
log(cfg, `error (${(0, errors_1.getErrorMessage)(err)})`);
|
|
1136
1202
|
results.push({
|
|
1137
1203
|
botName: bot.name,
|
|
1138
1204
|
botKey: bot.botKey,
|
|
1139
1205
|
ok: false,
|
|
1140
|
-
reason: err
|
|
1206
|
+
reason: (0, errors_1.getErrorMessage)(err),
|
|
1141
1207
|
});
|
|
1142
1208
|
}
|
|
1143
1209
|
}
|
|
@@ -1189,13 +1255,13 @@ async function runOnceForAma(overrides = {}) {
|
|
|
1189
1255
|
...overrides,
|
|
1190
1256
|
once: true,
|
|
1191
1257
|
});
|
|
1192
|
-
ensureDir(DATA_DIR);
|
|
1193
|
-
ensureDir(STATE_DIR);
|
|
1194
|
-
const lock = acquireFileLockSync(LOCK_FILE, {
|
|
1258
|
+
(0, system_1.ensureDir)(DATA_DIR);
|
|
1259
|
+
(0, system_1.ensureDir)(STATE_DIR);
|
|
1260
|
+
const lock = (0, file_lock_1.acquireFileLockSync)(LOCK_FILE, {
|
|
1195
1261
|
staleMs: Math.max(2, cfg.pollSeconds) * 1000 * 2,
|
|
1196
1262
|
});
|
|
1197
1263
|
try {
|
|
1198
|
-
const { connectClient
|
|
1264
|
+
const { connectClient } = (0, chain_js_1.getBitsharesClient)();
|
|
1199
1265
|
await connectClient();
|
|
1200
1266
|
const state = loadJson(STATE_FILE, { meta: {}, bots: {} });
|
|
1201
1267
|
const contextCache = new Map();
|
|
@@ -1207,25 +1273,25 @@ async function runOnceForAma(overrides = {}) {
|
|
|
1207
1273
|
};
|
|
1208
1274
|
}
|
|
1209
1275
|
finally {
|
|
1210
|
-
const { disconnectClient } = getBitsharesClient();
|
|
1276
|
+
const { disconnectClient } = (0, chain_js_1.getBitsharesClient)();
|
|
1211
1277
|
disconnectClient();
|
|
1212
|
-
releaseFileLockSync(lock);
|
|
1278
|
+
(0, file_lock_1.releaseFileLockSync)(lock);
|
|
1213
1279
|
}
|
|
1214
1280
|
}
|
|
1215
1281
|
async function main() {
|
|
1216
1282
|
const cfg = parseArgs();
|
|
1217
1283
|
logger.quiet = cfg.quiet;
|
|
1218
|
-
ensureDir(DATA_DIR);
|
|
1219
|
-
ensureDir(STATE_DIR);
|
|
1220
|
-
const lock = acquireFileLockSync(LOCK_FILE, {
|
|
1284
|
+
(0, system_1.ensureDir)(DATA_DIR);
|
|
1285
|
+
(0, system_1.ensureDir)(STATE_DIR);
|
|
1286
|
+
const lock = (0, file_lock_1.acquireFileLockSync)(LOCK_FILE, {
|
|
1221
1287
|
staleMs: Math.max(2, cfg.pollSeconds) * 1000 * 2,
|
|
1222
1288
|
});
|
|
1223
1289
|
try {
|
|
1224
1290
|
log(cfg, '═══════════════════════════════════════');
|
|
1225
1291
|
log(cfg, ' Market Adapter Hub Settings:');
|
|
1226
1292
|
log(cfg, ` runtime : poll=${cfg.pollSeconds}s | bootstrap=${cfg.bootstrapLookbackHours}h | native=${cfg.nativeBackfillHours}h | stale=${cfg.maxStaleHours}h`);
|
|
1227
|
-
log(cfg, ` fetch : retries=${cfg.sourceRetries}x${cfg.retryDelayMs}ms | pages=${cfg.maxPages}x${cfg.pageLimit} | delta=${formatLogPercent(cfg.deltaThresholdPercent, 3)} | dryRun=${cfg.dryRun ? 'yes' : 'no'} | quiet=${cfg.quiet ? 'yes' : 'no'} | metrics=${cfg.metricsJson ? 'yes' : 'no'}`);
|
|
1228
|
-
log(cfg, buildStartupDefaultsLog(DEFAULT_AMA, DEFAULT_CONFIG, MARKET_ADAPTER));
|
|
1293
|
+
log(cfg, ` fetch : retries=${cfg.sourceRetries}x${cfg.retryDelayMs}ms | pages=${cfg.maxPages}x${cfg.pageLimit} | delta=${(0, log_format_js_1.formatLogPercent)(cfg.deltaThresholdPercent, 3)} | dryRun=${cfg.dryRun ? 'yes' : 'no'} | quiet=${cfg.quiet ? 'yes' : 'no'} | metrics=${cfg.metricsJson ? 'yes' : 'no'}`);
|
|
1294
|
+
log(cfg, (0, log_format_js_1.buildStartupDefaultsLog)(DEFAULT_AMA, constants_1.DEFAULT_CONFIG, constants_1.MARKET_ADAPTER));
|
|
1229
1295
|
log(cfg, '═══════════════════════════════════════');
|
|
1230
1296
|
if (cfg.once && cfg.dryRun) {
|
|
1231
1297
|
log(cfg, 'Dry run: config validation + lock acquisition OK (no network, no writes).');
|
|
@@ -1236,7 +1302,7 @@ async function main() {
|
|
|
1236
1302
|
let lastErr = null;
|
|
1237
1303
|
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
1238
1304
|
try {
|
|
1239
|
-
const { connectClient } = getBitsharesClient();
|
|
1305
|
+
const { connectClient } = (0, chain_js_1.getBitsharesClient)();
|
|
1240
1306
|
await connectClient();
|
|
1241
1307
|
lastErr = null;
|
|
1242
1308
|
break;
|
|
@@ -1244,9 +1310,9 @@ async function main() {
|
|
|
1244
1310
|
catch (err) {
|
|
1245
1311
|
lastErr = err;
|
|
1246
1312
|
if (attempt < maxRetries) {
|
|
1247
|
-
const delay = Math.min(1000 * Math.pow(2, attempt - 1), TIMING.RETRY_BACKOFF_CAP_MS);
|
|
1248
|
-
logger.warn(`Connection attempt ${attempt}/${maxRetries} failed: ${err
|
|
1249
|
-
await sleep(delay);
|
|
1313
|
+
const delay = Math.min(1000 * Math.pow(2, attempt - 1), constants_1.TIMING.RETRY_BACKOFF_CAP_MS);
|
|
1314
|
+
logger.warn(`Connection attempt ${attempt}/${maxRetries} failed: ${(0, errors_1.getErrorMessage)(err)}; retrying in ${delay}ms`);
|
|
1315
|
+
await (0, system_1.sleep)(delay);
|
|
1250
1316
|
}
|
|
1251
1317
|
}
|
|
1252
1318
|
}
|
|
@@ -1269,64 +1335,33 @@ async function main() {
|
|
|
1269
1335
|
// Connect for this cycle using the lightweight native read-only client.
|
|
1270
1336
|
// Tear down after runOnce so the connection never sits idle.
|
|
1271
1337
|
try {
|
|
1272
|
-
const { connectClient } = getBitsharesClient();
|
|
1338
|
+
const { connectClient } = (0, chain_js_1.getBitsharesClient)();
|
|
1273
1339
|
await connectClient();
|
|
1274
1340
|
}
|
|
1275
1341
|
catch (err) {
|
|
1276
|
-
logger.error(`Connection failed before cycle: ${err
|
|
1342
|
+
logger.error(`Connection failed before cycle: ${(0, errors_1.getErrorMessage)(err)}`);
|
|
1277
1343
|
// Fall through and let runOnce attempt to handle its own retries/failures
|
|
1278
1344
|
}
|
|
1279
1345
|
await runOnce(cfg, state, contextCache);
|
|
1280
1346
|
try {
|
|
1281
|
-
const { disconnectClient } = getBitsharesClient();
|
|
1347
|
+
const { disconnectClient } = (0, chain_js_1.getBitsharesClient)();
|
|
1282
1348
|
disconnectClient();
|
|
1283
1349
|
}
|
|
1284
1350
|
catch (_) { }
|
|
1285
1351
|
const sleepMs = sleepUntilAlignedBoundary(cfg.pollSeconds, started, Date.now());
|
|
1286
|
-
await sleep(sleepMs);
|
|
1352
|
+
await (0, system_1.sleep)(sleepMs);
|
|
1287
1353
|
}
|
|
1288
1354
|
}
|
|
1289
1355
|
finally {
|
|
1290
|
-
releaseFileLockSync(lock);
|
|
1356
|
+
(0, file_lock_1.releaseFileLockSync)(lock);
|
|
1291
1357
|
}
|
|
1292
1358
|
}
|
|
1293
1359
|
if (require.main === module) {
|
|
1294
1360
|
main()
|
|
1295
1361
|
.then((exitCode) => process.exit(Number.isInteger(exitCode) ? exitCode : 0))
|
|
1296
1362
|
.catch((err) => {
|
|
1297
|
-
logger.error(`Fatal: ${err
|
|
1363
|
+
logger.error(`Fatal: ${(0, errors_1.getErrorMessage)(err)}`);
|
|
1298
1364
|
process.exit(1);
|
|
1299
1365
|
});
|
|
1300
1366
|
}
|
|
1301
|
-
module.exports = {
|
|
1302
|
-
main,
|
|
1303
|
-
runOnceForAma,
|
|
1304
|
-
DEFAULT_AMA,
|
|
1305
|
-
DEFAULTS,
|
|
1306
|
-
calculateBotThreshold,
|
|
1307
|
-
calcAmaComparison,
|
|
1308
|
-
computeCandleStaleness,
|
|
1309
|
-
normalizeMarketSource,
|
|
1310
|
-
sleepUntilAlignedBoundary,
|
|
1311
|
-
resolveAmaForBot,
|
|
1312
|
-
resolveDeltaThresholdPercentFromGeneralSettings,
|
|
1313
|
-
applyRuntimeDefaultsFromGeneralSettings,
|
|
1314
|
-
resolveBotCfg,
|
|
1315
|
-
usesAmaGridPrice,
|
|
1316
|
-
usesOrderbookMarketSource,
|
|
1317
|
-
isBotWhitelisted,
|
|
1318
|
-
isBotDynamicWeightWhitelisted,
|
|
1319
|
-
isBotAsymmetricBoundsWhitelisted,
|
|
1320
|
-
isBotGridRangeScalingWhitelisted,
|
|
1321
|
-
_resetCycleCache,
|
|
1322
|
-
writeCenterSnapshot,
|
|
1323
|
-
writeBotDynamicGrid,
|
|
1324
|
-
writeGridResetTrigger,
|
|
1325
|
-
mergeGridResetMetadataFromDynamicGrid,
|
|
1326
|
-
normalizeNativeMarketHistoryCandles,
|
|
1327
|
-
fetchNativeMarketHistorySince,
|
|
1328
|
-
_setBitsharesClientForTests: setBitsharesClientForTests,
|
|
1329
|
-
loadMarketAdapterSettings,
|
|
1330
|
-
findPairForBot,
|
|
1331
|
-
};
|
|
1332
1367
|
//# sourceMappingURL=market_adapter.js.map
|