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,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* modules/general_settings.ts - General Application Settings
|
|
4
|
+
*
|
|
5
|
+
* Centralized management for application-wide settings stored in profiles/general.settings.json.
|
|
6
|
+
* Provides read/write operations with fallback handling.
|
|
7
|
+
*/
|
|
8
|
+
const { path } = require('./path_api');
|
|
9
|
+
const { getStorage } = require('./storage');
|
|
10
|
+
const storage = getStorage();
|
|
11
|
+
const { PATHS } = require('./paths');
|
|
12
|
+
const { writeJsonFileAtomic } = require('./bots_file_lock');
|
|
13
|
+
const PROFILES_DIR = PATHS.PROFILES_DIR;
|
|
14
|
+
const SETTINGS_FILE = PATHS.PROFILES.GENERAL_SETTINGS_JSON;
|
|
15
|
+
/**
|
|
16
|
+
* Read general application settings from file.
|
|
17
|
+
* Returns fallback if file missing, empty, or parse fails.
|
|
18
|
+
*
|
|
19
|
+
* @param {Object} [options={}] - Read options
|
|
20
|
+
* @param {*} [options.fallback=null] - Fallback value if file missing or invalid
|
|
21
|
+
* @param {Function} [options.onError=null] - Optional error callback (err, filePath)
|
|
22
|
+
* @returns {Object|*} Parsed settings object or fallback value
|
|
23
|
+
*/
|
|
24
|
+
function readGeneralSettings({ fallback = null, onError = null } = {}) {
|
|
25
|
+
if (!storage.exists(SETTINGS_FILE))
|
|
26
|
+
return fallback;
|
|
27
|
+
try {
|
|
28
|
+
const raw = storage.readFile(SETTINGS_FILE);
|
|
29
|
+
if (!raw || !raw.trim())
|
|
30
|
+
return fallback;
|
|
31
|
+
return JSON.parse(raw);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (typeof onError === 'function') {
|
|
35
|
+
onError(err, SETTINGS_FILE);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.warn(`Failed to parse ${SETTINGS_FILE}: ${err.message}. Using defaults.`);
|
|
39
|
+
}
|
|
40
|
+
return fallback;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Write general application settings to file.
|
|
45
|
+
* Creates profiles directory if it doesn't exist.
|
|
46
|
+
* Formats output as pretty-printed JSON.
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} settings - Settings object to write
|
|
49
|
+
* @throws {Error} If write operation fails
|
|
50
|
+
*/
|
|
51
|
+
function writeGeneralSettings(settings) {
|
|
52
|
+
// Atomic write: see writeJsonFileAtomic in bots_file_lock.ts. A plain
|
|
53
|
+
// writeFileSync could leave a truncated file on crash and break the
|
|
54
|
+
// next process that reads general.settings.json.
|
|
55
|
+
writeJsonFileAtomic(SETTINGS_FILE, settings);
|
|
56
|
+
}
|
|
57
|
+
module.exports = {
|
|
58
|
+
PROFILES_DIR,
|
|
59
|
+
SETTINGS_FILE,
|
|
60
|
+
readGeneralSettings,
|
|
61
|
+
writeGeneralSettings,
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=general_settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general_settings.js","sourceRoot":"","sources":["../../modules/general_settings.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACvC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE5D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AACxC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAE3D;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,KAAoF,EAAE;IAChJ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEpD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,mBAAmB,aAAa,KAAK,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,QAAa;IACvC,sEAAsE;IACtE,oEAAoE;IACpE,iDAAiD;IACjD,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,iBAAS;IACL,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,oBAAoB;CACvB,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* modules/graceful_shutdown.ts - Process Shutdown Manager
|
|
3
|
+
*
|
|
4
|
+
* Centralized graceful shutdown handler for clean process termination.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Registers signal handlers (SIGTERM, SIGINT)
|
|
8
|
+
* - Executes cleanup functions in reverse registration order
|
|
9
|
+
* - Prevents duplicate shutdown execution
|
|
10
|
+
* - Graceful cleanup with timeout protection
|
|
11
|
+
* - Detailed shutdown logging
|
|
12
|
+
*
|
|
13
|
+
* ===============================================================================
|
|
14
|
+
* EXPORTS (2 functions)
|
|
15
|
+
* ===============================================================================
|
|
16
|
+
*
|
|
17
|
+
* 1. registerCleanup(name, cleanupFn) - Register cleanup function
|
|
18
|
+
* name: Description of cleanup operation (e.g., "Bot connection", "BitShares")
|
|
19
|
+
* cleanupFn: Async function to execute during shutdown
|
|
20
|
+
* Functions execute in reverse registration order (LIFO)
|
|
21
|
+
*
|
|
22
|
+
* 2. setupGracefulShutdown() - Install signal and exception handlers
|
|
23
|
+
* Registers SIGTERM, SIGINT, uncaughtException, unhandledRejection handlers
|
|
24
|
+
* Should be called once at process startup
|
|
25
|
+
*
|
|
26
|
+
* ===============================================================================
|
|
27
|
+
*
|
|
28
|
+
* SHUTDOWN PROCESS:
|
|
29
|
+
* 1. Receive SIGTERM or SIGINT signal
|
|
30
|
+
* 2. Mark shutdown in progress (prevent duplicate execution)
|
|
31
|
+
* 3. Log shutdown initiation
|
|
32
|
+
* 4. Execute cleanup functions in reverse order (LIFO)
|
|
33
|
+
* 5. Wait for all cleanups to complete (with timeout)
|
|
34
|
+
* 6. Log shutdown status
|
|
35
|
+
* 7. Exit process
|
|
36
|
+
*
|
|
37
|
+
* USAGE:
|
|
38
|
+
* const { registerCleanup } = require('./modules/graceful_shutdown');
|
|
39
|
+
*
|
|
40
|
+
* // Register cleanups (executed in reverse order on shutdown)
|
|
41
|
+
* registerCleanup('Database', async () => db.close());
|
|
42
|
+
* registerCleanup('Bot', async () => bot.shutdown());
|
|
43
|
+
* registerCleanup('BitShares', async () => BitShares.disconnect());
|
|
44
|
+
*
|
|
45
|
+
* On SIGTERM/SIGINT:
|
|
46
|
+
* 1. BitShares disconnects
|
|
47
|
+
* 2. Bot shuts down
|
|
48
|
+
* 3. Database closes
|
|
49
|
+
*
|
|
50
|
+
* ===============================================================================
|
|
51
|
+
*
|
|
52
|
+
* BEST PRACTICES:
|
|
53
|
+
* - Register cleanups for each major component
|
|
54
|
+
* - Order matters: register in opposite order of initialization
|
|
55
|
+
* - Keep cleanup functions quick and non-blocking where possible
|
|
56
|
+
* - Handle cleanup errors gracefully (don't throw)
|
|
57
|
+
*
|
|
58
|
+
* ===============================================================================
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* Register a cleanup function to be called on graceful shutdown
|
|
62
|
+
* Functions are called in LIFO order (last registered = first called)
|
|
63
|
+
* @param {string} name - Name of the cleanup operation (for logging)
|
|
64
|
+
* @param {Function} handler - Async or sync function to call on shutdown
|
|
65
|
+
*/
|
|
66
|
+
declare function registerCleanup(name: any, handler: any): void;
|
|
67
|
+
/**
|
|
68
|
+
* Remove a previously registered cleanup function.
|
|
69
|
+
* Use this when a component fails to initialize and its cleanup must not run
|
|
70
|
+
* on process exit. Returns true if a handler was removed.
|
|
71
|
+
* @param {string|Function} nameOrHandler - Cleanup name or handler reference
|
|
72
|
+
* @returns {boolean} True when a handler was found and removed
|
|
73
|
+
*/
|
|
74
|
+
declare function unregisterCleanup(nameOrHandler: any): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Setup signal handlers for graceful shutdown
|
|
77
|
+
* Should be called once at process startup
|
|
78
|
+
*/
|
|
79
|
+
declare function setupGracefulShutdown(): void;
|
|
80
|
+
declare const _default: {
|
|
81
|
+
registerCleanup: typeof registerCleanup;
|
|
82
|
+
unregisterCleanup: typeof unregisterCleanup;
|
|
83
|
+
setupGracefulShutdown: typeof setupGracefulShutdown;
|
|
84
|
+
};
|
|
85
|
+
export = _default;
|
|
86
|
+
//# sourceMappingURL=graceful_shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graceful_shutdown.d.ts","sourceRoot":"","sources":["../../modules/graceful_shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAQH;;;;;GAKG;AACH,iBAAS,eAAe,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,QAKrC;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CAAC,aAAa,KAAA,WAgBvC;AAkCD;;;GAGG;AACH,iBAAS,qBAAqB,SAyB7B;;;;;;AAED,kBAIE"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* modules/graceful_shutdown.ts - Process Shutdown Manager
|
|
4
|
+
*
|
|
5
|
+
* Centralized graceful shutdown handler for clean process termination.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Registers signal handlers (SIGTERM, SIGINT)
|
|
9
|
+
* - Executes cleanup functions in reverse registration order
|
|
10
|
+
* - Prevents duplicate shutdown execution
|
|
11
|
+
* - Graceful cleanup with timeout protection
|
|
12
|
+
* - Detailed shutdown logging
|
|
13
|
+
*
|
|
14
|
+
* ===============================================================================
|
|
15
|
+
* EXPORTS (2 functions)
|
|
16
|
+
* ===============================================================================
|
|
17
|
+
*
|
|
18
|
+
* 1. registerCleanup(name, cleanupFn) - Register cleanup function
|
|
19
|
+
* name: Description of cleanup operation (e.g., "Bot connection", "BitShares")
|
|
20
|
+
* cleanupFn: Async function to execute during shutdown
|
|
21
|
+
* Functions execute in reverse registration order (LIFO)
|
|
22
|
+
*
|
|
23
|
+
* 2. setupGracefulShutdown() - Install signal and exception handlers
|
|
24
|
+
* Registers SIGTERM, SIGINT, uncaughtException, unhandledRejection handlers
|
|
25
|
+
* Should be called once at process startup
|
|
26
|
+
*
|
|
27
|
+
* ===============================================================================
|
|
28
|
+
*
|
|
29
|
+
* SHUTDOWN PROCESS:
|
|
30
|
+
* 1. Receive SIGTERM or SIGINT signal
|
|
31
|
+
* 2. Mark shutdown in progress (prevent duplicate execution)
|
|
32
|
+
* 3. Log shutdown initiation
|
|
33
|
+
* 4. Execute cleanup functions in reverse order (LIFO)
|
|
34
|
+
* 5. Wait for all cleanups to complete (with timeout)
|
|
35
|
+
* 6. Log shutdown status
|
|
36
|
+
* 7. Exit process
|
|
37
|
+
*
|
|
38
|
+
* USAGE:
|
|
39
|
+
* const { registerCleanup } = require('./modules/graceful_shutdown');
|
|
40
|
+
*
|
|
41
|
+
* // Register cleanups (executed in reverse order on shutdown)
|
|
42
|
+
* registerCleanup('Database', async () => db.close());
|
|
43
|
+
* registerCleanup('Bot', async () => bot.shutdown());
|
|
44
|
+
* registerCleanup('BitShares', async () => BitShares.disconnect());
|
|
45
|
+
*
|
|
46
|
+
* On SIGTERM/SIGINT:
|
|
47
|
+
* 1. BitShares disconnects
|
|
48
|
+
* 2. Bot shuts down
|
|
49
|
+
* 3. Database closes
|
|
50
|
+
*
|
|
51
|
+
* ===============================================================================
|
|
52
|
+
*
|
|
53
|
+
* BEST PRACTICES:
|
|
54
|
+
* - Register cleanups for each major component
|
|
55
|
+
* - Order matters: register in opposite order of initialization
|
|
56
|
+
* - Keep cleanup functions quick and non-blocking where possible
|
|
57
|
+
* - Handle cleanup errors gracefully (don't throw)
|
|
58
|
+
*
|
|
59
|
+
* ===============================================================================
|
|
60
|
+
*/
|
|
61
|
+
let cleanupHandlers = [];
|
|
62
|
+
let shutdownInProgress = false;
|
|
63
|
+
const Logger = require('./logger');
|
|
64
|
+
const shutdownLogger = new Logger('Shutdown');
|
|
65
|
+
const { runtime } = require('./runtime');
|
|
66
|
+
/**
|
|
67
|
+
* Register a cleanup function to be called on graceful shutdown
|
|
68
|
+
* Functions are called in LIFO order (last registered = first called)
|
|
69
|
+
* @param {string} name - Name of the cleanup operation (for logging)
|
|
70
|
+
* @param {Function} handler - Async or sync function to call on shutdown
|
|
71
|
+
*/
|
|
72
|
+
function registerCleanup(name, handler) {
|
|
73
|
+
if (typeof handler !== 'function') {
|
|
74
|
+
throw new Error(`Cleanup handler for '${name}' must be a function`);
|
|
75
|
+
}
|
|
76
|
+
cleanupHandlers.push({ name, handler });
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Remove a previously registered cleanup function.
|
|
80
|
+
* Use this when a component fails to initialize and its cleanup must not run
|
|
81
|
+
* on process exit. Returns true if a handler was removed.
|
|
82
|
+
* @param {string|Function} nameOrHandler - Cleanup name or handler reference
|
|
83
|
+
* @returns {boolean} True when a handler was found and removed
|
|
84
|
+
*/
|
|
85
|
+
function unregisterCleanup(nameOrHandler) {
|
|
86
|
+
const initialLength = cleanupHandlers.length;
|
|
87
|
+
if (typeof nameOrHandler === 'function') {
|
|
88
|
+
for (let i = cleanupHandlers.length - 1; i >= 0; i--) {
|
|
89
|
+
if (cleanupHandlers[i].handler === nameOrHandler) {
|
|
90
|
+
cleanupHandlers.splice(i, 1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else if (typeof nameOrHandler === 'string') {
|
|
95
|
+
for (let i = cleanupHandlers.length - 1; i >= 0; i--) {
|
|
96
|
+
if (cleanupHandlers[i].name === nameOrHandler) {
|
|
97
|
+
cleanupHandlers.splice(i, 1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return cleanupHandlers.length !== initialLength;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Execute all registered cleanup handlers
|
|
105
|
+
* @private
|
|
106
|
+
*/
|
|
107
|
+
async function executeCleanup() {
|
|
108
|
+
if (shutdownInProgress) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
shutdownInProgress = true;
|
|
112
|
+
shutdownLogger.info('Cleaning up resources...');
|
|
113
|
+
// Execute handlers in LIFO order (last registered = first cleaned up)
|
|
114
|
+
for (let i = cleanupHandlers.length - 1; i >= 0; i--) {
|
|
115
|
+
const { name, handler } = cleanupHandlers[i];
|
|
116
|
+
try {
|
|
117
|
+
shutdownLogger.info(`Cleaning up: ${name}`);
|
|
118
|
+
const result = handler();
|
|
119
|
+
// Handle both async and sync handlers
|
|
120
|
+
if (result && typeof result.then === 'function') {
|
|
121
|
+
await result;
|
|
122
|
+
}
|
|
123
|
+
shutdownLogger.info(`✓ ${name}`);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
shutdownLogger.error(`✗ Error cleaning up ${name}: ${err.message || err}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
shutdownLogger.info('Cleanup complete');
|
|
130
|
+
await shutdownLogger.flush();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Setup signal handlers for graceful shutdown
|
|
134
|
+
* Should be called once at process startup
|
|
135
|
+
*/
|
|
136
|
+
function setupGracefulShutdown() {
|
|
137
|
+
const signals = ['SIGTERM', 'SIGINT'];
|
|
138
|
+
signals.forEach(signal => {
|
|
139
|
+
runtime.onSignal(signal, async () => {
|
|
140
|
+
shutdownLogger.info(`Received ${signal}, initiating graceful shutdown...`);
|
|
141
|
+
await executeCleanup();
|
|
142
|
+
runtime.exit(0);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
// Also handle uncaught exceptions
|
|
146
|
+
runtime.onSignal('uncaughtException', async (err) => {
|
|
147
|
+
shutdownLogger.error(`Uncaught exception: ${err?.stack || err}`);
|
|
148
|
+
await executeCleanup();
|
|
149
|
+
// Drain stderr before exit so traces survive pipe to MONOLITHIC_ERROR_LOG
|
|
150
|
+
runtime.exitAfterStderrDrain(1);
|
|
151
|
+
});
|
|
152
|
+
// Handle unhandled rejections
|
|
153
|
+
runtime.onSignal('unhandledRejection', async (reason, promise) => {
|
|
154
|
+
shutdownLogger.error(`Unhandled rejection at: ${promise} reason: ${reason?.stack || reason}`);
|
|
155
|
+
await executeCleanup();
|
|
156
|
+
runtime.exitAfterStderrDrain(1);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
module.exports = {
|
|
160
|
+
registerCleanup,
|
|
161
|
+
unregisterCleanup,
|
|
162
|
+
setupGracefulShutdown,
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=graceful_shutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graceful_shutdown.js","sourceRoot":"","sources":["../../modules/graceful_shutdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export interface SigningResult {
|
|
2
|
+
success: boolean;
|
|
3
|
+
raw?: any;
|
|
4
|
+
operation_results?: any[];
|
|
5
|
+
}
|
|
6
|
+
export interface KeyStore {
|
|
7
|
+
authenticate(): Promise<any>;
|
|
8
|
+
unlockWithPassword(password: string, accountsData?: any): any;
|
|
9
|
+
isMasterPasswordFailure(err: any): boolean;
|
|
10
|
+
readonly MasterPasswordError: any;
|
|
11
|
+
getPrivateKey(accountName: string, vaultSecret: any): string;
|
|
12
|
+
resolvePrivateKey(accountName: string, vaultSecret: any, chainClient: any): Promise<string>;
|
|
13
|
+
isReady(): boolean;
|
|
14
|
+
isResponsive(): Promise<boolean>;
|
|
15
|
+
waitForReady(timeoutMs?: number): Promise<void>;
|
|
16
|
+
resolveSigningKey(accountName: string, vaultSecret?: any, chainClient?: any): Promise<any>;
|
|
17
|
+
isDaemonSigningKey(key: any): boolean;
|
|
18
|
+
executeOperations(accountName: string, operations: any[], signingKey: any): Promise<SigningResult>;
|
|
19
|
+
loadAccounts(): any;
|
|
20
|
+
saveAccounts(data: any): void;
|
|
21
|
+
checkSecurity(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare class DaemonKeyStore implements KeyStore {
|
|
24
|
+
get MasterPasswordError(): any;
|
|
25
|
+
authenticate(): Promise<any>;
|
|
26
|
+
unlockWithPassword(password: string, accountsData?: any): any;
|
|
27
|
+
isMasterPasswordFailure(err: any): boolean;
|
|
28
|
+
getPrivateKey(accountName: string, vaultSecret: any): string;
|
|
29
|
+
resolvePrivateKey(accountName: string, vaultSecret: any, chainClient: any): Promise<string>;
|
|
30
|
+
isReady(): boolean;
|
|
31
|
+
isResponsive(): Promise<boolean>;
|
|
32
|
+
waitForReady(timeoutMs?: number): Promise<void>;
|
|
33
|
+
resolveSigningKey(accountName: string, vaultSecret?: any, chainClient?: any): Promise<any>;
|
|
34
|
+
isDaemonSigningKey(key: any): boolean;
|
|
35
|
+
executeOperations(accountName: string, operations: any[], signingKey: any): Promise<SigningResult>;
|
|
36
|
+
loadAccounts(): any;
|
|
37
|
+
saveAccounts(data: any): void;
|
|
38
|
+
checkSecurity(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare class DirectKeyStore implements KeyStore {
|
|
41
|
+
get MasterPasswordError(): any;
|
|
42
|
+
authenticate(): Promise<any>;
|
|
43
|
+
unlockWithPassword(password: string, accountsData?: any): any;
|
|
44
|
+
isMasterPasswordFailure(err: any): boolean;
|
|
45
|
+
getPrivateKey(accountName: string, vaultSecret: any): string;
|
|
46
|
+
resolvePrivateKey(accountName: string, vaultSecret: any, chainClient: any): Promise<string>;
|
|
47
|
+
isReady(): boolean;
|
|
48
|
+
isResponsive(): Promise<boolean>;
|
|
49
|
+
waitForReady(_timeoutMs?: number): Promise<void>;
|
|
50
|
+
resolveSigningKey(accountName: string, vaultSecret?: any, chainClient?: any): Promise<any>;
|
|
51
|
+
isDaemonSigningKey(_key: any): boolean;
|
|
52
|
+
executeOperations(accountName: string, operations: any[], signingKey: any): Promise<SigningResult>;
|
|
53
|
+
loadAccounts(): any;
|
|
54
|
+
saveAccounts(data: any): void;
|
|
55
|
+
checkSecurity(): void;
|
|
56
|
+
}
|
|
57
|
+
export declare function setKeyStore(impl: KeyStore | null): void;
|
|
58
|
+
export declare function resetKeyStore(): void;
|
|
59
|
+
export declare function getKeyStore(): KeyStore;
|
|
60
|
+
//# sourceMappingURL=key_store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key_store.d.ts","sourceRoot":"","sources":["../../modules/key_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DirectKeyStore = exports.DaemonKeyStore = void 0;
|
|
4
|
+
exports.setKeyStore = setKeyStore;
|
|
5
|
+
exports.resetKeyStore = resetKeyStore;
|
|
6
|
+
exports.getKeyStore = getKeyStore;
|
|
7
|
+
const chainKeys = require('./chain_keys');
|
|
8
|
+
const credentialPolicy = require('./credential_policy');
|
|
9
|
+
const credentialRuntime = require('./credential_runtime');
|
|
10
|
+
const { executeOperationsViaCredentialDaemon, BroadcastUncertainError, } = require('./dexbot_credential_client');
|
|
11
|
+
const { TIMING, DAEMON_ERRORS } = require('./constants');
|
|
12
|
+
const { path } = require('./path_api');
|
|
13
|
+
const { PATHS } = require('./paths');
|
|
14
|
+
const { getStorage } = require('./storage');
|
|
15
|
+
const storage = getStorage();
|
|
16
|
+
const { runtime } = require('./runtime');
|
|
17
|
+
const { sleep } = require('./order/utils/system');
|
|
18
|
+
class DaemonKeyStore {
|
|
19
|
+
get MasterPasswordError() { return chainKeys.MasterPasswordError; }
|
|
20
|
+
authenticate() {
|
|
21
|
+
return chainKeys.authenticate();
|
|
22
|
+
}
|
|
23
|
+
unlockWithPassword(password, accountsData) {
|
|
24
|
+
return chainKeys.unlockWithPassword(password, accountsData);
|
|
25
|
+
}
|
|
26
|
+
isMasterPasswordFailure(err) {
|
|
27
|
+
return chainKeys.isMasterPasswordFailure(err);
|
|
28
|
+
}
|
|
29
|
+
getPrivateKey(accountName, vaultSecret) {
|
|
30
|
+
return chainKeys.getPrivateKey(accountName, vaultSecret);
|
|
31
|
+
}
|
|
32
|
+
resolvePrivateKey(accountName, vaultSecret, chainClient) {
|
|
33
|
+
return chainKeys.resolvePrivateKey(accountName, vaultSecret, chainClient);
|
|
34
|
+
}
|
|
35
|
+
isReady() {
|
|
36
|
+
return chainKeys.isDaemonReady();
|
|
37
|
+
}
|
|
38
|
+
isResponsive() {
|
|
39
|
+
return chainKeys.isDaemonResponsive();
|
|
40
|
+
}
|
|
41
|
+
waitForReady(timeoutMs = TIMING.DAEMON_STARTUP_TIMEOUT_MS) {
|
|
42
|
+
return chainKeys.waitForDaemon(timeoutMs);
|
|
43
|
+
}
|
|
44
|
+
async resolveSigningKey(accountName, vaultSecret, chainClient) {
|
|
45
|
+
if (vaultSecret) {
|
|
46
|
+
return chainKeys.resolvePrivateKey(accountName, vaultSecret, chainClient);
|
|
47
|
+
}
|
|
48
|
+
if (await chainKeys.isDaemonResponsive()) {
|
|
49
|
+
try {
|
|
50
|
+
const sessionId = await chainKeys.probeAccountInDaemon(accountName);
|
|
51
|
+
const botHmacSecret = credentialPolicy.loadBotHmacSecret(accountName, PATHS.PROFILES.DAEMON_POLICIES_JSON, { quiet: true });
|
|
52
|
+
return chainKeys.createDaemonSigningToken(accountName, { sessionId, botHmacSecret });
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
const unlockSecret = await chainKeys.authenticate();
|
|
56
|
+
return chainKeys.resolvePrivateKey(accountName, unlockSecret, chainClient);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const unlockSecret = await chainKeys.authenticate();
|
|
60
|
+
return chainKeys.resolvePrivateKey(accountName, unlockSecret, chainClient);
|
|
61
|
+
}
|
|
62
|
+
isDaemonSigningKey(key) {
|
|
63
|
+
return chainKeys.isDaemonSigningToken(key);
|
|
64
|
+
}
|
|
65
|
+
async executeOperations(accountName, operations, signingKey) {
|
|
66
|
+
if (this.isDaemonSigningKey(signingKey)) {
|
|
67
|
+
try {
|
|
68
|
+
const result = await executeOperationsViaCredentialDaemon(accountName, operations, {
|
|
69
|
+
socketPath: signingKey.socketPath,
|
|
70
|
+
sessionId: signingKey.sessionId || null,
|
|
71
|
+
botHmacSecret: signingKey.botHmacSecret || null,
|
|
72
|
+
requestType: 'broadcast',
|
|
73
|
+
batchId: signingKey.batchId || null,
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
success: true,
|
|
77
|
+
raw: result.raw || null,
|
|
78
|
+
operation_results: Array.isArray(result.operation_results) ? result.operation_results : [],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
if (err instanceof BroadcastUncertainError)
|
|
83
|
+
throw err;
|
|
84
|
+
if (err.message && (err.message.includes(DAEMON_ERRORS.SESSION_EXPIRED) || err.message.includes(DAEMON_ERRORS.SOURCE_AUTH_DENIED))) {
|
|
85
|
+
const isSourceAuthError = err.message.includes(DAEMON_ERRORS.SOURCE_AUTH_DENIED);
|
|
86
|
+
if (isSourceAuthError) {
|
|
87
|
+
try {
|
|
88
|
+
const readyFile = credentialRuntime.getCredentialReadyFilePath({ root: PATHS.PROJECT_ROOT });
|
|
89
|
+
if (storage.exists(readyFile)) {
|
|
90
|
+
const daemonInfo = storage.readJSON(readyFile);
|
|
91
|
+
if (daemonInfo && typeof daemonInfo.pid === 'number') {
|
|
92
|
+
runtime.kill(daemonInfo.pid, 'SIGHUP');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch { }
|
|
97
|
+
}
|
|
98
|
+
const newSessionId = await chainKeys.probeAccountInDaemon(accountName);
|
|
99
|
+
signingKey.sessionId = newSessionId;
|
|
100
|
+
if (isSourceAuthError) {
|
|
101
|
+
await sleep(500);
|
|
102
|
+
}
|
|
103
|
+
const retryResult = await executeOperationsViaCredentialDaemon(accountName, operations, {
|
|
104
|
+
socketPath: signingKey.socketPath,
|
|
105
|
+
sessionId: signingKey.sessionId,
|
|
106
|
+
botHmacSecret: signingKey.botHmacSecret || null,
|
|
107
|
+
requestType: 'broadcast',
|
|
108
|
+
batchId: signingKey.batchId || null,
|
|
109
|
+
});
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
raw: retryResult.raw || null,
|
|
113
|
+
operation_results: Array.isArray(retryResult.operation_results) ? retryResult.operation_results : [],
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
throw err;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const { createAccountClient } = require('./chain_orders');
|
|
120
|
+
const acc = await createAccountClient(accountName, signingKey);
|
|
121
|
+
await acc.initPromise;
|
|
122
|
+
const tx = acc.newTx();
|
|
123
|
+
for (const op of operations) {
|
|
124
|
+
const methodName = op.op_name;
|
|
125
|
+
if (typeof tx[methodName] === 'function') {
|
|
126
|
+
tx[methodName](op.op_data);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
throw new Error(`Transaction builder does not support ${methodName}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
await tx.broadcast();
|
|
133
|
+
return { success: true };
|
|
134
|
+
}
|
|
135
|
+
loadAccounts() {
|
|
136
|
+
return chainKeys.loadAccounts();
|
|
137
|
+
}
|
|
138
|
+
saveAccounts(data) {
|
|
139
|
+
chainKeys.saveAccounts(data);
|
|
140
|
+
}
|
|
141
|
+
checkSecurity() {
|
|
142
|
+
chainKeys.checkKeysFileSecurity();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.DaemonKeyStore = DaemonKeyStore;
|
|
146
|
+
class DirectKeyStore {
|
|
147
|
+
get MasterPasswordError() { return chainKeys.MasterPasswordError; }
|
|
148
|
+
authenticate() {
|
|
149
|
+
return chainKeys.authenticate();
|
|
150
|
+
}
|
|
151
|
+
unlockWithPassword(password, accountsData) {
|
|
152
|
+
return chainKeys.unlockWithPassword(password, accountsData);
|
|
153
|
+
}
|
|
154
|
+
isMasterPasswordFailure(err) {
|
|
155
|
+
return chainKeys.isMasterPasswordFailure(err);
|
|
156
|
+
}
|
|
157
|
+
getPrivateKey(accountName, vaultSecret) {
|
|
158
|
+
return chainKeys.getPrivateKey(accountName, vaultSecret);
|
|
159
|
+
}
|
|
160
|
+
resolvePrivateKey(accountName, vaultSecret, chainClient) {
|
|
161
|
+
return chainKeys.resolvePrivateKey(accountName, vaultSecret, chainClient);
|
|
162
|
+
}
|
|
163
|
+
isReady() { return true; }
|
|
164
|
+
async isResponsive() { return true; }
|
|
165
|
+
async waitForReady(_timeoutMs) { }
|
|
166
|
+
async resolveSigningKey(accountName, vaultSecret, chainClient) {
|
|
167
|
+
if (vaultSecret) {
|
|
168
|
+
return chainKeys.resolvePrivateKey(accountName, vaultSecret, chainClient);
|
|
169
|
+
}
|
|
170
|
+
const unlockSecret = await chainKeys.authenticate();
|
|
171
|
+
return chainKeys.resolvePrivateKey(accountName, unlockSecret, chainClient);
|
|
172
|
+
}
|
|
173
|
+
isDaemonSigningKey(_key) { return false; }
|
|
174
|
+
async executeOperations(accountName, operations, signingKey) {
|
|
175
|
+
const { createAccountClient } = require('./chain_orders');
|
|
176
|
+
const acc = await createAccountClient(accountName, signingKey);
|
|
177
|
+
await acc.initPromise;
|
|
178
|
+
const tx = acc.newTx();
|
|
179
|
+
for (const op of operations) {
|
|
180
|
+
const methodName = op.op_name;
|
|
181
|
+
if (typeof tx[methodName] === 'function') {
|
|
182
|
+
tx[methodName](op.op_data);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
throw new Error(`Transaction builder does not support ${methodName}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
await tx.broadcast();
|
|
189
|
+
return { success: true };
|
|
190
|
+
}
|
|
191
|
+
loadAccounts() {
|
|
192
|
+
return chainKeys.loadAccounts();
|
|
193
|
+
}
|
|
194
|
+
saveAccounts(data) {
|
|
195
|
+
chainKeys.saveAccounts(data);
|
|
196
|
+
}
|
|
197
|
+
checkSecurity() {
|
|
198
|
+
chainKeys.checkKeysFileSecurity();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.DirectKeyStore = DirectKeyStore;
|
|
202
|
+
let _instance = null;
|
|
203
|
+
function setKeyStore(impl) {
|
|
204
|
+
_instance = impl;
|
|
205
|
+
}
|
|
206
|
+
function resetKeyStore() {
|
|
207
|
+
_instance = null;
|
|
208
|
+
}
|
|
209
|
+
function getKeyStore() {
|
|
210
|
+
if (!_instance) {
|
|
211
|
+
_instance = new DaemonKeyStore();
|
|
212
|
+
}
|
|
213
|
+
return _instance;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=key_store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key_store.js","sourceRoot":"","sources":["../../modules/key_store.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAuQb,kCAEC;AAED,sCAEC;AAED,kCAKC;AAlRD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC1D,MAAM,EACF,oCAAoC,EACpC,uBAAuB,GAC1B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC1C,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACvC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACzC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AA8BlD,MAAa,cAAc;IACvB,IAAI,mBAAmB,KAAU,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAExE,YAAY;QACR,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,QAAgB,EAAE,YAAkB;QACnD,OAAO,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,uBAAuB,CAAC,GAAQ;QAC5B,OAAO,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,WAAmB,EAAE,WAAgB;QAC/C,OAAO,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,WAAgB,EAAE,WAAgB;QACrE,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACH,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IAED,YAAY;QACR,OAAO,SAAS,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,YAAoB,MAAM,CAAC,yBAAyB;QAC7D,OAAO,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,WAAiB,EAAE,WAAiB;QAC7E,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,MAAM,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,gBAAgB,CAAC,iBAAiB,CACpD,WAAW,EACX,KAAK,CAAC,QAAQ,CAAC,oBAAoB,EACnC,EAAE,KAAK,EAAE,IAAI,EAAE,CAClB,CAAC;gBACF,OAAO,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACzF,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACvB,OAAO,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,UAAiB,EAAE,UAAe;QAC3E,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC,WAAW,EAAE,UAAU,EAAE;oBAC/E,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI;oBACvC,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,IAAI;oBAC/C,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI;iBACtC,CAAC,CAAC;gBACH,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI;oBACvB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;iBAC7F,CAAC;YACN,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,GAAG,YAAY,uBAAuB;oBAAE,MAAM,GAAG,CAAC;gBACtD,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;oBACjI,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBACjF,IAAI,iBAAiB,EAAE,CAAC;wBACpB,IAAI,CAAC;4BACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;4BAC7F,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gCAC/C,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oCACnD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gCAC3C,CAAC;4BACL,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACd,CAAC;oBAED,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACvE,UAAU,CAAC,SAAS,GAAG,YAAY,CAAC;oBAEpC,IAAI,iBAAiB,EAAE,CAAC;wBACpB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,oCAAoC,CAAC,WAAW,EAAE,UAAU,EAAE;wBACpF,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,IAAI;wBAC/C,WAAW,EAAE,WAAW;wBACxB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI;qBACtC,CAAC,CAAC;oBACH,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,IAAI;wBAC5B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;qBACvG,CAAC;gBACN,CAAC;gBACD,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;QAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC,WAAW,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACR,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,IAAS;QAClB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,aAAa;QACT,SAAS,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;CACJ;AAjJD,wCAiJC;AAED,MAAa,cAAc;IACvB,IAAI,mBAAmB,KAAU,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAExE,YAAY;QACR,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,QAAgB,EAAE,YAAkB;QACnD,OAAO,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,uBAAuB,CAAC,GAAQ;QAC5B,OAAO,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,WAAmB,EAAE,WAAgB;QAC/C,OAAO,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,WAAgB,EAAE,WAAgB;QACrE,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAEnC,KAAK,CAAC,YAAY,KAAuB,OAAO,IAAI,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,YAAY,CAAC,UAAmB,IAAkB,CAAC;IAEzD,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,WAAiB,EAAE,WAAiB;QAC7E,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,kBAAkB,CAAC,IAAS,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAExD,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,UAAiB,EAAE,UAAe;QAC3E,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC,WAAW,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACR,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,IAAS;QAClB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,aAAa;QACT,SAAS,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;CACJ;AAnED,wCAmEC;AAED,IAAI,SAAS,GAAoB,IAAI,CAAC;AAEtC,SAAgB,WAAW,CAAC,IAAqB;IAC7C,SAAS,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,aAAa;IACzB,SAAS,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,WAAW;IACvB,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|