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,549 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* modules/order/grid.ts - Grid Engine
|
|
3
|
+
*
|
|
4
|
+
* Order grid creation, synchronization, and health management.
|
|
5
|
+
* Exports a single Grid class with static methods for grid operations.
|
|
6
|
+
*
|
|
7
|
+
* Manages the complete lifecycle of the order grid:
|
|
8
|
+
* - Creates geometric price grids with configurable spacing (increments)
|
|
9
|
+
* - Synchronizes grid state with blockchain and fund changes
|
|
10
|
+
* - Monitors grid health and handles spread corrections
|
|
11
|
+
* - Calculates order sizes and allocations based on funds
|
|
12
|
+
* - Detects and flags out-of-spread conditions
|
|
13
|
+
*
|
|
14
|
+
* ===============================================================================
|
|
15
|
+
* TABLE OF CONTENTS - Grid Class (25 static methods)
|
|
16
|
+
* ===============================================================================
|
|
17
|
+
*
|
|
18
|
+
* CONFIGURATION & CALCULATION (2 methods)
|
|
19
|
+
* 1. calculateGapSlots(incrementPercent, targetSpreadPercent) - Calculate spread gap size
|
|
20
|
+
* 2. getSizingContext(manager, side) - Get budget and sizing parameters (public wrapper)
|
|
21
|
+
*
|
|
22
|
+
* GRID SIZING & CONTEXT (1 method)
|
|
23
|
+
* 3. _getSizingContext(manager, side) - Get budget and sizing parameters (internal)
|
|
24
|
+
* Determines budget from allocated funds, deducts BTS fees if needed
|
|
25
|
+
*
|
|
26
|
+
* GRID CREATION (1 method)
|
|
27
|
+
* 4. createOrderGrid(config) - Create geometric price grid
|
|
28
|
+
* Returns price levels from minPrice to maxPrice with increment spacing
|
|
29
|
+
*
|
|
30
|
+
* ORDER CACHE MANAGEMENT (1 method - internal)
|
|
31
|
+
* 5. _clearOrderCachesLogic(manager) - Clear order caches (_ordersByType, _ordersByState)
|
|
32
|
+
*
|
|
33
|
+
* GRID LOADING & INITIALIZATION (2 methods - async)
|
|
34
|
+
* 6. loadGrid(manager, grid, boundaryIdx) - Load grid into manager orders
|
|
35
|
+
* 7. initializeGrid(manager) - Full grid initialization from config
|
|
36
|
+
*
|
|
37
|
+
* GRID RECALCULATION (1 method - async)
|
|
38
|
+
* 8. recalculateGrid(manager, opts) - Recalculate grid based on current state
|
|
39
|
+
*
|
|
40
|
+
* GRID STATE CHECKING (1 method)
|
|
41
|
+
* 9. checkAndUpdateGridIfNeeded(manager) - Check if grid needs update
|
|
42
|
+
*
|
|
43
|
+
* BLOCKCHAIN SYNCHRONIZATION (2 methods - async)
|
|
44
|
+
* 10. _recalculateGridOrderSizesFromBlockchain(manager, orderType) - Recalculate sizes from blockchain
|
|
45
|
+
* 11. updateGridFromBlockchainSnapshot(manager, orderType, fromBlockchainTimer) - Update grid from blockchain
|
|
46
|
+
*
|
|
47
|
+
* GRID COMPARISON (2 methods - async)
|
|
48
|
+
* 12. compareGrids(calculatedGrid, persistedGrid, manager) - Compare two grids
|
|
49
|
+
* Validates grid structure and reports divergence metrics
|
|
50
|
+
* 13. monitorDivergence(manager, calculatedGrid, persistedGrid) - Unified divergence check
|
|
51
|
+
* Runs ratio-based + RMS-based checks and returns combined result
|
|
52
|
+
*
|
|
53
|
+
* ON-CHAIN ORDER FETCHING (1 method - async)
|
|
54
|
+
* 14. _getOnChainOrders(manager) - Collect on-chain buy/sell orders from manager
|
|
55
|
+
*
|
|
56
|
+
* SPREAD MANAGEMENT (2 methods - async)
|
|
57
|
+
* 15. calculateCurrentSpread(manager) - Calculate current bid-ask spread
|
|
58
|
+
* 16. checkSpreadCondition(manager, BitShares, updateOrdersOnChainBatch) - Check and flag spread condition
|
|
59
|
+
*
|
|
60
|
+
* GRID HEALTH MONITORING (6 methods)
|
|
61
|
+
* 17. checkGridHealth(manager, updateOrdersOnChainBatch) - Monitor grid health (async)
|
|
62
|
+
* 18. checkWindowDust(manager) - Dust check scoped to the active buy/sell window (async)
|
|
63
|
+
* 19. _hasAnyDust(manager, partials, type) - Check for dust orders (internal)
|
|
64
|
+
* 20. hasAnyDust(manager, partials, side) - Check for dust orders (public)
|
|
65
|
+
* 21. getDustOrders(manager, partials, side) - Get all dust order IDs (public)
|
|
66
|
+
* 22. determineOrderSideByFunds(manager, currentMarketPrice) - Determine priority side
|
|
67
|
+
*
|
|
68
|
+
* SPREAD CORRECTION (2 methods)
|
|
69
|
+
* 23. calculateGeometricSizeForSpreadCorrection(manager, targetType) - Calculate correction size
|
|
70
|
+
* 24. prepareSpreadCorrectionOrders(manager, preferredSide) - Prepare correction orders
|
|
71
|
+
*
|
|
72
|
+
* DUST DETECTION (1 method - internal)
|
|
73
|
+
* 25. _getDustOrders(manager, partials, type) - Internal dust detection helper
|
|
74
|
+
*
|
|
75
|
+
* ===============================================================================
|
|
76
|
+
*
|
|
77
|
+
* GRID STRUCTURE:
|
|
78
|
+
* Grid = Array of slots with:
|
|
79
|
+
* - id: Order ID (null for virtual)
|
|
80
|
+
* - price: Price level
|
|
81
|
+
* - size: Grid allocation
|
|
82
|
+
* - grid: In-grid size (ACTIVE + PARTIAL orders)
|
|
83
|
+
* - blockchain: On-blockchain size
|
|
84
|
+
* - type: BUY, SELL, or SPREAD
|
|
85
|
+
* - state: VIRTUAL, ACTIVE, PARTIAL
|
|
86
|
+
*
|
|
87
|
+
* GRID LIFECYCLE:
|
|
88
|
+
* 1. createOrderGrid(config) - Generate price levels
|
|
89
|
+
* 2. assignGridRoles() - Assign BUY/SELL/SPREAD roles based on boundary
|
|
90
|
+
* 3. calculateOrderSizes() - Allocate funds to slots
|
|
91
|
+
* 4. loadGrid() - Create grid Order objects in manager
|
|
92
|
+
* 5. syncFromOpenOrders() - Load blockchain state
|
|
93
|
+
* 6. recalculateGrid() - Keep in sync as market/funds change
|
|
94
|
+
*
|
|
95
|
+
* ===============================================================================
|
|
96
|
+
*/
|
|
97
|
+
declare class Grid {
|
|
98
|
+
/**
|
|
99
|
+
* Calculate the spread gap size (number of empty slots between BUY and SELL rails).
|
|
100
|
+
* Delegates to utils/math for pure calculation logic.
|
|
101
|
+
*
|
|
102
|
+
* @param {number} incrementPercent
|
|
103
|
+
* @param {number} targetSpreadPercent
|
|
104
|
+
* @returns {number}
|
|
105
|
+
*/
|
|
106
|
+
static calculateGapSlots(incrementPercent: any, targetSpreadPercent: any, gridLimitsOverride?: Record<string, any>): any;
|
|
107
|
+
/**
|
|
108
|
+
* Public wrapper for side sizing context.
|
|
109
|
+
* Keeps StrategyEngine decoupled from Grid private internals.
|
|
110
|
+
*
|
|
111
|
+
* @param {import('./types').OrderManager} manager
|
|
112
|
+
* @param {'buy'|'sell'} side
|
|
113
|
+
* @returns {Promise<import('./types').SizingContext|null>}
|
|
114
|
+
*/
|
|
115
|
+
static getSizingContext(manager: any, side: any): Promise<{
|
|
116
|
+
budget: any;
|
|
117
|
+
precision: any;
|
|
118
|
+
config: any;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Unifies budget calculation and fee deduction for all grid sizing scenarios.
|
|
122
|
+
* Ensures consistent fund context (Allocated vs Total) across the bot.
|
|
123
|
+
*
|
|
124
|
+
* @param {import('./types').OrderManager} manager - OrderManager instance
|
|
125
|
+
* @param {string} side - 'buy' or 'sell'
|
|
126
|
+
* @returns {Promise<import('./types').SizingContext|null>}
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
static _getSizingContext(manager: any, side: any, { skipRecalc }?: {
|
|
130
|
+
skipRecalc?: boolean;
|
|
131
|
+
}): Promise<{
|
|
132
|
+
budget: any;
|
|
133
|
+
precision: any;
|
|
134
|
+
config: any;
|
|
135
|
+
}>;
|
|
136
|
+
/**
|
|
137
|
+
* Create the initial order grid structure based on configuration.
|
|
138
|
+
*
|
|
139
|
+
* ALGORITHM: Geometric Grid Creation with Fixed Spread Gap
|
|
140
|
+
* =========================================================
|
|
141
|
+
* This method generates a unified "Master Rail" of price levels with geometric spacing.
|
|
142
|
+
* The grid is centered around startPrice with a fixed-size spread gap.
|
|
143
|
+
*
|
|
144
|
+
* KEY CONCEPTS:
|
|
145
|
+
* - Geometric Spacing: Each price level is incrementPercent% away from neighbors
|
|
146
|
+
* - Master Rail: Single unified array (not separate buy/sell rails)
|
|
147
|
+
* - Spread Gap: Fixed-size buffer between best buy and best sell
|
|
148
|
+
* - Role Assignment: BUY / SPREAD / SELL based on position relative to startPrice
|
|
149
|
+
*
|
|
150
|
+
* SPREAD GAP FORMULA:
|
|
151
|
+
* ===================
|
|
152
|
+
* The spread gap size is calculated to match the target spread percentage:
|
|
153
|
+
*
|
|
154
|
+
* 1. Step Factor (s): s = 1 + (incrementPercent / 100)
|
|
155
|
+
* Example: If incrementPercent = 0.5%, then s = 1.005
|
|
156
|
+
*
|
|
157
|
+
* 2. Minimum Spread: minSpread = incrementPercent × MIN_SPREAD_FACTOR
|
|
158
|
+
* This ensures spread is at least 2× the increment (prevents too-narrow spread)
|
|
159
|
+
*
|
|
160
|
+
* 3. Target Steps (n): Number of price levels needed to achieve target spread
|
|
161
|
+
* Formula: n = ceil(ln(1 + targetSpread/100) / ln(s))
|
|
162
|
+
*
|
|
163
|
+
* Derivation: If we want price to grow by targetSpread% over n steps:
|
|
164
|
+
* - Final price = startPrice × s^n
|
|
165
|
+
* - Growth factor = (1 + targetSpread/100)
|
|
166
|
+
* - Therefore: s^n = (1 + targetSpread/100)
|
|
167
|
+
* - Taking ln: n × ln(s) = ln(1 + targetSpread/100)
|
|
168
|
+
* - Solving: n = ln(1 + targetSpread/100) / ln(s)
|
|
169
|
+
*
|
|
170
|
+
* 4. Gap Slots (G): G = max(MIN_SPREAD_ORDERS, n)
|
|
171
|
+
* Ensures at least MIN_SPREAD_ORDERS slots even if target spread is small
|
|
172
|
+
*
|
|
173
|
+
* EXAMPLE:
|
|
174
|
+
* --------
|
|
175
|
+
* incrementPercent = 0.5%, targetSpread = 2%
|
|
176
|
+
* - s = 1.005
|
|
177
|
+
* - minSpread = 0.5% × 2 = 1%
|
|
178
|
+
* - targetSpread = max(2%, 1%) = 2%
|
|
179
|
+
* - n = ceil(ln(1.02) / ln(1.005)) = ceil(3.98) = 4 steps
|
|
180
|
+
* - G = max(2, 4) = 4 slots
|
|
181
|
+
*
|
|
182
|
+
* @param {import('./types').GridConfig} config - Grid configuration
|
|
183
|
+
* @returns {import('./types').GridCreationResult}
|
|
184
|
+
*/
|
|
185
|
+
static createOrderGrid(config: any): {
|
|
186
|
+
orders: any;
|
|
187
|
+
boundaryIdx: any;
|
|
188
|
+
initialSpreadCount: {
|
|
189
|
+
buy: number;
|
|
190
|
+
sell: number;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Internal utility to clear all order-related manager caches.
|
|
195
|
+
* Prevents stale references during grid reinitialization.
|
|
196
|
+
* RC-2: Synchronized to prevent concurrent modifications during clear
|
|
197
|
+
*
|
|
198
|
+
* Note: Uses explicit assignment instead of .clear() to enforce COW semantics:
|
|
199
|
+
* - Replace the master grid atomically with a fresh Map instance
|
|
200
|
+
* - Avoid mutating any previously referenced Map object
|
|
201
|
+
* @param {import('./types').OrderManager} manager - OrderManager instance
|
|
202
|
+
* @private
|
|
203
|
+
*/
|
|
204
|
+
static _clearOrderCachesLogic(manager: any): void;
|
|
205
|
+
/**
|
|
206
|
+
* Restore a persisted grid snapshot onto a manager instance.
|
|
207
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
208
|
+
* @param {Array<import('./types').GridOrderSlot>} grid - The persisted grid array.
|
|
209
|
+
* @param {number|null} [boundaryIdx=null] - The master boundary index.
|
|
210
|
+
* @returns {Promise<void>}
|
|
211
|
+
*/
|
|
212
|
+
static loadGrid(manager: any, grid: any, boundaryIdx?: any): Promise<any>;
|
|
213
|
+
/**
|
|
214
|
+
* Initialize the order grid with blockchain-aware sizing.
|
|
215
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
216
|
+
* @returns {Promise<void>}
|
|
217
|
+
* @throws {Error} If initialization fails or account totals are missing.
|
|
218
|
+
*/
|
|
219
|
+
static initializeGrid(manager: any): Promise<void>;
|
|
220
|
+
/**
|
|
221
|
+
* Full grid resynchronization from blockchain state.
|
|
222
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
223
|
+
* @param {Object} opts - Options for resynchronization.
|
|
224
|
+
* @param {Function} opts.readOpenOrdersFn - Function to read open orders.
|
|
225
|
+
* @param {Object} opts.chainOrders - Chain orders module.
|
|
226
|
+
* @param {string} opts.account - Account name.
|
|
227
|
+
* @param {string} opts.privateKey - Private key.
|
|
228
|
+
* @returns {Promise<void>}
|
|
229
|
+
*/
|
|
230
|
+
static recalculateGrid(manager: any, opts: any): Promise<void>;
|
|
231
|
+
/**
|
|
232
|
+
* Check for grid divergence and trigger update if threshold is met.
|
|
233
|
+
*
|
|
234
|
+
* @param {import('./types').OrderManager} manager - Manager instance with order state
|
|
235
|
+
* @returns {import('./types').SideUpdateFlags}
|
|
236
|
+
*/
|
|
237
|
+
static checkAndUpdateGridIfNeeded(manager: any): {
|
|
238
|
+
buyUpdated: boolean;
|
|
239
|
+
sellUpdated: boolean;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Standardize grid sizes using blockchain total context.
|
|
243
|
+
*
|
|
244
|
+
* FUND CAPPING STRATEGY:
|
|
245
|
+
* =====================
|
|
246
|
+
* During grid regeneration (e.g., after fills increase available funds),
|
|
247
|
+
* this method recalculates all order sizes using geometric weighting.
|
|
248
|
+
* However, ACTIVE/PARTIAL orders must not grow larger than currently available funds.
|
|
249
|
+
*
|
|
250
|
+
* Rationale for capping:
|
|
251
|
+
* 1. POST-FILL EXPANSION PREVENTION: After a large fill, funds become available.
|
|
252
|
+
* A naive size recalculation might expand orders, consuming all new capital.
|
|
253
|
+
* Capping prevents this "resize explosion" by limiting growth to available free balance.
|
|
254
|
+
* 2. VIRTUAL ORDER PROTECTION: Virtual orders (not yet placed) are uncapped,
|
|
255
|
+
* allowing natural expansion when their slot comes up for placement.
|
|
256
|
+
* 3. BLOCKCHAIN-BACKED CONSTRAINT: sideFreeAvailable tracks exactly what we can spend,
|
|
257
|
+
* decreasing as commitments grow (proportional to realized delta).
|
|
258
|
+
*
|
|
259
|
+
* Fund Capping Algorithm:
|
|
260
|
+
* ========================
|
|
261
|
+
* For each ACTIVE/PARTIAL order slot:
|
|
262
|
+
* 1. Calculate new size from geometric series
|
|
263
|
+
* 2. If delta > 0 (growth):
|
|
264
|
+
* - affordableDelta = min(delta, sideFreeAvailable)
|
|
265
|
+
* - Cap growth to what we actually have: newSize = currentSize + affordableDelta
|
|
266
|
+
* - Deduct from sideFreeAvailable (this spending is now committed)
|
|
267
|
+
* 3. If delta < 0 (shrinkage):
|
|
268
|
+
* - Release the freed capital back to sideFreeAvailable
|
|
269
|
+
* - Allows later slots to grow into this freed capacity
|
|
270
|
+
* 4. For VIRTUAL orders (not on-chain):
|
|
271
|
+
* - Apply new size directly (no capping)
|
|
272
|
+
* - They will be constrained when actually placed
|
|
273
|
+
*
|
|
274
|
+
* Example (2 slots, buy side, budget=1000, simplify to linear):
|
|
275
|
+
* ========================================================
|
|
276
|
+
* Initial: slot[0]=400 (ACTIVE), slot[1]=0 (VIRTUAL), sideFree=600
|
|
277
|
+
* Recalc: newSizes=[500, 500]
|
|
278
|
+
*
|
|
279
|
+
* Process slot[0]:
|
|
280
|
+
* - Type: ACTIVE, current=400, new=500, delta=+100
|
|
281
|
+
* - affordableDelta = min(100, 600) = 100
|
|
282
|
+
* - Apply: size=500 (full growth), sideFree=500
|
|
283
|
+
*
|
|
284
|
+
* Process slot[1]:
|
|
285
|
+
* - Type: VIRTUAL (not capped), current=0, new=500, delta=+500
|
|
286
|
+
* - Apply: size=500 (no cap check)
|
|
287
|
+
* - Result: slot[1] ready for placement, will consume from sideFree when placed
|
|
288
|
+
*
|
|
289
|
+
* @param {import('./types').OrderManager} manager - OrderManager instance
|
|
290
|
+
* @param {string} orderType - ORDER_TYPES.BUY or ORDER_TYPES.SELL
|
|
291
|
+
* @param {Object} [options] - Options object
|
|
292
|
+
* @param {import('./working_grid')} [options.workingGrid] - Working grid for COW pattern
|
|
293
|
+
* @returns {Promise<{actions: Array, changed: boolean}|undefined>} - COW result or undefined
|
|
294
|
+
* @private
|
|
295
|
+
*/
|
|
296
|
+
static _recalculateGridOrderSizesFromBlockchain(manager: any, orderType: any, options?: {
|
|
297
|
+
workingGrid?: any;
|
|
298
|
+
}): Promise<{
|
|
299
|
+
actions: any[];
|
|
300
|
+
changed: boolean;
|
|
301
|
+
}>;
|
|
302
|
+
/**
|
|
303
|
+
* High-level entry for resizing grid from snapshot using COW pattern.
|
|
304
|
+
* Creates working grid, calculates new sizes, generates UPDATE actions.
|
|
305
|
+
* Master grid is only updated after successful blockchain confirmation.
|
|
306
|
+
*
|
|
307
|
+
* @param {import('./types').OrderManager} manager - Manager instance
|
|
308
|
+
* @param {string} orderType - 'buy', 'sell', or 'both' - which sides to update
|
|
309
|
+
* @param {boolean} [fromBlockchainTimer=false] - If true, skip refetch of account totals (already current)
|
|
310
|
+
* @param {number|null} [overrideBoundaryIdx=null] - Optional override for boundary index
|
|
311
|
+
* @returns {Promise<{actions: Array, workingGrid: import('./working_grid'), workingIndexes: Object, workingBoundary: number, hasWorkingChanges: boolean, aborted: boolean}|null>}
|
|
312
|
+
*/
|
|
313
|
+
static updateGridFromBlockchainSnapshot(manager: any, orderType?: string, fromBlockchainTimer?: boolean, overrideBoundaryIdx?: any): Promise<{
|
|
314
|
+
actions: any[];
|
|
315
|
+
workingGrid: any;
|
|
316
|
+
workingIndexes: any;
|
|
317
|
+
workingBoundary: any;
|
|
318
|
+
hasWorkingChanges: boolean;
|
|
319
|
+
aborted: boolean;
|
|
320
|
+
}>;
|
|
321
|
+
/**
|
|
322
|
+
* Compare ideal grid vs persisted grid to detect divergence.
|
|
323
|
+
* INDEPENDENT SIDE CHECKING: Buy and sell sides are evaluated independently.
|
|
324
|
+
* Each side's RMS divergence is compared against its own threshold.
|
|
325
|
+
* Only sides exceeding the threshold are marked for update.
|
|
326
|
+
*
|
|
327
|
+
* PURPOSE: Detect if the calculated in-memory grid has diverged significantly from the
|
|
328
|
+
* persisted grid state. High divergence indicates that order fills/rotations have caused
|
|
329
|
+
* size distributions to deviate, potentially requiring grid size recalculation.
|
|
330
|
+
*
|
|
331
|
+
* METRIC: RMS (Root Mean Square) percentage of relative size differences
|
|
332
|
+
* Formula: RMS% = sqrt(mean((calculated - persisted) / persisted)²) × 100
|
|
333
|
+
* This measures the typical relative error across all orders on each side.
|
|
334
|
+
*
|
|
335
|
+
* SIDE INDEPENDENCE:
|
|
336
|
+
* - Buy side RMS is checked against GRID_COMPARISON.RMS_PERCENTAGE independently
|
|
337
|
+
* - Sell side RMS is checked against GRID_COMPARISON.RMS_PERCENTAGE independently
|
|
338
|
+
* - One side can diverge while the other remains stable (no update for stable side)
|
|
339
|
+
*
|
|
340
|
+
* RC-4: Atomic snapshot taking prevents stale data from concurrent fill operations
|
|
341
|
+
* - Grids are snapshotted atomically before comparison
|
|
342
|
+
* - Prevents mixing old and new grid state
|
|
343
|
+
* - Ensures consistent RMS metrics across both sides
|
|
344
|
+
*
|
|
345
|
+
* @param {Array<import('./types').GridOrderSlot>} calculatedGrid - Ideal calculated grid
|
|
346
|
+
* @param {Array<import('./types').GridOrderSlot>} persistedGrid - Persisted grid state
|
|
347
|
+
* @param {import('./types').OrderManager|null} [manager=null] - Manager instance (for grid lock access)
|
|
348
|
+
* @returns {Promise<import('./types').GridComparisonResult>}
|
|
349
|
+
*/
|
|
350
|
+
static compareGrids(calculatedGrid: any, persistedGrid: any, manager?: any): Promise<{
|
|
351
|
+
buy: {
|
|
352
|
+
metric: number;
|
|
353
|
+
updated: boolean;
|
|
354
|
+
};
|
|
355
|
+
sell: {
|
|
356
|
+
metric: number;
|
|
357
|
+
updated: boolean;
|
|
358
|
+
};
|
|
359
|
+
totalMetric?: undefined;
|
|
360
|
+
} | {
|
|
361
|
+
buy: {
|
|
362
|
+
metric: any;
|
|
363
|
+
updated: boolean;
|
|
364
|
+
};
|
|
365
|
+
sell: {
|
|
366
|
+
metric: any;
|
|
367
|
+
updated: boolean;
|
|
368
|
+
};
|
|
369
|
+
totalMetric: number;
|
|
370
|
+
}>;
|
|
371
|
+
/**
|
|
372
|
+
* Unified divergence monitoring.
|
|
373
|
+
* Performs both Ratio-based and RMS-based divergence checks.
|
|
374
|
+
*
|
|
375
|
+
* @param {import('./types').OrderManager} manager - Manager instance
|
|
376
|
+
* @param {Array<import('./types').GridOrderSlot>} calculatedGrid - Ideal/calculated grid
|
|
377
|
+
* @param {Array<import('./types').GridOrderSlot>} persistedGrid - Current/persisted grid
|
|
378
|
+
* @returns {Promise<import('./types').DivergenceResult>}
|
|
379
|
+
*/
|
|
380
|
+
static monitorDivergence(manager: any, calculatedGrid: any, persistedGrid: any): Promise<{
|
|
381
|
+
needsUpdate: boolean;
|
|
382
|
+
buy: {
|
|
383
|
+
updated: boolean;
|
|
384
|
+
ratio: boolean;
|
|
385
|
+
rms: boolean;
|
|
386
|
+
metric: any;
|
|
387
|
+
};
|
|
388
|
+
sell: {
|
|
389
|
+
updated: boolean;
|
|
390
|
+
ratio: boolean;
|
|
391
|
+
rms: boolean;
|
|
392
|
+
metric: any;
|
|
393
|
+
};
|
|
394
|
+
orderType: any;
|
|
395
|
+
}>;
|
|
396
|
+
/**
|
|
397
|
+
* Collect on-chain buy and sell orders from the manager.
|
|
398
|
+
* Filters to orders with valid orderId and positive size.
|
|
399
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
400
|
+
* @returns {{onChainBuys: Array<import('./types').Order>, onChainSells: Array<import('./types').Order>}}
|
|
401
|
+
*/
|
|
402
|
+
static _getOnChainOrders(manager: any): {
|
|
403
|
+
onChainBuys: any[];
|
|
404
|
+
onChainSells: any[];
|
|
405
|
+
};
|
|
406
|
+
/**
|
|
407
|
+
* Calculate current market spread using on-chain orders.
|
|
408
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
409
|
+
* @returns {number} The calculated spread percentage.
|
|
410
|
+
*/
|
|
411
|
+
static calculateCurrentSpread(manager: any): any;
|
|
412
|
+
/**
|
|
413
|
+
* Proactive spread correction check.
|
|
414
|
+
*
|
|
415
|
+
* CRITICAL: Uses AsyncLock to prevent race conditions with fill processing.
|
|
416
|
+
* Without the lock, a TOCTOU (Time-Of-Check-To-Use) vulnerability exists where:
|
|
417
|
+
* - Fund snapshot is taken (check phase)
|
|
418
|
+
* - Fill processor modifies funds in another thread
|
|
419
|
+
* - Order is placed based on stale funds (use phase)
|
|
420
|
+
* Result: Orders placed beyond available liquidity, fund accounting errors
|
|
421
|
+
*
|
|
422
|
+
* DESIGN DECISION: Lock is released before blockchain operations for performance
|
|
423
|
+
* - Lock held: Fund verification and correction decision (synchronized)
|
|
424
|
+
* - Lock released: Blockchain submission (async, potentially slow)
|
|
425
|
+
* - RACE CONDITION WINDOW: Between lock release and blockchain submission
|
|
426
|
+
* - MITIGATION: Pre-flight fund verification before submission; comprehensive error handling
|
|
427
|
+
*
|
|
428
|
+
* See RACE_CONDITION_ANALYSIS.md for detailed vulnerability documentation.
|
|
429
|
+
*
|
|
430
|
+
* @param {import('./types').OrderManager} manager - Manager instance
|
|
431
|
+
* @param {Object} BitShares - BitShares API client
|
|
432
|
+
* @param {Function|null} [updateOrdersOnChainBatch=null] - Optional batch update function
|
|
433
|
+
* @returns {Promise<import('./types').SpreadCheckResult>}
|
|
434
|
+
*/
|
|
435
|
+
static checkSpreadCondition(manager: any, BitShares: any, updateOrdersOnChainBatch?: any): Promise<{
|
|
436
|
+
ordersPlaced: any;
|
|
437
|
+
partialsMoved: any;
|
|
438
|
+
}>;
|
|
439
|
+
/**
|
|
440
|
+
* Grid health check for structural violations.
|
|
441
|
+
* Monitors for "Dust Partials" that are too small to be traded on-chain,
|
|
442
|
+
* scoped to the active buy/sell window.
|
|
443
|
+
*
|
|
444
|
+
* NOTE: Internal gaps (virtual slots between active ones) are no longer
|
|
445
|
+
* flagged as violations. The "Edge-First" placement strategy intentionally
|
|
446
|
+
* creates these gaps to maximize grid coverage during fund expansion.
|
|
447
|
+
*
|
|
448
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
449
|
+
* @param {Function|null} [updateOrdersOnChainBatch=null] - Optional batch update function.
|
|
450
|
+
* @returns {Promise<import('./types').DustCheckResult>}
|
|
451
|
+
*/
|
|
452
|
+
static checkGridHealth(manager: any, updateOrdersOnChainBatch?: any): Promise<{
|
|
453
|
+
buyDust: boolean;
|
|
454
|
+
sellDust: boolean;
|
|
455
|
+
buyDustOrders: any;
|
|
456
|
+
sellDustOrders: any;
|
|
457
|
+
}>;
|
|
458
|
+
/**
|
|
459
|
+
* Dust check covering all partial orders, with interior-only guard.
|
|
460
|
+
*
|
|
461
|
+
* The top-of-window partial (closest to market) is always eligible for dust
|
|
462
|
+
* detection since cancelling it is just the grid edge moving inward.
|
|
463
|
+
*
|
|
464
|
+
* Interior partials (further from market) are only eligible if they have a
|
|
465
|
+
* duplicate price level — another active order at essentially the same price.
|
|
466
|
+
* Cancelling such an interior partial won't leave a gap in the grid because
|
|
467
|
+
* the sibling active order already covers that price level.
|
|
468
|
+
*
|
|
469
|
+
* Returns boolean flags plus the actual dust order objects so callers can act
|
|
470
|
+
* on individual orders (e.g. DUST_CANCEL_DELAY_SEC auto-cancel).
|
|
471
|
+
*
|
|
472
|
+
* @param {import('./types').OrderManager} manager
|
|
473
|
+
* @returns {Promise<import('./types').DustCheckResult>}
|
|
474
|
+
*/
|
|
475
|
+
static checkWindowDust(manager: any): Promise<{
|
|
476
|
+
buyDust: boolean;
|
|
477
|
+
sellDust: boolean;
|
|
478
|
+
buyDustOrders: any;
|
|
479
|
+
sellDustOrders: any;
|
|
480
|
+
}>;
|
|
481
|
+
/**
|
|
482
|
+
* Return the subset of partial orders that qualify as dust on a given side.
|
|
483
|
+
* Shares the same sizing context as _hasAnyDust but returns the actual order
|
|
484
|
+
* objects so callers can act on them (e.g. auto-cancel).
|
|
485
|
+
* @private
|
|
486
|
+
* @param {import('./types').OrderManager} manager
|
|
487
|
+
* @param {Array<import('./types').GridOrderSlot>} partials - Candidate partial orders to test.
|
|
488
|
+
* @param {string} type - ORDER_TYPES.BUY or ORDER_TYPES.SELL
|
|
489
|
+
* @returns {Promise<Array<import('./types').GridOrderSlot>>} Orders whose size is below the dust threshold.
|
|
490
|
+
*/
|
|
491
|
+
static _getDustOrders(manager: any, partials: any, type: any): Promise<any>;
|
|
492
|
+
/**
|
|
493
|
+
* Check if any partial orders on a side represent "dust" that should be cleaned.
|
|
494
|
+
* @param {import('./types').OrderManager} manager - Manager instance
|
|
495
|
+
* @param {Array<import('./types').GridOrderSlot>} partials - Partial orders to check
|
|
496
|
+
* @param {string} type - ORDER_TYPES.BUY or ORDER_TYPES.SELL
|
|
497
|
+
* @returns {Promise<boolean>} true if dust partials exist
|
|
498
|
+
* @private
|
|
499
|
+
*/
|
|
500
|
+
static _hasAnyDust(manager: any, partials: any, type: any): Promise<boolean>;
|
|
501
|
+
/**
|
|
502
|
+
* Public dust helper shared by StrategyEngine and Grid health checks.
|
|
503
|
+
* @param {import('./types').OrderManager} manager
|
|
504
|
+
* @param {Array<import('./types').GridOrderSlot>} partials
|
|
505
|
+
* @param {'buy'|'sell'} side
|
|
506
|
+
* @returns {Promise<boolean>}
|
|
507
|
+
*/
|
|
508
|
+
static hasAnyDust(manager: any, partials: any, side: any): Promise<boolean>;
|
|
509
|
+
/**
|
|
510
|
+
* Public dust helper that returns the subset of candidate partials currently below
|
|
511
|
+
* the configured dust threshold for the requested side.
|
|
512
|
+
* @param {import('./types').OrderManager} manager
|
|
513
|
+
* @param {Array<import('./types').GridOrderSlot>} partials
|
|
514
|
+
* @param {'buy'|'sell'} side
|
|
515
|
+
* @returns {Promise<Array<import('./types').GridOrderSlot>>}
|
|
516
|
+
*/
|
|
517
|
+
static getDustOrders(manager: any, partials: any, side: any): Promise<any>;
|
|
518
|
+
/**
|
|
519
|
+
* Determine which side has more available funds for spread correction.
|
|
520
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
521
|
+
* @param {number} currentMarketPrice - Last traded price in B/A format (e.g. BTS/XRP), used to
|
|
522
|
+
* normalize sell-side funds into buy-side units for a fair cross-asset comparison.
|
|
523
|
+
* @returns {{ side: import('./types').OrderType|null, reason: string }} The side to correct on, or null if insufficient funds.
|
|
524
|
+
*/
|
|
525
|
+
static determineOrderSideByFunds(manager: any, currentMarketPrice: any): {
|
|
526
|
+
side: any;
|
|
527
|
+
reason: string;
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* Calculate the geometric ideal size for a new order being placed during spread correction.
|
|
531
|
+
* @param {import('./types').OrderManager} manager - The manager instance.
|
|
532
|
+
* @param {import('./types').OrderType} targetType - The type of order being placed (ORDER_TYPES.BUY or ORDER_TYPES.SELL).
|
|
533
|
+
* @returns {Promise<number|null>} The calculated geometric size.
|
|
534
|
+
*/
|
|
535
|
+
static calculateGeometricSizeForSpreadCorrection(manager: any, targetType: any): Promise<any>;
|
|
536
|
+
/**
|
|
537
|
+
* Prepares one or more orders to correct a wide spread.
|
|
538
|
+
* @param {import('./types').OrderManager} manager - The OrderManager instance.
|
|
539
|
+
* @param {string} preferredSide - The side to place the correction on (ORDER_TYPES.BUY/SELL).
|
|
540
|
+
* @returns {Promise<import('./types').SpreadCorrectionResult>}
|
|
541
|
+
* @throws {Error} If preferredSide is invalid.
|
|
542
|
+
*/
|
|
543
|
+
static prepareSpreadCorrectionOrders(manager: any, preferredSide: any): Promise<{
|
|
544
|
+
ordersToPlace: any[];
|
|
545
|
+
ordersToUpdate: any[];
|
|
546
|
+
}>;
|
|
547
|
+
}
|
|
548
|
+
export = Grid;
|
|
549
|
+
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../modules/order/grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AA8DH,cAAM,IAAI;IACN;;;;;;;OAOG;IACH,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,KAAA,EAAE,mBAAmB,KAAA,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIxG;;;;;;;OAOG;WACU,gBAAgB,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;;;;;IAI3C;;;;;;;;OAQG;WACU,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAkB,EAAE,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO;;;;;IAkE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,KAAA;;;;;;;;IAiI7B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAO,KAAA;IAkBrC;;;;;;OAMG;WACU,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,WAAW,MAAO;IAgDvD;;;;;OAKG;WACU,cAAc,CAAC,OAAO,KAAA;IAySnC;;;;;;;;;OASG;WACU,eAAe,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;IA2C1C;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,KAAA;;;;IA8CzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;WACU,wCAAwC,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,GAAG,CAAA;KAAO;;;;IAkIvH;;;;;;;;;;OAUG;WACU,gCAAgC,CAAC,OAAO,KAAA,EAAE,SAAS,SAAS,EAAE,mBAAmB,UAAQ,EAAE,mBAAmB,MAAO;;;;;;;;IAqDlI;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACU,YAAY,CAAC,cAAc,KAAA,EAAE,aAAa,KAAA,EAAE,OAAO,MAAO;;;;;;;;;;;;;;;;;;;;;IAyHvE;;;;;;;;OAQG;WACU,iBAAiB,CAAC,OAAO,KAAA,EAAE,cAAc,KAAA,EAAE,aAAa,KAAA;;;;;;;;;;;;;;;;IA8BrE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,KAAA;;;;IAchC;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAO,KAAA;IAKrC;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACU,oBAAoB,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,wBAAwB,MAAO;;;;IAgGrF;;;;;;;;;;;;OAYG;WACU,eAAe,CAAC,OAAO,KAAA,EAAE,wBAAwB,MAAO;;;;;;IAiBrE;;;;;;;;;;;;;;;;OAgBG;WACU,eAAe,CAAC,OAAO,KAAA;;;;;;IA8DpC;;;;;;;;;OASG;WACU,cAAc,CAAC,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,IAAI,KAAA;IAkCnD;;;;;;;OAOG;WACU,WAAW,CAAC,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,IAAI,KAAA;IAIhD;;;;;;OAMG;WACU,UAAU,CAAC,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,IAAI,KAAA;IAM/C;;;;;;;OAOG;WACU,aAAa,CAAC,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,IAAI,KAAA;IAMlD;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAAC,OAAO,KAAA,EAAE,kBAAkB,KAAA;;;;IA8E5D;;;;;OAKG;WACU,yCAAyC,CAAC,OAAO,KAAA,EAAE,UAAU,KAAA;IAgC1E;;;;;;OAMG;WACU,6BAA6B,CAAC,OAAO,KAAA,EAAE,aAAa,KAAA;;;;CA2OpE;AAED,SAAS,IAAI,CAAC"}
|