dexbot 1.1.10
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/LICENSE +21 -0
- package/README.md +287 -0
- package/claw/README.md +513 -0
- package/claw/scripts/memu_runner.py +385 -0
- package/claw/skills/bitshares-guide/SKILL.md +14 -0
- package/claw/skills/bitshares-guide/references/example-skill-shells.md +18 -0
- package/claw/skills/bitshares-guide/references/presentation-patterns.md +19 -0
- package/claw/skills/bitshares-guide/references/scope-guardrails.md +9 -0
- package/claw/skills/launcher-ops/SKILL.md +18 -0
- package/claw/skills/launcher-ops/references/launcher-workflow.md +23 -0
- package/claw/skills/margin-trading/SKILL.md +23 -0
- package/claw/skills/margin-trading/references/honest-asset-list.md +74 -0
- package/claw/skills/margin-trading/references/honest-assets.md +44 -0
- package/claw/skills/margin-trading/references/position-management.md +203 -0
- package/claw/skills/margin-trading/references/trading-concepts.md +80 -0
- package/claw/skills/memu-memory/SKILL.md +218 -0
- package/claw/skills/shared/references/js-automation-overview.md +24 -0
- package/claw/skills/shared/references/safety-and-staleness.md +11 -0
- package/claw/skills/shared/references/skill-boundaries.md +17 -0
- package/claw/skills/trend-detection/SKILL.md +33 -0
- package/claw/skills/trend-detection/agents/openai.yaml +3 -0
- package/claw/skills/trend-detection/references/service.md +45 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +3 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +149 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +1 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +3 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +387 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +3 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js +200 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +3 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.js +212 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +1 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +31 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +249 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +1 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +2 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js +782 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -0
- package/dist/analysis/analyze_derivatives.d.ts +95 -0
- package/dist/analysis/analyze_derivatives.d.ts.map +1 -0
- package/dist/analysis/analyze_derivatives.js +295 -0
- package/dist/analysis/analyze_derivatives.js.map +1 -0
- package/dist/analysis/analyze_dynamic_weight.d.ts +14 -0
- package/dist/analysis/analyze_dynamic_weight.d.ts.map +1 -0
- package/dist/analysis/analyze_dynamic_weight.js +208 -0
- package/dist/analysis/analyze_dynamic_weight.js.map +1 -0
- package/dist/analysis/analyze_kalman.d.ts +13 -0
- package/dist/analysis/analyze_kalman.d.ts.map +1 -0
- package/dist/analysis/analyze_kalman.js +123 -0
- package/dist/analysis/analyze_kalman.js.map +1 -0
- package/dist/analysis/analyze_regime.d.ts +20 -0
- package/dist/analysis/analyze_regime.d.ts.map +1 -0
- package/dist/analysis/analyze_regime.js +139 -0
- package/dist/analysis/analyze_regime.js.map +1 -0
- package/dist/analysis/analyze_regime_windows.d.ts +19 -0
- package/dist/analysis/analyze_regime_windows.d.ts.map +1 -0
- package/dist/analysis/analyze_regime_windows.js +413 -0
- package/dist/analysis/analyze_regime_windows.js.map +1 -0
- package/dist/analysis/analyze_risk_profile.d.ts +3 -0
- package/dist/analysis/analyze_risk_profile.d.ts.map +1 -0
- package/dist/analysis/analyze_risk_profile.js +159 -0
- package/dist/analysis/analyze_risk_profile.js.map +1 -0
- package/dist/analysis/analyze_trade_heatmap.d.ts +3 -0
- package/dist/analysis/analyze_trade_heatmap.d.ts.map +1 -0
- package/dist/analysis/analyze_trade_heatmap.js +367 -0
- package/dist/analysis/analyze_trade_heatmap.js.map +1 -0
- package/dist/analysis/analyze_volatility.d.ts +22 -0
- package/dist/analysis/analyze_volatility.d.ts.map +1 -0
- package/dist/analysis/analyze_volatility.js +172 -0
- package/dist/analysis/analyze_volatility.js.map +1 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +99 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js +804 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +2 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js +347 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -0
- package/dist/analysis/bot_fitting/shared_utils.d.ts +15 -0
- package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/shared_utils.js +48 -0
- package/dist/analysis/bot_fitting/shared_utils.js.map +1 -0
- package/dist/analysis/bot_key_utils.d.ts +16 -0
- package/dist/analysis/bot_key_utils.d.ts.map +1 -0
- package/dist/analysis/bot_key_utils.js +61 -0
- package/dist/analysis/bot_key_utils.js.map +1 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +3 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +1 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.js +498 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +546 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.js +427 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -0
- package/dist/analysis/chart_utils.d.ts +13 -0
- package/dist/analysis/chart_utils.d.ts.map +1 -0
- package/dist/analysis/chart_utils.js +142 -0
- package/dist/analysis/chart_utils.js.map +1 -0
- package/dist/analysis/derivative_chart_generator.d.ts +18 -0
- package/dist/analysis/derivative_chart_generator.d.ts.map +1 -0
- package/dist/analysis/derivative_chart_generator.js +896 -0
- package/dist/analysis/derivative_chart_generator.js.map +1 -0
- package/dist/analysis/math_utils.d.ts +35 -0
- package/dist/analysis/math_utils.d.ts.map +1 -0
- package/dist/analysis/math_utils.js +121 -0
- package/dist/analysis/math_utils.js.map +1 -0
- package/dist/analysis/price_sources.d.ts +34 -0
- package/dist/analysis/price_sources.d.ts.map +1 -0
- package/dist/analysis/price_sources.js +103 -0
- package/dist/analysis/price_sources.js.map +1 -0
- package/dist/analysis/trade_profitability.d.ts +115 -0
- package/dist/analysis/trade_profitability.d.ts.map +1 -0
- package/dist/analysis/trade_profitability.js +1247 -0
- package/dist/analysis/trade_profitability.js.map +1 -0
- package/dist/analysis/tradingview/analyze_tradingview.d.ts +38 -0
- package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -0
- package/dist/analysis/tradingview/analyze_tradingview.js +212 -0
- package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +9 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +1717 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts +250 -0
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/derivative_analyzer.js +903 -0
- package/dist/analysis/trend_detection/derivative_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +1449 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts +42 -0
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/hurst_analyzer.js +159 -0
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.js +408 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts +103 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +229 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts +34 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +89 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts +39 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +132 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/regime_chart_generator.js +345 -0
- package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +2 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js +130 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +2 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +38 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +1 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.js +732 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -0
- package/dist/bot.d.ts +49 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +221 -0
- package/dist/bot.js.map +1 -0
- package/dist/credential-daemon.d.ts +64 -0
- package/dist/credential-daemon.d.ts.map +1 -0
- package/dist/credential-daemon.js +987 -0
- package/dist/credential-daemon.js.map +1 -0
- package/dist/dexbot.d.ts +87 -0
- package/dist/dexbot.d.ts.map +1 -0
- package/dist/dexbot.js +1222 -0
- package/dist/dexbot.js.map +1 -0
- package/dist/market_adapter/ama_signal_runner.d.ts +3 -0
- package/dist/market_adapter/ama_signal_runner.d.ts.map +1 -0
- package/dist/market_adapter/ama_signal_runner.js +175 -0
- package/dist/market_adapter/ama_signal_runner.js.map +1 -0
- package/dist/market_adapter/candle_utils.d.ts +57 -0
- package/dist/market_adapter/candle_utils.d.ts.map +1 -0
- package/dist/market_adapter/candle_utils.js +252 -0
- package/dist/market_adapter/candle_utils.js.map +1 -0
- package/dist/market_adapter/core/asymmetric_bounds.d.ts +20 -0
- package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -0
- package/dist/market_adapter/core/asymmetric_bounds.js +88 -0
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -0
- package/dist/market_adapter/core/config_normalizers.d.ts +10 -0
- package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -0
- package/dist/market_adapter/core/config_normalizers.js +24 -0
- package/dist/market_adapter/core/config_normalizers.js.map +1 -0
- package/dist/market_adapter/core/kibana_candles.d.ts +74 -0
- package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_candles.js +249 -0
- package/dist/market_adapter/core/kibana_candles.js.map +1 -0
- package/dist/market_adapter/core/kibana_client.d.ts +27 -0
- package/dist/market_adapter/core/kibana_client.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_client.js +120 -0
- package/dist/market_adapter/core/kibana_client.js.map +1 -0
- package/dist/market_adapter/core/kibana_market_candles.d.ts +143 -0
- package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_market_candles.js +170 -0
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -0
- package/dist/market_adapter/core/market_adapter_service.d.ts +210 -0
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -0
- package/dist/market_adapter/core/market_adapter_service.js +2328 -0
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -0
- package/dist/market_adapter/core/strategies/ama.d.ts +2 -0
- package/dist/market_adapter/core/strategies/ama.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/ama.js +138 -0
- package/dist/market_adapter/core/strategies/ama.js.map +1 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +50 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.js +143 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -0
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts +12 -0
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/atr/calculator.js +47 -0
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -0
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts +32 -0
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/collateral_manager.js +68 -0
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -0
- package/dist/market_adapter/core/strategies/regime_gate.d.ts +66 -0
- package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/regime_gate.js +189 -0
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -0
- package/dist/market_adapter/index.d.ts +10 -0
- package/dist/market_adapter/index.d.ts.map +1 -0
- package/dist/market_adapter/index.js +71 -0
- package/dist/market_adapter/index.js.map +1 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts +3 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts.map +1 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +1165 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -0
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +54 -0
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -0
- package/dist/market_adapter/inputs/fetch_lp_data.js +743 -0
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -0
- package/dist/market_adapter/inputs/kibana_source.d.ts +68 -0
- package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -0
- package/dist/market_adapter/inputs/kibana_source.js +143 -0
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -0
- package/dist/market_adapter/interval_utils.d.ts +6 -0
- package/dist/market_adapter/interval_utils.d.ts.map +1 -0
- package/dist/market_adapter/interval_utils.js +14 -0
- package/dist/market_adapter/interval_utils.js.map +1 -0
- package/dist/market_adapter/log_format.d.ts +16 -0
- package/dist/market_adapter/log_format.d.ts.map +1 -0
- package/dist/market_adapter/log_format.js +72 -0
- package/dist/market_adapter/log_format.js.map +1 -0
- package/dist/market_adapter/lp_chart_core.d.ts +6 -0
- package/dist/market_adapter/lp_chart_core.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_core.js +874 -0
- package/dist/market_adapter/lp_chart_core.js.map +1 -0
- package/dist/market_adapter/lp_chart_runner.d.ts +135 -0
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_runner.js +337 -0
- package/dist/market_adapter/lp_chart_runner.js.map +1 -0
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts +23 -0
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_strategy_loader.js +169 -0
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -0
- package/dist/market_adapter/market_adapter.d.ts +133 -0
- package/dist/market_adapter/market_adapter.d.ts.map +1 -0
- package/dist/market_adapter/market_adapter.js +1331 -0
- package/dist/market_adapter/market_adapter.js.map +1 -0
- package/dist/market_adapter/merge_lp_data.d.ts +3 -0
- package/dist/market_adapter/merge_lp_data.d.ts.map +1 -0
- package/dist/market_adapter/merge_lp_data.js +125 -0
- package/dist/market_adapter/merge_lp_data.js.map +1 -0
- package/dist/market_adapter/test_helpers.d.ts +14 -0
- package/dist/market_adapter/test_helpers.d.ts.map +1 -0
- package/dist/market_adapter/test_helpers.js +22 -0
- package/dist/market_adapter/test_helpers.js.map +1 -0
- package/dist/market_adapter/utils/adapter_client.d.ts +20 -0
- package/dist/market_adapter/utils/adapter_client.d.ts.map +1 -0
- package/dist/market_adapter/utils/adapter_client.js +88 -0
- package/dist/market_adapter/utils/adapter_client.js.map +1 -0
- package/dist/market_adapter/utils/atomic_write.d.ts +9 -0
- package/dist/market_adapter/utils/atomic_write.d.ts.map +1 -0
- package/dist/market_adapter/utils/atomic_write.js +13 -0
- package/dist/market_adapter/utils/atomic_write.js.map +1 -0
- package/dist/market_adapter/utils/chain.d.ts +50 -0
- package/dist/market_adapter/utils/chain.d.ts.map +1 -0
- package/dist/market_adapter/utils/chain.js +196 -0
- package/dist/market_adapter/utils/chain.js.map +1 -0
- package/dist/market_adapter/utils/data_discovery.d.ts +6 -0
- package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -0
- package/dist/market_adapter/utils/data_discovery.js +35 -0
- package/dist/market_adapter/utils/data_discovery.js.map +1 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts +15 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +60 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -0
- package/dist/market_adapter/utils/file_lock.d.ts +19 -0
- package/dist/market_adapter/utils/file_lock.d.ts.map +1 -0
- package/dist/market_adapter/utils/file_lock.js +191 -0
- package/dist/market_adapter/utils/file_lock.js.map +1 -0
- package/dist/market_adapter/utils/native_history.d.ts +19 -0
- package/dist/market_adapter/utils/native_history.d.ts.map +1 -0
- package/dist/market_adapter/utils/native_history.js +172 -0
- package/dist/market_adapter/utils/native_history.js.map +1 -0
- package/dist/market_adapter/utils/paths.d.ts +5 -0
- package/dist/market_adapter/utils/paths.d.ts.map +1 -0
- package/dist/market_adapter/utils/paths.js +7 -0
- package/dist/market_adapter/utils/paths.js.map +1 -0
- package/dist/modules/account_bots.d.ts +112 -0
- package/dist/modules/account_bots.d.ts.map +1 -0
- package/dist/modules/account_bots.js +1259 -0
- package/dist/modules/account_bots.js.map +1 -0
- package/dist/modules/account_orders.d.ts +273 -0
- package/dist/modules/account_orders.d.ts.map +1 -0
- package/dist/modules/account_orders.js +662 -0
- package/dist/modules/account_orders.js.map +1 -0
- package/dist/modules/authority_resolver.d.ts +2 -0
- package/dist/modules/authority_resolver.d.ts.map +1 -0
- package/dist/modules/authority_resolver.js +231 -0
- package/dist/modules/authority_resolver.js.map +1 -0
- package/dist/modules/bitshares-native/chain_client.d.ts +38 -0
- package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -0
- package/dist/modules/bitshares-native/chain_client.js +322 -0
- package/dist/modules/bitshares-native/chain_client.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +59 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +456 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.d.ts +66 -0
- package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.js +557 -0
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts +2 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +20 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -0
- package/dist/modules/bitshares-native/index.d.ts +3 -0
- package/dist/modules/bitshares-native/index.d.ts.map +1 -0
- package/dist/modules/bitshares-native/index.js +32 -0
- package/dist/modules/bitshares-native/index.js.map +1 -0
- package/dist/modules/bitshares-native/resolvers.d.ts +40 -0
- package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -0
- package/dist/modules/bitshares-native/resolvers.js +161 -0
- package/dist/modules/bitshares-native/resolvers.js.map +1 -0
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts +56 -0
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/chain_constants.js +92 -0
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -0
- package/dist/modules/bitshares-native/serial/index.d.ts +10 -0
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/index.js +14 -0
- package/dist/modules/bitshares-native/serial/index.js.map +1 -0
- package/dist/modules/bitshares-native/serial/operations.d.ts +102 -0
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/operations.js +615 -0
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -0
- package/dist/modules/bitshares-native/serial/serializer.d.ts +64 -0
- package/dist/modules/bitshares-native/serial/serializer.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/serializer.js +252 -0
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -0
- package/dist/modules/bitshares-native/serial/types.d.ts +120 -0
- package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/types.js +837 -0
- package/dist/modules/bitshares-native/serial/types.js.map +1 -0
- package/dist/modules/bitshares-native/signing_client.d.ts +6 -0
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -0
- package/dist/modules/bitshares-native/signing_client.js +141 -0
- package/dist/modules/bitshares-native/signing_client.js.map +1 -0
- package/dist/modules/bitshares-native/subscriptions.d.ts +6 -0
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -0
- package/dist/modules/bitshares-native/subscriptions.js +865 -0
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -0
- package/dist/modules/bitshares-native/transport.d.ts +51 -0
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -0
- package/dist/modules/bitshares-native/transport.js +447 -0
- package/dist/modules/bitshares-native/transport.js.map +1 -0
- package/dist/modules/bitshares-native/tx/builder.d.ts +30 -0
- package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -0
- package/dist/modules/bitshares-native/tx/builder.js +262 -0
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -0
- package/dist/modules/bitshares_client.d.ts +129 -0
- package/dist/modules/bitshares_client.d.ts.map +1 -0
- package/dist/modules/bitshares_client.js +627 -0
- package/dist/modules/bitshares_client.js.map +1 -0
- package/dist/modules/bot_settings.d.ts +33 -0
- package/dist/modules/bot_settings.d.ts.map +1 -0
- package/dist/modules/bot_settings.js +328 -0
- package/dist/modules/bot_settings.js.map +1 -0
- package/dist/modules/bots_file_lock.d.ts +88 -0
- package/dist/modules/bots_file_lock.d.ts.map +1 -0
- package/dist/modules/bots_file_lock.js +161 -0
- package/dist/modules/bots_file_lock.js.map +1 -0
- package/dist/modules/chain_keys.d.ts +302 -0
- package/dist/modules/chain_keys.d.ts.map +1 -0
- package/dist/modules/chain_keys.js +1095 -0
- package/dist/modules/chain_keys.js.map +1 -0
- package/dist/modules/chain_orders.d.ts +423 -0
- package/dist/modules/chain_orders.d.ts.map +1 -0
- package/dist/modules/chain_orders.js +1201 -0
- package/dist/modules/chain_orders.js.map +1 -0
- package/dist/modules/cli_whitelist_args.d.ts +6 -0
- package/dist/modules/cli_whitelist_args.d.ts.map +1 -0
- package/dist/modules/cli_whitelist_args.js +13 -0
- package/dist/modules/cli_whitelist_args.js.map +1 -0
- package/dist/modules/config.d.ts +57 -0
- package/dist/modules/config.d.ts.map +1 -0
- package/dist/modules/config.js +107 -0
- package/dist/modules/config.js.map +1 -0
- package/dist/modules/constants.d.ts +635 -0
- package/dist/modules/constants.d.ts.map +1 -0
- package/dist/modules/constants.js +1464 -0
- package/dist/modules/constants.js.map +1 -0
- package/dist/modules/cr_planner.d.ts +51 -0
- package/dist/modules/cr_planner.d.ts.map +1 -0
- package/dist/modules/cr_planner.js +299 -0
- package/dist/modules/cr_planner.js.map +1 -0
- package/dist/modules/credential_policy.d.ts +188 -0
- package/dist/modules/credential_policy.d.ts.map +1 -0
- package/dist/modules/credential_policy.js +1452 -0
- package/dist/modules/credential_policy.js.map +1 -0
- package/dist/modules/credential_runtime.d.ts +42 -0
- package/dist/modules/credential_runtime.d.ts.map +1 -0
- package/dist/modules/credential_runtime.js +148 -0
- package/dist/modules/credential_runtime.js.map +1 -0
- package/dist/modules/credential_session_cache.d.ts +36 -0
- package/dist/modules/credential_session_cache.d.ts.map +1 -0
- package/dist/modules/credential_session_cache.js +106 -0
- package/dist/modules/credential_session_cache.js.map +1 -0
- package/dist/modules/credit_runtime.d.ts +412 -0
- package/dist/modules/credit_runtime.d.ts.map +1 -0
- package/dist/modules/credit_runtime.js +2866 -0
- package/dist/modules/credit_runtime.js.map +1 -0
- package/dist/modules/crypto/browser_provider.d.ts +15 -0
- package/dist/modules/crypto/browser_provider.d.ts.map +1 -0
- package/dist/modules/crypto/browser_provider.js +113 -0
- package/dist/modules/crypto/browser_provider.js.map +1 -0
- package/dist/modules/crypto/index.d.ts +9 -0
- package/dist/modules/crypto/index.d.ts.map +1 -0
- package/dist/modules/crypto/index.js +44 -0
- package/dist/modules/crypto/index.js.map +1 -0
- package/dist/modules/crypto/node_provider.d.ts +15 -0
- package/dist/modules/crypto/node_provider.d.ts.map +1 -0
- package/dist/modules/crypto/node_provider.js +74 -0
- package/dist/modules/crypto/node_provider.js.map +1 -0
- package/dist/modules/crypto/provider.d.ts +34 -0
- package/dist/modules/crypto/provider.d.ts.map +1 -0
- package/dist/modules/crypto/provider.js +3 -0
- package/dist/modules/crypto/provider.js.map +1 -0
- package/dist/modules/crypto/pure_ripemd160.d.ts +8 -0
- package/dist/modules/crypto/pure_ripemd160.d.ts.map +1 -0
- package/dist/modules/crypto/pure_ripemd160.js +142 -0
- package/dist/modules/crypto/pure_ripemd160.js.map +1 -0
- package/dist/modules/crypto/pure_scrypt.d.ts +23 -0
- package/dist/modules/crypto/pure_scrypt.d.ts.map +1 -0
- package/dist/modules/crypto/pure_scrypt.js +161 -0
- package/dist/modules/crypto/pure_scrypt.js.map +1 -0
- package/dist/modules/crypto/pure_secp256k1.d.ts +29 -0
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -0
- package/dist/modules/crypto/pure_secp256k1.js +195 -0
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -0
- package/dist/modules/crypto/sync.d.ts +13 -0
- package/dist/modules/crypto/sync.d.ts.map +1 -0
- package/dist/modules/crypto/sync.js +37 -0
- package/dist/modules/crypto/sync.js.map +1 -0
- package/dist/modules/dexbot_class.d.ts +1074 -0
- package/dist/modules/dexbot_class.d.ts.map +1 -0
- package/dist/modules/dexbot_class.js +4613 -0
- package/dist/modules/dexbot_class.js.map +1 -0
- package/dist/modules/dexbot_credential_client.d.ts +71 -0
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -0
- package/dist/modules/dexbot_credential_client.js +224 -0
- package/dist/modules/dexbot_credential_client.js.map +1 -0
- package/dist/modules/dexbot_fill_runtime.d.ts +173 -0
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_fill_runtime.js +217 -0
- package/dist/modules/dexbot_fill_runtime.js.map +1 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts +279 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_maintenance_runtime.js +1613 -0
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -0
- package/dist/modules/env.d.ts +12 -0
- package/dist/modules/env.d.ts.map +1 -0
- package/dist/modules/env.js +57 -0
- package/dist/modules/env.js.map +1 -0
- package/dist/modules/fund_registry.d.ts +96 -0
- package/dist/modules/fund_registry.d.ts.map +1 -0
- package/dist/modules/fund_registry.js +261 -0
- package/dist/modules/fund_registry.js.map +1 -0
- package/dist/modules/general_settings.d.ts +36 -0
- package/dist/modules/general_settings.d.ts.map +1 -0
- package/dist/modules/general_settings.js +63 -0
- package/dist/modules/general_settings.js.map +1 -0
- package/dist/modules/graceful_shutdown.d.ts +86 -0
- package/dist/modules/graceful_shutdown.d.ts.map +1 -0
- package/dist/modules/graceful_shutdown.js +164 -0
- package/dist/modules/graceful_shutdown.js.map +1 -0
- package/dist/modules/key_store.d.ts +60 -0
- package/dist/modules/key_store.d.ts.map +1 -0
- package/dist/modules/key_store.js +215 -0
- package/dist/modules/key_store.js.map +1 -0
- package/dist/modules/launcher/bot_supervisor.d.ts +84 -0
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -0
- package/dist/modules/launcher/bot_supervisor.js +1067 -0
- package/dist/modules/launcher/bot_supervisor.js.map +1 -0
- package/dist/modules/launcher/child_env.d.ts +9 -0
- package/dist/modules/launcher/child_env.d.ts.map +1 -0
- package/dist/modules/launcher/child_env.js +78 -0
- package/dist/modules/launcher/child_env.js.map +1 -0
- package/dist/modules/launcher/credential_bootstrap.d.ts +22 -0
- package/dist/modules/launcher/credential_bootstrap.d.ts.map +1 -0
- package/dist/modules/launcher/credential_bootstrap.js +303 -0
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -0
- package/dist/modules/launcher/credential_daemon.d.ts +32 -0
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -0
- package/dist/modules/launcher/credential_daemon.js +173 -0
- package/dist/modules/launcher/credential_daemon.js.map +1 -0
- package/dist/modules/launcher/credential_secret.d.ts +6 -0
- package/dist/modules/launcher/credential_secret.d.ts.map +1 -0
- package/dist/modules/launcher/credential_secret.js +15 -0
- package/dist/modules/launcher/credential_secret.js.map +1 -0
- package/dist/modules/launcher/foreign_cred_daemon.d.ts +2 -0
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -0
- package/dist/modules/launcher/foreign_cred_daemon.js +166 -0
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -0
- package/dist/modules/launcher/headless_password.d.ts +8 -0
- package/dist/modules/launcher/headless_password.d.ts.map +1 -0
- package/dist/modules/launcher/headless_password.js +33 -0
- package/dist/modules/launcher/headless_password.js.map +1 -0
- package/dist/modules/launcher/launch_modes.d.ts +36 -0
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -0
- package/dist/modules/launcher/launch_modes.js +129 -0
- package/dist/modules/launcher/launch_modes.js.map +1 -0
- package/dist/modules/launcher/market_adapter_runtime.d.ts +43 -0
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -0
- package/dist/modules/launcher/market_adapter_runtime.js +217 -0
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -0
- package/dist/modules/launcher/market_adapter_watchdog.d.ts +26 -0
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -0
- package/dist/modules/launcher/market_adapter_watchdog.js +214 -0
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -0
- package/dist/modules/launcher/monolithic_runtime.d.ts +89 -0
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -0
- package/dist/modules/launcher/monolithic_runtime.js +425 -0
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -0
- package/dist/modules/launcher/runtime_entry.d.ts +26 -0
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -0
- package/dist/modules/launcher/runtime_entry.js +49 -0
- package/dist/modules/launcher/runtime_entry.js.map +1 -0
- package/dist/modules/launcher/status_reporting.d.ts +48 -0
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -0
- package/dist/modules/launcher/status_reporting.js +113 -0
- package/dist/modules/launcher/status_reporting.js.map +1 -0
- package/dist/modules/launcher/supervisor_control.d.ts +6 -0
- package/dist/modules/launcher/supervisor_control.d.ts.map +1 -0
- package/dist/modules/launcher/supervisor_control.js +59 -0
- package/dist/modules/launcher/supervisor_control.js.map +1 -0
- package/dist/modules/logger.d.ts +2 -0
- package/dist/modules/logger.d.ts.map +1 -0
- package/dist/modules/logger.js +71 -0
- package/dist/modules/logger.js.map +1 -0
- package/dist/modules/market_adapter_whitelist.d.ts +22 -0
- package/dist/modules/market_adapter_whitelist.d.ts.map +1 -0
- package/dist/modules/market_adapter_whitelist.js +82 -0
- package/dist/modules/market_adapter_whitelist.js.map +1 -0
- package/dist/modules/node_health_cache.d.ts +55 -0
- package/dist/modules/node_health_cache.d.ts.map +1 -0
- package/dist/modules/node_health_cache.js +134 -0
- package/dist/modules/node_health_cache.js.map +1 -0
- package/dist/modules/node_manager.d.ts +215 -0
- package/dist/modules/node_manager.d.ts.map +1 -0
- package/dist/modules/node_manager.js +628 -0
- package/dist/modules/node_manager.js.map +1 -0
- package/dist/modules/order/accounting.d.ts +349 -0
- package/dist/modules/order/accounting.d.ts.map +1 -0
- package/dist/modules/order/accounting.js +1191 -0
- package/dist/modules/order/accounting.js.map +1 -0
- package/dist/modules/order/async_lock.d.ts +126 -0
- package/dist/modules/order/async_lock.d.ts.map +1 -0
- package/dist/modules/order/async_lock.js +195 -0
- package/dist/modules/order/async_lock.js.map +1 -0
- package/dist/modules/order/export.d.ts +129 -0
- package/dist/modules/order/export.d.ts.map +1 -0
- package/dist/modules/order/export.js +316 -0
- package/dist/modules/order/export.js.map +1 -0
- package/dist/modules/order/format.d.ts +158 -0
- package/dist/modules/order/format.d.ts.map +1 -0
- package/dist/modules/order/format.js +232 -0
- package/dist/modules/order/format.js.map +1 -0
- package/dist/modules/order/grid.d.ts +549 -0
- package/dist/modules/order/grid.d.ts.map +1 -0
- package/dist/modules/order/grid.js +1746 -0
- package/dist/modules/order/grid.js.map +1 -0
- package/dist/modules/order/grid_reconcile.d.ts +154 -0
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -0
- package/dist/modules/order/grid_reconcile.js +1192 -0
- package/dist/modules/order/grid_reconcile.js.map +1 -0
- package/dist/modules/order/index.d.ts +55 -0
- package/dist/modules/order/index.d.ts.map +1 -0
- package/dist/modules/order/index.js +79 -0
- package/dist/modules/order/index.js.map +1 -0
- package/dist/modules/order/logger.d.ts +136 -0
- package/dist/modules/order/logger.d.ts.map +1 -0
- package/dist/modules/order/logger.js +614 -0
- package/dist/modules/order/logger.js.map +1 -0
- package/dist/modules/order/logger_state.d.ts +133 -0
- package/dist/modules/order/logger_state.d.ts.map +1 -0
- package/dist/modules/order/logger_state.js +170 -0
- package/dist/modules/order/logger_state.js.map +1 -0
- package/dist/modules/order/manager.d.ts +413 -0
- package/dist/modules/order/manager.d.ts.map +1 -0
- package/dist/modules/order/manager.js +1605 -0
- package/dist/modules/order/manager.js.map +1 -0
- package/dist/modules/order/processed_fill_store.d.ts +135 -0
- package/dist/modules/order/processed_fill_store.d.ts.map +1 -0
- package/dist/modules/order/processed_fill_store.js +288 -0
- package/dist/modules/order/processed_fill_store.js.map +1 -0
- package/dist/modules/order/runner.d.ts +70 -0
- package/dist/modules/order/runner.d.ts.map +1 -0
- package/dist/modules/order/runner.js +140 -0
- package/dist/modules/order/runner.js.map +1 -0
- package/dist/modules/order/strategy.d.ts +196 -0
- package/dist/modules/order/strategy.d.ts.map +1 -0
- package/dist/modules/order/strategy.js +398 -0
- package/dist/modules/order/strategy.js.map +1 -0
- package/dist/modules/order/sync_engine.d.ts +386 -0
- package/dist/modules/order/sync_engine.d.ts.map +1 -0
- package/dist/modules/order/sync_engine.js +1459 -0
- package/dist/modules/order/sync_engine.js.map +1 -0
- package/dist/modules/order/utils/math.d.ts +677 -0
- package/dist/modules/order/utils/math.d.ts.map +1 -0
- package/dist/modules/order/utils/math.js +1172 -0
- package/dist/modules/order/utils/math.js.map +1 -0
- package/dist/modules/order/utils/order.d.ts +572 -0
- package/dist/modules/order/utils/order.d.ts.map +1 -0
- package/dist/modules/order/utils/order.js +1145 -0
- package/dist/modules/order/utils/order.js.map +1 -0
- package/dist/modules/order/utils/system.d.ts +268 -0
- package/dist/modules/order/utils/system.d.ts.map +1 -0
- package/dist/modules/order/utils/system.js +1261 -0
- package/dist/modules/order/utils/system.js.map +1 -0
- package/dist/modules/order/utils/validate.d.ts +280 -0
- package/dist/modules/order/utils/validate.d.ts.map +1 -0
- package/dist/modules/order/utils/validate.js +918 -0
- package/dist/modules/order/utils/validate.js.map +1 -0
- package/dist/modules/order/working_grid.d.ts +212 -0
- package/dist/modules/order/working_grid.d.ts.map +1 -0
- package/dist/modules/order/working_grid.js +279 -0
- package/dist/modules/order/working_grid.js.map +1 -0
- package/dist/modules/path_api.d.ts +32 -0
- package/dist/modules/path_api.d.ts.map +1 -0
- package/dist/modules/path_api.js +148 -0
- package/dist/modules/path_api.js.map +1 -0
- package/dist/modules/paths.d.ts +58 -0
- package/dist/modules/paths.d.ts.map +1 -0
- package/dist/modules/paths.js +82 -0
- package/dist/modules/paths.js.map +1 -0
- package/dist/modules/process_discovery.d.ts +58 -0
- package/dist/modules/process_discovery.d.ts.map +1 -0
- package/dist/modules/process_discovery.js +265 -0
- package/dist/modules/process_discovery.js.map +1 -0
- package/dist/modules/runtime.d.ts +34 -0
- package/dist/modules/runtime.d.ts.map +1 -0
- package/dist/modules/runtime.js +98 -0
- package/dist/modules/runtime.js.map +1 -0
- package/dist/modules/runtime_settings.d.ts +12 -0
- package/dist/modules/runtime_settings.d.ts.map +1 -0
- package/dist/modules/runtime_settings.js +122 -0
- package/dist/modules/runtime_settings.js.map +1 -0
- package/dist/modules/settings_merge.d.ts +38 -0
- package/dist/modules/settings_merge.d.ts.map +1 -0
- package/dist/modules/settings_merge.js +246 -0
- package/dist/modules/settings_merge.js.map +1 -0
- package/dist/modules/storage/browser_adapter.d.ts +56 -0
- package/dist/modules/storage/browser_adapter.d.ts.map +1 -0
- package/dist/modules/storage/browser_adapter.js +231 -0
- package/dist/modules/storage/browser_adapter.js.map +1 -0
- package/dist/modules/storage/index.d.ts +28 -0
- package/dist/modules/storage/index.d.ts.map +1 -0
- package/dist/modules/storage/index.js +52 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/node_adapter.d.ts +49 -0
- package/dist/modules/storage/node_adapter.d.ts.map +1 -0
- package/dist/modules/storage/node_adapter.js +167 -0
- package/dist/modules/storage/node_adapter.js.map +1 -0
- package/dist/modules/storage/types.d.ts +92 -0
- package/dist/modules/storage/types.d.ts.map +1 -0
- package/dist/modules/storage/types.js +3 -0
- package/dist/modules/storage/types.js.map +1 -0
- package/dist/modules/types.d.ts +1382 -0
- package/dist/modules/types.d.ts.map +1 -0
- package/dist/modules/types.js +11 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/modules/utils/base58check.d.ts +12 -0
- package/dist/modules/utils/base58check.d.ts.map +1 -0
- package/dist/modules/utils/base58check.js +112 -0
- package/dist/modules/utils/base58check.js.map +1 -0
- package/dist/modules/utils/build_dir.d.ts +7 -0
- package/dist/modules/utils/build_dir.d.ts.map +1 -0
- package/dist/modules/utils/build_dir.js +8 -0
- package/dist/modules/utils/build_dir.js.map +1 -0
- package/dist/modules/utils/fs_utils.d.ts +25 -0
- package/dist/modules/utils/fs_utils.d.ts.map +1 -0
- package/dist/modules/utils/fs_utils.js +27 -0
- package/dist/modules/utils/fs_utils.js.map +1 -0
- package/dist/modules/utils/math_utils.d.ts +10 -0
- package/dist/modules/utils/math_utils.d.ts.map +1 -0
- package/dist/modules/utils/math_utils.js +17 -0
- package/dist/modules/utils/math_utils.js.map +1 -0
- package/dist/modules/validate_profiles.d.ts +37 -0
- package/dist/modules/validate_profiles.d.ts.map +1 -0
- package/dist/modules/validate_profiles.js +369 -0
- package/dist/modules/validate_profiles.js.map +1 -0
- package/dist/pm2.d.ts +167 -0
- package/dist/pm2.d.ts.map +1 -0
- package/dist/pm2.js +998 -0
- package/dist/pm2.js.map +1 -0
- package/dist/scripts/analyze-git.d.ts +11 -0
- package/dist/scripts/analyze-git.d.ts.map +1 -0
- package/dist/scripts/analyze-git.js +851 -0
- package/dist/scripts/analyze-git.js.map +1 -0
- package/dist/scripts/analyze-orders.d.ts +17 -0
- package/dist/scripts/analyze-orders.d.ts.map +1 -0
- package/dist/scripts/analyze-orders.js +1568 -0
- package/dist/scripts/analyze-orders.js.map +1 -0
- package/dist/scripts/diagnose-kibana-candles.d.ts +3 -0
- package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -0
- package/dist/scripts/diagnose-kibana-candles.js +82 -0
- package/dist/scripts/diagnose-kibana-candles.js.map +1 -0
- package/dist/scripts/diagnose-pool-history.d.ts +3 -0
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -0
- package/dist/scripts/diagnose-pool-history.js +296 -0
- package/dist/scripts/diagnose-pool-history.js.map +1 -0
- package/dist/scripts/divergence-calc.d.ts +26 -0
- package/dist/scripts/divergence-calc.d.ts.map +1 -0
- package/dist/scripts/divergence-calc.js +119 -0
- package/dist/scripts/divergence-calc.js.map +1 -0
- package/dist/scripts/generate_lp_chart.d.ts +31 -0
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -0
- package/dist/scripts/generate_lp_chart.js +92 -0
- package/dist/scripts/generate_lp_chart.js.map +1 -0
- package/dist/scripts/generate_mainnet_corpus_report.d.ts +24 -0
- package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -0
- package/dist/scripts/generate_mainnet_corpus_report.js +237 -0
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -0
- package/dist/scripts/generate_market_adapter_whitelist.d.ts +2 -0
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -0
- package/dist/scripts/generate_market_adapter_whitelist.js +111 -0
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -0
- package/dist/scripts/migrate_bot_keys.d.ts +6 -0
- package/dist/scripts/migrate_bot_keys.d.ts.map +1 -0
- package/dist/scripts/migrate_bot_keys.js +301 -0
- package/dist/scripts/migrate_bot_keys.js.map +1 -0
- package/dist/scripts/native_release_gates.d.ts +3 -0
- package/dist/scripts/native_release_gates.d.ts.map +1 -0
- package/dist/scripts/native_release_gates.js +52 -0
- package/dist/scripts/native_release_gates.js.map +1 -0
- package/dist/scripts/print_grid.d.ts +16 -0
- package/dist/scripts/print_grid.d.ts.map +1 -0
- package/dist/scripts/print_grid.js +80 -0
- package/dist/scripts/print_grid.js.map +1 -0
- package/dist/scripts/run-tests.d.ts +2 -0
- package/dist/scripts/run-tests.d.ts.map +1 -0
- package/dist/scripts/run-tests.js +49 -0
- package/dist/scripts/run-tests.js.map +1 -0
- package/dist/scripts/sync-version.d.ts +14 -0
- package/dist/scripts/sync-version.d.ts.map +1 -0
- package/dist/scripts/sync-version.js +158 -0
- package/dist/scripts/sync-version.js.map +1 -0
- package/dist/scripts/test-credit-renewal.d.ts +2 -0
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -0
- package/dist/scripts/test-credit-renewal.js +329 -0
- package/dist/scripts/test-credit-renewal.js.map +1 -0
- package/dist/scripts/update.d.ts +24 -0
- package/dist/scripts/update.d.ts.map +1 -0
- package/dist/scripts/update.js +650 -0
- package/dist/scripts/update.js.map +1 -0
- package/dist/scripts/validate_bots.d.ts +16 -0
- package/dist/scripts/validate_bots.d.ts.map +1 -0
- package/dist/scripts/validate_bots.js +106 -0
- package/dist/scripts/validate_bots.js.map +1 -0
- package/dist/scripts/verify-browser-bundle.d.ts +22 -0
- package/dist/scripts/verify-browser-bundle.d.ts.map +1 -0
- package/dist/scripts/verify-browser-bundle.js +339 -0
- package/dist/scripts/verify-browser-bundle.js.map +1 -0
- package/dist/unlock.d.ts +48 -0
- package/dist/unlock.d.ts.map +1 -0
- package/dist/unlock.js +925 -0
- package/dist/unlock.js.map +1 -0
- package/package.json +112 -0
- package/scripts/README.md +356 -0
- package/scripts/clear-all.sh +195 -0
- package/scripts/clear-logs.sh +95 -0
- package/scripts/clear-market-adapter.sh +196 -0
- package/scripts/clear-orders.sh +113 -0
- package/scripts/create-bot-symlinks.sh +51 -0
- package/scripts/postinstall.js +9 -0
- package/scripts/reset-settings.sh +118 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { getProcessDiscovery } = require('../process_discovery');
|
|
3
|
+
const { Config } = require('../config');
|
|
4
|
+
const { runtime } = require('../runtime');
|
|
5
|
+
const STATUS_COLORS = {
|
|
6
|
+
reset: '\x1b[0m',
|
|
7
|
+
title: '\x1b[1;33m',
|
|
8
|
+
label: '\x1b[38;5;208m',
|
|
9
|
+
ok: '\x1b[1;92m',
|
|
10
|
+
warn: '\x1b[1;31m',
|
|
11
|
+
muted: '\x1b[97m',
|
|
12
|
+
};
|
|
13
|
+
function colorStatus(text, color, stream = runtime.stdout) {
|
|
14
|
+
return stream.isTTY && !Config.NO_COLOR ? `${color}${text}${STATUS_COLORS.reset}` : text;
|
|
15
|
+
}
|
|
16
|
+
function statusTitle(text) {
|
|
17
|
+
return colorStatus(text, STATUS_COLORS.title);
|
|
18
|
+
}
|
|
19
|
+
function statusLabel(text) {
|
|
20
|
+
return colorStatus(text, STATUS_COLORS.label);
|
|
21
|
+
}
|
|
22
|
+
function statusBool(value) {
|
|
23
|
+
return colorStatus(value ? 'yes' : 'no', value ? STATUS_COLORS.ok : STATUS_COLORS.warn);
|
|
24
|
+
}
|
|
25
|
+
function statusActiveBotName(name) {
|
|
26
|
+
return colorStatus(name, STATUS_COLORS.ok);
|
|
27
|
+
}
|
|
28
|
+
function statusSuccess(text) {
|
|
29
|
+
return colorStatus(text, STATUS_COLORS.ok);
|
|
30
|
+
}
|
|
31
|
+
function statusError(text) {
|
|
32
|
+
return colorStatus(text, STATUS_COLORS.warn, runtime.stderr);
|
|
33
|
+
}
|
|
34
|
+
function readProcStat(pid) {
|
|
35
|
+
return getProcessDiscovery().readStat(pid);
|
|
36
|
+
}
|
|
37
|
+
function readProcMemMB(pid) {
|
|
38
|
+
return getProcessDiscovery().readMemMB(pid);
|
|
39
|
+
}
|
|
40
|
+
function readProcCpuTotal(pid) {
|
|
41
|
+
const stat = readProcStat(pid);
|
|
42
|
+
if (!stat)
|
|
43
|
+
return null;
|
|
44
|
+
return (stat.utime + stat.stime) / 100;
|
|
45
|
+
}
|
|
46
|
+
function readProcCpuTime(pid) {
|
|
47
|
+
return getProcessDiscovery().readCpuTime(pid);
|
|
48
|
+
}
|
|
49
|
+
async function readProcCpuPercent(pid, samples = 2, intervalMs = 400) {
|
|
50
|
+
return getProcessDiscovery().readCpuPercent(pid, samples, intervalMs);
|
|
51
|
+
}
|
|
52
|
+
function readProcCmdline(pid) {
|
|
53
|
+
return getProcessDiscovery().readCmdline(pid);
|
|
54
|
+
}
|
|
55
|
+
function readProcArgs(pid) {
|
|
56
|
+
return getProcessDiscovery().readArgs(pid);
|
|
57
|
+
}
|
|
58
|
+
function readProcUptime(pid) {
|
|
59
|
+
return getProcessDiscovery().readUptime(pid);
|
|
60
|
+
}
|
|
61
|
+
function formatControlUptime(ms) {
|
|
62
|
+
const s = Math.floor(ms / 1000);
|
|
63
|
+
const m = Math.floor(s / 60);
|
|
64
|
+
const h = Math.floor(m / 60);
|
|
65
|
+
const d = Math.floor(h / 24);
|
|
66
|
+
if (d > 0)
|
|
67
|
+
return `${d}d ${h % 24}h`;
|
|
68
|
+
if (h > 0)
|
|
69
|
+
return `${h}h ${m % 60}m`;
|
|
70
|
+
if (m > 0)
|
|
71
|
+
return `${m}m ${s % 60}s`;
|
|
72
|
+
return `${s}s`;
|
|
73
|
+
}
|
|
74
|
+
function formatMemoryWithUptime(memory, uptime) {
|
|
75
|
+
return uptime && uptime !== '-' ? `${memory} (${uptime})` : memory;
|
|
76
|
+
}
|
|
77
|
+
function printControlStatus(status) {
|
|
78
|
+
const entries = Object.entries(status);
|
|
79
|
+
if (entries.length === 0) {
|
|
80
|
+
console.log('No bots');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const nameWidth = Math.max(...entries.map(([n]) => n.length), 8);
|
|
84
|
+
const header = `${'NAME'.padEnd(nameWidth)} | STATUS | PID | RESTARTS | UPTIME`;
|
|
85
|
+
console.log(header);
|
|
86
|
+
console.log('-'.repeat(header.length));
|
|
87
|
+
for (const [name, s] of entries) {
|
|
88
|
+
const uptime = s.uptimeMs ? formatControlUptime(s.uptimeMs) : '-';
|
|
89
|
+
console.log(`${name.padEnd(nameWidth)} | ${(s.status || '-').padEnd(9)} | ${String(s.pid || '-').padEnd(5)} | ${String(s.restarts).padEnd(8)} | ${uptime}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
module.exports = {
|
|
93
|
+
STATUS_COLORS,
|
|
94
|
+
colorStatus,
|
|
95
|
+
statusTitle,
|
|
96
|
+
statusLabel,
|
|
97
|
+
statusBool,
|
|
98
|
+
statusActiveBotName,
|
|
99
|
+
statusSuccess,
|
|
100
|
+
statusError,
|
|
101
|
+
readProcStat,
|
|
102
|
+
readProcMemMB,
|
|
103
|
+
readProcCpuTotal,
|
|
104
|
+
readProcCpuTime,
|
|
105
|
+
readProcCpuPercent,
|
|
106
|
+
readProcCmdline,
|
|
107
|
+
readProcArgs,
|
|
108
|
+
readProcUptime,
|
|
109
|
+
formatControlUptime,
|
|
110
|
+
formatMemoryWithUptime,
|
|
111
|
+
printControlStatus,
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=status_reporting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status_reporting.js","sourceRoot":"","sources":["../../../modules/launcher/status_reporting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor_control.d.ts","sourceRoot":"","sources":["../../../modules/launcher/supervisor_control.ts"],"names":[],"mappings":"AAKA,iBAAS,kBAAkB,CAAC,GAAG,KAAA,oBAiD9B;;;;AAED,kBAAgC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const net = require('net');
|
|
3
|
+
const { SOCKET_PATH } = require('./bot_supervisor');
|
|
4
|
+
function sendControlCommand(cmd) {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
const socket = net.createConnection(SOCKET_PATH);
|
|
7
|
+
let buffer = '';
|
|
8
|
+
let settled = false;
|
|
9
|
+
const done = (err, result) => {
|
|
10
|
+
if (settled)
|
|
11
|
+
return;
|
|
12
|
+
settled = true;
|
|
13
|
+
try {
|
|
14
|
+
socket.destroy();
|
|
15
|
+
}
|
|
16
|
+
catch (_) { }
|
|
17
|
+
if (err)
|
|
18
|
+
reject(err);
|
|
19
|
+
else
|
|
20
|
+
resolve(result);
|
|
21
|
+
};
|
|
22
|
+
const timeout = setTimeout(() => {
|
|
23
|
+
done(new Error('Connection timed out. Is the supervisor running?'));
|
|
24
|
+
}, 5000);
|
|
25
|
+
socket.on('connect', () => {
|
|
26
|
+
socket.write(JSON.stringify(cmd) + '\n');
|
|
27
|
+
});
|
|
28
|
+
socket.on('data', (data) => {
|
|
29
|
+
buffer += data.toString();
|
|
30
|
+
const newlineIdx = buffer.indexOf('\n');
|
|
31
|
+
if (newlineIdx >= 0) {
|
|
32
|
+
clearTimeout(timeout);
|
|
33
|
+
try {
|
|
34
|
+
const resp = JSON.parse(buffer.slice(0, newlineIdx));
|
|
35
|
+
if (resp.error) {
|
|
36
|
+
done(new Error(resp.error));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
done(null, resp);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
done(err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
socket.on('error', (err) => {
|
|
48
|
+
clearTimeout(timeout);
|
|
49
|
+
if (err.code === 'ENOENT' || err.code === 'ECONNREFUSED') {
|
|
50
|
+
done(new Error('No supervisor socket found. Start bots with: node unlock --isolated'));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
done(err);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
module.exports = { sendControlCommand };
|
|
59
|
+
//# sourceMappingURL=supervisor_control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor_control.js","sourceRoot":"","sources":["../../../modules/launcher/supervisor_control.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpD,SAAS,kBAAkB,CAAC,GAAG;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,IAAI,GAAG,CAAC,GAAiB,EAAE,MAAY,EAAE,EAAE;YAC7C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;YAC3C,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACxE,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBAClB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,iBAAS,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../modules/logger.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* modules/logger.ts - Centralized Logger Hub
|
|
5
|
+
*
|
|
6
|
+
* Auto-selects between the full Node Logger (with file I/O) and a minimal
|
|
7
|
+
* browser-safe Logger (console only) based on environment detection.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* // Bot operation logging (console only)
|
|
11
|
+
* const Logger = require('./modules/logger');
|
|
12
|
+
* const logger = new Logger('MyComponent');
|
|
13
|
+
* logger.info('Starting bot');
|
|
14
|
+
*
|
|
15
|
+
* // Market adapter / dryrun logging (to separate file)
|
|
16
|
+
* const logger = new Logger('MarketAdapter', { logFile: './logs/market_adapter.log' });
|
|
17
|
+
* logger.info('Processing bot');
|
|
18
|
+
*
|
|
19
|
+
* // Quiet mode (for tests)
|
|
20
|
+
* const logger = new Logger('Test', { quiet: true });
|
|
21
|
+
*
|
|
22
|
+
* Constructor Options:
|
|
23
|
+
* - category: {string} Logger prefix (e.g., 'DEXBot', 'MarketAdapter')
|
|
24
|
+
* - quiet: {boolean} Suppress console output (default false)
|
|
25
|
+
* - logFile: {string} Path to optional log file (appends output)
|
|
26
|
+
* - level: {string} Log level: 'debug', 'info', 'warn', 'error' (default 'info')
|
|
27
|
+
* - configOverride: {Object} Override LOGGING_CONFIG from constants
|
|
28
|
+
* - correlationId: {string} Optional correlation ID for request tracing
|
|
29
|
+
*/
|
|
30
|
+
const { isBrowser } = require('./env');
|
|
31
|
+
if (isBrowser()) {
|
|
32
|
+
const levelValues = { debug: 0, info: 1, warn: 2, error: 3, critical: 4 };
|
|
33
|
+
class BrowserLogger {
|
|
34
|
+
level;
|
|
35
|
+
quiet;
|
|
36
|
+
category;
|
|
37
|
+
levels;
|
|
38
|
+
colors;
|
|
39
|
+
constructor(category = 'DEXBot', options = {}) {
|
|
40
|
+
this.category = category;
|
|
41
|
+
this.level = options.level || 'info';
|
|
42
|
+
this.quiet = options.quiet ?? !!options.logFile;
|
|
43
|
+
this.levels = levelValues;
|
|
44
|
+
this.colors = {
|
|
45
|
+
reset: '', buy: '', sell: '', spread: '',
|
|
46
|
+
debug: '', info: '', warn: '', error: '', critical: '',
|
|
47
|
+
virtual: '', active: '', partial: ''
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
log(message, level = 'info') {
|
|
51
|
+
if (this.levels[level] >= this.levels[this.level] && !this.quiet) {
|
|
52
|
+
const ts = new Date().toISOString();
|
|
53
|
+
console.log(`[${ts}] [${level.toUpperCase()}] [${this.category}] ${message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
debug(message) { this.log(message, 'debug'); }
|
|
57
|
+
info(message) { this.log(message, 'info'); }
|
|
58
|
+
warn(message) { this.log(message, 'warn'); }
|
|
59
|
+
error(message) { this.log(message, 'error'); }
|
|
60
|
+
critical(message) { this.log(message, 'critical'); }
|
|
61
|
+
flush() { return Promise.resolve(); }
|
|
62
|
+
setMarketName() { }
|
|
63
|
+
logFunds() { }
|
|
64
|
+
logGridDiagnostics() { }
|
|
65
|
+
}
|
|
66
|
+
module.exports = BrowserLogger;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
module.exports = require('./order/logger');
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../modules/logger.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvC,IAAI,SAAS,EAAE,EAAE,CAAC;IACd,MAAM,WAAW,GAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAElG,MAAM,aAAa;QACf,KAAK,CAAS;QACd,KAAK,CAAU;QACf,QAAQ,CAAS;QACjB,MAAM,CAAyB;QAC/B,MAAM,CAAyB;QAE/B,YAAY,QAAQ,GAAG,QAAQ,EAAE,UAAe,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG;gBACV,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;gBACxC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;gBACtD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;aACvC,CAAC;QACN,CAAC;QAED,GAAG,CAAC,OAAe,EAAE,KAAK,GAAG,MAAM;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,OAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,OAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,OAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK,KAAK,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,aAAa,KAAI,CAAC;QAClB,QAAQ,KAAI,CAAC;QACb,kBAAkB,KAAI,CAAC;KAC1B;IAED,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;AACnC,CAAC;KAAM,CAAC;IACJ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface WhitelistFlags {
|
|
2
|
+
ama: boolean;
|
|
3
|
+
dynamicWeight: boolean;
|
|
4
|
+
asymmetricBounds: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare function resetMarketAdapterWhitelistCache(): void;
|
|
7
|
+
declare function getWhitelistFlags(botKey: string): WhitelistFlags;
|
|
8
|
+
declare function isBotWhitelisted(botKey: string): boolean;
|
|
9
|
+
declare function isBotDynamicWeightWhitelisted(botKey: string): boolean;
|
|
10
|
+
declare function isBotAsymmetricBoundsWhitelisted(botKey: string): boolean;
|
|
11
|
+
declare function isBotGridRangeScalingWhitelisted(botKey: string): boolean;
|
|
12
|
+
declare const _default: {
|
|
13
|
+
WHITELIST_FILE: any;
|
|
14
|
+
resetMarketAdapterWhitelistCache: typeof resetMarketAdapterWhitelistCache;
|
|
15
|
+
getWhitelistFlags: typeof getWhitelistFlags;
|
|
16
|
+
isBotWhitelisted: typeof isBotWhitelisted;
|
|
17
|
+
isBotDynamicWeightWhitelisted: typeof isBotDynamicWeightWhitelisted;
|
|
18
|
+
isBotAsymmetricBoundsWhitelisted: typeof isBotAsymmetricBoundsWhitelisted;
|
|
19
|
+
isBotGridRangeScalingWhitelisted: typeof isBotGridRangeScalingWhitelisted;
|
|
20
|
+
};
|
|
21
|
+
export = _default;
|
|
22
|
+
//# sourceMappingURL=market_adapter_whitelist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market_adapter_whitelist.d.ts","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAID,iBAAS,gCAAgC,IAAI,IAAI,CAEhD;AA+CD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMzD;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;;;;;;;;;;AAED,kBAQE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const { PATHS } = require('./paths');
|
|
3
|
+
const { getStorage } = require('./storage');
|
|
4
|
+
const storage = getStorage();
|
|
5
|
+
const { readJSON } = require('./utils/fs_utils');
|
|
6
|
+
const WHITELIST_FILE = PATHS.PROFILES.MARKET_ADAPTER_WHITELIST_JSON();
|
|
7
|
+
let _whitelistCache = null;
|
|
8
|
+
function resetMarketAdapterWhitelistCache() {
|
|
9
|
+
_whitelistCache = null;
|
|
10
|
+
}
|
|
11
|
+
function normalizeEntry(entry) {
|
|
12
|
+
if (entry === true) {
|
|
13
|
+
return { ama: true, dynamicWeight: true, asymmetricBounds: true };
|
|
14
|
+
}
|
|
15
|
+
if (!entry || typeof entry !== 'object') {
|
|
16
|
+
return { ama: false, dynamicWeight: false, asymmetricBounds: false };
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
ama: entry.ama === true,
|
|
20
|
+
dynamicWeight: entry.dynamicWeight === true,
|
|
21
|
+
asymmetricBounds: entry.asymmetricBounds === true,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function loadMarketAdapterWhitelist() {
|
|
25
|
+
if (_whitelistCache !== null)
|
|
26
|
+
return _whitelistCache;
|
|
27
|
+
if (!storage.exists(WHITELIST_FILE)) {
|
|
28
|
+
_whitelistCache = false;
|
|
29
|
+
return _whitelistCache;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const json = readJSON(WHITELIST_FILE);
|
|
33
|
+
const raw = json?.whitelist;
|
|
34
|
+
const map = new Map();
|
|
35
|
+
if (Array.isArray(raw)) {
|
|
36
|
+
for (const botKey of raw) {
|
|
37
|
+
map.set(String(botKey), { ama: true, dynamicWeight: true, asymmetricBounds: true });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (raw && typeof raw === 'object') {
|
|
41
|
+
for (const [botKey, entry] of Object.entries(raw)) {
|
|
42
|
+
map.set(String(botKey), normalizeEntry(entry));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
_whitelistCache = map;
|
|
46
|
+
return _whitelistCache;
|
|
47
|
+
}
|
|
48
|
+
catch (_) {
|
|
49
|
+
console.warn(`[WARN] Failed to parse ${WHITELIST_FILE}: ${_.message}. All whitelist features disabled.`);
|
|
50
|
+
_whitelistCache = false;
|
|
51
|
+
return _whitelistCache;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function getWhitelistFlags(botKey) {
|
|
55
|
+
const whitelist = loadMarketAdapterWhitelist();
|
|
56
|
+
if (whitelist === false || !botKey) {
|
|
57
|
+
return { ama: false, dynamicWeight: false, asymmetricBounds: false };
|
|
58
|
+
}
|
|
59
|
+
return whitelist.get(String(botKey)) || { ama: false, dynamicWeight: false, asymmetricBounds: false };
|
|
60
|
+
}
|
|
61
|
+
function isBotWhitelisted(botKey) {
|
|
62
|
+
return getWhitelistFlags(botKey).ama === true;
|
|
63
|
+
}
|
|
64
|
+
function isBotDynamicWeightWhitelisted(botKey) {
|
|
65
|
+
return getWhitelistFlags(botKey).dynamicWeight === true;
|
|
66
|
+
}
|
|
67
|
+
function isBotAsymmetricBoundsWhitelisted(botKey) {
|
|
68
|
+
return getWhitelistFlags(botKey).asymmetricBounds === true;
|
|
69
|
+
}
|
|
70
|
+
function isBotGridRangeScalingWhitelisted(botKey) {
|
|
71
|
+
return isBotAsymmetricBoundsWhitelisted(botKey);
|
|
72
|
+
}
|
|
73
|
+
module.exports = {
|
|
74
|
+
WHITELIST_FILE,
|
|
75
|
+
resetMarketAdapterWhitelistCache,
|
|
76
|
+
getWhitelistFlags,
|
|
77
|
+
isBotWhitelisted,
|
|
78
|
+
isBotDynamicWeightWhitelisted,
|
|
79
|
+
isBotAsymmetricBoundsWhitelisted,
|
|
80
|
+
isBotGridRangeScalingWhitelisted,
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=market_adapter_whitelist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market_adapter_whitelist.js","sourceRoot":"","sources":["../../modules/market_adapter_whitelist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
interface HealthCacheOptions {
|
|
2
|
+
healthCacheFile?: string;
|
|
3
|
+
stateDir?: string;
|
|
4
|
+
now?: number;
|
|
5
|
+
maxAgeMs?: number;
|
|
6
|
+
}
|
|
7
|
+
interface NodeHealthStat {
|
|
8
|
+
url?: string;
|
|
9
|
+
status?: string;
|
|
10
|
+
latencyMs?: number;
|
|
11
|
+
lastCheckTime?: string | number | null;
|
|
12
|
+
}
|
|
13
|
+
interface NodeHealthCacheEntry {
|
|
14
|
+
url: string;
|
|
15
|
+
status: string;
|
|
16
|
+
latencyMs: number | null;
|
|
17
|
+
lastCheckTime: string | number | null;
|
|
18
|
+
}
|
|
19
|
+
interface NodeHealthCachePayload {
|
|
20
|
+
version: number;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
updatedAtMs: number;
|
|
23
|
+
nodes: NodeHealthCacheEntry[];
|
|
24
|
+
}
|
|
25
|
+
interface NodeSettings {
|
|
26
|
+
NODES?: {
|
|
27
|
+
list?: string[];
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
healthCheck?: {
|
|
30
|
+
intervalMs?: number;
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
declare function resolveHealthCacheFile(config?: HealthCacheOptions): string;
|
|
36
|
+
declare function buildHealthCachePayload(stats: Iterable<NodeHealthStat> | ArrayLike<NodeHealthStat> | null | undefined, now?: number): NodeHealthCachePayload;
|
|
37
|
+
declare function writeHealthCache(stats: Iterable<NodeHealthStat> | ArrayLike<NodeHealthStat> | null | undefined, options?: HealthCacheOptions): NodeHealthCachePayload;
|
|
38
|
+
declare function readHealthCache(options?: HealthCacheOptions): NodeHealthCachePayload | null;
|
|
39
|
+
declare function orderNodesFromHealthCache(configuredNodes: unknown, options?: HealthCacheOptions): string[];
|
|
40
|
+
declare function resolveConfiguredNodes(settings: NodeSettings): string[];
|
|
41
|
+
declare function resolveHealthCacheMaxAgeMs(settings: NodeSettings): number;
|
|
42
|
+
declare function orderNodesForSettings(settings: NodeSettings, options?: HealthCacheOptions): string[];
|
|
43
|
+
declare const _default: {
|
|
44
|
+
DEFAULT_HEALTH_CACHE_FILE: any;
|
|
45
|
+
buildHealthCachePayload: typeof buildHealthCachePayload;
|
|
46
|
+
orderNodesFromHealthCache: typeof orderNodesFromHealthCache;
|
|
47
|
+
orderNodesForSettings: typeof orderNodesForSettings;
|
|
48
|
+
readHealthCache: typeof readHealthCache;
|
|
49
|
+
resolveConfiguredNodes: typeof resolveConfiguredNodes;
|
|
50
|
+
resolveHealthCacheFile: typeof resolveHealthCacheFile;
|
|
51
|
+
resolveHealthCacheMaxAgeMs: typeof resolveHealthCacheMaxAgeMs;
|
|
52
|
+
writeHealthCache: typeof writeHealthCache;
|
|
53
|
+
};
|
|
54
|
+
export = _default;
|
|
55
|
+
//# sourceMappingURL=node_health_cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node_health_cache.d.ts","sourceRoot":"","sources":["../../modules/node_health_cache.ts"],"names":[],"mappings":"AAOA,UAAU,kBAAkB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,UAAU,oBAAoB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,UAAU,sBAAsB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE;YACV,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE,OAAO,CAAC;SACrB,CAAC;KACL,CAAC;CACL;AAED,iBAAS,sBAAsB,CAAC,MAAM,GAAE,kBAAuB,GAAG,MAAM,CAQvE;AAQD,iBAAS,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,GAAE,MAAmB,GAAG,sBAAsB,CAuBjK;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,GAAE,kBAAuB,GAAG,sBAAsB,CAQlK;AAED,iBAAS,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,sBAAsB,GAAG,IAAI,CA6BxF;AAED,iBAAS,yBAAyB,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,EAAE,CAevG;AAED,iBAAS,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAMhE;AAED,iBAAS,0BAA0B,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAKlE;AAED,iBAAS,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,EAAE,CAUjG;;;;;;;;;;;;AAED,kBAUE"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { NODE_MANAGEMENT } = require('./constants');
|
|
3
|
+
const { PATHS, getNodeHealthCacheFile } = require('./paths');
|
|
4
|
+
const { writeJsonFileAtomic } = require('./bots_file_lock');
|
|
5
|
+
const { readJSON } = require('./utils/fs_utils');
|
|
6
|
+
const DEFAULT_HEALTH_CACHE_FILE = PATHS.PROFILES.NODE_HEALTH_CACHE_JSON;
|
|
7
|
+
function resolveHealthCacheFile(config = {}) {
|
|
8
|
+
if (typeof config.healthCacheFile === 'string' && config.healthCacheFile.trim()) {
|
|
9
|
+
return config.healthCacheFile;
|
|
10
|
+
}
|
|
11
|
+
if (typeof config.stateDir === 'string' && config.stateDir.trim()) {
|
|
12
|
+
return getNodeHealthCacheFile(config.stateDir);
|
|
13
|
+
}
|
|
14
|
+
return getNodeHealthCacheFile();
|
|
15
|
+
}
|
|
16
|
+
function normalizeNodeList(nodes) {
|
|
17
|
+
return Array.isArray(nodes)
|
|
18
|
+
? nodes.filter((node) => typeof node === 'string' && node.trim() !== '')
|
|
19
|
+
: [];
|
|
20
|
+
}
|
|
21
|
+
function buildHealthCachePayload(stats, now = Date.now()) {
|
|
22
|
+
const nodes = Array.from(stats || [])
|
|
23
|
+
.filter((stat) => !!stat && (stat.status === 'healthy' || stat.status === 'slow') && typeof stat.url === 'string' && stat.url.trim() !== '')
|
|
24
|
+
.map((stat) => ({
|
|
25
|
+
url: stat.url,
|
|
26
|
+
status: stat.status,
|
|
27
|
+
latencyMs: Number.isFinite(stat.latencyMs) ? stat.latencyMs : null,
|
|
28
|
+
lastCheckTime: stat.lastCheckTime || null,
|
|
29
|
+
}));
|
|
30
|
+
nodes.sort((a, b) => {
|
|
31
|
+
if (a.status !== b.status)
|
|
32
|
+
return a.status === 'healthy' ? -1 : 1;
|
|
33
|
+
return (a.latencyMs ?? Infinity) - (b.latencyMs ?? Infinity);
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
version: 1,
|
|
37
|
+
updatedAt: new Date(now).toISOString(),
|
|
38
|
+
updatedAtMs: now,
|
|
39
|
+
nodes,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function writeHealthCache(stats, options = {}) {
|
|
43
|
+
const file = resolveHealthCacheFile(options);
|
|
44
|
+
const now = Number.isFinite(options.now) ? options.now : Date.now();
|
|
45
|
+
const payload = buildHealthCachePayload(stats, now);
|
|
46
|
+
// Atomic write: see writeJsonFileAtomic in bots_file_lock.ts. A torn
|
|
47
|
+
// health cache would either lose all health history or fail to parse.
|
|
48
|
+
writeJsonFileAtomic(file, payload);
|
|
49
|
+
return payload;
|
|
50
|
+
}
|
|
51
|
+
function readHealthCache(options = {}) {
|
|
52
|
+
const file = resolveHealthCacheFile(options);
|
|
53
|
+
const maxAgeMs = Number.isFinite(options.maxAgeMs)
|
|
54
|
+
? options.maxAgeMs
|
|
55
|
+
: NODE_MANAGEMENT.HEALTH_CHECK_INTERVAL_MS;
|
|
56
|
+
const now = Number.isFinite(options.now) ? options.now : Date.now();
|
|
57
|
+
try {
|
|
58
|
+
const payload = readJSON(file);
|
|
59
|
+
if (!payload || payload.version !== 1 || !Array.isArray(payload.nodes))
|
|
60
|
+
return null;
|
|
61
|
+
if (!Number.isFinite(payload.updatedAtMs))
|
|
62
|
+
return null;
|
|
63
|
+
if (maxAgeMs >= 0 && now - payload.updatedAtMs > maxAgeMs)
|
|
64
|
+
return null;
|
|
65
|
+
const nodes = payload.nodes
|
|
66
|
+
.filter((node) => !!node && (node.status === 'healthy' || node.status === 'slow') && typeof node.url === 'string' && node.url.trim() !== '')
|
|
67
|
+
.sort((a, b) => {
|
|
68
|
+
if (a.status !== b.status)
|
|
69
|
+
return a.status === 'healthy' ? -1 : 1;
|
|
70
|
+
return (a.latencyMs ?? Infinity) - (b.latencyMs ?? Infinity);
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
...payload,
|
|
74
|
+
nodes,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function orderNodesFromHealthCache(configuredNodes, options = {}) {
|
|
82
|
+
const configured = normalizeNodeList(configuredNodes);
|
|
83
|
+
const configuredSet = new Set(configured);
|
|
84
|
+
const cache = readHealthCache(options);
|
|
85
|
+
if (!cache || cache.nodes.length === 0)
|
|
86
|
+
return configured;
|
|
87
|
+
const ordered = [];
|
|
88
|
+
for (const node of cache.nodes) {
|
|
89
|
+
if (!configuredSet.has(node.url) || ordered.includes(node.url))
|
|
90
|
+
continue;
|
|
91
|
+
ordered.push(node.url);
|
|
92
|
+
}
|
|
93
|
+
for (const node of configured) {
|
|
94
|
+
if (!ordered.includes(node))
|
|
95
|
+
ordered.push(node);
|
|
96
|
+
}
|
|
97
|
+
return ordered;
|
|
98
|
+
}
|
|
99
|
+
function resolveConfiguredNodes(settings) {
|
|
100
|
+
const nodeSettings = settings?.NODES;
|
|
101
|
+
const configuredNodes = normalizeNodeList(nodeSettings?.list);
|
|
102
|
+
return configuredNodes.length > 0
|
|
103
|
+
? configuredNodes
|
|
104
|
+
: NODE_MANAGEMENT.DEFAULT_NODES;
|
|
105
|
+
}
|
|
106
|
+
function resolveHealthCacheMaxAgeMs(settings) {
|
|
107
|
+
const configuredInterval = settings?.NODES?.healthCheck?.intervalMs;
|
|
108
|
+
return Number.isFinite(configuredInterval)
|
|
109
|
+
? configuredInterval
|
|
110
|
+
: NODE_MANAGEMENT.HEALTH_CHECK_INTERVAL_MS;
|
|
111
|
+
}
|
|
112
|
+
function orderNodesForSettings(settings, options = {}) {
|
|
113
|
+
if (settings?.NODES?.healthCheck?.enabled === false) {
|
|
114
|
+
return resolveConfiguredNodes(settings);
|
|
115
|
+
}
|
|
116
|
+
return orderNodesFromHealthCache(resolveConfiguredNodes(settings), {
|
|
117
|
+
...options,
|
|
118
|
+
maxAgeMs: Number.isFinite(options.maxAgeMs)
|
|
119
|
+
? options.maxAgeMs
|
|
120
|
+
: resolveHealthCacheMaxAgeMs(settings),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
module.exports = {
|
|
124
|
+
DEFAULT_HEALTH_CACHE_FILE,
|
|
125
|
+
buildHealthCachePayload,
|
|
126
|
+
orderNodesFromHealthCache,
|
|
127
|
+
orderNodesForSettings,
|
|
128
|
+
readHealthCache,
|
|
129
|
+
resolveConfiguredNodes,
|
|
130
|
+
resolveHealthCacheFile,
|
|
131
|
+
resolveHealthCacheMaxAgeMs,
|
|
132
|
+
writeHealthCache,
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=node_health_cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node_health_cache.js","sourceRoot":"","sources":["../../modules/node_health_cache.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjD,MAAM,yBAAyB,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;AAyCxE,SAAS,sBAAsB,CAAC,SAA6B,EAAE;IAC3D,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC,eAAe,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,OAAO,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,sBAAsB,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAa,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACjG,CAAC,CAAC,EAAE,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8E,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACrI,MAAM,KAAK,GAA2B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SACxD,MAAM,CAAC,CAAC,IAAI,EAAwE,EAAE,CACnF,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAC5H;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACZ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAClE,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;KAC5C,CAAC,CAAC,CAAC;IAER,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACtC,WAAW,EAAE,GAAG;QAChB,KAAK;KACR,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA8E,EAAE,UAA8B,EAAE;IACtI,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,qEAAqE;IACrE,sEAAsE;IACtE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,UAA8B,EAAE;IACrD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,OAAO,CAAC,QAAS;QACnB,CAAC,CAAC,eAAe,CAAC,wBAAwB,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAErE,IAAI,CAAC;QACD,MAAM,OAAO,GAA2B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,QAAQ,IAAI,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEvE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;aACtB,MAAM,CAAC,CAAC,IAAI,EAAiE,EAAE,CAC5E,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAC5H;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEP,OAAO;YACH,GAAG,OAAO;YACV,KAAK;SACR,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,eAAwB,EAAE,UAA8B,EAAE;IACzF,MAAM,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAE1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACzE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAsB;IAClD,MAAM,YAAY,GAAG,QAAQ,EAAE,KAAK,CAAC;IACrC,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;AACxC,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAsB;IACtD,MAAM,kBAAkB,GAAG,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;IACpE,OAAO,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtC,CAAC,CAAC,kBAAmB;QACrB,CAAC,CAAC,eAAe,CAAC,wBAAwB,CAAC;AACnD,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAsB,EAAE,UAA8B,EAAE;IACnF,IAAI,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,yBAAyB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE;QAC/D,GAAG,OAAO;QACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC;KAC7C,CAAC,CAAC;AACP,CAAC;AAED,iBAAS;IACL,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,gBAAgB;CACnB,CAAC"}
|