dexbot 1.4.21 → 1.4.23
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/CHANGELOG.md +52 -0
- package/README.md +8 -5
- package/analysis/ama_fitting/analyze_ama_price_changes.ts +7 -3
- package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +6 -6
- package/analysis/ama_fitting/calibrate_convergence_er.ts +7 -5
- package/analysis/ama_fitting/fetch_lp_candles.ts +8 -3
- package/analysis/ama_fitting/generate_unified_comparison_chart.ts +30 -67
- package/analysis/ama_fitting/optimizer_high_resolution.ts +26 -17
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/analyze_derivatives.ts +4 -4
- package/analysis/analyze_dynamic_weight.ts +21 -5
- package/analysis/analyze_kalman.ts +54 -25
- package/analysis/analyze_regime.ts +2 -2
- package/analysis/analyze_regime_windows.ts +27 -19
- package/analysis/analyze_risk_profile.ts +3 -3
- package/analysis/analyze_trade_heatmap.ts +3 -3
- package/analysis/analyze_volatility.ts +2 -2
- package/analysis/bot_fitting/README.md +93 -19
- package/analysis/bot_fitting/backtest_ama_sweep.ts +316 -199
- package/analysis/bot_fitting/backtest_bot_fitting.ts +520 -85
- package/analysis/bot_fitting/shared_utils.ts +15 -9
- package/analysis/bot_key_utils.ts +13 -6
- package/analysis/bot_usage/discover_bot_accounts.ts +5 -3
- package/analysis/bot_usage/kibana_bot_queries.ts +1 -1
- package/analysis/chart_css.ts +6 -4
- package/analysis/chart_ui.ts +0 -1
- package/analysis/chart_utils.ts +11 -2
- package/analysis/derivative_chart_generator.ts +2 -2
- package/analysis/price_sources.ts +8 -2
- package/analysis/resolve_source.ts +1 -1
- package/analysis/trade_profitability.ts +61 -28
- package/analysis/tradingview/README.md +24 -4
- package/analysis/tradingview/analyze_tradingview.ts +1 -1
- package/analysis/tradingview/tradingview_uplot_chart_generator.ts +356 -86
- package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +1 -1
- package/analysis/trend_detection/derivative_analyzer.ts +12 -3
- package/analysis/trend_detection/dynamic_weight_chart_generator.ts +25 -27
- package/analysis/trend_detection/hurst_analyzer.ts +1 -1
- package/analysis/trend_detection/kalman_chart_generator.ts +42 -14
- package/analysis/trend_detection/package.json +1 -1
- package/analysis/trend_detection/regime_chart_generator.ts +39 -19
- package/analysis/trend_detection/tests/test_kalman_trend.ts +1 -1
- package/analysis/trend_detection/tests/test_kalman_velocity_smoothing.ts +1 -1
- package/analysis/trend_detection/volatility_chart_generator.ts +1 -1
- package/claw/index.ts +1 -1
- package/claw/modules/claw_bridge.ts +3 -3
- package/claw/modules/claw_catalog.ts +1 -1
- package/claw/modules/claw_launcher.ts +1 -1
- package/claw/modules/claw_skill_md.ts +7 -10
- package/claw/modules/credit_runtime_adapter.ts +1 -1
- package/claw/modules/decision_loop.ts +5 -9
- package/claw/modules/dexbot_bridge.ts +7 -7
- package/claw/modules/feed_price_source.ts +1 -1
- package/claw/modules/kibana_price_source.ts +1 -1
- package/claw/modules/launcher_mode_detector.ts +1 -1
- package/claw/modules/launcher_paths.ts +1 -1
- package/claw/modules/position_discovery.ts +1 -1
- package/claw/modules/position_health.ts +1 -1
- package/claw/package.json +3 -3
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/skills/launcher-ops/references/launcher-workflow.md +2 -2
- package/claw/tests/package.json +1 -1
- package/claw/tests/test_claw_bridge.ts +45 -21
- package/claw/tests/test_claw_catalog_and_credentials.ts +8 -4
- package/claw/tests/test_claw_chain_layer.ts +39 -19
- package/claw/tests/test_claw_data_flow.ts +28 -20
- package/claw/tests/test_claw_domain_logic.ts +25 -19
- package/claw/tests/test_claw_manifest_and_matrix.ts +23 -3
- package/claw/tests/test_claw_mcp_transport.ts +13 -8
- package/claw/tests/test_claw_regressions.ts +254 -128
- package/claw/tests/test_claw_skill_generation.ts +1 -1
- package/claw/tests/test_nullclaw_tmp_integration.ts +2 -3
- package/claw/tests/test_position_health.ts +1 -77
- package/claw/tests/test_position_manager.ts +20 -18
- package/claw/tests/test_position_manager_watch_health.ts +39 -43
- package/claw/tests/test_short_mpa_strategy.ts +20 -17
- package/claw/tsconfig.json +4 -3
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +7 -3
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +1 -1
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +6 -6
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -1
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js +7 -5
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -1
- package/dist/analysis/ama_fitting/fetch_lp_candles.js +8 -3
- package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +1 -1
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +2 -2
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +1 -1
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +31 -75
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +1 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js +25 -17
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -1
- package/dist/analysis/analyze_derivatives.d.ts +0 -18
- package/dist/analysis/analyze_derivatives.d.ts.map +1 -1
- package/dist/analysis/analyze_derivatives.js +4 -4
- package/dist/analysis/analyze_derivatives.js.map +1 -1
- package/dist/analysis/analyze_dynamic_weight.d.ts +0 -11
- package/dist/analysis/analyze_dynamic_weight.d.ts.map +1 -1
- package/dist/analysis/analyze_dynamic_weight.js +19 -5
- package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
- package/dist/analysis/analyze_kalman.d.ts +0 -10
- package/dist/analysis/analyze_kalman.d.ts.map +1 -1
- package/dist/analysis/analyze_kalman.js +51 -26
- package/dist/analysis/analyze_kalman.js.map +1 -1
- package/dist/analysis/analyze_regime.d.ts +0 -17
- package/dist/analysis/analyze_regime.d.ts.map +1 -1
- package/dist/analysis/analyze_regime.js +2 -2
- package/dist/analysis/analyze_regime.js.map +1 -1
- package/dist/analysis/analyze_regime_windows.d.ts +0 -16
- package/dist/analysis/analyze_regime_windows.d.ts.map +1 -1
- package/dist/analysis/analyze_regime_windows.js +28 -21
- package/dist/analysis/analyze_regime_windows.js.map +1 -1
- package/dist/analysis/analyze_risk_profile.js +3 -3
- package/dist/analysis/analyze_risk_profile.js.map +1 -1
- package/dist/analysis/analyze_trade_heatmap.js +3 -3
- package/dist/analysis/analyze_trade_heatmap.js.map +1 -1
- package/dist/analysis/analyze_volatility.d.ts +0 -19
- package/dist/analysis/analyze_volatility.d.ts.map +1 -1
- package/dist/analysis/analyze_volatility.js +2 -2
- package/dist/analysis/analyze_volatility.js.map +1 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +30 -14
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js +330 -193
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +136 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +1 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js +527 -83
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -1
- package/dist/analysis/bot_fitting/shared_utils.d.ts +1 -1
- package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -1
- package/dist/analysis/bot_fitting/shared_utils.js +14 -8
- package/dist/analysis/bot_fitting/shared_utils.js.map +1 -1
- package/dist/analysis/bot_key_utils.d.ts.map +1 -1
- package/dist/analysis/bot_key_utils.js +13 -6
- package/dist/analysis/bot_key_utils.js.map +1 -1
- package/dist/analysis/bot_usage/discover_bot_accounts.js +5 -3
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js +1 -1
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -1
- package/dist/analysis/chart_css.d.ts +3 -1
- package/dist/analysis/chart_css.d.ts.map +1 -1
- package/dist/analysis/chart_css.js +6 -3
- package/dist/analysis/chart_css.js.map +1 -1
- package/dist/analysis/chart_ui.d.ts.map +1 -1
- package/dist/analysis/chart_ui.js.map +1 -1
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +15 -2
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/derivative_chart_generator.js +2 -2
- package/dist/analysis/derivative_chart_generator.js.map +1 -1
- package/dist/analysis/price_sources.d.ts +1 -0
- package/dist/analysis/price_sources.d.ts.map +1 -1
- package/dist/analysis/price_sources.js +8 -2
- package/dist/analysis/price_sources.js.map +1 -1
- package/dist/analysis/resolve_source.d.ts.map +1 -1
- package/dist/analysis/resolve_source.js +1 -1
- package/dist/analysis/resolve_source.js.map +1 -1
- package/dist/analysis/trade_profitability.d.ts.map +1 -1
- package/dist/analysis/trade_profitability.js +58 -29
- package/dist/analysis/trade_profitability.js.map +1 -1
- package/dist/analysis/tradingview/analyze_tradingview.js +1 -1
- package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +356 -86
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts +1 -0
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +1 -1
- package/dist/analysis/trend_detection/derivative_analyzer.js +12 -3
- package/dist/analysis/trend_detection/derivative_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +26 -27
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/kalman_chart_generator.js +41 -13
- package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/regime_chart_generator.js +38 -19
- package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js +1 -1
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +1 -1
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +1 -1
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +1 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.js +1 -1
- package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -1
- package/dist/bot.js +1 -1
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.d.ts +1 -1
- package/dist/credential-daemon.js +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +7 -8
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +3 -1
- package/dist/market_adapter/ama_signal_runner.js.map +1 -1
- package/dist/market_adapter/candle_utils.d.ts +1 -3
- package/dist/market_adapter/candle_utils.d.ts.map +1 -1
- package/dist/market_adapter/candle_utils.js +1 -11
- package/dist/market_adapter/candle_utils.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +33 -30
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -1
- package/dist/market_adapter/core/config_normalizers.js +10 -1
- package/dist/market_adapter/core/config_normalizers.js.map +1 -1
- package/dist/market_adapter/core/kibana_candles.d.ts +18 -42
- package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_candles.js +101 -7
- package/dist/market_adapter/core/kibana_candles.js.map +1 -1
- package/dist/market_adapter/core/kibana_client.d.ts +0 -14
- package/dist/market_adapter/core/kibana_client.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +39 -6
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.d.ts +0 -27
- package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts +21 -11
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +95 -37
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/signals/hurst_analyzer.d.ts +10 -1
- package/dist/market_adapter/core/signals/hurst_analyzer.d.ts.map +1 -1
- package/dist/market_adapter/core/signals/hurst_analyzer.js +28 -17
- package/dist/market_adapter/core/signals/hurst_analyzer.js.map +1 -1
- package/dist/market_adapter/core/signals/kalman_trend_analyzer.d.ts +5 -0
- package/dist/market_adapter/core/signals/kalman_trend_analyzer.d.ts.map +1 -1
- package/dist/market_adapter/core/signals/kalman_trend_analyzer.js +24 -24
- package/dist/market_adapter/core/signals/kalman_trend_analyzer.js.map +1 -1
- package/dist/market_adapter/core/signals/kalman_velocity_smoothing.d.ts.map +1 -1
- package/dist/market_adapter/core/signals/kalman_velocity_smoothing.js +5 -1
- package/dist/market_adapter/core/signals/kalman_velocity_smoothing.js.map +1 -1
- package/dist/market_adapter/core/signals/permutation_entropy_analyzer.d.ts.map +1 -1
- package/dist/market_adapter/core/signals/permutation_entropy_analyzer.js +20 -3
- package/dist/market_adapter/core/signals/permutation_entropy_analyzer.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama.js +1 -1
- package/dist/market_adapter/core/strategies/ama.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +2 -2
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +16 -4
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts +4 -3
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.js +16 -8
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +8 -3
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
- package/dist/market_adapter/core/strategies/dynamic_weight_series.d.ts +40 -1
- package/dist/market_adapter/core/strategies/dynamic_weight_series.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/dynamic_weight_series.js +116 -2
- package/dist/market_adapter/core/strategies/dynamic_weight_series.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +26 -20
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/core/strategies/volatility_shift.d.ts.map +1 -1
- package/dist/market_adapter/core/strategies/volatility_shift.js +3 -0
- package/dist/market_adapter/core/strategies/volatility_shift.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +69 -55
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +0 -26
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +67 -14
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.d.ts +4 -28
- package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +5 -2
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +1 -1
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts +10 -1
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_runner.js +2 -2
- package/dist/market_adapter/lp_chart_runner.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts +1 -2
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +9 -8
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/test_helpers.d.ts +3 -3
- package/dist/market_adapter/test_helpers.d.ts.map +1 -1
- package/dist/market_adapter/test_helpers.js +3 -3
- package/dist/market_adapter/test_helpers.js.map +1 -1
- package/dist/market_adapter/utils/adapter_client.js +1 -1
- package/dist/market_adapter/utils/adapter_client.js.map +1 -1
- package/dist/market_adapter/utils/atomic_write.js +1 -1
- package/dist/market_adapter/utils/atomic_write.js.map +1 -1
- package/dist/market_adapter/utils/chain.d.ts +0 -2
- package/dist/market_adapter/utils/chain.d.ts.map +1 -1
- package/dist/market_adapter/utils/chain.js +2 -3
- package/dist/market_adapter/utils/chain.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +24 -8
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +2 -5
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
- package/dist/market_adapter/utils/file_lock.d.ts +4 -1
- package/dist/market_adapter/utils/file_lock.d.ts.map +1 -1
- package/dist/market_adapter/utils/file_lock.js +89 -25
- package/dist/market_adapter/utils/file_lock.js.map +1 -1
- package/dist/market_adapter/utils/native_history.d.ts.map +1 -1
- package/dist/market_adapter/utils/native_history.js +5 -1
- package/dist/market_adapter/utils/native_history.js.map +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +47 -12
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/authority_resolver.js +1 -1
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/chain_client.js +1 -1
- package/dist/modules/bitshares-native/chain_client.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +0 -12
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
- package/dist/modules/bitshares-native/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/index.js +1 -1
- package/dist/modules/bitshares-native/index.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.js +1 -1
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
- package/dist/modules/bitshares-native/resolvers.d.ts +0 -2
- package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +18 -4
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/index.js +1 -1
- package/dist/modules/bitshares-native/serial/index.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +1 -1
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +1 -1
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +2 -2
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +5 -14
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.js +1 -1
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +1 -1
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts +3 -2
- package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +7 -4
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.js +10 -10
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +11 -18
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/bots_file_lock.d.ts +1 -1
- package/dist/modules/bots_file_lock.js +1 -1
- package/dist/modules/broadcast_failure.d.ts +13 -0
- package/dist/modules/broadcast_failure.d.ts.map +1 -1
- package/dist/modules/broadcast_failure.js +0 -13
- package/dist/modules/broadcast_failure.js.map +1 -1
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +15 -17
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.js +1 -1
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +21 -20
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +60 -63
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.d.ts +1 -7
- package/dist/modules/cr_planner.d.ts.map +1 -1
- package/dist/modules/cr_planner.js +3 -77
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +0 -4
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +17 -2
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts +0 -7
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +21 -60
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/index.d.ts +0 -2
- package/dist/modules/crypto/index.d.ts.map +1 -1
- package/dist/modules/crypto/index.js +0 -2
- package/dist/modules/crypto/index.js.map +1 -1
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/daemon_node_health.js +1 -1
- package/dist/modules/daemon_node_health.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +8 -134
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +36 -197
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_credential_client.js +1 -1
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +3 -6
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +6 -34
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +27 -19
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +31 -15
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +2 -2
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +9 -6
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +19 -4
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/general_settings.d.ts +1 -2
- package/dist/modules/general_settings.d.ts.map +1 -1
- package/dist/modules/general_settings.js +1 -2
- package/dist/modules/general_settings.js.map +1 -1
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +10 -1
- package/dist/modules/graceful_shutdown.js.map +1 -1
- package/dist/modules/grid_price_source.d.ts +19 -0
- package/dist/modules/grid_price_source.d.ts.map +1 -0
- package/dist/modules/grid_price_source.js +23 -0
- package/dist/modules/grid_price_source.js.map +1 -0
- package/dist/modules/key_store.d.ts +0 -5
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +1 -14
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +9 -19
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/child_env.d.ts +1 -2
- package/dist/modules/launcher/child_env.d.ts.map +1 -1
- package/dist/modules/launcher/child_env.js +1 -1
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +2 -14
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +3 -14
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +3 -2
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +0 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +3 -18
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +4 -5
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.js +1 -1
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/launcher/supervisor_control.js +1 -1
- package/dist/modules/launcher/supervisor_control.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.d.ts +2 -2
- package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +12 -6
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/node_failure_ledger.d.ts +23 -0
- package/dist/modules/node_failure_ledger.d.ts.map +1 -1
- package/dist/modules/node_failure_ledger.js +0 -23
- package/dist/modules/node_failure_ledger.js.map +1 -1
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +3 -3
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.js +1 -1
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +6 -0
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +11 -0
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/export.d.ts +1 -1
- package/dist/modules/order/export.js +10 -10
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +1 -0
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +0 -6
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +2 -12
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +40 -27
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts +1 -1
- package/dist/modules/order/grid_reconcile.js +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +1 -1
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/logger.d.ts +3 -0
- package/dist/modules/order/logger.d.ts.map +1 -1
- package/dist/modules/order/logger.js +22 -13
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts +4 -9
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +5 -14
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/manager.d.ts +1 -4
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +34 -33
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/processed_fill_store.d.ts.map +1 -1
- package/dist/modules/order/processed_fill_store.js +9 -3
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/strategy.d.ts +6 -4
- package/dist/modules/order/strategy.d.ts.map +1 -1
- package/dist/modules/order/strategy.js +6 -4
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.js +7 -7
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +29 -3
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +54 -10
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +14 -2
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +3 -8
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +14 -4
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.js +1 -1
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/path_api.js +1 -1
- package/dist/modules/path_api.js.map +1 -1
- package/dist/modules/paths.d.ts +1 -7
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +1 -1
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/process_discovery.d.ts +3 -0
- package/dist/modules/process_discovery.d.ts.map +1 -1
- package/dist/modules/process_discovery.js +15 -1
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/runtime_settings.js +1 -1
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.d.ts +5 -1
- package/dist/modules/settings_merge.d.ts.map +1 -1
- package/dist/modules/settings_merge.js +14 -3
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/socket_json_client.d.ts.map +1 -1
- package/dist/modules/socket_json_client.js +12 -2
- package/dist/modules/socket_json_client.js.map +1 -1
- package/dist/modules/storage/browser_adapter.d.ts.map +1 -1
- package/dist/modules/storage/browser_adapter.js +5 -3
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/storage/index.d.ts +1 -1
- package/dist/modules/storage/index.js +1 -1
- package/dist/modules/types.d.ts +1 -1
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +6 -8
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +2 -3
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-git.d.ts +1 -1
- package/dist/scripts/analyze-git.js +1 -1
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +61 -18
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/diagnose-pool-history.js +1 -1
- package/dist/scripts/divergence-calc.d.ts +1 -1
- package/dist/scripts/divergence-calc.js +3 -3
- package/dist/scripts/native_release_gates.js +4 -2
- package/dist/scripts/native_release_gates.js.map +1 -1
- package/dist/scripts/print_grid.d.ts +1 -1
- package/dist/scripts/print_grid.js +1 -1
- package/dist/scripts/run-tests.js +38 -19
- package/dist/scripts/run-tests.js.map +1 -1
- package/dist/scripts/runner.d.ts +3 -5
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +3 -5
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/sync-version.d.ts +2 -2
- package/dist/scripts/sync-version.js +7 -4
- package/dist/scripts/sync-version.js.map +1 -1
- package/dist/scripts/update.d.ts +1 -1
- package/dist/scripts/update.js +1 -1
- package/dist/scripts/validate_bots.d.ts +1 -1
- package/dist/scripts/validate_bots.js +1 -1
- package/dist/scripts/verify-browser-bundle.d.ts +1 -1
- package/dist/scripts/verify-browser-bundle.js +1 -1
- package/dist/unlock.js +4 -4
- package/dist/unlock.js.map +1 -1
- package/docs/BITSHARES_ONBOARDING.md +15 -10
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +9 -9
- package/docs/DEXBOT_COMPARISON.md +19 -19
- package/docs/EVOLUTION.md +18 -44
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
- package/docs/GRID_RECALCULATION.md +1 -1
- package/docs/README.md +3 -3
- package/docs/architecture.md +5 -5
- package/docs/developer_guide.md +6 -6
- package/market_adapter/README.md +13 -8
- package/package.json +22 -14
- package/scripts/README.md +33 -7
- package/scripts/clean-dist.js +10 -2
- package/tests/README.md +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
* Pure numeric calculations, blockchain conversions, fee math, and fund allocation.
|
|
5
5
|
*
|
|
6
6
|
* ===============================================================================
|
|
7
|
-
* TABLE OF CONTENTS (
|
|
7
|
+
* TABLE OF CONTENTS (44 exported functions)
|
|
8
8
|
* ===============================================================================
|
|
9
9
|
*
|
|
10
|
-
* SECTION 1: PARSING & VALIDATION (
|
|
10
|
+
* SECTION 1: PARSING & VALIDATION (6 functions)
|
|
11
11
|
* - isExplicitZeroAllocation(value) - Check if value is explicitly zero
|
|
12
12
|
* - isPercentageString(v) - Check if value is percentage string
|
|
13
13
|
* - parsePercentageString(v) - Parse percentage string to decimal
|
|
14
|
+
* - parseRelativeMultiplier(value) - Parse "3x" multiplier syntax to number
|
|
14
15
|
* - resolveRelativePrice(value, startPrice, mode) - Resolve relative price values
|
|
16
|
+
* - validateGridPriceBounds(min, max, center) - Reject bounds not bracketing center
|
|
15
17
|
*
|
|
16
18
|
* SECTION 2: FUND CALCULATIONS (4 functions)
|
|
17
19
|
* - computeChainFundTotals(accountTotals, committedChain) - Compute total funds
|
|
@@ -121,6 +123,15 @@ declare function parsePercentageString(v: any): number | null;
|
|
|
121
123
|
* @returns {number} Decimal value, 0 if unparseable
|
|
122
124
|
*/
|
|
123
125
|
declare function toDecimal(value: any): number;
|
|
126
|
+
/**
|
|
127
|
+
* Parse a relative multiplier expression (e.g. "3x", " 1.5X ").
|
|
128
|
+
* Single source of truth for the x-multiplier syntax, shared by price-bound
|
|
129
|
+
* resolution and the bot editor UI.
|
|
130
|
+
*
|
|
131
|
+
* @param {*} value - Candidate value
|
|
132
|
+
* @returns {number|null} Multiplier number, or null if not a valid expression
|
|
133
|
+
*/
|
|
134
|
+
declare function parseRelativeMultiplier(value: any): number | null;
|
|
124
135
|
/**
|
|
125
136
|
* Resolve a relative price expression (multiplier format) to absolute price.
|
|
126
137
|
* Supports expressions like "3x" to mean 3 times the reference price.
|
|
@@ -131,6 +142,21 @@ declare function toDecimal(value: any): number;
|
|
|
131
142
|
* @returns {number|null} Resolved price or null if value is not a relative expression
|
|
132
143
|
*/
|
|
133
144
|
declare function resolveRelativePrice(value: any, startPrice: any, mode?: any): number | null;
|
|
145
|
+
/**
|
|
146
|
+
* Validate that resolved price bounds strictly bracket the grid center.
|
|
147
|
+
*
|
|
148
|
+
* x-multiplier min semantics are divisor-based ("Nx" => center/N), so a
|
|
149
|
+
* multiplier < 1 yields a lower bound ABOVE the center — a geometrically
|
|
150
|
+
* broken grid whose entire buy rail sits above market. The bot previously
|
|
151
|
+
* silently clamped startPrice into this broken window and traded anyway
|
|
152
|
+
* (see issue #15). We fail closed here instead.
|
|
153
|
+
*
|
|
154
|
+
* @param {number} minPrice - Resolved lower bound
|
|
155
|
+
* @param {number} maxPrice - Resolved upper bound
|
|
156
|
+
* @param {number} centerPrice - Grid center used as the multiplier reference
|
|
157
|
+
* @throws {Error} If bounds do not strictly bracket the center
|
|
158
|
+
*/
|
|
159
|
+
declare function validateGridPriceBounds(minPrice: any, maxPrice: any, centerPrice: any): void;
|
|
134
160
|
/**
|
|
135
161
|
* Calculate chain fund totals from account balances and committed orders.
|
|
136
162
|
* Reconciles free/locked balances with committed capital to produce fund summary.
|
|
@@ -847,7 +873,7 @@ declare function countGapBandSpread(manager: any, orders: Iterable<any>, resolve
|
|
|
847
873
|
* geometry cannot be determined), false when it sits outside the rail.
|
|
848
874
|
*/
|
|
849
875
|
declare function isSlotInRail(boundaryIdx: any, gapSlots: any, orderType: any, slot: any): boolean;
|
|
850
|
-
export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
|
|
876
|
+
export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, parseRelativeMultiplier, validateGridPriceBounds, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
|
|
851
877
|
/**
|
|
852
878
|
* Round a value to a given factor.
|
|
853
879
|
* @param {number} value - Value to round
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
* Pure numeric calculations, blockchain conversions, fee math, and fund allocation.
|
|
5
5
|
*
|
|
6
6
|
* ===============================================================================
|
|
7
|
-
* TABLE OF CONTENTS (
|
|
7
|
+
* TABLE OF CONTENTS (44 exported functions)
|
|
8
8
|
* ===============================================================================
|
|
9
9
|
*
|
|
10
|
-
* SECTION 1: PARSING & VALIDATION (
|
|
10
|
+
* SECTION 1: PARSING & VALIDATION (6 functions)
|
|
11
11
|
* - isExplicitZeroAllocation(value) - Check if value is explicitly zero
|
|
12
12
|
* - isPercentageString(v) - Check if value is percentage string
|
|
13
13
|
* - parsePercentageString(v) - Parse percentage string to decimal
|
|
14
|
+
* - parseRelativeMultiplier(value) - Parse "3x" multiplier syntax to number
|
|
14
15
|
* - resolveRelativePrice(value, startPrice, mode) - Resolve relative price values
|
|
16
|
+
* - validateGridPriceBounds(min, max, center) - Reject bounds not bracketing center
|
|
15
17
|
*
|
|
16
18
|
* SECTION 2: FUND CALCULATIONS (4 functions)
|
|
17
19
|
* - computeChainFundTotals(accountTotals, committedChain) - Compute total funds
|
|
@@ -179,6 +181,21 @@ function toDecimal(value) {
|
|
|
179
181
|
}
|
|
180
182
|
return 0;
|
|
181
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Parse a relative multiplier expression (e.g. "3x", " 1.5X ").
|
|
186
|
+
* Single source of truth for the x-multiplier syntax, shared by price-bound
|
|
187
|
+
* resolution and the bot editor UI.
|
|
188
|
+
*
|
|
189
|
+
* @param {*} value - Candidate value
|
|
190
|
+
* @returns {number|null} Multiplier number, or null if not a valid expression
|
|
191
|
+
*/
|
|
192
|
+
function parseRelativeMultiplier(value) {
|
|
193
|
+
if (typeof value === 'string' && /^[\s]*[0-9]+(?:\.[0-9]+)?x[\s]*$/i.test(value)) {
|
|
194
|
+
const m = parseFloat(value.trim().toLowerCase().slice(0, -1));
|
|
195
|
+
return Number.isNaN(m) ? null : m;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
182
199
|
/**
|
|
183
200
|
* Resolve a relative price expression (multiplier format) to absolute price.
|
|
184
201
|
* Supports expressions like "3x" to mean 3 times the reference price.
|
|
@@ -189,16 +206,43 @@ function toDecimal(value) {
|
|
|
189
206
|
* @returns {number|null} Resolved price or null if value is not a relative expression
|
|
190
207
|
*/
|
|
191
208
|
function resolveRelativePrice(value, startPrice, mode = 'min') {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (!Number.isNaN(multiplier) && Number.isFinite(startPrice) && multiplier !== 0) {
|
|
196
|
-
return mode === 'min' ? startPrice / multiplier : startPrice * multiplier;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
209
|
+
const multiplier = parseRelativeMultiplier(value);
|
|
210
|
+
if (multiplier !== null && Number.isFinite(startPrice) && multiplier !== 0) {
|
|
211
|
+
return mode === 'min' ? startPrice / multiplier : startPrice * multiplier;
|
|
199
212
|
}
|
|
200
213
|
return null;
|
|
201
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Validate that resolved price bounds strictly bracket the grid center.
|
|
217
|
+
*
|
|
218
|
+
* x-multiplier min semantics are divisor-based ("Nx" => center/N), so a
|
|
219
|
+
* multiplier < 1 yields a lower bound ABOVE the center — a geometrically
|
|
220
|
+
* broken grid whose entire buy rail sits above market. The bot previously
|
|
221
|
+
* silently clamped startPrice into this broken window and traded anyway
|
|
222
|
+
* (see issue #15). We fail closed here instead.
|
|
223
|
+
*
|
|
224
|
+
* @param {number} minPrice - Resolved lower bound
|
|
225
|
+
* @param {number} maxPrice - Resolved upper bound
|
|
226
|
+
* @param {number} centerPrice - Grid center used as the multiplier reference
|
|
227
|
+
* @throws {Error} If bounds do not strictly bracket the center
|
|
228
|
+
*/
|
|
229
|
+
function validateGridPriceBounds(minPrice, maxPrice, centerPrice) {
|
|
230
|
+
if (!Number.isFinite(minPrice) || !Number.isFinite(maxPrice)
|
|
231
|
+
|| !Number.isFinite(centerPrice) || centerPrice <= 0) {
|
|
232
|
+
return; // Non-finite/invalid prices are handled by other validators.
|
|
233
|
+
}
|
|
234
|
+
if (minPrice > centerPrice) {
|
|
235
|
+
throw new Error(`Geometrically broken grid: resolved minPrice ${minPrice} is above the grid center ${centerPrice}. ` +
|
|
236
|
+
`With min x-multiplier semantics "Nx" means center/N, so a multiplier < 1 (e.g. "0.7x" => ${centerPrice / 0.7}) ` +
|
|
237
|
+
`places the lower bound ABOVE the center. Use a numeric price below the center, or a multiplier > 1 ` +
|
|
238
|
+
`(e.g. "1.43x" for 70% of center).`);
|
|
239
|
+
}
|
|
240
|
+
if (maxPrice < centerPrice) {
|
|
241
|
+
throw new Error(`Geometrically broken grid: resolved maxPrice ${maxPrice} is below the grid center ${centerPrice}. ` +
|
|
242
|
+
`With max x-multiplier semantics "Nx" means center*N, so a multiplier < 1 (e.g. "0.7x" => ${centerPrice * 0.7}) ` +
|
|
243
|
+
`places the upper bound below the center. Use a numeric price above the center, or a multiplier > 1 for maxPrice.`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
202
246
|
// ================================================================================
|
|
203
247
|
// SECTION 2: FUND CALCULATIONS
|
|
204
248
|
// ================================================================================
|
|
@@ -1400,7 +1444,7 @@ function isSlotInRail(boundaryIdx, gapSlots, orderType, slot) {
|
|
|
1400
1444
|
return true;
|
|
1401
1445
|
return idx >= sellStartIdx;
|
|
1402
1446
|
}
|
|
1403
|
-
export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
|
|
1447
|
+
export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isSlotInRail, validateBoundaryCommit, validatePersistedBoundary, resolveGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, parseRelativeMultiplier, validateGridPriceBounds, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, quantumForPrecision, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
|
|
1404
1448
|
/**
|
|
1405
1449
|
* Round a value to a given factor.
|
|
1406
1450
|
* @param {number} value - Value to round
|