dexbot 1.4.11 → 1.4.12
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/README.md +4 -4
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +9 -18
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/math_utils.d.ts.map +1 -1
- package/dist/analysis/math_utils.js +6 -16
- package/dist/analysis/math_utils.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +31 -38
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/hurst_analyzer.js +7 -10
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +10 -14
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -1
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +10 -15
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -1
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +7 -10
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +4 -12
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.d.ts +0 -1
- package/dist/credential-daemon.d.ts.map +1 -1
- package/dist/credential-daemon.js +3 -123
- package/dist/credential-daemon.js.map +1 -1
- package/dist/dexbot.d.ts +0 -87
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +11 -14
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/ama_signal_runner.js +8 -9
- package/dist/market_adapter/ama_signal_runner.js.map +1 -1
- package/dist/market_adapter/candle_utils.js +1 -7
- package/dist/market_adapter/candle_utils.js.map +1 -1
- package/dist/market_adapter/core/asymmetric_bounds.js +1 -4
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
- package/dist/market_adapter/core/config_normalizers.js +5 -9
- package/dist/market_adapter/core/config_normalizers.js.map +1 -1
- package/dist/market_adapter/core/kibana_candles.js +8 -15
- package/dist/market_adapter/core/kibana_candles.js.map +1 -1
- package/dist/market_adapter/core/kibana_client.js +7 -13
- package/dist/market_adapter/core/kibana_client.js.map +1 -1
- package/dist/market_adapter/core/kibana_market_candles.js +6 -12
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +92 -102
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama.js +5 -10
- package/dist/market_adapter/core/strategies/ama.js.map +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +21 -24
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -1
- package/dist/market_adapter/core/strategies/atr/calculator.js +3 -5
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +4 -6
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +15 -22
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -1
- package/dist/market_adapter/index.d.ts +23 -23
- package/dist/market_adapter/index.d.ts.map +1 -1
- package/dist/market_adapter/index.js +24 -82
- package/dist/market_adapter/index.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +2 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +59 -98
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_source.js +11 -17
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -1
- package/dist/market_adapter/interval_utils.js +1 -2
- package/dist/market_adapter/interval_utils.js.map +1 -1
- package/dist/market_adapter/log_format.js +1 -7
- package/dist/market_adapter/log_format.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +20 -22
- package/dist/market_adapter/lp_chart_core.js.map +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts +1 -1
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -1
- package/dist/market_adapter/lp_chart_runner.js +41 -57
- package/dist/market_adapter/lp_chart_runner.js.map +1 -1
- package/dist/market_adapter/lp_chart_strategy_loader.js +30 -34
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -1
- package/dist/market_adapter/market_adapter.d.ts +2 -2
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +157 -221
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/merge_lp_data.js +17 -18
- package/dist/market_adapter/merge_lp_data.js.map +1 -1
- package/dist/market_adapter/test_helpers.js +3 -14
- package/dist/market_adapter/test_helpers.js.map +1 -1
- package/dist/market_adapter/utils/adapter_client.js +7 -16
- package/dist/market_adapter/utils/adapter_client.js.map +1 -1
- package/dist/market_adapter/utils/atomic_write.js +3 -5
- package/dist/market_adapter/utils/atomic_write.js.map +1 -1
- package/dist/market_adapter/utils/chain.d.ts.map +1 -1
- package/dist/market_adapter/utils/chain.js +9 -17
- package/dist/market_adapter/utils/chain.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +8 -10
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -1
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +11 -14
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -1
- package/dist/market_adapter/utils/file_lock.js +14 -19
- package/dist/market_adapter/utils/file_lock.js.map +1 -1
- package/dist/market_adapter/utils/native_history.js +8 -14
- package/dist/market_adapter/utils/native_history.js.map +1 -1
- package/dist/market_adapter/utils/paths.js +3 -6
- package/dist/market_adapter/utils/paths.js.map +1 -1
- package/dist/modules/account_bots.d.ts +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +90 -97
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +0 -9
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +26 -121
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/authority_resolver.js +12 -18
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/chain_client.js +16 -21
- package/dist/modules/bitshares-native/chain_client.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +12 -72
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.js +13 -40
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +5 -6
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -1
- package/dist/modules/bitshares-native/index.d.ts +8 -8
- package/dist/modules/bitshares-native/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/index.js +11 -68
- package/dist/modules/bitshares-native/index.js.map +1 -1
- package/dist/modules/bitshares-native/lru_cache.js +3 -6
- package/dist/modules/bitshares-native/lru_cache.js.map +1 -1
- package/dist/modules/bitshares-native/resolvers.js +9 -11
- package/dist/modules/bitshares-native/resolvers.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +3 -28
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/index.d.ts +4 -4
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/index.js +5 -46
- package/dist/modules/bitshares-native/serial/index.js.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.d.ts +98 -98
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/operations.js +372 -473
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -1
- package/dist/modules/bitshares-native/serial/serializer.js +3 -8
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +9 -74
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +11 -48
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +24 -27
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
- package/dist/modules/bitshares-native/transport.js +14 -26
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +29 -72
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +12 -21
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts +21 -0
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +32 -86
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.d.ts.map +1 -1
- package/dist/modules/bot_settings.js +30 -49
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/bots_file_lock.d.ts.map +1 -1
- package/dist/modules/bots_file_lock.js +5 -13
- package/dist/modules/bots_file_lock.js.map +1 -1
- package/dist/modules/broadcast_failure.js +1 -3
- package/dist/modules/broadcast_failure.js.map +1 -1
- package/dist/modules/chain_keys.d.ts +4 -9
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +77 -182
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts +2 -2
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +81 -144
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +23 -28
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.d.ts +2 -9
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +38 -73
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.js +15 -26
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts +3 -6
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +62 -153
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +1 -1
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +34 -41
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credential_session_cache.d.ts +1 -1
- package/dist/modules/credential_session_cache.d.ts.map +1 -1
- package/dist/modules/credential_session_cache.js +5 -42
- package/dist/modules/credential_session_cache.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +126 -162
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/browser_provider.d.ts +1 -1
- package/dist/modules/crypto/browser_provider.d.ts.map +1 -1
- package/dist/modules/crypto/browser_provider.js +7 -11
- package/dist/modules/crypto/browser_provider.js.map +1 -1
- package/dist/modules/crypto/index.d.ts +6 -6
- package/dist/modules/crypto/index.d.ts.map +1 -1
- package/dist/modules/crypto/index.js +12 -30
- package/dist/modules/crypto/index.js.map +1 -1
- package/dist/modules/crypto/node_provider.d.ts +1 -1
- package/dist/modules/crypto/node_provider.d.ts.map +1 -1
- package/dist/modules/crypto/node_provider.js +3 -5
- package/dist/modules/crypto/node_provider.js.map +1 -1
- package/dist/modules/crypto/provider.js +1 -2
- package/dist/modules/crypto/pure_ripemd160.js +1 -3
- package/dist/modules/crypto/pure_ripemd160.js.map +1 -1
- package/dist/modules/crypto/pure_scrypt.js +1 -4
- package/dist/modules/crypto/pure_scrypt.js.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.js +1 -16
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
- package/dist/modules/crypto/sync.d.ts.map +1 -1
- package/dist/modules/crypto/sync.js +16 -17
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/daemon_node_health.js +14 -16
- package/dist/modules/daemon_node_health.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +19 -14
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +127 -164
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +28 -27
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +55 -45
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_credential_client.d.ts +6 -2
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
- package/dist/modules/dexbot_credential_client.js +21 -31
- package/dist/modules/dexbot_credential_client.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +23 -23
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +119 -77
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -38
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +81 -81
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts +3 -3
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +43 -81
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts +11 -11
- package/dist/modules/dexbot_state_recovery.js +32 -78
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/env.js +3 -7
- package/dist/modules/env.js.map +1 -1
- package/dist/modules/fund_registry.d.ts.map +1 -1
- package/dist/modules/fund_registry.js +12 -24
- package/dist/modules/fund_registry.js.map +1 -1
- package/dist/modules/general_settings.js +10 -16
- package/dist/modules/general_settings.js.map +1 -1
- package/dist/modules/graceful_shutdown.d.ts.map +1 -1
- package/dist/modules/graceful_shutdown.js +12 -19
- package/dist/modules/graceful_shutdown.js.map +1 -1
- package/dist/modules/key_store.d.ts.map +1 -1
- package/dist/modules/key_store.js +27 -65
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts +1 -1
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -1
- package/dist/modules/launcher/bot_supervisor.js +89 -118
- package/dist/modules/launcher/bot_supervisor.js.map +1 -1
- package/dist/modules/launcher/child_env.js +1 -5
- package/dist/modules/launcher/child_env.js.map +1 -1
- package/dist/modules/launcher/credential_bootstrap.js +22 -31
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +37 -75
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/credential_secret.js +2 -37
- package/dist/modules/launcher/credential_secret.js.map +1 -1
- package/dist/modules/launcher/foreign_cred_daemon.js +25 -31
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -1
- package/dist/modules/launcher/headless_password.js +10 -12
- package/dist/modules/launcher/headless_password.js.map +1 -1
- package/dist/modules/launcher/launch_modes.js +3 -9
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +25 -35
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_watchdog.js +42 -45
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +67 -138
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts +1 -11
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +12 -15
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +1 -1
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +15 -36
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/launcher/supervisor_control.js +4 -9
- package/dist/modules/launcher/supervisor_control.js.map +1 -1
- package/dist/modules/logger.d.ts +1 -1
- package/dist/modules/logger.d.ts.map +1 -1
- package/dist/modules/logger.js +3 -38
- package/dist/modules/logger.js.map +1 -1
- package/dist/modules/market_adapter_whitelist.js +9 -18
- package/dist/modules/market_adapter_whitelist.js.map +1 -1
- package/dist/modules/node_failure_ledger.js +1 -3
- package/dist/modules/node_failure_ledger.js.map +1 -1
- package/dist/modules/node_health_cache.d.ts.map +1 -1
- package/dist/modules/node_health_cache.js +15 -25
- package/dist/modules/node_health_cache.js.map +1 -1
- package/dist/modules/node_manager.d.ts +1 -1
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +44 -43
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/accounting.d.ts.map +1 -1
- package/dist/modules/order/accounting.js +102 -118
- package/dist/modules/order/accounting.js.map +1 -1
- package/dist/modules/order/async_lock.d.ts +3 -15
- package/dist/modules/order/async_lock.d.ts.map +1 -1
- package/dist/modules/order/async_lock.js +6 -26
- package/dist/modules/order/async_lock.js.map +1 -1
- package/dist/modules/order/export.js +34 -75
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +1 -3
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +4 -24
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +3 -3
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +206 -262
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +77 -94
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +117 -149
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/index.d.ts.map +1 -1
- package/dist/modules/order/index.js +11 -45
- package/dist/modules/order/index.js.map +1 -1
- package/dist/modules/order/logger.js +28 -69
- package/dist/modules/order/logger.js.map +1 -1
- package/dist/modules/order/logger_state.d.ts.map +1 -1
- package/dist/modules/order/logger_state.js +3 -4
- package/dist/modules/order/logger_state.js.map +1 -1
- package/dist/modules/order/manager.d.ts +10 -0
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +131 -151
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/processed_fill_store.js +2 -7
- package/dist/modules/order/processed_fill_store.js.map +1 -1
- package/dist/modules/order/strategy.js +23 -25
- package/dist/modules/order/strategy.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts +27 -0
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +232 -181
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +1 -25
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +49 -172
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +46 -2
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +165 -143
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +3 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +152 -211
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/timeout.js +1 -4
- package/dist/modules/order/utils/timeout.js.map +1 -1
- package/dist/modules/order/utils/validate.js +91 -142
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.js +21 -61
- package/dist/modules/order/utils/withPoolRef.js.map +1 -1
- package/dist/modules/order/working_grid.js +6 -9
- package/dist/modules/order/working_grid.js.map +1 -1
- package/dist/modules/path_api.d.ts.map +1 -1
- package/dist/modules/path_api.js +8 -11
- package/dist/modules/path_api.js.map +1 -1
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +61 -67
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/process_discovery.js +13 -21
- package/dist/modules/process_discovery.js.map +1 -1
- package/dist/modules/runtime.js +7 -11
- package/dist/modules/runtime.js.map +1 -1
- package/dist/modules/runtime_settings.d.ts.map +1 -1
- package/dist/modules/runtime_settings.js +14 -16
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.js +1 -3
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/socket_json_client.js +3 -5
- package/dist/modules/socket_json_client.js.map +1 -1
- package/dist/modules/storage/browser_adapter.js +1 -4
- package/dist/modules/storage/browser_adapter.js.map +1 -1
- package/dist/modules/storage/index.d.ts +3 -2
- package/dist/modules/storage/index.d.ts.map +1 -1
- package/dist/modules/storage/index.js +5 -8
- package/dist/modules/storage/index.js.map +1 -1
- package/dist/modules/storage/node_adapter.d.ts +3 -4
- package/dist/modules/storage/node_adapter.d.ts.map +1 -1
- package/dist/modules/storage/node_adapter.js +12 -16
- package/dist/modules/storage/node_adapter.js.map +1 -1
- package/dist/modules/storage/types.js +1 -2
- package/dist/modules/types.d.ts +0 -6
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js +1 -2
- package/dist/modules/types.js.map +1 -1
- package/dist/modules/utils/base58check.js +8 -15
- package/dist/modules/utils/base58check.js.map +1 -1
- package/dist/modules/utils/build_dir.js +3 -7
- package/dist/modules/utils/build_dir.js.map +1 -1
- package/dist/modules/utils/errors.js +1 -5
- package/dist/modules/utils/errors.js.map +1 -1
- package/dist/modules/utils/math_utils.d.ts +1 -1
- package/dist/modules/utils/math_utils.d.ts.map +1 -1
- package/dist/modules/utils/math_utils.js +2 -7
- package/dist/modules/utils/math_utils.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +18 -25
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.d.ts +4 -70
- package/dist/pm2.d.ts.map +1 -1
- package/dist/pm2.js +106 -132
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/analyze-git.js +13 -17
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/analyze-orders.d.ts.map +1 -1
- package/dist/scripts/analyze-orders.js +48 -63
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -1
- package/dist/scripts/diagnose-kibana-candles.js +2 -1
- package/dist/scripts/diagnose-kibana-candles.js.map +1 -1
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -1
- package/dist/scripts/diagnose-pool-history.js +2 -1
- package/dist/scripts/diagnose-pool-history.js.map +1 -1
- package/dist/scripts/divergence-calc.d.ts.map +1 -1
- package/dist/scripts/divergence-calc.js +2 -2
- package/dist/scripts/divergence-calc.js.map +1 -1
- package/dist/scripts/fix-err-message.js +17 -22
- package/dist/scripts/fix-err-message.js.map +1 -1
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -1
- package/dist/scripts/generate_lp_chart.js +7 -15
- package/dist/scripts/generate_lp_chart.js.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -1
- package/dist/scripts/generate_mainnet_corpus_report.js +3 -2
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -1
- package/dist/scripts/generate_market_adapter_whitelist.js +18 -24
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -1
- package/dist/scripts/native_release_gates.js +15 -19
- package/dist/scripts/native_release_gates.js.map +1 -1
- package/dist/scripts/print_grid.d.ts.map +1 -1
- package/dist/scripts/print_grid.js +2 -2
- package/dist/scripts/print_grid.js.map +1 -1
- package/dist/scripts/run-tests.js +12 -17
- package/dist/scripts/run-tests.js.map +1 -1
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +18 -20
- package/dist/scripts/runner.js.map +1 -1
- package/dist/scripts/sync-version.js +2 -2
- package/dist/scripts/sync-version.js.map +1 -1
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -1
- package/dist/scripts/test-credit-renewal.js +4 -3
- package/dist/scripts/test-credit-renewal.js.map +1 -1
- package/dist/scripts/update.js +77 -89
- package/dist/scripts/update.js.map +1 -1
- package/dist/scripts/validate_bots.d.ts.map +1 -1
- package/dist/scripts/validate_bots.js +2 -2
- package/dist/scripts/validate_bots.js.map +1 -1
- package/dist/scripts/verify-browser-bundle.js +12 -17
- package/dist/scripts/verify-browser-bundle.js.map +1 -1
- package/dist/unlock.d.ts +0 -30
- package/dist/unlock.d.ts.map +1 -1
- package/dist/unlock.js +95 -143
- package/dist/unlock.js.map +1 -1
- package/package.json +5 -8
- package/scripts/README.md +1 -1
- package/scripts/create-bot-symlinks.sh +2 -2
- package/dist/modules/utils/fs_utils.d.ts +0 -18
- package/dist/modules/utils/fs_utils.d.ts.map +0 -1
- package/dist/modules/utils/fs_utils.js +0 -32
- package/dist/modules/utils/fs_utils.js.map +0 -1
- package/dist/scripts/migrate_bot_keys.d.ts +0 -3
- package/dist/scripts/migrate_bot_keys.d.ts.map +0 -1
- package/dist/scripts/migrate_bot_keys.js +0 -225
- package/dist/scripts/migrate_bot_keys.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* modules/order/utils/math.ts - Mathematical and Numeric Utilities
|
|
4
3
|
*
|
|
@@ -70,105 +69,13 @@
|
|
|
70
69
|
*
|
|
71
70
|
* ===============================================================================
|
|
72
71
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
Object.defineProperty(o, k2, desc);
|
|
80
|
-
}) : (function(o, m, k, k2) {
|
|
81
|
-
if (k2 === undefined) k2 = k;
|
|
82
|
-
o[k2] = m[k];
|
|
83
|
-
}));
|
|
84
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
85
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
86
|
-
}) : function(o, v) {
|
|
87
|
-
o["default"] = v;
|
|
88
|
-
});
|
|
89
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
90
|
-
var ownKeys = function(o) {
|
|
91
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
92
|
-
var ar = [];
|
|
93
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
94
|
-
return ar;
|
|
95
|
-
};
|
|
96
|
-
return ownKeys(o);
|
|
97
|
-
};
|
|
98
|
-
return function (mod) {
|
|
99
|
-
if (mod && mod.__esModule) return mod;
|
|
100
|
-
var result = {};
|
|
101
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
102
|
-
__setModuleDefault(result, mod);
|
|
103
|
-
return result;
|
|
104
|
-
};
|
|
105
|
-
})();
|
|
106
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
107
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
108
|
-
};
|
|
109
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
110
|
-
exports.getBtsSide = getBtsSide;
|
|
111
|
-
exports.getSellStartIdx = getSellStartIdx;
|
|
112
|
-
exports.resolveGapBand = resolveGapBand;
|
|
113
|
-
exports.countGapBandSpread = countGapBandSpread;
|
|
114
|
-
exports.calculateGapSlots = calculateGapSlots;
|
|
115
|
-
exports.isPercentageString = isPercentageString;
|
|
116
|
-
exports.isPositiveNumber = isPositiveNumber;
|
|
117
|
-
exports.isPositiveNumberOrPercent = isPositiveNumberOrPercent;
|
|
118
|
-
exports.isPositiveInt = isPositiveInt;
|
|
119
|
-
exports.parsePercentageString = parsePercentageString;
|
|
120
|
-
exports.toDecimal = toDecimal;
|
|
121
|
-
exports.resolveRelativePrice = resolveRelativePrice;
|
|
122
|
-
exports.isExplicitZeroAllocation = isExplicitZeroAllocation;
|
|
123
|
-
exports.getPrecision = getPrecision;
|
|
124
|
-
exports.computeChainFundTotals = computeChainFundTotals;
|
|
125
|
-
exports.calculateAvailableFundsValue = calculateAvailableFundsValue;
|
|
126
|
-
exports.computeBtsFeeImpact = computeBtsFeeImpact;
|
|
127
|
-
exports.adjustBudgetForBtsFees = adjustBudgetForBtsFees;
|
|
128
|
-
exports.getGridBestPrices = getGridBestPrices;
|
|
129
|
-
exports.calculateSpreadFromOrders = calculateSpreadFromOrders;
|
|
130
|
-
exports.resolveConfigValue = resolveConfigValue;
|
|
131
|
-
exports.resolveConfigValueWithRegistry = resolveConfigValueWithRegistry;
|
|
132
|
-
exports.hasValidAccountTotals = hasValidAccountTotals;
|
|
133
|
-
exports.blockchainToFloat = blockchainToFloat;
|
|
134
|
-
exports.floatToBlockchainInt = floatToBlockchainInt;
|
|
135
|
-
exports.quantizeFloat = quantizeFloat;
|
|
136
|
-
exports.normalizeInt = normalizeInt;
|
|
137
|
-
exports.getPrecisionByOrderType = getPrecisionByOrderType;
|
|
138
|
-
exports.getPrecisionForSide = getPrecisionForSide;
|
|
139
|
-
exports.getPrecisionsForManager = getPrecisionsForManager;
|
|
140
|
-
exports.getPrecisionSlack = getPrecisionSlack;
|
|
141
|
-
exports.calculatePriceTolerance = calculatePriceTolerance;
|
|
142
|
-
exports.findPriceCollision = findPriceCollision;
|
|
143
|
-
exports.validateOrderAmountsWithinLimits = validateOrderAmountsWithinLimits;
|
|
144
|
-
exports.getMinOrderSize = getMinOrderSize;
|
|
145
|
-
exports.getDustThresholdFactor = getDustThresholdFactor;
|
|
146
|
-
exports.getSingleDustThreshold = getSingleDustThreshold;
|
|
147
|
-
exports.getDoubleDustThreshold = getDoubleDustThreshold;
|
|
148
|
-
exports.getMinAbsoluteOrderSize = getMinAbsoluteOrderSize;
|
|
149
|
-
exports.validateOrderSize = validateOrderSize;
|
|
150
|
-
exports.getAssetFees = getAssetFees;
|
|
151
|
-
exports.getAssetFeesSafe = getAssetFeesSafe;
|
|
152
|
-
exports.allocateFundsByWeights = allocateFundsByWeights;
|
|
153
|
-
exports.calculateOrderSizes = calculateOrderSizes;
|
|
154
|
-
exports.calculateRotationOrderSizes = calculateRotationOrderSizes;
|
|
155
|
-
exports.calculateGridSideDivergenceMetric = calculateGridSideDivergenceMetric;
|
|
156
|
-
exports.calculateOrderCreationFees = calculateOrderCreationFees;
|
|
157
|
-
exports.deductOrderFeesFromFunds = deductOrderFeesFromFunds;
|
|
158
|
-
exports.calculateSwapInAmount = calculateSwapInAmount;
|
|
159
|
-
exports._setFeeCache = _setFeeCache;
|
|
160
|
-
exports.cloneWeightDistribution = cloneWeightDistribution;
|
|
161
|
-
exports.clamp = clamp;
|
|
162
|
-
exports.roundTo = roundTo;
|
|
163
|
-
exports.fixedTo = fixedTo;
|
|
164
|
-
exports.roundToDecimals = roundToDecimals;
|
|
165
|
-
const constants_1 = require("../../constants");
|
|
166
|
-
const Format = __importStar(require("../format"));
|
|
167
|
-
const logger_1 = __importDefault(require("../../logger"));
|
|
168
|
-
const fundRegistry = __importStar(require("../../fund_registry"));
|
|
169
|
-
const errors_1 = require("../../utils/errors");
|
|
72
|
+
import { ORDER_TYPES, FEE_PARAMETERS, DEFAULT_CONFIG, GRID_LIMITS } from '../../constants.js';
|
|
73
|
+
import * as Format from '../format.js';
|
|
74
|
+
import Logger from '../../logger.js';
|
|
75
|
+
import * as fundRegistry from '../../fund_registry.js';
|
|
76
|
+
import { getErrorMessage } from '../../utils/errors.js';
|
|
170
77
|
const { isValidNumber, toFiniteNumber } = Format;
|
|
171
|
-
const mathLogger = new
|
|
78
|
+
const mathLogger = new Logger('Math');
|
|
172
79
|
const MAX_INT64 = 9223372036854775807;
|
|
173
80
|
const MIN_INT64 = -9223372036854775808;
|
|
174
81
|
// ================================================================================
|
|
@@ -361,6 +268,9 @@ function normalizeInt(value, precision) {
|
|
|
361
268
|
* Will be populated by system.js::initializeFeeCache.
|
|
362
269
|
*/
|
|
363
270
|
let feeCache = {};
|
|
271
|
+
// Track markets already warned about a missing fee cache so the "Using fallback
|
|
272
|
+
// fee" notice is logged once per pair instead of once per sizing calculation.
|
|
273
|
+
const warnedMissingFeeCachePairs = new Set();
|
|
364
274
|
/**
|
|
365
275
|
* @private Set the fee cache (called by system.js::initializeFeeCache).
|
|
366
276
|
*
|
|
@@ -390,9 +300,9 @@ function getAssetFees(assetSymbol, assetAmount = null, isMaker = true) {
|
|
|
390
300
|
const orderCancelFee = cachedFees.limitOrderCancel?.bts || 0;
|
|
391
301
|
const makerFeeDiscountPercent = Number.isFinite(Number(cachedFees.makerFeeDiscountPercent))
|
|
392
302
|
? Math.max(0, Number(cachedFees.makerFeeDiscountPercent))
|
|
393
|
-
:
|
|
394
|
-
const makerNetFee = orderCreationFee *
|
|
395
|
-
const takerNetFee = orderCreationFee *
|
|
303
|
+
: FEE_PARAMETERS.MAKER_REFUND_PERCENT;
|
|
304
|
+
const makerNetFee = orderCreationFee * FEE_PARAMETERS.MAKER_FEE_PERCENT;
|
|
305
|
+
const takerNetFee = orderCreationFee * FEE_PARAMETERS.TAKER_FEE_PERCENT;
|
|
396
306
|
const netFee = isMaker ? makerNetFee : takerNetFee;
|
|
397
307
|
if (assetAmount !== null && assetAmount !== undefined) {
|
|
398
308
|
const amount = Number(assetAmount);
|
|
@@ -480,7 +390,7 @@ function calculateAvailableFundsValue(side, accountTotals, funds, assetA, assetB
|
|
|
480
390
|
const virtualReservation = toFiniteNumber(side === 'buy' ? funds.virtual?.buy : funds.virtual?.sell);
|
|
481
391
|
const btsFeesOwed = toFiniteNumber(funds.btsFeesOwed);
|
|
482
392
|
const btsSide = getBtsSide(assetA, assetB);
|
|
483
|
-
const btsReservationMultiplier = feeParams?.BTS_RESERVATION_MULTIPLIER ??
|
|
393
|
+
const btsReservationMultiplier = feeParams?.BTS_RESERVATION_MULTIPLIER ?? FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER;
|
|
484
394
|
let btsFeesReservation = 0;
|
|
485
395
|
if (btsSide === side && activeOrders) {
|
|
486
396
|
const targetBuy = Math.max(0, toFiniteNumber(activeOrders?.buy, 1));
|
|
@@ -694,17 +604,6 @@ function floatToBlockchainInt(floatValue, precision) {
|
|
|
694
604
|
function getPrecisionByOrderType(assets, orderType) {
|
|
695
605
|
return getPrecision(assets, { type: orderType });
|
|
696
606
|
}
|
|
697
|
-
/**
|
|
698
|
-
* Get asset precision for a specific trading side.
|
|
699
|
-
*
|
|
700
|
-
* @param {Object} assets - Asset metadata with assetA and assetB
|
|
701
|
-
* @param {string} side - Side ("buy" or "sell")
|
|
702
|
-
* @returns {number} Asset precision for the side
|
|
703
|
-
* @throws {Error} If precision missing
|
|
704
|
-
*/
|
|
705
|
-
function getPrecisionForSide(assets, side) {
|
|
706
|
-
return getPrecision(assets, { side });
|
|
707
|
-
}
|
|
708
607
|
/**
|
|
709
608
|
* Get asset precisions for both assetA and assetB.
|
|
710
609
|
*
|
|
@@ -714,8 +613,8 @@ function getPrecisionForSide(assets, side) {
|
|
|
714
613
|
*/
|
|
715
614
|
function getPrecisionsForManager(assets) {
|
|
716
615
|
return {
|
|
717
|
-
A: getPrecision(assets, { type:
|
|
718
|
-
B: getPrecision(assets, { type:
|
|
616
|
+
A: getPrecision(assets, { type: ORDER_TYPES.SELL }),
|
|
617
|
+
B: getPrecision(assets, { type: ORDER_TYPES.BUY })
|
|
719
618
|
};
|
|
720
619
|
}
|
|
721
620
|
/**
|
|
@@ -744,7 +643,7 @@ function getPrecision(assets, { type, side, proceeds = false } = {}) {
|
|
|
744
643
|
if (side)
|
|
745
644
|
isSellSide = (side === 'sell');
|
|
746
645
|
else if (type)
|
|
747
|
-
isSellSide = (type ===
|
|
646
|
+
isSellSide = (type === ORDER_TYPES.SELL);
|
|
748
647
|
else
|
|
749
648
|
throw new Error("Either 'type' or 'side' must be provided for getPrecision");
|
|
750
649
|
// Proceeds logic: SELL (assetA) results in assetB proceeds; BUY (assetB) results in assetA
|
|
@@ -762,9 +661,9 @@ function getPrecision(assets, { type, side, proceeds = false } = {}) {
|
|
|
762
661
|
*/
|
|
763
662
|
function getBtsSide(assetA, assetB) {
|
|
764
663
|
if (assetA === 'BTS')
|
|
765
|
-
return
|
|
664
|
+
return ORDER_TYPES.SELL;
|
|
766
665
|
if (assetB === 'BTS')
|
|
767
|
-
return
|
|
666
|
+
return ORDER_TYPES.BUY;
|
|
768
667
|
return null;
|
|
769
668
|
}
|
|
770
669
|
// ================================================================================
|
|
@@ -810,13 +709,13 @@ function calculatePriceTolerance(gridPrice, orderSize, orderType, assets = null)
|
|
|
810
709
|
orderSizeB = orderSize;
|
|
811
710
|
orderSizeA = orderSize / gridPrice;
|
|
812
711
|
}
|
|
813
|
-
const minOrderSats =
|
|
712
|
+
const minOrderSats = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR;
|
|
814
713
|
const satsA = Math.max(orderSizeA * Math.pow(10, precisionA), minOrderSats);
|
|
815
714
|
const satsB = Math.max(orderSizeB * Math.pow(10, precisionB), minOrderSats);
|
|
816
715
|
const termA = 1 / satsA;
|
|
817
716
|
const termB = 1 / satsB;
|
|
818
717
|
const tolerance = (termA + termB) * gridPrice;
|
|
819
|
-
const maxTolerance = Math.max(gridPrice *
|
|
718
|
+
const maxTolerance = Math.max(gridPrice * GRID_LIMITS.PRICE_TOLERANCE_MAX_PERCENT, GRID_LIMITS.PRICE_TOLERANCE_MIN_ABSOLUTE);
|
|
820
719
|
return Math.min(tolerance, maxTolerance);
|
|
821
720
|
}
|
|
822
721
|
/**
|
|
@@ -898,15 +797,15 @@ function validateOrderAmountsWithinLimits(amountToSell, minToReceive, sellPrecis
|
|
|
898
797
|
* @returns {number} Minimum order size in asset units
|
|
899
798
|
* @throws {Error} If precision cannot be determined
|
|
900
799
|
*/
|
|
901
|
-
function getMinOrderSize(orderType, assets, factor =
|
|
800
|
+
function getMinOrderSize(orderType, assets, factor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
|
|
902
801
|
const f = Number(factor);
|
|
903
802
|
if (!f || !Number.isFinite(f) || f <= 0)
|
|
904
803
|
return 0;
|
|
905
804
|
let precision = null;
|
|
906
805
|
if (assets) {
|
|
907
|
-
if ((orderType ===
|
|
806
|
+
if ((orderType === ORDER_TYPES.SELL) && assets.assetA)
|
|
908
807
|
precision = assets.assetA.precision;
|
|
909
|
-
else if ((orderType ===
|
|
808
|
+
else if ((orderType === ORDER_TYPES.BUY) && assets.assetB)
|
|
910
809
|
precision = assets.assetB.precision;
|
|
911
810
|
}
|
|
912
811
|
if (typeof precision !== 'number') {
|
|
@@ -920,7 +819,7 @@ function getMinOrderSize(orderType, assets, factor = constants_1.GRID_LIMITS.MIN
|
|
|
920
819
|
* @param {number} [dustThresholdPercent=5] - Dust threshold percentage (default 5%)
|
|
921
820
|
* @returns {number} Dust factor (e.g., 0.05 for 5%)
|
|
922
821
|
*/
|
|
923
|
-
function getDustThresholdFactor(dustThresholdPercent =
|
|
822
|
+
function getDustThresholdFactor(dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
|
|
924
823
|
return dustThresholdPercent / 100;
|
|
925
824
|
}
|
|
926
825
|
/**
|
|
@@ -931,7 +830,7 @@ function getDustThresholdFactor(dustThresholdPercent = constants_1.GRID_LIMITS.P
|
|
|
931
830
|
* @param {number} [dustThresholdPercent=5] - Threshold percentage (default 5%)
|
|
932
831
|
* @returns {number} Single dust threshold (0 if idealSize invalid)
|
|
933
832
|
*/
|
|
934
|
-
function getSingleDustThreshold(idealSize, dustThresholdPercent =
|
|
833
|
+
function getSingleDustThreshold(idealSize, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
|
|
935
834
|
if (!idealSize || idealSize <= 0)
|
|
936
835
|
return 0;
|
|
937
836
|
return idealSize * getDustThresholdFactor(dustThresholdPercent);
|
|
@@ -945,7 +844,7 @@ function getSingleDustThreshold(idealSize, dustThresholdPercent = constants_1.GR
|
|
|
945
844
|
* @param {number} [dustThresholdPercent=5] - Threshold percentage (default 5%)
|
|
946
845
|
* @returns {number} Double dust threshold (0 if idealSize invalid)
|
|
947
846
|
*/
|
|
948
|
-
function getDoubleDustThreshold(idealSize, dustThresholdPercent =
|
|
847
|
+
function getDoubleDustThreshold(idealSize, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
|
|
949
848
|
if (!idealSize || idealSize <= 0)
|
|
950
849
|
return 0;
|
|
951
850
|
return idealSize * getDustThresholdFactor(dustThresholdPercent) * 2;
|
|
@@ -958,7 +857,7 @@ function getDoubleDustThreshold(idealSize, dustThresholdPercent = constants_1.GR
|
|
|
958
857
|
* @param {number} [minFactor=50] - Minimum size factor (default 50)
|
|
959
858
|
* @returns {number} Minimum order size in asset units
|
|
960
859
|
*/
|
|
961
|
-
function getMinAbsoluteOrderSize(orderType, assets, minFactor =
|
|
860
|
+
function getMinAbsoluteOrderSize(orderType, assets, minFactor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR) {
|
|
962
861
|
return getMinOrderSize(orderType, assets, minFactor);
|
|
963
862
|
}
|
|
964
863
|
/**
|
|
@@ -973,14 +872,14 @@ function getMinAbsoluteOrderSize(orderType, assets, minFactor = constants_1.GRID
|
|
|
973
872
|
* @param {number} [dustThresholdPercent=5] - Dust threshold percentage (default 5%)
|
|
974
873
|
* @returns {Object} Validation result {isValid, reason, minAbsoluteSize, minDustSize}
|
|
975
874
|
*/
|
|
976
|
-
function validateOrderSize(orderSize, orderType, assets, minFactor =
|
|
875
|
+
function validateOrderSize(orderSize, orderType, assets, minFactor = GRID_LIMITS.MIN_ORDER_SIZE_FACTOR, idealSize = null, dustThresholdPercent = GRID_LIMITS.PARTIAL_DUST_THRESHOLD_PERCENTAGE) {
|
|
977
876
|
const orderSizeFloat = toFiniteNumber(orderSize);
|
|
978
877
|
const minAbsoluteSize = getMinAbsoluteOrderSize(orderType, assets, minFactor);
|
|
979
878
|
let precision = null;
|
|
980
879
|
if (assets) {
|
|
981
|
-
if ((orderType ===
|
|
880
|
+
if ((orderType === ORDER_TYPES.SELL) && assets.assetA)
|
|
982
881
|
precision = assets.assetA.precision;
|
|
983
|
-
else if ((orderType ===
|
|
882
|
+
else if ((orderType === ORDER_TYPES.BUY) && assets.assetB)
|
|
984
883
|
precision = assets.assetB.precision;
|
|
985
884
|
}
|
|
986
885
|
const displayPrecision = precision;
|
|
@@ -1077,20 +976,20 @@ function allocateFundsByWeights(totalFunds, n, weight, incrementFactor, reverse
|
|
|
1077
976
|
function calculateOrderSizes(orders, config, sellFunds, buyFunds, minSellSize = 0, minBuySize = 0, precisionA = null, precisionB = null) {
|
|
1078
977
|
const { incrementPercent, weightDistribution: { sell: sellWeight, buy: buyWeight } } = config;
|
|
1079
978
|
const incrementFactor = incrementPercent / 100;
|
|
1080
|
-
const sellOrders = orders.filter((o) => o.type ===
|
|
1081
|
-
const buyOrders = orders.filter((o) => o.type ===
|
|
979
|
+
const sellOrders = orders.filter((o) => o.type === ORDER_TYPES.SELL);
|
|
980
|
+
const buyOrders = orders.filter((o) => o.type === ORDER_TYPES.BUY);
|
|
1082
981
|
const sellSizes = allocateFundsByWeights(sellFunds, sellOrders.length, sellWeight, incrementFactor, false, minSellSize, precisionA);
|
|
1083
982
|
const buySizes = allocateFundsByWeights(buyFunds, buyOrders.length, buyWeight, incrementFactor, true, minBuySize, precisionB);
|
|
1084
983
|
const sellState = { sizes: sellSizes, index: 0 };
|
|
1085
984
|
const buyState = { sizes: buySizes, index: 0 };
|
|
1086
985
|
return orders.map((order) => {
|
|
1087
986
|
let size = 0;
|
|
1088
|
-
if (order.type ===
|
|
987
|
+
if (order.type === ORDER_TYPES.SELL) {
|
|
1089
988
|
if (sellState.index >= sellState.sizes.length)
|
|
1090
989
|
throw new Error(`calculateOrderSizes: sell index ${sellState.index} out of bounds (len=${sellState.sizes.length})`);
|
|
1091
990
|
size = sellState.sizes[sellState.index++];
|
|
1092
991
|
}
|
|
1093
|
-
else if (order.type ===
|
|
992
|
+
else if (order.type === ORDER_TYPES.BUY) {
|
|
1094
993
|
if (buyState.index >= buyState.sizes.length)
|
|
1095
994
|
throw new Error(`calculateOrderSizes: buy index ${buyState.index} out of bounds (len=${buyState.sizes.length})`);
|
|
1096
995
|
size = buyState.sizes[buyState.index++];
|
|
@@ -1120,8 +1019,8 @@ function calculateRotationOrderSizes(availableFunds, totalGridAllocation, orderC
|
|
|
1120
1019
|
return new Array(orderCount).fill(0);
|
|
1121
1020
|
const { incrementPercent, weightDistribution } = config;
|
|
1122
1021
|
const incrementFactor = incrementPercent / 100;
|
|
1123
|
-
const weight = (orderType ===
|
|
1124
|
-
const reverse = (orderType ===
|
|
1022
|
+
const weight = (orderType === ORDER_TYPES.SELL) ? weightDistribution.sell : weightDistribution.buy;
|
|
1023
|
+
const reverse = (orderType === ORDER_TYPES.BUY);
|
|
1125
1024
|
return allocateFundsByWeights(totalFunds, orderCount, weight, incrementFactor, reverse, minSize, precision);
|
|
1126
1025
|
}
|
|
1127
1026
|
/**
|
|
@@ -1192,7 +1091,7 @@ function calculateGridSideDivergenceMetric(calculatedOrders, persistedOrders, _s
|
|
|
1192
1091
|
* @param {number} [feeMultiplier=BTS_RESERVATION_MULTIPLIER] - Multiplier for reservation (typically 5x)
|
|
1193
1092
|
* @returns {number} Total fee amount (fallback BTS_FALLBACK_FEE if fee lookup fails; warning logged)
|
|
1194
1093
|
*/
|
|
1195
|
-
function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier =
|
|
1094
|
+
function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier = FEE_PARAMETERS.BTS_RESERVATION_MULTIPLIER) {
|
|
1196
1095
|
try {
|
|
1197
1096
|
if (totalOrders > 0) {
|
|
1198
1097
|
const btsFeeData = getAssetFees('BTS');
|
|
@@ -1200,37 +1099,14 @@ function calculateOrderCreationFees(assetA, assetB, totalOrders, feeMultiplier =
|
|
|
1200
1099
|
}
|
|
1201
1100
|
}
|
|
1202
1101
|
catch (err) {
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
}
|
|
1208
|
-
/**
|
|
1209
|
-
* Deduct order fees from available buy/sell funds.
|
|
1210
|
-
* If BTS is the buy asset, deducts from buyFunds; if sell asset, deducts from sellFunds.
|
|
1211
|
-
*
|
|
1212
|
-
* @param {number} buyFunds - Available buy-side funds
|
|
1213
|
-
* @param {number} sellFunds - Available sell-side funds
|
|
1214
|
-
* @param {number} fees - Fee amount to deduct
|
|
1215
|
-
* @param {Object} config - Configuration with assetA and assetB
|
|
1216
|
-
* @param {Object} [logger=null] - Optional logger for logging deductions
|
|
1217
|
-
* @returns {Object} Updated funds object {buyFunds, sellFunds}
|
|
1218
|
-
*/
|
|
1219
|
-
function deductOrderFeesFromFunds(buyFunds, sellFunds, fees, config, logger = null) {
|
|
1220
|
-
let finalBuy = buyFunds;
|
|
1221
|
-
let finalSell = sellFunds;
|
|
1222
|
-
if (fees > 0) {
|
|
1223
|
-
const btsOrderType = getBtsSide(config?.assetA, config?.assetB);
|
|
1224
|
-
if (btsOrderType === constants_1.ORDER_TYPES.BUY) {
|
|
1225
|
-
finalBuy = Math.max(0, buyFunds - fees);
|
|
1226
|
-
logger?.log?.(`Reduced available BTS (buy) funds by ${Format.formatAmount8(fees)}`, 'info');
|
|
1227
|
-
}
|
|
1228
|
-
else if (btsOrderType === constants_1.ORDER_TYPES.SELL) {
|
|
1229
|
-
finalSell = Math.max(0, sellFunds - fees);
|
|
1230
|
-
logger?.log?.(`Reduced available BTS (sell) funds by ${Format.formatAmount8(fees)}`, 'info');
|
|
1102
|
+
const key = `${assetA}/${assetB}`;
|
|
1103
|
+
if (!warnedMissingFeeCachePairs.has(key)) {
|
|
1104
|
+
warnedMissingFeeCachePairs.add(key);
|
|
1105
|
+
mathLogger.warn(`calculateOrderCreationFees: fee cache unavailable for ${key}: ${getErrorMessage(err)}. Using fallback fee.`);
|
|
1231
1106
|
}
|
|
1107
|
+
return FEE_PARAMETERS.BTS_FALLBACK_FEE;
|
|
1232
1108
|
}
|
|
1233
|
-
return
|
|
1109
|
+
return 0;
|
|
1234
1110
|
}
|
|
1235
1111
|
/**
|
|
1236
1112
|
* Calculate how much input asset to swap into a constant-product AMM pool
|
|
@@ -1272,9 +1148,9 @@ function calculateSwapInAmount(targetReceive, poolReserveOut, poolReserveIn) {
|
|
|
1272
1148
|
* @returns {number} Number of gap slots
|
|
1273
1149
|
*/
|
|
1274
1150
|
function calculateGapSlots(incrementPercent, targetSpreadPercent, gridLimits = {}) {
|
|
1275
|
-
const DEFAULT_INCREMENT = Number(
|
|
1276
|
-
const MIN_SPREAD_FACTOR = gridLimits.MIN_SPREAD_FACTOR ??
|
|
1277
|
-
const MIN_SPREAD_ORDERS = gridLimits.MIN_SPREAD_ORDERS ??
|
|
1151
|
+
const DEFAULT_INCREMENT = Number(DEFAULT_CONFIG.incrementPercent);
|
|
1152
|
+
const MIN_SPREAD_FACTOR = gridLimits.MIN_SPREAD_FACTOR ?? GRID_LIMITS.MIN_SPREAD_FACTOR;
|
|
1153
|
+
const MIN_SPREAD_ORDERS = gridLimits.MIN_SPREAD_ORDERS ?? GRID_LIMITS.MIN_SPREAD_ORDERS;
|
|
1278
1154
|
const safeIncrement = (Number.isFinite(incrementPercent) && incrementPercent > 0) ? incrementPercent : DEFAULT_INCREMENT;
|
|
1279
1155
|
const step = 1 + (safeIncrement / 100);
|
|
1280
1156
|
const minSpreadPercent = safeIncrement * MIN_SPREAD_FACTOR;
|
|
@@ -1334,19 +1210,20 @@ function resolveGapBand(manager) {
|
|
|
1334
1210
|
function countGapBandSpread(manager, orders, resolveIndex) {
|
|
1335
1211
|
const resolved = resolveGapBand(manager);
|
|
1336
1212
|
if (resolved.boundaryIdx === null || resolved.sellStartIdx === null) {
|
|
1337
|
-
return Array.from(orders).filter((o) => o?.type ===
|
|
1213
|
+
return Array.from(orders).filter((o) => o?.type === ORDER_TYPES.SPREAD).length;
|
|
1338
1214
|
}
|
|
1339
1215
|
let count = 0;
|
|
1340
1216
|
let arrayIndex = 0;
|
|
1341
1217
|
for (const o of orders) {
|
|
1342
1218
|
const idx = resolveIndex(o, arrayIndex);
|
|
1343
|
-
if (o?.type ===
|
|
1219
|
+
if (o?.type === ORDER_TYPES.SPREAD && idx !== null && idx > resolved.boundaryIdx && idx < resolved.sellStartIdx) {
|
|
1344
1220
|
count++;
|
|
1345
1221
|
}
|
|
1346
1222
|
arrayIndex++;
|
|
1347
1223
|
}
|
|
1348
1224
|
return count;
|
|
1349
1225
|
}
|
|
1226
|
+
export { getBtsSide, getSellStartIdx, resolveGapBand, countGapBandSpread, calculateGapSlots, isPercentageString, isPositiveNumber, isPositiveNumberOrPercent, isPositiveInt, parsePercentageString, toDecimal, resolveRelativePrice, isExplicitZeroAllocation, getPrecision, computeChainFundTotals, calculateAvailableFundsValue, computeBtsFeeImpact, adjustBudgetForBtsFees, getGridBestPrices, calculateSpreadFromOrders, resolveConfigValue, resolveConfigValueWithRegistry, hasValidAccountTotals, blockchainToFloat, floatToBlockchainInt, quantizeFloat, normalizeInt, getPrecisionByOrderType, getPrecisionsForManager, getPrecisionSlack, calculatePriceTolerance, findPriceCollision, validateOrderAmountsWithinLimits, getMinOrderSize, getDustThresholdFactor, getSingleDustThreshold, getDoubleDustThreshold, getMinAbsoluteOrderSize, validateOrderSize, getAssetFees, getAssetFeesSafe, allocateFundsByWeights, calculateOrderSizes, calculateRotationOrderSizes, calculateGridSideDivergenceMetric, calculateOrderCreationFees, calculateSwapInAmount, _setFeeCache, cloneWeightDistribution, clamp, roundTo, fixedTo, roundToDecimals };
|
|
1350
1227
|
/**
|
|
1351
1228
|
* Round a value to a given factor.
|
|
1352
1229
|
* @param {number} value - Value to round
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../modules/order/utils/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,51 @@
|
|
|
68
68
|
*
|
|
69
69
|
* ===============================================================================
|
|
70
70
|
*/
|
|
71
|
+
/**
|
|
72
|
+
* Detect a "chain order does not exist" error from a broadcast/read failure.
|
|
73
|
+
* Single canonical implementation used by the correction, reconcile-cancel,
|
|
74
|
+
* dust-cancel, and residual-cancel paths.
|
|
75
|
+
*
|
|
76
|
+
* The explicit "order ... does not exist" phrasings always match. The legacy
|
|
77
|
+
* generic 'not found' fragment and the object-missing phrasings match as-is
|
|
78
|
+
* when no orderId is given (legacy order.ts behavior for the correction path);
|
|
79
|
+
* when an orderId IS given (dust/residual cancel paths) they additionally
|
|
80
|
+
* require the orderId to appear in the message, so an unrelated missing-object
|
|
81
|
+
* error is never mistaken for a gone order.
|
|
82
|
+
* @param {string} message - Error message to inspect.
|
|
83
|
+
* @param {string} [orderId] - Order ID required to be present in the message
|
|
84
|
+
* for generic object-missing phrasings (precision mode).
|
|
85
|
+
* @returns {boolean} True if the message indicates the order is gone.
|
|
86
|
+
*/
|
|
87
|
+
declare function isOrderGoneErrorMessage(message: any, orderId?: any): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Record a duplicate-orphan detection for an orderId.
|
|
90
|
+
* First sighting stays quiet (count 1). A repeated sighting of the same
|
|
91
|
+
* orderId escalates, but no more often than TIMING.STALE_TOTALS_WARN_RATE_LIMIT_MS.
|
|
92
|
+
* @param {string} orderId - Duplicate orphan chain order ID.
|
|
93
|
+
* @returns {{ count: number; shouldEscalate: boolean }} Detection stats.
|
|
94
|
+
*/
|
|
95
|
+
declare function recordDuplicateOrphanDetection(orderId: any): {
|
|
96
|
+
count: number;
|
|
97
|
+
shouldEscalate: boolean;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Clear the detection counter for an orderId (e.g. after a confirmed cancel),
|
|
101
|
+
* so a resolved orphan never lingers and false-escalates later.
|
|
102
|
+
* @param {string} orderId - Chain order ID to forget.
|
|
103
|
+
*/
|
|
104
|
+
declare function clearDuplicateOrphanDetection(orderId: any): void;
|
|
105
|
+
/**
|
|
106
|
+
* Record a duplicate-orphan detection and return the log level + re-detection
|
|
107
|
+
* suffix for the caller's diagnostic line. First sightings log at info; a
|
|
108
|
+
* repeat escalates to warn (rate-limited).
|
|
109
|
+
* @param {string} orderId - Duplicate orphan chain order ID.
|
|
110
|
+
* @returns {{ level: 'info'|'warn'; suffix: string }} Log level and suffix text.
|
|
111
|
+
*/
|
|
112
|
+
declare function duplicateOrphanLogInfo(orderId: any): {
|
|
113
|
+
level: string;
|
|
114
|
+
suffix: string;
|
|
115
|
+
};
|
|
71
116
|
/**
|
|
72
117
|
* Parse blockchain order into standard grid order format.
|
|
73
118
|
* Extracts price, type (BUY/SELL), and size from blockchain order structure.
|
|
@@ -104,7 +149,6 @@ declare function findMatchingGridOrderByOpenOrder(parsedChainOrder: any, opts: a
|
|
|
104
149
|
/**
|
|
105
150
|
* Update grid order size based on blockchain state.
|
|
106
151
|
* Detects partial fills and updates accounting if size changed.
|
|
107
|
-
* Skips dust refills (prevents unnecessary sync when size decreases).
|
|
108
152
|
*
|
|
109
153
|
* Returns the updated order object or null if no update needed.
|
|
110
154
|
*
|
|
@@ -630,5 +674,5 @@ declare function getSideBudget(side: any, funds: any, config: any, totalTarget:
|
|
|
630
674
|
* @returns {Array} Array of calculated sizes
|
|
631
675
|
*/
|
|
632
676
|
declare function calculateBudgetedSizes(slots: any, side: any, budget: any, weightDist: any, incrementPercent: any, assets: any): any[];
|
|
633
|
-
export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, resolveSpreadOrderSide, chainOrderMatchesSlot, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, calculateFundDrivenBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, getOrderSize, deriveTargetBoundary, adjustBudgetForBtsFees, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint };
|
|
677
|
+
export { parseChainOrder, findMatchingGridOrderByOpenOrder, applyChainSizeToGridOrder, buildFillKey, correctOrderPriceOnChain, correctAllPriceMismatches, buildCreateOrderArgs, getOrderTypeFromUpdatedFlags, resolveConfiguredPriceBound, virtualizeOrder, convertToSpreadPlaceholder, resolveSpreadOrderSide, chainOrderMatchesSlot, parseSlotIndex, filterOrdersByType, buildOutsideInPairGroups, extractBatchOperationResults, formatUnmatchedChainOrder, isOrderOnChain, isOrderVirtual, hasOnChainId, isOrderPlaced, isPhantomOrder, isSlotAvailable, isEmptyGridSlot, isOrderHealthy, checkSizeThreshold, checkSizesBeforeMinimum, calculateIdealBoundary, calculateFundDrivenBoundary, assignGridRoles, resolveOnChainRetypeType, shouldFlagOutOfSpread, buildIndexes, validateIndexes, ordersEqual, buildDelta, getOrderSize, deriveTargetBoundary, adjustBudgetForBtsFees, getActiveOrdersTotal, getSideBudget, calculateBudgetedSizes, buildCreateOpFingerprint, isOrderGoneErrorMessage, recordDuplicateOrphanDetection, clearDuplicateOrphanDetection, duplicateOrphanLogInfo };
|
|
634
678
|
//# sourceMappingURL=order.d.ts.map
|