dexbot 1.4.15 → 1.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5013 -0
- package/README.md +18 -14
- package/analysis/README.md +468 -0
- package/analysis/ama_fitting/README.md +258 -0
- package/analysis/ama_fitting/analyze_ama_price_changes.ts +151 -0
- package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +407 -0
- package/analysis/ama_fitting/calibrate_convergence_er.ts +199 -0
- package/analysis/ama_fitting/fetch_lp_candles.ts +187 -0
- package/analysis/ama_fitting/generate_unified_comparison_chart.ts +269 -0
- package/analysis/ama_fitting/optimizer_high_resolution.ts +792 -0
- package/analysis/ama_fitting/package.json +12 -0
- package/analysis/analyze_derivatives.ts +318 -0
- package/analysis/analyze_dynamic_weight.ts +219 -0
- package/analysis/analyze_kalman.ts +126 -0
- package/analysis/analyze_regime.ts +156 -0
- package/analysis/analyze_regime_windows.ts +460 -0
- package/analysis/analyze_risk_profile.ts +199 -0
- package/analysis/analyze_trade_heatmap.ts +362 -0
- package/analysis/analyze_volatility.ts +182 -0
- package/analysis/bot_fitting/README.md +124 -0
- package/analysis/bot_fitting/backtest_ama_sweep.ts +816 -0
- package/analysis/bot_fitting/backtest_bot_fitting.ts +421 -0
- package/analysis/bot_fitting/shared_utils.ts +46 -0
- package/analysis/bot_key_utils.ts +154 -0
- package/analysis/bot_usage/discover_bot_accounts.ts +579 -0
- package/analysis/bot_usage/kibana_bot_queries.ts +427 -0
- package/analysis/chart_css.ts +60 -0
- package/analysis/chart_ui.ts +106 -0
- package/{dist/analysis/chart_utils.js → analysis/chart_utils.ts} +21 -13
- package/analysis/derivative_chart_generator.ts +874 -0
- package/analysis/math_utils.ts +60 -0
- package/analysis/price_sources.ts +130 -0
- package/analysis/resolve_source.ts +89 -0
- package/analysis/trade_profitability.ts +1412 -0
- package/analysis/tradingview/README.md +161 -0
- package/analysis/tradingview/analyze_tradingview.ts +160 -0
- package/{dist/analysis/tradingview/tradingview_uplot_chart_generator.js → analysis/tradingview/tradingview_uplot_chart_generator.ts} +40 -36
- package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +437 -0
- package/analysis/trend_detection/README.md +27 -0
- package/analysis/trend_detection/SIGNAL_DOCUMENTATION.md +403 -0
- package/analysis/trend_detection/derivative_analyzer.ts +1050 -0
- package/analysis/trend_detection/dynamic_weight_chart_generator.ts +1376 -0
- package/analysis/trend_detection/hurst_analyzer.ts +7 -0
- package/analysis/trend_detection/kalman_chart_generator.ts +371 -0
- package/analysis/trend_detection/kalman_trend_analyzer.ts +9 -0
- package/analysis/trend_detection/kalman_velocity_smoothing.ts +7 -0
- package/analysis/trend_detection/package.json +23 -0
- package/analysis/trend_detection/permutation_entropy_analyzer.ts +7 -0
- package/analysis/trend_detection/regime_chart_generator.ts +319 -0
- package/analysis/trend_detection/tests/test_kalman_trend.ts +153 -0
- package/analysis/trend_detection/tests/test_kalman_velocity_smoothing.ts +64 -0
- package/analysis/trend_detection/volatility_chart_generator.ts +655 -0
- package/analysis/tsconfig.json +29 -0
- package/analysis/uplot/index.d.ts +128 -0
- package/analysis/uplot/uPlot.iife.min.js +2 -0
- package/analysis/uplot/uPlot.min.css +1 -0
- package/claw/README.md +4 -0
- package/claw/examples/claw_profiles_example.ts +1 -1
- package/claw/examples/memu_integration_example.ts +1 -1
- package/claw/modules/bitshares_client.ts +47 -7
- package/claw/modules/chain_actions.ts +10 -1
- package/claw/modules/chain_broadcast.ts +4 -5
- package/claw/modules/claw_infra.ts +13 -3
- package/claw/modules/claw_launcher.ts +41 -7
- package/claw/modules/claw_manifest.ts +9 -1
- package/claw/modules/claw_skill_md.ts +34 -13
- package/claw/modules/credit_runtime_adapter.ts +30 -12
- package/claw/modules/decision_loop.ts +10 -2
- package/claw/modules/dexbot_profiles.ts +5 -25
- package/claw/modules/feed_price_source.ts +1 -1
- package/claw/modules/honest_ecosystem.ts +32 -8
- package/claw/modules/kibana_price_source.ts +6 -2
- package/claw/modules/launcher_mode_detector.ts +10 -13
- package/claw/modules/launcher_paths.ts +4 -1
- package/claw/modules/liquidity_pools.ts +2 -2
- package/claw/modules/mcp_utils.ts +46 -5
- package/claw/modules/memu_bridge.ts +17 -1
- package/claw/modules/position_discovery.ts +1 -1
- package/claw/modules/position_health.ts +1 -1
- package/claw/modules/position_manager.ts +39 -13
- package/claw/modules/skill_utils.ts +4 -8
- package/claw/modules/types.ts +20 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/scripts/claw_bridge.ts +22 -3
- package/claw/scripts/claw_mcp_server.ts +28 -13
- package/claw/scripts/honest_assets_report.ts +3 -1
- package/claw/scripts/memu_mcp_server.ts +15 -4
- package/claw/tests/test_claw_data_flow.ts +4 -2
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/claw/tests/test_claw_regressions.ts +5 -0
- package/claw/tests/test_claw_skill_generation.ts +3 -3
- package/claw/tests/test_nullclaw_tmp_integration.ts +1 -1
- package/claw/tsconfig.json +1 -2
- package/dist/bot.js +1 -1
- package/dist/bot.js.map +1 -1
- package/dist/credential-daemon.js +8 -8
- package/dist/credential-daemon.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +9 -3
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/market_adapter/core/signals/hurst_analyzer.js +1 -1
- package/dist/market_adapter/core/signals/kalman_trend_analyzer.js +1 -1
- package/dist/market_adapter/core/signals/permutation_entropy_analyzer.js +1 -1
- package/dist/market_adapter/core/strategies/ama_slope_model.js +1 -1
- package/dist/market_adapter/core/strategies/collateral_manager.js +1 -1
- package/dist/market_adapter/core/strategies/regime_gate.js +1 -1
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +1 -2
- 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 +2 -3
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/lp_chart_core.js +1 -1
- package/dist/market_adapter/market_adapter.d.ts.map +1 -1
- package/dist/market_adapter/market_adapter.js +3 -2
- package/dist/market_adapter/market_adapter.js.map +1 -1
- package/dist/market_adapter/utils/data_discovery.js +2 -2
- package/dist/market_adapter/utils/data_discovery.js.map +1 -1
- package/dist/modules/account_bots.d.ts.map +1 -1
- package/dist/modules/account_bots.js +7 -17
- package/dist/modules/account_bots.js.map +1 -1
- package/dist/modules/account_orders.d.ts +8 -1
- package/dist/modules/account_orders.d.ts.map +1 -1
- package/dist/modules/account_orders.js +3 -11
- package/dist/modules/account_orders.js.map +1 -1
- package/dist/modules/authority_resolver.js +1 -1
- package/dist/modules/authority_resolver.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +1 -2
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +19 -58
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.d.ts +2 -9
- package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -1
- package/dist/modules/bitshares-native/crypto/ecc.js +6 -145
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts +1 -17
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/chain_constants.js +1 -30
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
- package/dist/modules/bitshares-native/serial/types.d.ts +1 -30
- package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -1
- package/dist/modules/bitshares-native/serial/types.js +1 -169
- package/dist/modules/bitshares-native/serial/types.js.map +1 -1
- package/dist/modules/bitshares-native/signing_client.js +1 -1
- package/dist/modules/bitshares-native/signing_client.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +7 -7
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares-native/transport.js +1 -1
- package/dist/modules/bitshares-native/transport.js.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.d.ts +1 -6
- package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
- package/dist/modules/bitshares-native/tx/builder.js +2 -11
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js +1 -1
- package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -1
- package/dist/modules/bitshares_client.js +1 -1
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/bot_settings.js +1 -1
- package/dist/modules/bot_settings.js.map +1 -1
- package/dist/modules/chain_keys.d.ts +2 -2
- package/dist/modules/chain_keys.d.ts.map +1 -1
- package/dist/modules/chain_keys.js +9 -3
- package/dist/modules/chain_keys.js.map +1 -1
- package/dist/modules/chain_orders.d.ts.map +1 -1
- package/dist/modules/chain_orders.js +7 -23
- package/dist/modules/chain_orders.js.map +1 -1
- package/dist/modules/constants.js +1 -1
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/cr_planner.js +3 -3
- package/dist/modules/cr_planner.js.map +1 -1
- package/dist/modules/credential_policy.d.ts.map +1 -1
- package/dist/modules/credential_policy.js +6 -12
- package/dist/modules/credential_policy.js.map +1 -1
- package/dist/modules/credential_runtime.d.ts +0 -3
- package/dist/modules/credential_runtime.d.ts.map +1 -1
- package/dist/modules/credential_runtime.js +5 -27
- package/dist/modules/credential_runtime.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +18 -27
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts +4 -1
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -1
- package/dist/modules/crypto/pure_secp256k1.js +1 -1
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -1
- package/dist/modules/crypto/sync.d.ts +0 -3
- package/dist/modules/crypto/sync.d.ts.map +1 -1
- package/dist/modules/crypto/sync.js +0 -3
- package/dist/modules/crypto/sync.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +9 -9
- package/dist/modules/dexbot_class.js +9 -9
- package/dist/modules/dexbot_cow_runtime.d.ts +3 -3
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +4 -9
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +10 -10
- package/dist/modules/dexbot_fill_runtime.js +10 -10
- package/dist/modules/dexbot_maintenance_runtime.d.ts +7 -7
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +16 -15
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/env.d.ts +0 -1
- package/dist/modules/env.d.ts.map +1 -1
- package/dist/modules/env.js +0 -34
- package/dist/modules/env.js.map +1 -1
- package/dist/modules/graceful_shutdown.js +1 -1
- package/dist/modules/graceful_shutdown.js.map +1 -1
- package/dist/modules/key_store.js +1 -1
- package/dist/modules/key_store.js.map +1 -1
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -1
- package/dist/modules/launcher/credential_daemon.js +3 -3
- package/dist/modules/launcher/credential_daemon.js.map +1 -1
- package/dist/modules/launcher/launch_modes.d.ts +1 -2
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
- package/dist/modules/launcher/launch_modes.js +1 -2
- package/dist/modules/launcher/launch_modes.js.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.d.ts +1 -2
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/market_adapter_runtime.js +1 -4
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.d.ts +1 -2
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
- package/dist/modules/launcher/monolithic_runtime.js +3 -17
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
- package/dist/modules/launcher/runtime_entry.d.ts +1 -2
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -1
- package/dist/modules/launcher/runtime_entry.js +1 -14
- package/dist/modules/launcher/runtime_entry.js.map +1 -1
- package/dist/modules/launcher/status_reporting.d.ts +1 -3
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -1
- package/dist/modules/launcher/status_reporting.js +1 -10
- package/dist/modules/launcher/status_reporting.js.map +1 -1
- package/dist/modules/node_manager.d.ts.map +1 -1
- package/dist/modules/node_manager.js +4 -3
- package/dist/modules/node_manager.js.map +1 -1
- package/dist/modules/order/export.d.ts.map +1 -1
- package/dist/modules/order/export.js +4 -3
- package/dist/modules/order/export.js.map +1 -1
- package/dist/modules/order/format.d.ts +1 -10
- package/dist/modules/order/format.d.ts.map +1 -1
- package/dist/modules/order/format.js +1 -22
- package/dist/modules/order/format.js.map +1 -1
- package/dist/modules/order/grid.d.ts +19 -19
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +25 -25
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts +1 -83
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +1 -1
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.d.ts +15 -15
- package/dist/modules/order/manager.js +15 -15
- package/dist/modules/order/processed_fill_store.d.ts +1 -1
- package/dist/modules/order/processed_fill_store.js +1 -1
- package/dist/modules/order/sync_engine.d.ts +4 -4
- package/dist/modules/order/sync_engine.js +4 -4
- package/dist/modules/order/utils/math.d.ts +7 -2
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +10 -3
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.js +3 -3
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +17 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +56 -4
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts +3 -3
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +5 -5
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/dist/modules/order/utils/withPoolRef.js +1 -1
- package/dist/modules/order/utils/withPoolRef.js.map +1 -1
- package/dist/modules/paths.d.ts +46 -15
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +145 -33
- package/dist/modules/paths.js.map +1 -1
- package/dist/modules/runtime.d.ts +1 -0
- package/dist/modules/runtime.d.ts.map +1 -1
- package/dist/modules/runtime_settings.d.ts.map +1 -1
- package/dist/modules/runtime_settings.js +26 -30
- package/dist/modules/runtime_settings.js.map +1 -1
- package/dist/modules/settings_merge.d.ts +7 -1
- package/dist/modules/settings_merge.d.ts.map +1 -1
- package/dist/modules/settings_merge.js +10 -6
- package/dist/modules/settings_merge.js.map +1 -1
- package/dist/modules/types.d.ts +0 -753
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js +0 -15
- package/dist/modules/types.js.map +1 -1
- package/dist/modules/utils/base58check.js +4 -4
- package/dist/modules/utils/base58check.js.map +1 -1
- package/dist/modules/validate_profiles.d.ts +1 -11
- package/dist/modules/validate_profiles.d.ts.map +1 -1
- package/dist/modules/validate_profiles.js +1 -1
- package/dist/modules/validate_profiles.js.map +1 -1
- package/dist/pm2.js +3 -3
- package/dist/pm2.js.map +1 -1
- package/dist/scripts/update.d.ts +17 -5
- package/dist/scripts/update.d.ts.map +1 -1
- package/dist/scripts/update.js +420 -172
- package/dist/scripts/update.js.map +1 -1
- package/docs/BITSHARES_ONBOARDING.md +435 -0
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +514 -0
- package/docs/COW_INVARIANTS.md +309 -0
- package/docs/CREDENTIAL_SECURITY.md +450 -0
- package/docs/DEXBOT_COMPARISON.md +922 -0
- package/docs/EVOLUTION.md +210 -0
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +851 -0
- package/docs/GRID_RECALCULATION.md +624 -0
- package/docs/GRID_RECONCILE.md +259 -0
- package/docs/LOGGING.md +318 -0
- package/docs/MPA_CREDIT_USAGE.md +353 -0
- package/docs/README.md +199 -0
- package/docs/WORKFLOW.md +369 -0
- package/docs/architecture.md +1466 -0
- package/docs/developer_guide.md +1929 -0
- package/docs/docker.md +141 -0
- package/market_adapter/README.md +1003 -0
- package/modules/README.md +176 -0
- package/package.json +40 -5
- package/scripts/README.md +55 -32
- package/scripts/bots +18 -0
- package/scripts/clean-dist.js +9 -0
- package/scripts/create-bot-symlinks.sh +3 -3
- package/scripts/dexbot +17 -0
- package/scripts/git-viewer.sh +489 -0
- package/scripts/keys +18 -0
- package/scripts/lib/dexbot-paths.sh +71 -20
- package/scripts/pdev.sh +38 -0
- package/scripts/pm2 +17 -0
- package/scripts/pmain.sh +45 -0
- package/scripts/ptest.sh +26 -0
- package/scripts/repo-stats.html +480 -0
- package/scripts/unlock +17 -0
- package/scripts/update.js +13 -0
- package/tests/README.md +135 -0
- package/claw/data/positions.json +0 -148036
- package/claw/node_modules/.package-lock.json +0 -935
- package/claw/node_modules/@babel/runtime/LICENSE +0 -22
- package/claw/node_modules/@babel/runtime/README.md +0 -19
- package/claw/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/OverloadYield.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
- package/claw/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
- package/claw/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
- package/claw/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
- package/claw/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
- package/claw/node_modules/@babel/runtime/helpers/applyDecs2311.js +0 -124
- package/claw/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/assertClassBrand.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -24
- package/claw/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -45
- package/claw/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -26
- package/claw/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/callSuper.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/checkInRHS.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateGetter.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/classPrivateSetter.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/construct.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/createClass.js +0 -13
- package/claw/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -50
- package/claw/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -19
- package/claw/node_modules/@babel/runtime/helpers/createSuper.js +0 -16
- package/claw/node_modules/@babel/runtime/helpers/decorate.js +0 -250
- package/claw/node_modules/@babel/runtime/helpers/defaults.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/defineAccessor.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/defineProperty.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/dispose.js +0 -28
- package/claw/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/OverloadYield.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
- package/claw/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js +0 -124
- package/claw/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -24
- package/claw/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -45
- package/claw/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -26
- package/claw/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/callSuper.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/construct.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -13
- package/claw/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -50
- package/claw/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -19
- package/claw/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -16
- package/claw/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
- package/claw/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/defineAccessor.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
- package/claw/node_modules/@babel/runtime/helpers/esm/extends.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/get.js +0 -11
- package/claw/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/identity.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js +0 -27
- package/claw/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -14
- package/claw/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -28
- package/claw/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
- package/claw/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -23
- package/claw/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -13
- package/claw/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
- package/claw/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/regenerator.js +0 -89
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorAsync.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorAsyncGen.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorAsyncIterator.js +0 -33
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorDefine.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorKeys.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -77
- package/claw/node_modules/@babel/runtime/helpers/esm/regeneratorValues.js +0 -19
- package/claw/node_modules/@babel/runtime/helpers/esm/set.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/esm/setFunctionName.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/superPropGet.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/superPropSet.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -2
- package/claw/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/esm/toSetter.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/tsRewriteRelativeImportExtensions.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/esm/usingCtx.js +0 -59
- package/claw/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -56
- package/claw/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -27
- package/claw/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -52
- package/claw/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/extends.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/get.js +0 -11
- package/claw/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/identity.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/importDeferProxy.js +0 -27
- package/claw/node_modules/@babel/runtime/helpers/inherits.js +0 -14
- package/claw/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -5
- package/claw/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/instanceof.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -28
- package/claw/node_modules/@babel/runtime/helpers/jsx.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/nullishReceiverError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
- package/claw/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -23
- package/claw/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -13
- package/claw/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/regenerator.js +0 -89
- package/claw/node_modules/@babel/runtime/helpers/regeneratorAsync.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js +0 -33
- package/claw/node_modules/@babel/runtime/helpers/regeneratorDefine.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/regeneratorKeys.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -77
- package/claw/node_modules/@babel/runtime/helpers/regeneratorValues.js +0 -19
- package/claw/node_modules/@babel/runtime/helpers/set.js +0 -22
- package/claw/node_modules/@babel/runtime/helpers/setFunctionName.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/superPropBase.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/superPropGet.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/superPropSet.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/tdz.js +0 -4
- package/claw/node_modules/@babel/runtime/helpers/temporalRef.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -2
- package/claw/node_modules/@babel/runtime/helpers/toArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -8
- package/claw/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -7
- package/claw/node_modules/@babel/runtime/helpers/toSetter.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/tsRewriteRelativeImportExtensions.js +0 -6
- package/claw/node_modules/@babel/runtime/helpers/typeof.js +0 -10
- package/claw/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -9
- package/claw/node_modules/@babel/runtime/helpers/using.js +0 -12
- package/claw/node_modules/@babel/runtime/helpers/usingCtx.js +0 -59
- package/claw/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -56
- package/claw/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -27
- package/claw/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -52
- package/claw/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -4
- package/claw/node_modules/@babel/runtime/package.json +0 -1107
- package/claw/node_modules/@babel/runtime/regenerator/index.js +0 -15
- package/claw/node_modules/assert/.github/FUNDING.yml +0 -12
- package/claw/node_modules/assert/.github/SECURITY.md +0 -10
- package/claw/node_modules/assert/.travis.yml +0 -30
- package/claw/node_modules/assert/.zuul.yml +0 -13
- package/claw/node_modules/assert/CHANGELOG.md +0 -11
- package/claw/node_modules/assert/LICENSE +0 -18
- package/claw/node_modules/assert/README.md +0 -105
- package/claw/node_modules/assert/assert.js +0 -506
- package/claw/node_modules/assert/package.json +0 -32
- package/claw/node_modules/assert/test.js +0 -360
- package/claw/node_modules/async-limiter/.eslintignore +0 -2
- package/claw/node_modules/async-limiter/.nycrc +0 -10
- package/claw/node_modules/async-limiter/.travis.yml +0 -9
- package/claw/node_modules/async-limiter/LICENSE +0 -8
- package/claw/node_modules/async-limiter/index.js +0 -67
- package/claw/node_modules/async-limiter/package.json +0 -35
- package/claw/node_modules/async-limiter/readme.md +0 -132
- package/claw/node_modules/available-typed-arrays/.eslintrc +0 -5
- package/claw/node_modules/available-typed-arrays/.github/FUNDING.yml +0 -12
- package/claw/node_modules/available-typed-arrays/.nycrc +0 -9
- package/claw/node_modules/available-typed-arrays/CHANGELOG.md +0 -100
- package/claw/node_modules/available-typed-arrays/LICENSE +0 -21
- package/claw/node_modules/available-typed-arrays/README.md +0 -55
- package/claw/node_modules/available-typed-arrays/index.d.ts +0 -8
- package/claw/node_modules/available-typed-arrays/index.js +0 -17
- package/claw/node_modules/available-typed-arrays/package.json +0 -93
- package/claw/node_modules/available-typed-arrays/test/index.js +0 -18
- package/claw/node_modules/available-typed-arrays/tsconfig.json +0 -49
- package/claw/node_modules/base-x/LICENSE.md +0 -22
- package/claw/node_modules/base-x/README.md +0 -67
- package/claw/node_modules/base-x/package.json +0 -49
- package/claw/node_modules/base-x/src/index.d.ts +0 -10
- package/claw/node_modules/base-x/src/index.js +0 -123
- package/claw/node_modules/bigi/CHANGELOG.md +0 -85
- package/claw/node_modules/bigi/LICENSE.md +0 -30
- package/claw/node_modules/bigi/README.md +0 -14
- package/claw/node_modules/bigi/lib/bigi.js +0 -1509
- package/claw/node_modules/bigi/lib/convert.js +0 -91
- package/claw/node_modules/bigi/lib/index.js +0 -6
- package/claw/node_modules/bigi/package.json +0 -55
- package/claw/node_modules/bignumber.js/CHANGELOG.md +0 -222
- package/claw/node_modules/bignumber.js/LICENCE +0 -23
- package/claw/node_modules/bignumber.js/README.md +0 -266
- package/claw/node_modules/bignumber.js/bignumber.d.ts +0 -1797
- package/claw/node_modules/bignumber.js/bignumber.js +0 -2814
- package/claw/node_modules/bignumber.js/bignumber.js.map +0 -1
- package/claw/node_modules/bignumber.js/bignumber.min.js +0 -3
- package/claw/node_modules/bignumber.js/bignumber.mjs +0 -2793
- package/claw/node_modules/bignumber.js/bower.json +0 -36
- package/claw/node_modules/bignumber.js/doc/API.html +0 -2118
- package/claw/node_modules/bignumber.js/package.json +0 -39
- package/claw/node_modules/bs58/CHANGELOG.md +0 -61
- package/claw/node_modules/bs58/README.md +0 -71
- package/claw/node_modules/bs58/index.js +0 -4
- package/claw/node_modules/bs58/package.json +0 -37
- package/claw/node_modules/btsdex/.babelrc +0 -17
- package/claw/node_modules/btsdex/.github/workflows/check-style.yml +0 -16
- package/claw/node_modules/btsdex/LICENSE +0 -21
- package/claw/node_modules/btsdex/README.md +0 -467
- package/claw/node_modules/btsdex/cli.js +0 -165
- package/claw/node_modules/btsdex/lib/account.js +0 -60
- package/claw/node_modules/btsdex/lib/asset.js +0 -78
- package/claw/node_modules/btsdex/lib/bitshares.js +0 -363
- package/claw/node_modules/btsdex/lib/event.js +0 -137
- package/claw/node_modules/btsdex/lib/fees.js +0 -34
- package/claw/node_modules/btsdex/lib/index.js +0 -3
- package/claw/node_modules/btsdex/lib/transaction/TransactionBuilder.js +0 -797
- package/claw/node_modules/btsdex/lib/transaction/index.js +0 -64
- package/claw/node_modules/btsdex/package.json +0 -54
- package/claw/node_modules/btsdex/yarn-error.log +0 -3483
- package/claw/node_modules/btsdex-api/.babelrc +0 -14
- package/claw/node_modules/btsdex-api/README.md +0 -3
- package/claw/node_modules/btsdex-api/lib/apis.js +0 -59
- package/claw/node_modules/btsdex-api/lib/config.js +0 -39
- package/claw/node_modules/btsdex-api/lib/connection.js +0 -188
- package/claw/node_modules/btsdex-api/lib/index.js +0 -86
- package/claw/node_modules/btsdex-api/lib/logger.js +0 -45
- package/claw/node_modules/btsdex-api/lib/servers.js +0 -30
- package/claw/node_modules/btsdex-api/package.json +0 -29
- package/claw/node_modules/btsdex-ecc/.babelrc +0 -13
- package/claw/node_modules/btsdex-ecc/lib/BrainKey.js +0 -15
- package/claw/node_modules/btsdex-ecc/lib/KeyUtils.js +0 -205
- package/claw/node_modules/btsdex-ecc/lib/PrivateKey.js +0 -198
- package/claw/node_modules/btsdex-ecc/lib/PublicKey.js +0 -197
- package/claw/node_modules/btsdex-ecc/lib/address.js +0 -84
- package/claw/node_modules/btsdex-ecc/lib/addressPrefix.js +0 -15
- package/claw/node_modules/btsdex-ecc/lib/aes.js +0 -294
- package/claw/node_modules/btsdex-ecc/lib/ecdsa.js +0 -194
- package/claw/node_modules/btsdex-ecc/lib/ecsignature.js +0 -131
- package/claw/node_modules/btsdex-ecc/lib/enforce_types.js +0 -54
- package/claw/node_modules/btsdex-ecc/lib/hash.js +0 -60
- package/claw/node_modules/btsdex-ecc/lib/index.js +0 -84
- package/claw/node_modules/btsdex-ecc/lib/signature.js +0 -185
- package/claw/node_modules/btsdex-ecc/package.json +0 -37
- package/claw/node_modules/btsdex-serializer/.babelrc +0 -13
- package/claw/node_modules/btsdex-serializer/lib/ChainTypes.js +0 -154
- package/claw/node_modules/btsdex-serializer/lib/FastParser.js +0 -75
- package/claw/node_modules/btsdex-serializer/lib/ObjectId.js +0 -65
- package/claw/node_modules/btsdex-serializer/lib/SerializerValidation.js +0 -377
- package/claw/node_modules/btsdex-serializer/lib/convert.js +0 -54
- package/claw/node_modules/btsdex-serializer/lib/error_with_cause.js +0 -43
- package/claw/node_modules/btsdex-serializer/lib/index.js +0 -72
- package/claw/node_modules/btsdex-serializer/lib/operations.js +0 -1359
- package/claw/node_modules/btsdex-serializer/lib/precision.js +0 -108
- package/claw/node_modules/btsdex-serializer/lib/serializer.js +0 -205
- package/claw/node_modules/btsdex-serializer/lib/template.js +0 -23
- package/claw/node_modules/btsdex-serializer/lib/types.js +0 -1209
- package/claw/node_modules/btsdex-serializer/package-lock.json +0 -238
- package/claw/node_modules/btsdex-serializer/package.json +0 -32
- package/claw/node_modules/bytebuffer/.travis.yml +0 -5
- package/claw/node_modules/bytebuffer/LICENSE +0 -202
- package/claw/node_modules/bytebuffer/README.md +0 -64
- package/claw/node_modules/bytebuffer/bower.json +0 -12
- package/claw/node_modules/bytebuffer/bytebuffer.png +0 -0
- package/claw/node_modules/bytebuffer/dist/README.md +0 -47
- package/claw/node_modules/bytebuffer/dist/bytebuffer-dataview.js +0 -3461
- package/claw/node_modules/bytebuffer/dist/bytebuffer-dataview.min.js +0 -88
- package/claw/node_modules/bytebuffer/dist/bytebuffer-dataview.min.js.gz +0 -0
- package/claw/node_modules/bytebuffer/dist/bytebuffer-dataview.min.map +0 -8
- package/claw/node_modules/bytebuffer/dist/bytebuffer-node.js +0 -3454
- package/claw/node_modules/bytebuffer/dist/bytebuffer.js +0 -3746
- package/claw/node_modules/bytebuffer/dist/bytebuffer.min.js +0 -93
- package/claw/node_modules/bytebuffer/dist/bytebuffer.min.js.gz +0 -0
- package/claw/node_modules/bytebuffer/dist/bytebuffer.min.map +0 -8
- package/claw/node_modules/bytebuffer/donate.png +0 -0
- package/claw/node_modules/bytebuffer/externs/bytebuffer.js +0 -862
- package/claw/node_modules/bytebuffer/externs/minimal-env.js +0 -52
- package/claw/node_modules/bytebuffer/index.js +0 -1
- package/claw/node_modules/bytebuffer/jsdoc.json +0 -13
- package/claw/node_modules/bytebuffer/package.json +0 -51
- package/claw/node_modules/bytebuffer/scripts/build.js +0 -113
- package/claw/node_modules/bytebuffer/src/bower.json +0 -12
- package/claw/node_modules/bytebuffer/src/bytebuffer.js +0 -220
- package/claw/node_modules/bytebuffer/src/encodings/base64.js +0 -88
- package/claw/node_modules/bytebuffer/src/encodings/binary.js +0 -74
- package/claw/node_modules/bytebuffer/src/encodings/debug.js +0 -211
- package/claw/node_modules/bytebuffer/src/encodings/hex.js +0 -75
- package/claw/node_modules/bytebuffer/src/encodings/impl/base64.js +0 -3
- package/claw/node_modules/bytebuffer/src/encodings/impl/binary.js +0 -65
- package/claw/node_modules/bytebuffer/src/encodings/impl/debug.js +0 -3
- package/claw/node_modules/bytebuffer/src/encodings/impl/hex.js +0 -101
- package/claw/node_modules/bytebuffer/src/encodings/impl/utf8.js +0 -126
- package/claw/node_modules/bytebuffer/src/encodings/utf8.js +0 -71
- package/claw/node_modules/bytebuffer/src/helpers.js +0 -143
- package/claw/node_modules/bytebuffer/src/macros.js +0 -222
- package/claw/node_modules/bytebuffer/src/methods/append.js +0 -58
- package/claw/node_modules/bytebuffer/src/methods/assert.js +0 -12
- package/claw/node_modules/bytebuffer/src/methods/capacity.js +0 -8
- package/claw/node_modules/bytebuffer/src/methods/clear.js +0 -13
- package/claw/node_modules/bytebuffer/src/methods/clone.js +0 -34
- package/claw/node_modules/bytebuffer/src/methods/compact.js +0 -49
- package/claw/node_modules/bytebuffer/src/methods/copy.js +0 -73
- package/claw/node_modules/bytebuffer/src/methods/ensureCapacity.js +0 -15
- package/claw/node_modules/bytebuffer/src/methods/fill.js +0 -35
- package/claw/node_modules/bytebuffer/src/methods/flip.js +0 -11
- package/claw/node_modules/bytebuffer/src/methods/mark.js +0 -17
- package/claw/node_modules/bytebuffer/src/methods/order.js +0 -36
- package/claw/node_modules/bytebuffer/src/methods/prepend.js +0 -87
- package/claw/node_modules/bytebuffer/src/methods/printDebug.js +0 -16
- package/claw/node_modules/bytebuffer/src/methods/remaining.js +0 -9
- package/claw/node_modules/bytebuffer/src/methods/reset.js +0 -17
- package/claw/node_modules/bytebuffer/src/methods/resize.js +0 -39
- package/claw/node_modules/bytebuffer/src/methods/reverse.js +0 -25
- package/claw/node_modules/bytebuffer/src/methods/skip.js +0 -19
- package/claw/node_modules/bytebuffer/src/methods/slice.js +0 -18
- package/claw/node_modules/bytebuffer/src/methods/static/accessor.js +0 -13
- package/claw/node_modules/bytebuffer/src/methods/static/allocate.js +0 -14
- package/claw/node_modules/bytebuffer/src/methods/static/concat.js +0 -55
- package/claw/node_modules/bytebuffer/src/methods/static/isByteBuffer.js +0 -9
- package/claw/node_modules/bytebuffer/src/methods/static/type.js +0 -11
- package/claw/node_modules/bytebuffer/src/methods/static/wrap.js +0 -125
- package/claw/node_modules/bytebuffer/src/methods/toBuffer.js +0 -77
- package/claw/node_modules/bytebuffer/src/methods/toString.js +0 -43
- package/claw/node_modules/bytebuffer/src/types/bytes/bitset.js +0 -89
- package/claw/node_modules/bytebuffer/src/types/bytes/bytes.js +0 -34
- package/claw/node_modules/bytebuffer/src/types/floats/float32.js +0 -81
- package/claw/node_modules/bytebuffer/src/types/floats/float64.js +0 -77
- package/claw/node_modules/bytebuffer/src/types/floats/ieee754.js +0 -130
- package/claw/node_modules/bytebuffer/src/types/ints/int16.js +0 -167
- package/claw/node_modules/bytebuffer/src/types/ints/int32.js +0 -125
- package/claw/node_modules/bytebuffer/src/types/ints/int64.js +0 -194
- package/claw/node_modules/bytebuffer/src/types/ints/int8.js +0 -137
- package/claw/node_modules/bytebuffer/src/types/strings/cstring.js +0 -110
- package/claw/node_modules/bytebuffer/src/types/strings/istring.js +0 -81
- package/claw/node_modules/bytebuffer/src/types/strings/utf8string.js +0 -214
- package/claw/node_modules/bytebuffer/src/types/strings/vstring.js +0 -78
- package/claw/node_modules/bytebuffer/src/types/varints/varint32.js +0 -164
- package/claw/node_modules/bytebuffer/src/types/varints/varint64.js +0 -208
- package/claw/node_modules/bytebuffer/src/wrap-node.js +0 -50
- package/claw/node_modules/bytebuffer/src/wrap.js +0 -43
- package/claw/node_modules/bytebuffer/tests/bench.js +0 -99
- package/claw/node_modules/bytebuffer/tests/suite.js +0 -1005
- package/claw/node_modules/call-bind/.eslintignore +0 -1
- package/claw/node_modules/call-bind/.eslintrc +0 -16
- package/claw/node_modules/call-bind/.github/FUNDING.yml +0 -12
- package/claw/node_modules/call-bind/.nycrc +0 -9
- package/claw/node_modules/call-bind/CHANGELOG.md +0 -106
- package/claw/node_modules/call-bind/LICENSE +0 -21
- package/claw/node_modules/call-bind/README.md +0 -64
- package/claw/node_modules/call-bind/callBound.js +0 -15
- package/claw/node_modules/call-bind/index.js +0 -24
- package/claw/node_modules/call-bind/package.json +0 -93
- package/claw/node_modules/call-bind/test/callBound.js +0 -54
- package/claw/node_modules/call-bind/test/index.js +0 -74
- package/claw/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
- package/claw/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
- package/claw/node_modules/call-bind-apply-helpers/.nycrc +0 -9
- package/claw/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
- package/claw/node_modules/call-bind-apply-helpers/LICENSE +0 -21
- package/claw/node_modules/call-bind-apply-helpers/README.md +0 -62
- package/claw/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
- package/claw/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
- package/claw/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
- package/claw/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
- package/claw/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
- package/claw/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
- package/claw/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
- package/claw/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
- package/claw/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
- package/claw/node_modules/call-bind-apply-helpers/index.js +0 -15
- package/claw/node_modules/call-bind-apply-helpers/package.json +0 -85
- package/claw/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
- package/claw/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
- package/claw/node_modules/call-bind-apply-helpers/test/index.js +0 -63
- package/claw/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
- package/claw/node_modules/call-bound/.eslintrc +0 -13
- package/claw/node_modules/call-bound/.github/FUNDING.yml +0 -12
- package/claw/node_modules/call-bound/.nycrc +0 -9
- package/claw/node_modules/call-bound/CHANGELOG.md +0 -42
- package/claw/node_modules/call-bound/LICENSE +0 -21
- package/claw/node_modules/call-bound/README.md +0 -53
- package/claw/node_modules/call-bound/index.d.ts +0 -94
- package/claw/node_modules/call-bound/index.js +0 -19
- package/claw/node_modules/call-bound/package.json +0 -99
- package/claw/node_modules/call-bound/test/index.js +0 -61
- package/claw/node_modules/call-bound/tsconfig.json +0 -10
- package/claw/node_modules/cipher-base/.eslintrc +0 -26
- package/claw/node_modules/cipher-base/.github/FUNDING.yml +0 -12
- package/claw/node_modules/cipher-base/CHANGELOG.md +0 -73
- package/claw/node_modules/cipher-base/LICENSE +0 -21
- package/claw/node_modules/cipher-base/README.md +0 -17
- package/claw/node_modules/cipher-base/index.js +0 -103
- package/claw/node_modules/cipher-base/package.json +0 -63
- package/claw/node_modules/cipher-base/test/index.js +0 -221
- package/claw/node_modules/core-util-is/LICENSE +0 -19
- package/claw/node_modules/core-util-is/README.md +0 -3
- package/claw/node_modules/core-util-is/lib/util.js +0 -107
- package/claw/node_modules/core-util-is/package.json +0 -38
- package/claw/node_modules/create-hash/.travis.yml +0 -17
- package/claw/node_modules/create-hash/LICENSE +0 -21
- package/claw/node_modules/create-hash/README.md +0 -19
- package/claw/node_modules/create-hash/browser.js +0 -30
- package/claw/node_modules/create-hash/index.js +0 -1
- package/claw/node_modules/create-hash/md5.js +0 -5
- package/claw/node_modules/create-hash/package.json +0 -39
- package/claw/node_modules/create-hash/test.js +0 -41
- package/claw/node_modules/create-hmac/LICENSE +0 -21
- package/claw/node_modules/create-hmac/README.md +0 -20
- package/claw/node_modules/create-hmac/browser.js +0 -62
- package/claw/node_modules/create-hmac/index.js +0 -1
- package/claw/node_modules/create-hmac/legacy.js +0 -46
- package/claw/node_modules/create-hmac/package.json +0 -45
- package/claw/node_modules/crypto-js/CONTRIBUTING.md +0 -28
- package/claw/node_modules/crypto-js/LICENSE +0 -24
- package/claw/node_modules/crypto-js/README.md +0 -241
- package/claw/node_modules/crypto-js/aes.js +0 -232
- package/claw/node_modules/crypto-js/bower.json +0 -35
- package/claw/node_modules/crypto-js/cipher-core.js +0 -880
- package/claw/node_modules/crypto-js/core.js +0 -760
- package/claw/node_modules/crypto-js/crypto-js.js +0 -5988
- package/claw/node_modules/crypto-js/docs/QuickStartGuide.wiki +0 -470
- package/claw/node_modules/crypto-js/enc-base64.js +0 -135
- package/claw/node_modules/crypto-js/enc-hex.js +0 -18
- package/claw/node_modules/crypto-js/enc-latin1.js +0 -18
- package/claw/node_modules/crypto-js/enc-utf16.js +0 -149
- package/claw/node_modules/crypto-js/enc-utf8.js +0 -18
- package/claw/node_modules/crypto-js/evpkdf.js +0 -132
- package/claw/node_modules/crypto-js/format-hex.js +0 -66
- package/claw/node_modules/crypto-js/format-openssl.js +0 -18
- package/claw/node_modules/crypto-js/hmac-md5.js +0 -18
- package/claw/node_modules/crypto-js/hmac-ripemd160.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha1.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha224.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha256.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha3.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha384.js +0 -18
- package/claw/node_modules/crypto-js/hmac-sha512.js +0 -18
- package/claw/node_modules/crypto-js/hmac.js +0 -143
- package/claw/node_modules/crypto-js/index.js +0 -18
- package/claw/node_modules/crypto-js/lib-typedarrays.js +0 -76
- package/claw/node_modules/crypto-js/md5.js +0 -268
- package/claw/node_modules/crypto-js/mode-cfb.js +0 -78
- package/claw/node_modules/crypto-js/mode-ctr-gladman.js +0 -116
- package/claw/node_modules/crypto-js/mode-ctr.js +0 -58
- package/claw/node_modules/crypto-js/mode-ecb.js +0 -40
- package/claw/node_modules/crypto-js/mode-ofb.js +0 -54
- package/claw/node_modules/crypto-js/package.json +0 -38
- package/claw/node_modules/crypto-js/pad-ansix923.js +0 -49
- package/claw/node_modules/crypto-js/pad-iso10126.js +0 -44
- package/claw/node_modules/crypto-js/pad-iso97971.js +0 -40
- package/claw/node_modules/crypto-js/pad-nopadding.js +0 -30
- package/claw/node_modules/crypto-js/pad-pkcs7.js +0 -18
- package/claw/node_modules/crypto-js/pad-zeropadding.js +0 -45
- package/claw/node_modules/crypto-js/pbkdf2.js +0 -145
- package/claw/node_modules/crypto-js/rabbit-legacy.js +0 -190
- package/claw/node_modules/crypto-js/rabbit.js +0 -192
- package/claw/node_modules/crypto-js/rc4.js +0 -139
- package/claw/node_modules/crypto-js/ripemd160.js +0 -267
- package/claw/node_modules/crypto-js/sha1.js +0 -150
- package/claw/node_modules/crypto-js/sha224.js +0 -80
- package/claw/node_modules/crypto-js/sha256.js +0 -199
- package/claw/node_modules/crypto-js/sha3.js +0 -323
- package/claw/node_modules/crypto-js/sha384.js +0 -83
- package/claw/node_modules/crypto-js/sha512.js +0 -323
- package/claw/node_modules/crypto-js/tripledes.js +0 -770
- package/claw/node_modules/crypto-js/x64-core.js +0 -304
- package/claw/node_modules/deep-equal/.editorconfig +0 -20
- package/claw/node_modules/deep-equal/.eslintrc +0 -28
- package/claw/node_modules/deep-equal/.nycrc +0 -17
- package/claw/node_modules/deep-equal/.travis.yml +0 -12
- package/claw/node_modules/deep-equal/CHANGELOG.md +0 -320
- package/claw/node_modules/deep-equal/LICENSE +0 -21
- package/claw/node_modules/deep-equal/assert.js +0 -3
- package/claw/node_modules/deep-equal/example/cmp.js +0 -11
- package/claw/node_modules/deep-equal/index.js +0 -112
- package/claw/node_modules/deep-equal/lib/is_arguments.js +0 -1
- package/claw/node_modules/deep-equal/lib/keys.js +0 -1
- package/claw/node_modules/deep-equal/package.json +0 -109
- package/claw/node_modules/deep-equal/readme.markdown +0 -73
- package/claw/node_modules/deep-equal/test/_tape.js +0 -42
- package/claw/node_modules/deep-equal/test/cmp.js +0 -1343
- package/claw/node_modules/define-data-property/.eslintrc +0 -24
- package/claw/node_modules/define-data-property/.github/FUNDING.yml +0 -12
- package/claw/node_modules/define-data-property/.nycrc +0 -13
- package/claw/node_modules/define-data-property/CHANGELOG.md +0 -70
- package/claw/node_modules/define-data-property/LICENSE +0 -21
- package/claw/node_modules/define-data-property/README.md +0 -67
- package/claw/node_modules/define-data-property/index.d.ts +0 -12
- package/claw/node_modules/define-data-property/index.js +0 -56
- package/claw/node_modules/define-data-property/package.json +0 -106
- package/claw/node_modules/define-data-property/test/index.js +0 -392
- package/claw/node_modules/define-data-property/tsconfig.json +0 -59
- package/claw/node_modules/define-properties/.editorconfig +0 -13
- package/claw/node_modules/define-properties/.eslintrc +0 -19
- package/claw/node_modules/define-properties/.github/FUNDING.yml +0 -12
- package/claw/node_modules/define-properties/.nycrc +0 -9
- package/claw/node_modules/define-properties/CHANGELOG.md +0 -91
- package/claw/node_modules/define-properties/LICENSE +0 -21
- package/claw/node_modules/define-properties/README.md +0 -84
- package/claw/node_modules/define-properties/index.js +0 -47
- package/claw/node_modules/define-properties/package.json +0 -88
- package/claw/node_modules/dunder-proto/.eslintrc +0 -5
- package/claw/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
- package/claw/node_modules/dunder-proto/.nycrc +0 -13
- package/claw/node_modules/dunder-proto/CHANGELOG.md +0 -24
- package/claw/node_modules/dunder-proto/LICENSE +0 -21
- package/claw/node_modules/dunder-proto/README.md +0 -54
- package/claw/node_modules/dunder-proto/get.d.ts +0 -5
- package/claw/node_modules/dunder-proto/get.js +0 -30
- package/claw/node_modules/dunder-proto/package.json +0 -76
- package/claw/node_modules/dunder-proto/set.d.ts +0 -5
- package/claw/node_modules/dunder-proto/set.js +0 -35
- package/claw/node_modules/dunder-proto/test/get.js +0 -34
- package/claw/node_modules/dunder-proto/test/index.js +0 -4
- package/claw/node_modules/dunder-proto/test/set.js +0 -50
- package/claw/node_modules/dunder-proto/tsconfig.json +0 -9
- package/claw/node_modules/ecurve/.min-wd +0 -7
- package/claw/node_modules/ecurve/.travis.yml +0 -14
- package/claw/node_modules/ecurve/CHANGELOG.md +0 -154
- package/claw/node_modules/ecurve/README.md +0 -11
- package/claw/node_modules/ecurve/lib/curve.js +0 -77
- package/claw/node_modules/ecurve/lib/curves.json +0 -65
- package/claw/node_modules/ecurve/lib/index.js +0 -10
- package/claw/node_modules/ecurve/lib/names.js +0 -21
- package/claw/node_modules/ecurve/lib/point.js +0 -244
- package/claw/node_modules/ecurve/package.json +0 -32
- package/claw/node_modules/es-define-property/.eslintrc +0 -13
- package/claw/node_modules/es-define-property/.github/FUNDING.yml +0 -12
- package/claw/node_modules/es-define-property/.nycrc +0 -9
- package/claw/node_modules/es-define-property/CHANGELOG.md +0 -29
- package/claw/node_modules/es-define-property/LICENSE +0 -21
- package/claw/node_modules/es-define-property/README.md +0 -49
- package/claw/node_modules/es-define-property/index.d.ts +0 -3
- package/claw/node_modules/es-define-property/index.js +0 -14
- package/claw/node_modules/es-define-property/package.json +0 -81
- package/claw/node_modules/es-define-property/test/index.js +0 -56
- package/claw/node_modules/es-define-property/tsconfig.json +0 -10
- package/claw/node_modules/es-errors/.eslintrc +0 -5
- package/claw/node_modules/es-errors/.github/FUNDING.yml +0 -12
- package/claw/node_modules/es-errors/CHANGELOG.md +0 -40
- package/claw/node_modules/es-errors/LICENSE +0 -21
- package/claw/node_modules/es-errors/README.md +0 -55
- package/claw/node_modules/es-errors/eval.d.ts +0 -3
- package/claw/node_modules/es-errors/eval.js +0 -4
- package/claw/node_modules/es-errors/index.d.ts +0 -3
- package/claw/node_modules/es-errors/index.js +0 -4
- package/claw/node_modules/es-errors/package.json +0 -80
- package/claw/node_modules/es-errors/range.d.ts +0 -3
- package/claw/node_modules/es-errors/range.js +0 -4
- package/claw/node_modules/es-errors/ref.d.ts +0 -3
- package/claw/node_modules/es-errors/ref.js +0 -4
- package/claw/node_modules/es-errors/syntax.d.ts +0 -3
- package/claw/node_modules/es-errors/syntax.js +0 -4
- package/claw/node_modules/es-errors/test/index.js +0 -19
- package/claw/node_modules/es-errors/tsconfig.json +0 -49
- package/claw/node_modules/es-errors/type.d.ts +0 -3
- package/claw/node_modules/es-errors/type.js +0 -4
- package/claw/node_modules/es-errors/uri.d.ts +0 -3
- package/claw/node_modules/es-errors/uri.js +0 -4
- package/claw/node_modules/es-object-atoms/.eslintrc +0 -16
- package/claw/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
- package/claw/node_modules/es-object-atoms/CHANGELOG.md +0 -37
- package/claw/node_modules/es-object-atoms/LICENSE +0 -21
- package/claw/node_modules/es-object-atoms/README.md +0 -63
- package/claw/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
- package/claw/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
- package/claw/node_modules/es-object-atoms/ToObject.d.ts +0 -7
- package/claw/node_modules/es-object-atoms/ToObject.js +0 -10
- package/claw/node_modules/es-object-atoms/index.d.ts +0 -3
- package/claw/node_modules/es-object-atoms/index.js +0 -4
- package/claw/node_modules/es-object-atoms/isObject.d.ts +0 -3
- package/claw/node_modules/es-object-atoms/isObject.js +0 -6
- package/claw/node_modules/es-object-atoms/package.json +0 -80
- package/claw/node_modules/es-object-atoms/test/index.js +0 -38
- package/claw/node_modules/es-object-atoms/tsconfig.json +0 -6
- package/claw/node_modules/for-each/.editorconfig +0 -20
- package/claw/node_modules/for-each/.eslintrc +0 -30
- package/claw/node_modules/for-each/.github/FUNDING.yml +0 -12
- package/claw/node_modules/for-each/.github/SECURITY.md +0 -3
- package/claw/node_modules/for-each/.nycrc +0 -8
- package/claw/node_modules/for-each/CHANGELOG.md +0 -107
- package/claw/node_modules/for-each/LICENSE +0 -22
- package/claw/node_modules/for-each/README.md +0 -39
- package/claw/node_modules/for-each/index.d.ts +0 -35
- package/claw/node_modules/for-each/index.js +0 -69
- package/claw/node_modules/for-each/package.json +0 -76
- package/claw/node_modules/for-each/test/test.js +0 -224
- package/claw/node_modules/for-each/tsconfig.json +0 -8
- package/claw/node_modules/function-bind/.eslintrc +0 -21
- package/claw/node_modules/function-bind/.github/FUNDING.yml +0 -12
- package/claw/node_modules/function-bind/.github/SECURITY.md +0 -3
- package/claw/node_modules/function-bind/.nycrc +0 -13
- package/claw/node_modules/function-bind/CHANGELOG.md +0 -136
- package/claw/node_modules/function-bind/LICENSE +0 -20
- package/claw/node_modules/function-bind/README.md +0 -46
- package/claw/node_modules/function-bind/implementation.js +0 -84
- package/claw/node_modules/function-bind/index.js +0 -5
- package/claw/node_modules/function-bind/package.json +0 -87
- package/claw/node_modules/function-bind/test/.eslintrc +0 -9
- package/claw/node_modules/function-bind/test/index.js +0 -252
- package/claw/node_modules/functions-have-names/.editorconfig +0 -20
- package/claw/node_modules/functions-have-names/.eslintrc +0 -19
- package/claw/node_modules/functions-have-names/.github/FUNDING.yml +0 -12
- package/claw/node_modules/functions-have-names/.nycrc +0 -9
- package/claw/node_modules/functions-have-names/CHANGELOG.md +0 -89
- package/claw/node_modules/functions-have-names/LICENSE +0 -21
- package/claw/node_modules/functions-have-names/README.md +0 -40
- package/claw/node_modules/functions-have-names/index.js +0 -31
- package/claw/node_modules/functions-have-names/package.json +0 -55
- package/claw/node_modules/functions-have-names/test/index.js +0 -65
- package/claw/node_modules/get-intrinsic/.eslintrc +0 -42
- package/claw/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
- package/claw/node_modules/get-intrinsic/.nycrc +0 -9
- package/claw/node_modules/get-intrinsic/CHANGELOG.md +0 -186
- package/claw/node_modules/get-intrinsic/LICENSE +0 -21
- package/claw/node_modules/get-intrinsic/README.md +0 -71
- package/claw/node_modules/get-intrinsic/index.js +0 -378
- package/claw/node_modules/get-intrinsic/package.json +0 -97
- package/claw/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
- package/claw/node_modules/get-proto/.eslintrc +0 -10
- package/claw/node_modules/get-proto/.github/FUNDING.yml +0 -12
- package/claw/node_modules/get-proto/.nycrc +0 -9
- package/claw/node_modules/get-proto/CHANGELOG.md +0 -21
- package/claw/node_modules/get-proto/LICENSE +0 -21
- package/claw/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
- package/claw/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
- package/claw/node_modules/get-proto/README.md +0 -50
- package/claw/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
- package/claw/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
- package/claw/node_modules/get-proto/index.d.ts +0 -5
- package/claw/node_modules/get-proto/index.js +0 -27
- package/claw/node_modules/get-proto/package.json +0 -81
- package/claw/node_modules/get-proto/test/index.js +0 -68
- package/claw/node_modules/get-proto/tsconfig.json +0 -9
- package/claw/node_modules/gopd/.eslintrc +0 -16
- package/claw/node_modules/gopd/.github/FUNDING.yml +0 -12
- package/claw/node_modules/gopd/CHANGELOG.md +0 -45
- package/claw/node_modules/gopd/LICENSE +0 -21
- package/claw/node_modules/gopd/README.md +0 -40
- package/claw/node_modules/gopd/gOPD.d.ts +0 -1
- package/claw/node_modules/gopd/gOPD.js +0 -4
- package/claw/node_modules/gopd/index.d.ts +0 -5
- package/claw/node_modules/gopd/index.js +0 -15
- package/claw/node_modules/gopd/package.json +0 -77
- package/claw/node_modules/gopd/test/index.js +0 -36
- package/claw/node_modules/gopd/tsconfig.json +0 -9
- package/claw/node_modules/has-property-descriptors/.eslintrc +0 -13
- package/claw/node_modules/has-property-descriptors/.github/FUNDING.yml +0 -12
- package/claw/node_modules/has-property-descriptors/.nycrc +0 -9
- package/claw/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
- package/claw/node_modules/has-property-descriptors/LICENSE +0 -21
- package/claw/node_modules/has-property-descriptors/README.md +0 -43
- package/claw/node_modules/has-property-descriptors/index.js +0 -22
- package/claw/node_modules/has-property-descriptors/package.json +0 -77
- package/claw/node_modules/has-property-descriptors/test/index.js +0 -57
- package/claw/node_modules/has-symbols/.eslintrc +0 -11
- package/claw/node_modules/has-symbols/.github/FUNDING.yml +0 -12
- package/claw/node_modules/has-symbols/.nycrc +0 -9
- package/claw/node_modules/has-symbols/CHANGELOG.md +0 -91
- package/claw/node_modules/has-symbols/LICENSE +0 -21
- package/claw/node_modules/has-symbols/README.md +0 -46
- package/claw/node_modules/has-symbols/index.d.ts +0 -3
- package/claw/node_modules/has-symbols/index.js +0 -14
- package/claw/node_modules/has-symbols/package.json +0 -111
- package/claw/node_modules/has-symbols/shams.d.ts +0 -3
- package/claw/node_modules/has-symbols/shams.js +0 -45
- package/claw/node_modules/has-symbols/test/index.js +0 -22
- package/claw/node_modules/has-symbols/test/shams/core-js.js +0 -29
- package/claw/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
- package/claw/node_modules/has-symbols/test/tests.js +0 -58
- package/claw/node_modules/has-symbols/tsconfig.json +0 -10
- package/claw/node_modules/has-tostringtag/.eslintrc +0 -5
- package/claw/node_modules/has-tostringtag/.github/FUNDING.yml +0 -12
- package/claw/node_modules/has-tostringtag/.nycrc +0 -13
- package/claw/node_modules/has-tostringtag/CHANGELOG.md +0 -42
- package/claw/node_modules/has-tostringtag/LICENSE +0 -21
- package/claw/node_modules/has-tostringtag/README.md +0 -46
- package/claw/node_modules/has-tostringtag/index.d.ts +0 -3
- package/claw/node_modules/has-tostringtag/index.js +0 -8
- package/claw/node_modules/has-tostringtag/package.json +0 -108
- package/claw/node_modules/has-tostringtag/shams.d.ts +0 -3
- package/claw/node_modules/has-tostringtag/shams.js +0 -8
- package/claw/node_modules/has-tostringtag/test/index.js +0 -21
- package/claw/node_modules/has-tostringtag/test/shams/core-js.js +0 -31
- package/claw/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +0 -30
- package/claw/node_modules/has-tostringtag/test/tests.js +0 -15
- package/claw/node_modules/has-tostringtag/tsconfig.json +0 -49
- package/claw/node_modules/hash-base/.github/FUNDING.yml +0 -12
- package/claw/node_modules/hash-base/CHANGELOG.md +0 -166
- package/claw/node_modules/hash-base/LICENSE +0 -21
- package/claw/node_modules/hash-base/README.md +0 -48
- package/claw/node_modules/hash-base/index.js +0 -109
- package/claw/node_modules/hash-base/package.json +0 -64
- package/claw/node_modules/hash-base/to-buffer.js +0 -20
- package/claw/node_modules/hasown/.eslintrc +0 -5
- package/claw/node_modules/hasown/.github/FUNDING.yml +0 -12
- package/claw/node_modules/hasown/.nycrc +0 -13
- package/claw/node_modules/hasown/CHANGELOG.md +0 -40
- package/claw/node_modules/hasown/LICENSE +0 -21
- package/claw/node_modules/hasown/README.md +0 -40
- package/claw/node_modules/hasown/index.d.ts +0 -3
- package/claw/node_modules/hasown/index.js +0 -8
- package/claw/node_modules/hasown/package.json +0 -92
- package/claw/node_modules/hasown/tsconfig.json +0 -6
- package/claw/node_modules/inherits/LICENSE +0 -16
- package/claw/node_modules/inherits/README.md +0 -42
- package/claw/node_modules/inherits/inherits.js +0 -9
- package/claw/node_modules/inherits/inherits_browser.js +0 -27
- package/claw/node_modules/inherits/package.json +0 -29
- package/claw/node_modules/is-arguments/.editorconfig +0 -20
- package/claw/node_modules/is-arguments/.eslintrc +0 -9
- package/claw/node_modules/is-arguments/.github/FUNDING.yml +0 -12
- package/claw/node_modules/is-arguments/.nycrc +0 -9
- package/claw/node_modules/is-arguments/CHANGELOG.md +0 -201
- package/claw/node_modules/is-arguments/LICENSE +0 -20
- package/claw/node_modules/is-arguments/README.md +0 -47
- package/claw/node_modules/is-arguments/index.d.ts +0 -6
- package/claw/node_modules/is-arguments/index.js +0 -44
- package/claw/node_modules/is-arguments/package.json +0 -105
- package/claw/node_modules/is-arguments/test/index.js +0 -47
- package/claw/node_modules/is-arguments/tsconfig.json +0 -9
- package/claw/node_modules/is-callable/.editorconfig +0 -31
- package/claw/node_modules/is-callable/.eslintrc +0 -10
- package/claw/node_modules/is-callable/.github/FUNDING.yml +0 -12
- package/claw/node_modules/is-callable/.nycrc +0 -9
- package/claw/node_modules/is-callable/CHANGELOG.md +0 -158
- package/claw/node_modules/is-callable/LICENSE +0 -22
- package/claw/node_modules/is-callable/README.md +0 -83
- package/claw/node_modules/is-callable/index.js +0 -101
- package/claw/node_modules/is-callable/package.json +0 -106
- package/claw/node_modules/is-callable/test/index.js +0 -244
- package/claw/node_modules/is-date-object/.editorconfig +0 -20
- package/claw/node_modules/is-date-object/.eslintrc +0 -9
- package/claw/node_modules/is-date-object/.github/FUNDING.yml +0 -12
- package/claw/node_modules/is-date-object/.nycrc +0 -10
- package/claw/node_modules/is-date-object/CHANGELOG.md +0 -134
- package/claw/node_modules/is-date-object/LICENSE +0 -22
- package/claw/node_modules/is-date-object/README.md +0 -52
- package/claw/node_modules/is-date-object/index.d.ts +0 -3
- package/claw/node_modules/is-date-object/index.js +0 -27
- package/claw/node_modules/is-date-object/package.json +0 -99
- package/claw/node_modules/is-date-object/test/index.js +0 -38
- package/claw/node_modules/is-date-object/tsconfig.json +0 -6
- package/claw/node_modules/is-regex/.editorconfig +0 -23
- package/claw/node_modules/is-regex/.eslintrc +0 -10
- package/claw/node_modules/is-regex/.nycrc +0 -10
- package/claw/node_modules/is-regex/CHANGELOG.md +0 -233
- package/claw/node_modules/is-regex/LICENSE +0 -20
- package/claw/node_modules/is-regex/README.md +0 -52
- package/claw/node_modules/is-regex/index.d.ts +0 -3
- package/claw/node_modules/is-regex/index.js +0 -69
- package/claw/node_modules/is-regex/package.json +0 -104
- package/claw/node_modules/is-regex/test/index.js +0 -121
- package/claw/node_modules/is-regex/tsconfig.json +0 -9
- package/claw/node_modules/is-typed-array/.editorconfig +0 -20
- package/claw/node_modules/is-typed-array/.eslintrc +0 -13
- package/claw/node_modules/is-typed-array/.github/FUNDING.yml +0 -12
- package/claw/node_modules/is-typed-array/.nycrc +0 -9
- package/claw/node_modules/is-typed-array/CHANGELOG.md +0 -166
- package/claw/node_modules/is-typed-array/LICENSE +0 -22
- package/claw/node_modules/is-typed-array/README.md +0 -70
- package/claw/node_modules/is-typed-array/index.d.ts +0 -9
- package/claw/node_modules/is-typed-array/index.js +0 -8
- package/claw/node_modules/is-typed-array/package.json +0 -129
- package/claw/node_modules/is-typed-array/test/index.js +0 -111
- package/claw/node_modules/is-typed-array/tsconfig.json +0 -6
- package/claw/node_modules/isarray/.travis.yml +0 -4
- package/claw/node_modules/isarray/Makefile +0 -6
- package/claw/node_modules/isarray/README.md +0 -60
- package/claw/node_modules/isarray/component.json +0 -19
- package/claw/node_modules/isarray/index.js +0 -5
- package/claw/node_modules/isarray/package.json +0 -45
- package/claw/node_modules/isarray/test.js +0 -20
- package/claw/node_modules/isomorphic-ws/LICENSE +0 -21
- package/claw/node_modules/isomorphic-ws/README.md +0 -58
- package/claw/node_modules/isomorphic-ws/browser.js +0 -17
- package/claw/node_modules/isomorphic-ws/index.d.ts +0 -8
- package/claw/node_modules/isomorphic-ws/node.js +0 -3
- package/claw/node_modules/isomorphic-ws/package.json +0 -34
- package/claw/node_modules/long/.travis.yml +0 -5
- package/claw/node_modules/long/LICENSE +0 -202
- package/claw/node_modules/long/README.md +0 -513
- package/claw/node_modules/long/bower.json +0 -9
- package/claw/node_modules/long/dist/README.md +0 -16
- package/claw/node_modules/long/dist/long.js +0 -1209
- package/claw/node_modules/long/dist/long.min.js +0 -20
- package/claw/node_modules/long/dist/long.min.js.gz +0 -0
- package/claw/node_modules/long/dist/long.min.map +0 -8
- package/claw/node_modules/long/doco/INDEX.md +0 -6
- package/claw/node_modules/long/doco/Long.md +0 -473
- package/claw/node_modules/long/donate.png +0 -0
- package/claw/node_modules/long/externs/long.js +0 -416
- package/claw/node_modules/long/index.js +0 -1
- package/claw/node_modules/long/jsdoc.json +0 -13
- package/claw/node_modules/long/long.png +0 -0
- package/claw/node_modules/long/package.json +0 -33
- package/claw/node_modules/long/scripts/build.js +0 -28
- package/claw/node_modules/long/src/bower.json +0 -9
- package/claw/node_modules/long/src/long.js +0 -1172
- package/claw/node_modules/long/src/wrap.js +0 -38
- package/claw/node_modules/long/tests/goog.math.long.js +0 -807
- package/claw/node_modules/long/tests/suite.js +0 -195
- package/claw/node_modules/lzma/.travis.yml +0 -9
- package/claw/node_modules/lzma/LICENSE +0 -20
- package/claw/node_modules/lzma/THANKS +0 -7
- package/claw/node_modules/lzma/bin/lzma.js +0 -362
- package/claw/node_modules/lzma/index.js +0 -19
- package/claw/node_modules/lzma/package.json +0 -30
- package/claw/node_modules/lzma/readme.md +0 -149
- package/claw/node_modules/lzma/src/lzma-c-min.js +0 -1
- package/claw/node_modules/lzma/src/lzma-c.js +0 -2021
- package/claw/node_modules/lzma/src/lzma-d-min.js +0 -1
- package/claw/node_modules/lzma/src/lzma-d.js +0 -878
- package/claw/node_modules/lzma/src/lzma-min.js +0 -2
- package/claw/node_modules/lzma/src/lzma.js +0 -153
- package/claw/node_modules/lzma/src/lzma_worker-min.js +0 -2
- package/claw/node_modules/lzma/src/lzma_worker.js +0 -2668
- package/claw/node_modules/math-intrinsics/.eslintrc +0 -16
- package/claw/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
- package/claw/node_modules/math-intrinsics/CHANGELOG.md +0 -24
- package/claw/node_modules/math-intrinsics/LICENSE +0 -21
- package/claw/node_modules/math-intrinsics/README.md +0 -50
- package/claw/node_modules/math-intrinsics/abs.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/abs.js +0 -4
- package/claw/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
- package/claw/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
- package/claw/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/constants/maxValue.js +0 -5
- package/claw/node_modules/math-intrinsics/floor.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/floor.js +0 -4
- package/claw/node_modules/math-intrinsics/isFinite.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/isFinite.js +0 -12
- package/claw/node_modules/math-intrinsics/isInteger.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/isInteger.js +0 -16
- package/claw/node_modules/math-intrinsics/isNaN.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/isNaN.js +0 -6
- package/claw/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/isNegativeZero.js +0 -6
- package/claw/node_modules/math-intrinsics/max.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/max.js +0 -4
- package/claw/node_modules/math-intrinsics/min.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/min.js +0 -4
- package/claw/node_modules/math-intrinsics/mod.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/mod.js +0 -9
- package/claw/node_modules/math-intrinsics/package.json +0 -86
- package/claw/node_modules/math-intrinsics/pow.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/pow.js +0 -4
- package/claw/node_modules/math-intrinsics/round.d.ts +0 -1
- package/claw/node_modules/math-intrinsics/round.js +0 -4
- package/claw/node_modules/math-intrinsics/sign.d.ts +0 -3
- package/claw/node_modules/math-intrinsics/sign.js +0 -11
- package/claw/node_modules/math-intrinsics/test/index.js +0 -192
- package/claw/node_modules/math-intrinsics/tsconfig.json +0 -3
- package/claw/node_modules/md5.js/LICENSE +0 -21
- package/claw/node_modules/md5.js/README.md +0 -29
- package/claw/node_modules/md5.js/index.js +0 -146
- package/claw/node_modules/md5.js/package.json +0 -38
- package/claw/node_modules/object-is/.eslintrc +0 -5
- package/claw/node_modules/object-is/.nycrc +0 -9
- package/claw/node_modules/object-is/CHANGELOG.md +0 -175
- package/claw/node_modules/object-is/LICENSE +0 -20
- package/claw/node_modules/object-is/README.md +0 -60
- package/claw/node_modules/object-is/auto.js +0 -3
- package/claw/node_modules/object-is/implementation.js +0 -19
- package/claw/node_modules/object-is/index.js +0 -18
- package/claw/node_modules/object-is/package.json +0 -96
- package/claw/node_modules/object-is/polyfill.js +0 -7
- package/claw/node_modules/object-is/shim.js +0 -14
- package/claw/node_modules/object-is/test/implementation.js +0 -12
- package/claw/node_modules/object-is/test/index.js +0 -12
- package/claw/node_modules/object-is/test/shimmed.js +0 -28
- package/claw/node_modules/object-is/test/tests.js +0 -57
- package/claw/node_modules/object-keys/.editorconfig +0 -13
- package/claw/node_modules/object-keys/.eslintrc +0 -17
- package/claw/node_modules/object-keys/.travis.yml +0 -277
- package/claw/node_modules/object-keys/CHANGELOG.md +0 -232
- package/claw/node_modules/object-keys/LICENSE +0 -21
- package/claw/node_modules/object-keys/README.md +0 -76
- package/claw/node_modules/object-keys/implementation.js +0 -122
- package/claw/node_modules/object-keys/index.js +0 -32
- package/claw/node_modules/object-keys/isArguments.js +0 -17
- package/claw/node_modules/object-keys/package.json +0 -88
- package/claw/node_modules/object-keys/test/index.js +0 -5
- package/claw/node_modules/object.assign/.editorconfig +0 -20
- package/claw/node_modules/object.assign/.eslintrc +0 -28
- package/claw/node_modules/object.assign/.github/FUNDING.yml +0 -12
- package/claw/node_modules/object.assign/.nycrc +0 -9
- package/claw/node_modules/object.assign/CHANGELOG.md +0 -246
- package/claw/node_modules/object.assign/LICENSE +0 -21
- package/claw/node_modules/object.assign/README.md +0 -136
- package/claw/node_modules/object.assign/auto.js +0 -3
- package/claw/node_modules/object.assign/dist/browser.js +0 -1304
- package/claw/node_modules/object.assign/hasSymbols.js +0 -43
- package/claw/node_modules/object.assign/implementation.js +0 -46
- package/claw/node_modules/object.assign/index.js +0 -22
- package/claw/node_modules/object.assign/package.json +0 -96
- package/claw/node_modules/object.assign/polyfill.js +0 -55
- package/claw/node_modules/object.assign/shim.js +0 -14
- package/claw/node_modules/object.assign/test/implementation.js +0 -19
- package/claw/node_modules/object.assign/test/index.js +0 -17
- package/claw/node_modules/object.assign/test/native.js +0 -49
- package/claw/node_modules/object.assign/test/ses-compat.js +0 -12
- package/claw/node_modules/object.assign/test/shimmed.js +0 -52
- package/claw/node_modules/object.assign/test/tests.js +0 -232
- package/claw/node_modules/possible-typed-array-names/.eslintrc +0 -5
- package/claw/node_modules/possible-typed-array-names/.github/FUNDING.yml +0 -12
- package/claw/node_modules/possible-typed-array-names/CHANGELOG.md +0 -29
- package/claw/node_modules/possible-typed-array-names/LICENSE +0 -21
- package/claw/node_modules/possible-typed-array-names/README.md +0 -50
- package/claw/node_modules/possible-typed-array-names/index.d.ts +0 -16
- package/claw/node_modules/possible-typed-array-names/index.js +0 -17
- package/claw/node_modules/possible-typed-array-names/package.json +0 -84
- package/claw/node_modules/possible-typed-array-names/test/index.js +0 -19
- package/claw/node_modules/possible-typed-array-names/tsconfig.json +0 -9
- package/claw/node_modules/process-nextick-args/index.js +0 -45
- package/claw/node_modules/process-nextick-args/license.md +0 -19
- package/claw/node_modules/process-nextick-args/package.json +0 -25
- package/claw/node_modules/process-nextick-args/readme.md +0 -18
- package/claw/node_modules/readable-stream/.travis.yml +0 -34
- package/claw/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/claw/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/claw/node_modules/readable-stream/LICENSE +0 -47
- package/claw/node_modules/readable-stream/README.md +0 -58
- package/claw/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/claw/node_modules/readable-stream/duplex-browser.js +0 -1
- package/claw/node_modules/readable-stream/duplex.js +0 -1
- package/claw/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/claw/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/claw/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/claw/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/claw/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/claw/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/claw/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/claw/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/claw/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/claw/node_modules/readable-stream/node_modules/safe-buffer/LICENSE +0 -21
- package/claw/node_modules/readable-stream/node_modules/safe-buffer/README.md +0 -584
- package/claw/node_modules/readable-stream/node_modules/safe-buffer/index.d.ts +0 -187
- package/claw/node_modules/readable-stream/node_modules/safe-buffer/index.js +0 -62
- package/claw/node_modules/readable-stream/node_modules/safe-buffer/package.json +0 -37
- package/claw/node_modules/readable-stream/package.json +0 -52
- package/claw/node_modules/readable-stream/passthrough.js +0 -1
- package/claw/node_modules/readable-stream/readable-browser.js +0 -7
- package/claw/node_modules/readable-stream/readable.js +0 -19
- package/claw/node_modules/readable-stream/transform.js +0 -1
- package/claw/node_modules/readable-stream/writable-browser.js +0 -1
- package/claw/node_modules/readable-stream/writable.js +0 -8
- package/claw/node_modules/regexp.prototype.flags/.editorconfig +0 -13
- package/claw/node_modules/regexp.prototype.flags/.eslintrc +0 -20
- package/claw/node_modules/regexp.prototype.flags/.nycrc +0 -9
- package/claw/node_modules/regexp.prototype.flags/CHANGELOG.md +0 -249
- package/claw/node_modules/regexp.prototype.flags/LICENSE +0 -22
- package/claw/node_modules/regexp.prototype.flags/README.md +0 -55
- package/claw/node_modules/regexp.prototype.flags/auto.js +0 -3
- package/claw/node_modules/regexp.prototype.flags/implementation.js +0 -39
- package/claw/node_modules/regexp.prototype.flags/index.js +0 -18
- package/claw/node_modules/regexp.prototype.flags/package.json +0 -105
- package/claw/node_modules/regexp.prototype.flags/polyfill.js +0 -39
- package/claw/node_modules/regexp.prototype.flags/shim.js +0 -26
- package/claw/node_modules/regexp.prototype.flags/test/builtin.js +0 -46
- package/claw/node_modules/regexp.prototype.flags/test/implementation.js +0 -20
- package/claw/node_modules/regexp.prototype.flags/test/index.js +0 -17
- package/claw/node_modules/regexp.prototype.flags/test/shimmed.js +0 -48
- package/claw/node_modules/regexp.prototype.flags/test/tests.js +0 -143
- package/claw/node_modules/ripemd160/.github/FUNDING.yml +0 -12
- package/claw/node_modules/ripemd160/CHANGELOG.md +0 -109
- package/claw/node_modules/ripemd160/LICENSE +0 -21
- package/claw/node_modules/ripemd160/README.md +0 -27
- package/claw/node_modules/ripemd160/index.js +0 -167
- package/claw/node_modules/ripemd160/package.json +0 -64
- package/claw/node_modules/safe-buffer/LICENSE +0 -21
- package/claw/node_modules/safe-buffer/README.md +0 -584
- package/claw/node_modules/safe-buffer/index.d.ts +0 -187
- package/claw/node_modules/safe-buffer/index.js +0 -65
- package/claw/node_modules/safe-buffer/package.json +0 -51
- package/claw/node_modules/secure-random/CHANGELOG.md +0 -51
- package/claw/node_modules/secure-random/Makefile +0 -8
- package/claw/node_modules/secure-random/README.md +0 -133
- package/claw/node_modules/secure-random/lib/secure-random.js +0 -83
- package/claw/node_modules/secure-random/package.json +0 -45
- package/claw/node_modules/set-function-length/.eslintrc +0 -27
- package/claw/node_modules/set-function-length/.github/FUNDING.yml +0 -12
- package/claw/node_modules/set-function-length/.nycrc +0 -13
- package/claw/node_modules/set-function-length/CHANGELOG.md +0 -70
- package/claw/node_modules/set-function-length/LICENSE +0 -21
- package/claw/node_modules/set-function-length/README.md +0 -56
- package/claw/node_modules/set-function-length/env.d.ts +0 -9
- package/claw/node_modules/set-function-length/env.js +0 -25
- package/claw/node_modules/set-function-length/index.d.ts +0 -7
- package/claw/node_modules/set-function-length/index.js +0 -42
- package/claw/node_modules/set-function-length/package.json +0 -102
- package/claw/node_modules/set-function-length/tsconfig.json +0 -9
- package/claw/node_modules/set-function-name/.eslintrc +0 -21
- package/claw/node_modules/set-function-name/.github/FUNDING.yml +0 -12
- package/claw/node_modules/set-function-name/CHANGELOG.md +0 -48
- package/claw/node_modules/set-function-name/LICENSE +0 -21
- package/claw/node_modules/set-function-name/README.md +0 -61
- package/claw/node_modules/set-function-name/index.d.ts +0 -5
- package/claw/node_modules/set-function-name/index.js +0 -23
- package/claw/node_modules/set-function-name/package.json +0 -99
- package/claw/node_modules/set-function-name/tsconfig.json +0 -59
- package/claw/node_modules/sha.js/.eslintrc +0 -76
- package/claw/node_modules/sha.js/CHANGELOG.md +0 -423
- package/claw/node_modules/sha.js/LICENSE +0 -49
- package/claw/node_modules/sha.js/README.md +0 -44
- package/claw/node_modules/sha.js/bin.js +0 -44
- package/claw/node_modules/sha.js/hash.js +0 -84
- package/claw/node_modules/sha.js/index.js +0 -19
- package/claw/node_modules/sha.js/package.json +0 -58
- package/claw/node_modules/sha.js/sha.js +0 -104
- package/claw/node_modules/sha.js/sha1.js +0 -109
- package/claw/node_modules/sha.js/sha224.js +0 -55
- package/claw/node_modules/sha.js/sha256.js +0 -189
- package/claw/node_modules/sha.js/sha384.js +0 -59
- package/claw/node_modules/sha.js/sha512.js +0 -382
- package/claw/node_modules/sha.js/test/hash.js +0 -80
- package/claw/node_modules/sha.js/test/test.js +0 -138
- package/claw/node_modules/sha.js/test/vectors.js +0 -72
- package/claw/node_modules/string_decoder/.travis.yml +0 -50
- package/claw/node_modules/string_decoder/LICENSE +0 -48
- package/claw/node_modules/string_decoder/README.md +0 -47
- package/claw/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/claw/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +0 -21
- package/claw/node_modules/string_decoder/node_modules/safe-buffer/README.md +0 -584
- package/claw/node_modules/string_decoder/node_modules/safe-buffer/index.d.ts +0 -187
- package/claw/node_modules/string_decoder/node_modules/safe-buffer/index.js +0 -62
- package/claw/node_modules/string_decoder/node_modules/safe-buffer/package.json +0 -37
- package/claw/node_modules/string_decoder/package.json +0 -31
- package/claw/node_modules/to-buffer/.github/FUNDING.yml +0 -12
- package/claw/node_modules/to-buffer/CHANGELOG.md +0 -81
- package/claw/node_modules/to-buffer/LICENSE +0 -21
- package/claw/node_modules/to-buffer/README.md +0 -44
- package/claw/node_modules/to-buffer/index.js +0 -109
- package/claw/node_modules/to-buffer/node_modules/isarray/LICENSE +0 -21
- package/claw/node_modules/to-buffer/node_modules/isarray/README.md +0 -38
- package/claw/node_modules/to-buffer/node_modules/isarray/index.js +0 -5
- package/claw/node_modules/to-buffer/node_modules/isarray/package.json +0 -48
- package/claw/node_modules/to-buffer/package.json +0 -62
- package/claw/node_modules/typed-array-buffer/.eslintrc +0 -13
- package/claw/node_modules/typed-array-buffer/.github/FUNDING.yml +0 -12
- package/claw/node_modules/typed-array-buffer/.nycrc +0 -13
- package/claw/node_modules/typed-array-buffer/CHANGELOG.md +0 -50
- package/claw/node_modules/typed-array-buffer/LICENSE +0 -21
- package/claw/node_modules/typed-array-buffer/README.md +0 -42
- package/claw/node_modules/typed-array-buffer/index.d.ts +0 -9
- package/claw/node_modules/typed-array-buffer/index.js +0 -19
- package/claw/node_modules/typed-array-buffer/package.json +0 -82
- package/claw/node_modules/typed-array-buffer/test/index.js +0 -23
- package/claw/node_modules/typed-array-buffer/tsconfig.json +0 -9
- package/claw/node_modules/util/LICENSE +0 -18
- package/claw/node_modules/util/README.md +0 -15
- package/claw/node_modules/util/node_modules/inherits/LICENSE +0 -16
- package/claw/node_modules/util/node_modules/inherits/README.md +0 -42
- package/claw/node_modules/util/node_modules/inherits/inherits.js +0 -7
- package/claw/node_modules/util/node_modules/inherits/inherits_browser.js +0 -23
- package/claw/node_modules/util/node_modules/inherits/package.json +0 -29
- package/claw/node_modules/util/package.json +0 -35
- package/claw/node_modules/util/support/isBuffer.js +0 -3
- package/claw/node_modules/util/support/isBufferBrowser.js +0 -6
- package/claw/node_modules/util/util.js +0 -586
- package/claw/node_modules/util-deprecate/History.md +0 -16
- package/claw/node_modules/util-deprecate/LICENSE +0 -24
- package/claw/node_modules/util-deprecate/README.md +0 -53
- package/claw/node_modules/util-deprecate/browser.js +0 -67
- package/claw/node_modules/util-deprecate/node.js +0 -6
- package/claw/node_modules/util-deprecate/package.json +0 -27
- package/claw/node_modules/which-typed-array/.editorconfig +0 -20
- package/claw/node_modules/which-typed-array/.eslintrc +0 -10
- package/claw/node_modules/which-typed-array/.github/FUNDING.yml +0 -12
- package/claw/node_modules/which-typed-array/.nycrc +0 -13
- package/claw/node_modules/which-typed-array/CHANGELOG.md +0 -269
- package/claw/node_modules/which-typed-array/LICENSE +0 -22
- package/claw/node_modules/which-typed-array/README.md +0 -70
- package/claw/node_modules/which-typed-array/index.d.ts +0 -66
- package/claw/node_modules/which-typed-array/index.js +0 -122
- package/claw/node_modules/which-typed-array/package.json +0 -130
- package/claw/node_modules/which-typed-array/test/index.js +0 -105
- package/claw/node_modules/which-typed-array/tsconfig.json +0 -9
- package/claw/node_modules/ws/LICENSE +0 -21
- package/claw/node_modules/ws/README.md +0 -449
- package/claw/node_modules/ws/browser.js +0 -8
- package/claw/node_modules/ws/index.js +0 -9
- package/claw/node_modules/ws/lib/buffer-util.js +0 -144
- package/claw/node_modules/ws/lib/constants.js +0 -10
- package/claw/node_modules/ws/lib/event-target.js +0 -170
- package/claw/node_modules/ws/lib/extension.js +0 -222
- package/claw/node_modules/ws/lib/permessage-deflate.js +0 -502
- package/claw/node_modules/ws/lib/receiver.js +0 -492
- package/claw/node_modules/ws/lib/sender.js +0 -358
- package/claw/node_modules/ws/lib/validation.js +0 -30
- package/claw/node_modules/ws/lib/websocket-server.js +0 -415
- package/claw/node_modules/ws/lib/websocket.js +0 -895
- package/claw/node_modules/ws/package.json +0 -45
- package/dist/analysis/chart_utils.d.ts +0 -27
- package/dist/analysis/chart_utils.d.ts.map +0 -1
- package/dist/analysis/chart_utils.js.map +0 -1
- package/dist/analysis/math_utils.d.ts +0 -22
- package/dist/analysis/math_utils.d.ts.map +0 -1
- package/dist/analysis/math_utils.js +0 -43
- package/dist/analysis/math_utils.js.map +0 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +0 -5
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +0 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +0 -1
- package/dist/modules/logger.d.ts +0 -4
- package/dist/modules/logger.d.ts.map +0 -1
- package/dist/modules/logger.js +0 -5
- package/dist/modules/logger.js.map +0 -1
- package/dist/modules/utils/math_utils.d.ts +0 -3
- package/dist/modules/utils/math_utils.d.ts.map +0 -1
- package/dist/modules/utils/math_utils.js +0 -3
- package/dist/modules/utils/math_utils.js.map +0 -1
|
@@ -0,0 +1,922 @@
|
|
|
1
|
+
# DEXBot vs DEXBot2 — Detailed Comparison Report
|
|
2
|
+
|
|
3
|
+
> **Date:** 2026-08-19 *(metrics refreshed against local source trees)*
|
|
4
|
+
> **Scope:** Full architectural, functional, and operational comparison between the original [DEXBot](https://github.com/Codaone/DEXBot) (Python, v1.0.0) and DEXBot2 (TypeScript, v1.4.17).
|
|
5
|
+
> **Audience:** Developers, contributors, and operators evaluating or migrating between the two projects.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
1. [Project Overview](#1-project-overview)
|
|
12
|
+
2. [Technology Stack](#2-technology-stack)
|
|
13
|
+
3. [Architecture](#3-architecture)
|
|
14
|
+
4. [Trading Strategies](#4-trading-strategies)
|
|
15
|
+
5. [Order Management](#5-order-management)
|
|
16
|
+
6. [Configuration System](#6-configuration-system)
|
|
17
|
+
7. [Exchange & Blockchain Integration](#7-exchange--blockchain-integration)
|
|
18
|
+
8. [Fund & Balance Accounting](#8-fund--balance-accounting)
|
|
19
|
+
9. [Concurrency & Safety](#9-concurrency--safety)
|
|
20
|
+
10. [User Interface](#10-user-interface)
|
|
21
|
+
11. [Process Management & Deployment](#11-process-management--deployment)
|
|
22
|
+
12. [Security](#12-security)
|
|
23
|
+
13. [Testing](#13-testing)
|
|
24
|
+
14. [Documentation](#14-documentation)
|
|
25
|
+
15. [Dependencies & Footprint](#15-dependencies--footprint)
|
|
26
|
+
16. [Extensibility & Plugin System](#16-extensibility--plugin-system)
|
|
27
|
+
17. [Metrics & Scale](#17-metrics--scale)
|
|
28
|
+
18. [Performance & Speed](#18-performance--speed)
|
|
29
|
+
19. [Known Limitations & Trade-offs](#19-known-limitations--trade-offs)
|
|
30
|
+
20. [Summary Scorecard](#20-summary-scorecard)
|
|
31
|
+
21. [Migration Considerations](#21-migration-considerations)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 1. Project Overview
|
|
36
|
+
|
|
37
|
+
| Attribute | DEXBot (original) | DEXBot2 |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| **Release Track** | 1.0.0 | v1.4.17 |
|
|
40
|
+
| **Language** | Python 3.6+ | TypeScript 5.x |
|
|
41
|
+
| **Status** | Released 1.0.0, unmaintained | Active development |
|
|
42
|
+
| **Last Repo Activity** | May 23, 2020 | 2026-08-19 |
|
|
43
|
+
| **License** | MIT | MIT |
|
|
44
|
+
| **Origin** | BitShares worker-proposal funded, Codaone Oy | Private rewrite by froooze |
|
|
45
|
+
| **Primary Goal** | Multi-strategy, extensible trading framework | Hardened adaptive grid runtime with operator/AI tooling |
|
|
46
|
+
| **Target Exchange** | BitShares DEX | BitShares DEX |
|
|
47
|
+
| **Lines of Code** | ~10,846 Python LOC in `dexbot/` | Large TypeScript codebase; core runtime, adapter, analysis, Claw, and test modules |
|
|
48
|
+
| **Source Files** | 72 Python files in `dexbot/` | ~527 TS files across the repo |
|
|
49
|
+
| **Test Files** | 16 Python test files | 249 `test_*.ts` files (249 auto-discovered via `globSync`) |
|
|
50
|
+
|
|
51
|
+
### Summary
|
|
52
|
+
|
|
53
|
+
DEXBot (original) is a community-governed, multi-strategy trading framework built in Python with a full GUI and plugin system. It was designed to be user-friendly and extensible, supporting multiple strategies and external price feeds out of the box.
|
|
54
|
+
|
|
55
|
+
DEXBot2 is a ground-up rewrite in TypeScript that prioritizes production correctness over the original project's GUI/plugin breadth. The core trading runtime is still centered on one deeply engineered boundary-crawl grid strategy, but the surrounding system has expanded significantly: Copy-on-Write order state, replay-safe fill accounting, two-pass startup and runtime reconciliation, dynamic AMA/Kalman market adaptation, credential-daemon key handling, a native monolithic launcher (`dexbot start`, backed by the `unlock` runtime; with optional PM2 fallback), Claw automation APIs, credit/MPA support, and a broad regression suite.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 2. Technology Stack
|
|
60
|
+
|
|
61
|
+
| Layer | DEXBot | DEXBot2 |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| **Language** | Python 3.6+ | TypeScript 5.x |
|
|
64
|
+
| **GUI** | PyQt5 (desktop GUI) | None (CLI only) |
|
|
65
|
+
| **CLI Framework** | Click | Custom native async prompts |
|
|
66
|
+
| **Blockchain Client** | `bitshares` Python library | `modules/bitshares-native/` (native) |
|
|
67
|
+
| **Key Management** | `uptick` (BitShares wallet) | AES-256-GCM encrypted store + credential daemon (RAM-only, Unix-socket signing) |
|
|
68
|
+
| **Database / State** | SQLite via SQLAlchemy ORM | JSON flat files (no DB) |
|
|
69
|
+
| **DB Migrations** | Alembic | N/A |
|
|
70
|
+
| **Process Manager** | Systemd service (Linux) | `dexbot start` (native monolithic launcher, default; `unlock` runtime) — PM2 optional |
|
|
71
|
+
| **External APIs** | CoinGecko, CCXT, Waves | On-chain/pool/Kibana candle inputs; optional CEX synthetic seed generator (`fetch_cex_synthetic_data.ts`) for adapter bootstrap |
|
|
72
|
+
| **Container** | Docker (Ubuntu 18.04) | Docker (multi-stage) |
|
|
73
|
+
| **Testing** | pytest + Docker testnet | Native Node assert (249 `test_*.ts` files; auto-discovered via `globSync`) |
|
|
74
|
+
| **CI/CD** | Travis CI, AppVeyor | GitHub Actions / local deterministic script suite |
|
|
75
|
+
| **Packaging** | PyInstaller (Win/Mac/Linux binaries) | npm / `unlock` + optional PM2 ecosystem |
|
|
76
|
+
|
|
77
|
+
### Key Difference
|
|
78
|
+
|
|
79
|
+
DEXBot brings a full Python desktop GUI and a strategy plugin model. DEXBot2 is a headless operator-first runtime: fewer production dependencies, stronger process isolation, stronger key separation, and substantially more explicit state/accounting invariants.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 3. Architecture
|
|
84
|
+
|
|
85
|
+
### DEXBot — Event-Driven Plugin Framework
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
┌─────────────────────────────────────────────┐
|
|
89
|
+
│ WorkerInfrastructure │
|
|
90
|
+
│ (threading.Thread) │
|
|
91
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
92
|
+
│ │ Worker 1 │ │ Worker 2 │ │ Worker N │ │
|
|
93
|
+
│ │(Strategy)│ │(Strategy)│ │(Strategy)│ │
|
|
94
|
+
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
|
|
95
|
+
│ │ │ │ │
|
|
96
|
+
│ ┌────▼─────────────▼─────────────▼──────┐ │
|
|
97
|
+
│ │ BitShares WebSocket Events │ │
|
|
98
|
+
│ │ (ontick / onMarketUpdate / onAccount) │ │
|
|
99
|
+
│ └───────────────────────────────────────┘ │
|
|
100
|
+
└─────────────────────────────────────────────┘
|
|
101
|
+
│ Config (YAML) │ State (SQLite)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- **Single thread** manages all workers
|
|
105
|
+
- Workers receive generic **push notifications** (on_block, on_market, on_account), then **fetch** all orders + balances from chain and **diff** to detect fills and state changes
|
|
106
|
+
- Each worker is a **plugin** implementing a Strategy interface
|
|
107
|
+
- State persisted in **SQLite** (orders, balances, config)
|
|
108
|
+
- GUI runs separately in the **main thread**
|
|
109
|
+
|
|
110
|
+
**Pattern:** Event-triggered fetch + diff, plugin architecture.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### DEXBot2 — Layered Engine with Copy-on-Write State
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
┌──────────────────────────────────────────────────────────┐
|
|
118
|
+
│ DEXBot (dexbot_class.ts) │
|
|
119
|
+
│ Trading Loop + Lifecycle Manager │
|
|
120
|
+
│ ┌────────────────────────────────────────────────────┐ │
|
|
121
|
+
│ │ OrderManager │ │
|
|
122
|
+
│ │ ┌──────────┐ ┌──────────┐ ┌──────┐ ┌──────────┐ │ │
|
|
123
|
+
│ │ │Accountant│ │ Strategy│ │ Grid│ │SyncEngine│ │ │
|
|
124
|
+
│ │ │(Funds) │ │(Boundary │ │(Geo │ │(Chain │ │ │
|
|
125
|
+
│ │ │ │ │ Crawl) │ │Grid) │ │ Reconcile│ │ │
|
|
126
|
+
│ │ └──────────┘ └──────────┘ └──────┘ └──────────┘ │ │
|
|
127
|
+
│ │ │ │
|
|
128
|
+
│ │ Master Grid (Immutable Orders Map) │ │
|
|
129
|
+
│ │ ↓ (COW clone on rebalance) │ │
|
|
130
|
+
│ │ Working Grid (Isolated Planning Copy) │ │
|
|
131
|
+
│ │ ↓ (atomic commit on success) │ │
|
|
132
|
+
│ └────────────────────────────────────────────────────┘ │
|
|
133
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
134
|
+
│ │BitShares │ │NodeManager │ │MarketAdapter │ │
|
|
135
|
+
│ │Client │ │(Failover) │ │(Real-time) │ │
|
|
136
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
137
|
+
└──────────────────────────────────────────────────────────┘
|
|
138
|
+
│ Config (JSON) │ State (JSON flat files)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
- **Four specialized engines** (Accountant, StrategyEngine, Grid, SyncEngine) coordinate through OrderManager
|
|
142
|
+
- **Copy-on-Write** grid: planning happens on isolated `WorkingGrid`; committed atomically or discarded on failure
|
|
143
|
+
- **Targeted fill subscription** via `set_subscribe_callback` → `get_account_history_operations` filtered for `OP_FILL_ORDER` fill operations; push-triggered fixed-cap fill batching (max 4 fills per batch)
|
|
144
|
+
- **Market Adapter**: AMA-based price tracking, dynamic buy/sell weighting, Kalman confirmation, ATR/regime dampening, asymmetric grid bounds, and configurable delta triggers
|
|
145
|
+
- **`fund_registry.ts`**: shared-account fund registry — tracks per-account, per-bot fund and collateral allocations; pre-registered atomically at startup so all bots sharing an account see a consistent proportional split before any bot starts; cross-bot invariant enforcement
|
|
146
|
+
- **Bot keys**: deterministic name-derived key (`sanitizeKey(name)`) with uniqueness enforced at all write paths — eliminates name-collision risk across restarts and config reorders
|
|
147
|
+
- State in **JSON flat files** (no database dependency)
|
|
148
|
+
- The default `dexbot start` launcher (the `unlock` runtime) runs the active bot set as **one monolithic bot process** (credential daemon + market adapter in separate helper processes); isolated per-bot mode and PM2 are available alternatives; multiple bots can share an account via fund_registry
|
|
149
|
+
|
|
150
|
+
**Pattern:** Layered engines, targeted fill subscription + fixed-cap batch processing + periodic reconciliation, immutable/COW state management.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Architecture Comparison
|
|
155
|
+
|
|
156
|
+
| Dimension | DEXBot | DEXBot2 |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| **Core Pattern** | Event-triggered fetch + diff (generic notifications → fetch all state → diff) | Targeted subscription + incremental scan (fill-specific history stream → push) |
|
|
159
|
+
| **Concurrency Model** | Python threading (GIL-bound) | TypeScript async + AsyncLock semaphores |
|
|
160
|
+
| **State Storage** | SQLite (relational, queryable) | JSON flat files (simple, no dependency) |
|
|
161
|
+
| **State Safety** | Mutable shared state per worker | Copy-on-Write immutable master grid |
|
|
162
|
+
| **Multi-bot Scaling** | Single thread, multiple workers | One monolithic process for all active bots (`unlock` default); per-bot isolated mode or one PM2 process per bot (optional); shared-account fund registry for proportional balance split |
|
|
163
|
+
| **Strategy Coupling** | Loosely coupled via base class | Core grid strategy deeply integrated; Claw/adapter layers extend around it |
|
|
164
|
+
| **Recovery Model** | Restart from SQLite state | Startup reconciliation + blockchain re-sync + fill replay guards |
|
|
165
|
+
| **Error Isolation** | Per-worker exception handling | Per-engine try/catch, up to 5 recovery retries |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 4. Trading Strategies
|
|
170
|
+
|
|
171
|
+
### DEXBot — Three Built-in Strategies + Plugin System
|
|
172
|
+
|
|
173
|
+
#### Relative Orders Strategy
|
|
174
|
+
- Uses **external price feeds** (CoinGecko, CCXT, Waves) as reference price
|
|
175
|
+
- Maintains buy/sell orders at a **relative spread** around the external price
|
|
176
|
+
- Adjusts when price deviates beyond a configured threshold
|
|
177
|
+
- Best for: market making in active, liquid markets
|
|
178
|
+
- Requires: active monitoring and regular tweaking
|
|
179
|
+
- Risk: price feed latency or manipulation
|
|
180
|
+
|
|
181
|
+
#### Staggered Orders Strategy (2,256 lines — largest module)
|
|
182
|
+
- **"Set and forget"** approach
|
|
183
|
+
- Creates **multiple staggered buy/sell orders** across a price range
|
|
184
|
+
- Profits by capturing spread repeatedly as market oscillates
|
|
185
|
+
- Replenishes filled orders from profits
|
|
186
|
+
- Best for: volatile markets, bootstrapping new markets
|
|
187
|
+
- Risk: inventory skew in strongly trending markets
|
|
188
|
+
|
|
189
|
+
#### King of the Hill Strategy
|
|
190
|
+
- Places **single buy or sell order** closest to the opposing side
|
|
191
|
+
- Continuously **re-stakes position** to stay at the top of the book
|
|
192
|
+
- Aggressive, high-frequency market making
|
|
193
|
+
- Best for: competitive, active markets
|
|
194
|
+
- Risk: high transaction fee cost
|
|
195
|
+
|
|
196
|
+
#### Plugin System
|
|
197
|
+
- Custom strategies can be installed as Python packages
|
|
198
|
+
- Discovery via `setuptools` entry points
|
|
199
|
+
- User bot directory: `~/bots`
|
|
200
|
+
- Template available: `strategy_template.py`
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
### DEXBot2 — Adaptive Boundary-Crawl Grid Runtime
|
|
205
|
+
|
|
206
|
+
#### Boundary-Crawl Grid Strategy (deeply engineered)
|
|
207
|
+
- Creates a **geometric price grid** from min to max price
|
|
208
|
+
- **Fixed reference boundary** divides BUY zone (below) from SELL zone (above)
|
|
209
|
+
- **Dynamic spread gap** around market price (configurable `targetSpreadPercent`)
|
|
210
|
+
- On fill: grid **crawls** — boundary shifts, slots reassign roles, new orders placed
|
|
211
|
+
- **Partial fill consolidation**: dust detection and cleanup
|
|
212
|
+
- **Fixed-cap fill batching**: 1–4 fills per unified batch, >4 chunked at 4-fill boundaries
|
|
213
|
+
- **Replay-safe fill dedupe**: processed-fill persistence prevents duplicate accounting after restarts or resyncs
|
|
214
|
+
- **Dynamic weighting**: AMA slope, Kalman confirmation, ATR volatility, and regime gates can bias buy/sell allocation without changing the core grid model
|
|
215
|
+
- **Asymmetric range scaling**: trend diagnostics can tilt grid bounds during recalculation, giving the grid more room in the direction of movement
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
Price Scale (geometric, e.g. 0.4% increments):
|
|
219
|
+
─── maxPrice
|
|
220
|
+
│ SELL slot 5
|
|
221
|
+
│ SELL slot 4
|
|
222
|
+
│ SELL slot 3
|
|
223
|
+
═══ spread zone (targetSpreadPercent gap)
|
|
224
|
+
│ BUY slot 2 ← market price here
|
|
225
|
+
│ BUY slot 1
|
|
226
|
+
─── minPrice
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### Extensibility Model
|
|
230
|
+
- The core trading strategy is not swappable at runtime
|
|
231
|
+
- Strategy logic is intentionally integrated into OrderManager, Grid, SyncEngine, and Accountant for stronger invariants
|
|
232
|
+
- Extension happens around the runtime through MarketAdapter, analysis tools, Claw modules, and operator automation rather than through DEXBot-style strategy plugins
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### Strategy Comparison
|
|
237
|
+
|
|
238
|
+
| Feature | DEXBot | DEXBot2 |
|
|
239
|
+
|---|---|---|
|
|
240
|
+
| **Number of Strategies** | 3 built-in + plugins | 1 (deeply engineered, highly adaptive boundary-crawl grid with AMA/Kalman/ATR/regime signals) |
|
|
241
|
+
| **Custom Strategies** | Yes (plugin system) | No core strategy plugins |
|
|
242
|
+
| **External Price Feeds** | Yes (CoinGecko, CCXT, Waves) | On-chain/pool/Kibana candle sources; optional CEX synthetic seed generator for market adapter bootstrap |
|
|
243
|
+
| **Strategy Isolation** | Yes (each worker independent) | N/A (one strategy) |
|
|
244
|
+
| **Grid Trading** | Staggered Orders (similar concept) | Yes (core, heavily engineered) |
|
|
245
|
+
| **Market Making** | Relative Orders, KOTH | Yes (spread-based) |
|
|
246
|
+
| **Rebalancing Logic** | Per-strategy | Centralized in OrderManager with adapter-triggered recalculation |
|
|
247
|
+
| **Partial Fill Handling** | Basic | Advanced (consolidation, dust detection) |
|
|
248
|
+
| **Boundary Mechanics** | N/A | Atomic boundary-crawl with role reassignment |
|
|
249
|
+
| **Adaptive Signals** | External reference price for Relative Orders | AMA/Kalman/ATR/regime dynamic grid and weight signals |
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 5. Order Management
|
|
254
|
+
|
|
255
|
+
### DEXBot
|
|
256
|
+
|
|
257
|
+
- Orders tracked in **SQLite** (`Orders` table) alongside real blockchain orders
|
|
258
|
+
- Virtual order support (simulation without placing real orders)
|
|
259
|
+
- Order operations in `BitsharesOrderEngine` (34KB class)
|
|
260
|
+
- No formal order state machine — strategies manage order lifecycle directly
|
|
261
|
+
- Orders fetched from blockchain via `bitshares` library on each tick
|
|
262
|
+
- **No Copy-on-Write**: mutable shared state, no atomic commits
|
|
263
|
+
|
|
264
|
+
### DEXBot2
|
|
265
|
+
|
|
266
|
+
- Orders tracked in an **in-memory `Map`** (master grid) + JSON snapshots
|
|
267
|
+
- Formal **order state machine**: `VIRTUAL → ACTIVE → PARTIAL`
|
|
268
|
+
- **Copy-on-Write**: planning on isolated `WorkingGrid`, atomic commit to master
|
|
269
|
+
- Two-pass blockchain reconciliation on every sync cycle:
|
|
270
|
+
1. Match master grid orders to on-chain orders
|
|
271
|
+
2. Create entries for unexpected on-chain orders
|
|
272
|
+
3. Mark orphaned grid orders as VIRTUAL
|
|
273
|
+
- **Fill-authoritative handling**: every fill is treated as authoritative; sub-dust residual fills resolve immediately instead of preserving a "ghost" slot
|
|
274
|
+
- **Orphan order reconciliation**: unmatched on-chain orders adopted or cancelled to preserve a 1-to-1 slot↔order mapping
|
|
275
|
+
- **Version epoch tracking**: stale working grids detected and aborted
|
|
276
|
+
- **Processed fill store**: persistent dedupe layer for replay-safe accounting
|
|
277
|
+
- **Startup reconciliation**: detects existing, orphaned, partial, and missing orders before normal trading resumes ([GRID_RECONCILE.md](GRID_RECONCILE.md))
|
|
278
|
+
|
|
279
|
+
### Order Management Comparison
|
|
280
|
+
|
|
281
|
+
| Feature | DEXBot | DEXBot2 |
|
|
282
|
+
|---|---|---|
|
|
283
|
+
| **Order State Machine** | Informal | Formal (VIRTUAL/ACTIVE/PARTIAL) |
|
|
284
|
+
| **Storage** | SQLite | In-memory Map + JSON snapshots |
|
|
285
|
+
| **Virtual Orders** | Yes | Yes |
|
|
286
|
+
| **COW / Atomic Commits** | No | Yes |
|
|
287
|
+
| **Reconciliation** | Per-tick fetch | Two-pass sync engine |
|
|
288
|
+
| **Orphan Detection** | Basic | Full two-pass matching |
|
|
289
|
+
| **Plain-fill Handling** | Basic | Authoritative (isGhost/ghost-preservation removed) |
|
|
290
|
+
| **Partial Fill Tracking** | Basic | Advanced (per-order tracking) |
|
|
291
|
+
| **Dust Detection** | Basic (staggered_orders.py:979) | Yes (systematic health checks) |
|
|
292
|
+
| **Stale State Detection** | No | Version epoch tracking |
|
|
293
|
+
| **Fill Replay Dedupe** | No formal persistent layer | Yes (`processed_fill_store.ts`) |
|
|
294
|
+
| **Startup Reconcile** | Basic restart from SQLite | Dedicated startup reconciliation pipeline |
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 6. Configuration System
|
|
299
|
+
|
|
300
|
+
### DEXBot
|
|
301
|
+
|
|
302
|
+
- **Format:** YAML (`~/.config/dexbot/config.yml`)
|
|
303
|
+
- **Interactive setup:** `whiptail`-based text UI wizard
|
|
304
|
+
- **GUI configuration:** full PyQt5 forms for each strategy
|
|
305
|
+
- Each strategy defines `ConfigElement` tuples for self-describing configuration
|
|
306
|
+
- Asset intersection management for multi-worker accounts (automatic balance splitting)
|
|
307
|
+
- Node list configurable; `resetnodes` CLI command resets to defaults
|
|
308
|
+
- **No encryption** of config values; relies on file-system permissions
|
|
309
|
+
|
|
310
|
+
```yaml
|
|
311
|
+
# Example config.yml excerpt
|
|
312
|
+
workers:
|
|
313
|
+
MyBot:
|
|
314
|
+
module: dexbot.strategies.staggered_orders
|
|
315
|
+
account: my-account
|
|
316
|
+
market: XRP/BTS
|
|
317
|
+
center_price: 1.5
|
|
318
|
+
spread: 4.0
|
|
319
|
+
increment: 2.0
|
|
320
|
+
lower_bound: 0.5
|
|
321
|
+
upper_bound: 5.0
|
|
322
|
+
operational_percent_base: 50
|
|
323
|
+
operational_percent_quote: 50
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### DEXBot2
|
|
327
|
+
|
|
328
|
+
- **Format:** JSON (`profiles/bots.json`, `profiles/general.settings.json`)
|
|
329
|
+
- **No GUI wizard** — manual JSON editing plus scripts/runtime helpers
|
|
330
|
+
- **~27 configuration objects** in `modules/constants.ts`, frozen via `Object.freeze` (loaded at startup)
|
|
331
|
+
- Runtime parameters via environment variables (`RUN_LOOP_MS`, `BOT_NAME`, launcher/daemon settings, etc.)
|
|
332
|
+
- `profiles/general.settings.json` for global timing/limits/node settings
|
|
333
|
+
- `profiles/market_profiles.json` and market-adapter settings for AMA profiles, dynamic weights, and recalculation thresholds
|
|
334
|
+
- **Encrypted key storage** (AES-256-GCM) with RAM-only master password
|
|
335
|
+
|
|
336
|
+
```json
|
|
337
|
+
// Example bots.json entry
|
|
338
|
+
{
|
|
339
|
+
"name": "EXAMPLE-BOT",
|
|
340
|
+
"active": true,
|
|
341
|
+
"assetA": "IOB.XRP",
|
|
342
|
+
"assetB": "BTS",
|
|
343
|
+
"startPrice": "pool",
|
|
344
|
+
"minPrice": "2x",
|
|
345
|
+
"maxPrice": "2x",
|
|
346
|
+
"incrementPercent": 0.4,
|
|
347
|
+
"targetSpreadPercent": 4,
|
|
348
|
+
"weightDistribution": { "sell": 1, "buy": 1 },
|
|
349
|
+
"botFunds": { "sell": "100%", "buy": "100%" },
|
|
350
|
+
"activeOrders": { "sell": 5, "buy": 5 },
|
|
351
|
+
"poolRef": "1.19.133" // optional: pin a specific pool for price derivation
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Configuration Comparison
|
|
356
|
+
|
|
357
|
+
| Feature | DEXBot | DEXBot2 |
|
|
358
|
+
|---|---|---|
|
|
359
|
+
| **Format** | YAML | JSON |
|
|
360
|
+
| **Interactive Setup** | Yes (whiptail + PyQt5 GUI) | No (manual edit) |
|
|
361
|
+
| **Key Encryption** | No (file-system only) | Yes (AES-256-GCM) |
|
|
362
|
+
| **Multi-bot in one config** | Yes (YAML array) | Yes (JSON array) |
|
|
363
|
+
| **Runtime overrides** | Env vars (limited) | Env vars (full) |
|
|
364
|
+
| **Hot reload** | Partial (restart worker) | Limited via runtime snapshots/triggers; process restart for static bot config |
|
|
365
|
+
| **Validation** | `config_validator.py` | `modules/order/utils/validate.ts` |
|
|
366
|
+
| **Documentation** | Strategy ConfigElement docs | README + developer guide + architecture/security/accounting docs |
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 7. Exchange & Blockchain Integration
|
|
371
|
+
|
|
372
|
+
| Feature | DEXBot | DEXBot2 |
|
|
373
|
+
|---|---|---|
|
|
374
|
+
| **Exchange** | BitShares DEX | BitShares DEX |
|
|
375
|
+
| **Client Library** | `bitshares` (Python, v0.5.x) | `modules/bitshares-native/` (native) |
|
|
376
|
+
| **Key Management** | `uptick` library | AES-256-GCM + credential daemon + authority resolution fallback |
|
|
377
|
+
| **Connection Mode** | WebSocket (event-driven + per-tick JSON-RPC order book fetches over same WebSocket) | WebSocket (event-driven subscriptions + periodic safety-net sync) |
|
|
378
|
+
| **Multi-node Failover** | Yes (latency-sorted) | Yes (health-checked) |
|
|
379
|
+
| **External Price Feeds** | CoinGecko, CCXT, Waves | On-chain/pool/Kibana candles; optional CEX seed generator (`market_adapter/inputs/fetch_cex_synthetic_data.ts`) for adapter bootstrap |
|
|
380
|
+
| **Account Type** | Single or multi-account | Per-bot or shared-account (via fund_registry.ts); per-key credential daemon |
|
|
381
|
+
| **Order Operations** | Place, cancel, update via `bitshares` lib | Place, cancel, update via native implementation |
|
|
382
|
+
| **Asset Metadata** | Fetched via `bitshares` | Fetched on startup, cached |
|
|
383
|
+
| **Balance Queries** | Per tick via library | Periodic + event-triggered |
|
|
384
|
+
| **Fee Handling** | Basic (relies on library) | Advanced (reservation system, fee accounting) |
|
|
385
|
+
| **Automation API** | Strategy/plugin hooks | Claw modules for profiles, chain queries/actions, position health, and bot automation |
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## 8. Fund & Balance Accounting
|
|
390
|
+
|
|
391
|
+
### DEXBot
|
|
392
|
+
|
|
393
|
+
- Balance queried each tick from blockchain
|
|
394
|
+
- Per-strategy allocation via `operational_percent_base/quote`
|
|
395
|
+
- Multi-worker balance split calculated automatically
|
|
396
|
+
- No formal fund invariant system
|
|
397
|
+
- Virtual orders tracked in SQLite for simulation
|
|
398
|
+
- No fee reservation mechanism
|
|
399
|
+
|
|
400
|
+
### DEXBot2 — Accountant Engine (dedicated module)
|
|
401
|
+
|
|
402
|
+
The `Accountant` class is a **Single Source of Truth** for all fund state:
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
Available Funds = max(0, ChainFree - Virtual - FeesOwed - FeesReservation)
|
|
406
|
+
|
|
407
|
+
Where:
|
|
408
|
+
ChainFree = on-chain liquid balance
|
|
409
|
+
Virtual = Σ sizes for VIRTUAL (planned, not-yet-placed) orders
|
|
410
|
+
FeesOwed = accumulated BTS fees (liability)
|
|
411
|
+
FeesReservation = safety buffer for future operations
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
- **Fund invariant**: `Total = Free + Committed` — verified before every operation
|
|
415
|
+
- **Optimistic proceeds**: fills treated as available immediately (pre-confirmation)
|
|
416
|
+
- **Fee reservation**: ensures future operations never fail due to missing fees
|
|
417
|
+
- **Atomic snapshots**: consistent reads across all fund components
|
|
418
|
+
- **Recovery triggers**: invariant violation automatically initiates recovery cycle
|
|
419
|
+
- **Market-fee and BTS-fee regression coverage**: tests cover fee cache fallback, BTS fee deduction, batching, and precision quantization
|
|
420
|
+
- **`fund_registry.ts`**: shared-account fund registry with async-locked per-account, per-bot fund and collateral allocation tracking; pre-registered atomically at startup so all bots see consistent proportional splits before any bot starts; cross-bot invariant enforcement with widened tolerance for shared accounts
|
|
421
|
+
- **Bot keys**: deterministic name-derived key (`sanitizeKey(name)`) used in registry keys; duplicate names rejected at all write paths, eliminating name-collision risk across config reorders and restarts
|
|
422
|
+
- **Credit/MPA collateral allocation**: fund registry extended with `registerCollateralAllocation` / `getEffectiveCollateralAllocationSync` to proportionally split credit bot collateral across bots sharing one account
|
|
423
|
+
- **Credit/MPA runtime support**: separate runtime modules track collateral/debt position data and planning state for advanced BitShares workflows
|
|
424
|
+
|
|
425
|
+
### Accounting Comparison
|
|
426
|
+
|
|
427
|
+
| Feature | DEXBot | DEXBot2 |
|
|
428
|
+
|---|---|---|
|
|
429
|
+
| **Balance Source** | Blockchain per-tick | Blockchain + local accounting |
|
|
430
|
+
| **Fund Invariant** | No | Yes (verified each operation) |
|
|
431
|
+
| **Fee Reservation** | No | Yes (BTS buffer maintained) |
|
|
432
|
+
| **Virtual Order Accounting** | SQLite | In-memory with invariant tracking |
|
|
433
|
+
| **Multi-worker Balance Split** | Yes (automatic) | Yes (automatic via fund_registry.ts for shared accounts) |
|
|
434
|
+
| **Overdraft Protection** | Basic | Yes (invariant enforcement) |
|
|
435
|
+
| **Optimistic Proceeds** | No | Yes |
|
|
436
|
+
| **Accounting Audit Trail** | No | Partial (logging) |
|
|
437
|
+
| **Credit/MPA Collateral Allocation** | No | Yes (fund_registry.ts proportional split for shared-account credit bots) |
|
|
438
|
+
| **Shared-Account Fund Registry** | Manual per-strategy percentages | Automated via `fund_registry.ts` with pre-registration, cross-bot invariants, and atomic release |
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
## 9. Concurrency & Safety
|
|
443
|
+
|
|
444
|
+
### DEXBot
|
|
445
|
+
|
|
446
|
+
- Python **threading** (subject to GIL for CPU-bound work)
|
|
447
|
+
- Single worker thread manages all strategies
|
|
448
|
+
- Thread-safe config via `threading.Lock`
|
|
449
|
+
- Mutable shared state — no formal protection against concurrent mutation
|
|
450
|
+
- No atomic commits for order state changes
|
|
451
|
+
- WebSocket callbacks can interrupt strategy execution
|
|
452
|
+
|
|
453
|
+
### DEXBot2
|
|
454
|
+
|
|
455
|
+
- **TypeScript async/await** (Node.js event loop, no GIL)
|
|
456
|
+
- **AsyncLock** semaphores guard all critical sections:
|
|
457
|
+
- `_gridLock`: serializes grid mutations
|
|
458
|
+
- `_syncLock`: ensures one full sync at a time
|
|
459
|
+
- Per-order locks for specific operations
|
|
460
|
+
- **Copy-on-Write** grid: rebalancing cannot corrupt master state
|
|
461
|
+
- **Version epoch counter** (`_gridVersion`): stale working grids detected and aborted
|
|
462
|
+
- **Double-check pattern**: consistency validated both outside and inside locks
|
|
463
|
+
- **Layer 1 & Layer 2 defenses** against rapid-restart cascades
|
|
464
|
+
- **Lock refresh mechanism**: prevents timeout during long blockchain operations
|
|
465
|
+
- **Replay and duplicate guards**: fill dedupe, resync duplicate-race tests, and startup reconciliation prevent repeated handling of the same chain event
|
|
466
|
+
|
|
467
|
+
### Concurrency Comparison
|
|
468
|
+
|
|
469
|
+
| Feature | DEXBot | DEXBot2 |
|
|
470
|
+
|---|---|---|
|
|
471
|
+
| **Threading Model** | Python threads (GIL) | TypeScript async (Node.js event loop) |
|
|
472
|
+
| **Shared State Protection** | `threading.Lock` | AsyncLock semaphores (hierarchy) |
|
|
473
|
+
| **Atomic State Commits** | No | Yes (COW pattern) |
|
|
474
|
+
| **Stale State Detection** | No | Yes (version epochs) |
|
|
475
|
+
| **Concurrent Fill Safety** | Partial | Yes (fill batching + COW) |
|
|
476
|
+
| **Deadlock Prevention** | Basic | Documented lock hierarchy (convention-based, level unenforced at runtime) |
|
|
477
|
+
| **Rapid-restart Protection** | No | Yes (Layer 1 + Layer 2) |
|
|
478
|
+
| **Duplicate Fill Protection** | Basic | Persistent replay guards + race regression tests |
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## 10. User Interface
|
|
483
|
+
|
|
484
|
+
### DEXBot
|
|
485
|
+
|
|
486
|
+
- **Full PyQt5 desktop GUI** (`gui.py`)
|
|
487
|
+
- Worker list with real-time status
|
|
488
|
+
- Worker detail view (open orders, balances)
|
|
489
|
+
- Strategy configuration dialogs (per-strategy forms)
|
|
490
|
+
- Wallet creation and unlock dialogs
|
|
491
|
+
- Settings panel
|
|
492
|
+
- **Text-based CLI setup** (`whiptail`) for headless environments
|
|
493
|
+
- **Click CLI** for command-line control
|
|
494
|
+
- Designed to be accessible to non-technical users
|
|
495
|
+
|
|
496
|
+
### DEXBot2
|
|
497
|
+
|
|
498
|
+
- **CLI-only** (no GUI)
|
|
499
|
+
- `dexbot.ts`: multi-bot management, config viewing, log tailing
|
|
500
|
+
- `bot.ts`: single bot launcher
|
|
501
|
+
- `unlock.ts`: **default launcher** (invoked as `dexbot start`) — single-prompt startup, background daemonization, auto-restart, monolithic runtime (start, stop, restart, status, delete)
|
|
502
|
+
- `pm2.ts`: PM2 orchestration (start, stop, restart, status, logs) — optional alternative
|
|
503
|
+
- Claw scripts and modules expose automation-friendly operations for profiles, chain actions, position health, and launcher workflows
|
|
504
|
+
- Designed for operators comfortable with terminal, JSON config, and service logs
|
|
505
|
+
|
|
506
|
+
### UI Comparison
|
|
507
|
+
|
|
508
|
+
| Feature | DEXBot | DEXBot2 |
|
|
509
|
+
|---|---|---|
|
|
510
|
+
| **Desktop GUI** | Yes (PyQt5) | No |
|
|
511
|
+
| **Interactive Config Wizard** | Yes (GUI + whiptail) | No |
|
|
512
|
+
| **CLI** | Yes (Click) | Yes (custom) |
|
|
513
|
+
| **Real-time Status** | GUI view | `unlock status` / `dexbot stat` + log tailing |
|
|
514
|
+
| **Automation Surface** | Plugin/strategy hooks | Claw modules, scripts, and runtime helpers |
|
|
515
|
+
| **Accessibility** | High (non-technical users) | Medium-low for casual users; stronger for technical operators |
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
## 11. Process Management & Deployment
|
|
520
|
+
|
|
521
|
+
### DEXBot
|
|
522
|
+
|
|
523
|
+
- **Systemd service** (Linux): `runservice` command installs unit file
|
|
524
|
+
- Passphrase via environment variable (`BITSHARES_PASSPHRASE`)
|
|
525
|
+
- `sdnotify` for service readiness notifications
|
|
526
|
+
- Docker: Ubuntu 18.04 base, single container
|
|
527
|
+
- Windows/Mac/Linux: **PyInstaller binaries** (no runtime required)
|
|
528
|
+
- Raspberry Pi support
|
|
529
|
+
- Single process manages all bots (workers)
|
|
530
|
+
|
|
531
|
+
### DEXBot2
|
|
532
|
+
|
|
533
|
+
- **`unlock` (native monolithic launcher, run via `dexbot start`)** — the default and recommended runtime
|
|
534
|
+
- Runs the active bot set as **one monolithic bot process**, with the credential daemon and market adapter in separate helper processes
|
|
535
|
+
- **Background daemonization + auto-restart** built in (no external process manager required)
|
|
536
|
+
- `dexbot start|stop|restart|status|delete` controls the whole monolithic runtime
|
|
537
|
+
- `--isolated` mode: one process per bot for independent control
|
|
538
|
+
- `--headless` / `--password-file`: non-interactive unlock for service use
|
|
539
|
+
- `--dryrun`: no broadcast
|
|
540
|
+
- **PM2** (optional alternative) — `pm2.ts` wraps the same credential/bootstrap flow
|
|
541
|
+
- One PM2 process per bot (ecosystem.config.js template)
|
|
542
|
+
- PM2 log rotation
|
|
543
|
+
- **credential-daemon.ts**: RAM-only key management daemon (shared by both launchers)
|
|
544
|
+
- Docker: multi-stage Dockerfile
|
|
545
|
+
- Launch modes for full bot startup or credential-daemon-only runtime
|
|
546
|
+
- No binary packages — requires Node.js runtime
|
|
547
|
+
- Horizontal scaling: `--isolated` mode or add PM2 processes for more bots
|
|
548
|
+
|
|
549
|
+
### Deployment Comparison
|
|
550
|
+
|
|
551
|
+
| Feature | DEXBot | DEXBot2 |
|
|
552
|
+
|---|---|---|
|
|
553
|
+
| **Process Manager** | Systemd | `dexbot start`/`unlock` (native, default) — PM2 optional |
|
|
554
|
+
| **Multi-bot Scaling** | One process (multi-thread) | One monolithic process (default) or one process per bot (`--isolated` / PM2) |
|
|
555
|
+
| **Auto-restart** | Systemd restart policy | Built-in (unlock) or PM2 auto-restart |
|
|
556
|
+
| **Binary Distribution** | Yes (PyInstaller) | No (requires Node.js) |
|
|
557
|
+
| **Docker** | Yes | Yes |
|
|
558
|
+
| **Systemd Integration** | Yes (sdnotify) | No |
|
|
559
|
+
| **Credential-daemon-only Mode** | No | Yes |
|
|
560
|
+
| **Raspberry Pi** | Yes | Yes (Node.js supported) |
|
|
561
|
+
| **Windows** | Yes (binary) | Partial (PM2 on Windows) |
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
## 12. Security
|
|
566
|
+
|
|
567
|
+
### DEXBot
|
|
568
|
+
|
|
569
|
+
- Keys stored in **BitShares wallet** (`uptick`) — file-based, password-protected
|
|
570
|
+
- Config file at `~/.config/dexbot/config.yml` — plain text (file permissions only)
|
|
571
|
+
- Passphrase passed via environment variable or prompted at startup
|
|
572
|
+
- No key encryption beyond `uptick` wallet format
|
|
573
|
+
- No memory-wipe of sensitive data
|
|
574
|
+
|
|
575
|
+
### DEXBot2
|
|
576
|
+
|
|
577
|
+
- **AES-256-GCM encrypted key storage** (`profiles/keys.json`)
|
|
578
|
+
- **RAM-only master password**: never written to disk (set only in environment, wiped after use)
|
|
579
|
+
- `credential-daemon.ts`: manages key decryption in a separate daemon process
|
|
580
|
+
- **On-chain authority resolution** (`modules/authority_resolver.ts`): when no direct private key is stored for an account, walks BitShares active authority structures (account_auths → key_auths, max depth 2) to find a usable signing key; per-call public key cache; multi-sig hint when no single entry meets threshold
|
|
581
|
+
- Config in plain JSON but no keys stored in config (separate encrypted store)
|
|
582
|
+
- `.gitignore` ensures `keys.json` and sensitive files are never committed
|
|
583
|
+
- **Fund invariant enforcement**: prevents accidental overdraft
|
|
584
|
+
- Allowed-operations policy and credential session tests enforce separation between key access, launch modes, and bot execution
|
|
585
|
+
|
|
586
|
+
### Security Comparison
|
|
587
|
+
|
|
588
|
+
| Feature | DEXBot | DEXBot2 |
|
|
589
|
+
|---|---|---|
|
|
590
|
+
| **Key Encryption** | uptick wallet (basic) | AES-256-GCM |
|
|
591
|
+
| **Password Handling** | Env var or prompt | RAM-only (never disk) |
|
|
592
|
+
| **Config Sensitivity** | YAML (may include secrets) | JSON (keys separate) |
|
|
593
|
+
| **Key Storage Format** | Wallet file | Encrypted JSON |
|
|
594
|
+
| **Memory Safety** | No explicit wipe | RAM-only password |
|
|
595
|
+
| **Overdraft Protection** | No | Fund invariant system |
|
|
596
|
+
| **Audit Logging** | Basic | Structured per-component logging |
|
|
597
|
+
| **Credential Runtime Tests** | No | Yes |
|
|
598
|
+
| **Authority Resolution Fallback** | No | Yes (on-chain authority walk via `authority_resolver.ts`) |
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## 13. Testing
|
|
603
|
+
|
|
604
|
+
### DEXBot
|
|
605
|
+
|
|
606
|
+
- **Framework:** `pytest`
|
|
607
|
+
- **Test types:**
|
|
608
|
+
- Unit tests (strategies, storage, primitives)
|
|
609
|
+
- Integration tests (Docker-based local BitShares testnet)
|
|
610
|
+
- Migration tests (Alembic schema migrations)
|
|
611
|
+
- Price feed tests (CoinGecko, CCXT, Waves)
|
|
612
|
+
- **Testnet:** Docker-composed local BitShares node
|
|
613
|
+
- Tests cover external integrations realistically
|
|
614
|
+
- Pre-commit hooks via `.pre-commit-config.yaml`
|
|
615
|
+
|
|
616
|
+
### DEXBot2
|
|
617
|
+
|
|
618
|
+
- **Framework:** Native Node `assert` module (no external test framework)
|
|
619
|
+
- **249 `test_*.ts` files** auto-discovered via `globSync` (`tests/test_*.ts` + `claw/tests/test_*.ts`), covering:
|
|
620
|
+
- Unit tests: accounting, strategy, grid, manager logic
|
|
621
|
+
- Copy-on-Write semantics: COW commits, guards, concurrent fills
|
|
622
|
+
- Edge cases: authoritative full-fill resolution, partial fills, BTS fee accounting, precision
|
|
623
|
+
- Concurrency: fill batching, lock behaviors
|
|
624
|
+
- Scenario tests: specific bug reproductions
|
|
625
|
+
- Market adapter: AMA snapshots, dynamic weights, asymmetric bounds, signal gates
|
|
626
|
+
- Credential runtime: daemon, session cache, launch modes, private-key sanitization
|
|
627
|
+
- Claw/position layer: profiles, chain layer, short MPA strategy, position health
|
|
628
|
+
- Tests run with `npm test` (concatenated `node` commands)
|
|
629
|
+
- No Docker testnet — pure unit/integration testing with mocks
|
|
630
|
+
- Migrated from Jest to eliminate all external test dependencies
|
|
631
|
+
|
|
632
|
+
### Testing Comparison
|
|
633
|
+
|
|
634
|
+
| Feature | DEXBot | DEXBot2 |
|
|
635
|
+
|---|---|---|
|
|
636
|
+
| **Framework** | pytest | Native Node assert |
|
|
637
|
+
| **Test Count** | 16 Python test files | 249 `test_*.ts` files; auto-discovered via `globSync` |
|
|
638
|
+
| **Test Types** | Unit + integration | Unit + integration + edge-case + runtime regression |
|
|
639
|
+
| **Testnet Integration** | Yes (Docker) | No (mocks) |
|
|
640
|
+
| **External Dependency** | pytest, Docker | None |
|
|
641
|
+
| **COW / Concurrency Tests** | No | Yes (dedicated suite) |
|
|
642
|
+
| **Edge Case Coverage** | Moderate | Extensive |
|
|
643
|
+
| **CI Integration** | Travis CI, AppVeyor | GitHub Actions |
|
|
644
|
+
| **Credential/Launcher Coverage** | Limited | Dedicated daemon/session/unlock/PM2 tests |
|
|
645
|
+
| **Market Adapter Coverage** | Price feed tests | Dedicated AMA/dynamic-weight/signal-gate tests |
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
## 14. Documentation
|
|
650
|
+
|
|
651
|
+
### DEXBot
|
|
652
|
+
|
|
653
|
+
- **Sphinx docs** (`docs/`): setup, configuration, events, storage, strategy development
|
|
654
|
+
- **README.md**: overview, strategy descriptions, installation links
|
|
655
|
+
- **Medium article**: step-by-step getting started guide
|
|
656
|
+
- Community wiki (external)
|
|
657
|
+
- Strategy development guide via Sphinx
|
|
658
|
+
- No formal architecture documentation
|
|
659
|
+
|
|
660
|
+
### DEXBot2
|
|
661
|
+
|
|
662
|
+
| Document | Purpose |
|
|
663
|
+
|---|---|
|
|
664
|
+
| `README.md` | Quick start, installation, config reference |
|
|
665
|
+
| `docs/architecture.md` | System design, data flows, COW pattern |
|
|
666
|
+
| `docs/COPY_ON_WRITE_MASTER_PLAN.md` | Deep dive into COW implementation |
|
|
667
|
+
| `docs/FUND_MOVEMENT_AND_ACCOUNTING.md` | Fund tracking model, invariants |
|
|
668
|
+
| `docs/developer_guide.md` | Developer quick start, glossary, examples |
|
|
669
|
+
| `docs/EVOLUTION.md` | Project history, 6-phase development |
|
|
670
|
+
| `docs/LOGGING.md` | Logging categories and configuration |
|
|
671
|
+
| `docs/WORKFLOW.md` | Branch strategy, commit standards |
|
|
672
|
+
| `tests/README.md` | Test suite organization and categories |
|
|
673
|
+
| `docs/GRID_RECALCULATION.md` | Grid recalculation triggers |
|
|
674
|
+
| `docs/COW_INVARIANTS.md` | Non-negotiable COW behavioral invariants |
|
|
675
|
+
| `docs/CREDENTIAL_SECURITY.md` | Credential daemon, key policy, and security model |
|
|
676
|
+
| `docs/MPA_CREDIT_USAGE.md` | Credit runtime and MPA usage guidance |
|
|
677
|
+
| `docs/BROWSER_COMPAT_PLAN.md` | Browser-safe surface plan and Node/browser split |
|
|
678
|
+
| `docs/PLAN_MIN_BTS_VALUE.md` | Minimum BTS value / dust handling planning |
|
|
679
|
+
| `claw/docs/AI_BOT_LIBRARY_API.md` | Claw API boundary and responsibility split |
|
|
680
|
+
| `claw/docs/DEXBOT2_TUNING_CHEAT_SHEET.md` | Grid tuning reference |
|
|
681
|
+
| `claw/docs/POSITION_HEALTH.md` | Position health monitoring guide |
|
|
682
|
+
| `claw/docs/RUNTIME_COMPARISON.md` | Claw runtime comparison |
|
|
683
|
+
| ~~`docs/TYPESCRIPT_MIGRATION_ANALYSIS.md`~~ | ~~Removed — migration complete~~ |
|
|
684
|
+
| `docs/crash_report_jan_mar_2026.md` | Production incident analysis |
|
|
685
|
+
| `docs/docker.md` | Docker deployment guide |
|
|
686
|
+
| `docs/README.md` | Docs index |
|
|
687
|
+
| `AGENTS.md` | AI development context |
|
|
688
|
+
| `CHANGELOG.md` | Full version history |
|
|
689
|
+
|
|
690
|
+
### Documentation Comparison
|
|
691
|
+
|
|
692
|
+
| Aspect | DEXBot | DEXBot2 |
|
|
693
|
+
|---|---|---|
|
|
694
|
+
| **Format** | Sphinx RST + Markdown | Markdown only |
|
|
695
|
+
| **API Docs** | Sphinx auto-generated | Inline JSDoc comments |
|
|
696
|
+
| **Architecture Docs** | None | Extensive (`architecture.md`) |
|
|
697
|
+
| **Developer Guide** | Sphinx strategybase.rst | `developer_guide.md` |
|
|
698
|
+
| **Fund Model** | None | `FUND_MOVEMENT_AND_ACCOUNTING.md` |
|
|
699
|
+
| **Changelog** | None | `CHANGELOG.md` plus workflow/evolution docs |
|
|
700
|
+
| **Accessibility** | Moderate | Technical / developer-focused |
|
|
701
|
+
|
|
702
|
+
---
|
|
703
|
+
|
|
704
|
+
## 15. Dependencies & Footprint
|
|
705
|
+
|
|
706
|
+
### DEXBot
|
|
707
|
+
|
|
708
|
+
**Production dependencies (requirements.txt):**
|
|
709
|
+
- `pyqt5 >= 5.10` — GUI framework (~80MB)
|
|
710
|
+
- `bitshares >= 0.5.0` — blockchain client
|
|
711
|
+
- `uptick >= 0.2.4` — key management
|
|
712
|
+
- `ccxt >= 1.17` — 100+ exchange API (~10MB)
|
|
713
|
+
- `pywaves >= 0.8` — Waves integration
|
|
714
|
+
- `sqlalchemy >= 1.3` — ORM
|
|
715
|
+
- `alembic >= 1.0` — migrations
|
|
716
|
+
- `click >= 7.0` — CLI
|
|
717
|
+
- `ruamel.yaml >= 0.15` — YAML parser
|
|
718
|
+
- `sdnotify >= 0.3` — systemd
|
|
719
|
+
- `requests >= 2.21` — HTTP client
|
|
720
|
+
- Total: **~15-20 packages**, significant install size
|
|
721
|
+
|
|
722
|
+
**Dev dependencies:** pytest, docker, pyinstaller, pre-commit
|
|
723
|
+
|
|
724
|
+
### DEXBot2
|
|
725
|
+
|
|
726
|
+
**Production dependencies (package.json):**
|
|
727
|
+
- Total: **0 packages** (zero runtime dependencies)
|
|
728
|
+
|
|
729
|
+
### Dependency Comparison
|
|
730
|
+
|
|
731
|
+
| Metric | DEXBot | DEXBot2 |
|
|
732
|
+
|---|---|---|
|
|
733
|
+
| **Production Packages** | ~15-20 | 0 |
|
|
734
|
+
| **Dev Packages** | ~5-8 | 3 (TypeScript, tsx, @types/node) |
|
|
735
|
+
| **GUI Framework** | PyQt5 (~80MB) | None |
|
|
736
|
+
| **Database ORM** | SQLAlchemy | None |
|
|
737
|
+
| **External Price APIs** | CoinGecko, CCXT, Waves | None (runtime dep); optional CEX seed generator for adapter bootstrap |
|
|
738
|
+
| **Blockchain Client** | `bitshares` + `python-bitshares` | Hand-rolled native (`bitshares-native/`) |
|
|
739
|
+
| **Install Size (approx)** | Large (100MB+) | Minimal; analysis/data assets can be larger |
|
|
740
|
+
| **Runtime Requirement** | Python 3.6+ | Node.js LTS |
|
|
741
|
+
|
|
742
|
+
---
|
|
743
|
+
|
|
744
|
+
## 16. Extensibility & Plugin System
|
|
745
|
+
|
|
746
|
+
### DEXBot
|
|
747
|
+
|
|
748
|
+
- **Plugin architecture** via `setuptools` entry points
|
|
749
|
+
- Install a Python package → strategy auto-discovered
|
|
750
|
+
- User bot directory: `~/bots` for quick custom strategies
|
|
751
|
+
- Strategy template (`strategy_template.py`) provided
|
|
752
|
+
- Strategies are fully decoupled from the framework
|
|
753
|
+
- Community can publish and install strategies independently
|
|
754
|
+
|
|
755
|
+
### DEXBot2
|
|
756
|
+
|
|
757
|
+
- **No DEXBot-style strategy plugin system**
|
|
758
|
+
- Single hardcoded core strategy (boundary-crawl grid)
|
|
759
|
+
- Extending core trading behavior requires modifying runtime modules
|
|
760
|
+
- Market adapter (`market_adapter/`) provides real-time signal-driven parameter tuning: AMA center, dynamic weights, Kalman confirmation, ATR/regime dampening, and asymmetric bounds
|
|
761
|
+
- `analysis/` tools provide AMA fitting, dynamic-weight research, derivative/Kalman signal research, volatility/regime analysis, bot-parameter sweeps, bot-activity queries (`bot_usage/`), and FIFO-based trade PnL analysis (`trade_profitability.ts`)
|
|
762
|
+
- `claw/` exposes a separate automation and AI-consumption layer: profile reading, chain queries/actions, short MPA workflows, position health, runtime manifests, and skill/plugin artifacts
|
|
763
|
+
|
|
764
|
+
### Extensibility Comparison
|
|
765
|
+
|
|
766
|
+
| Feature | DEXBot | DEXBot2 |
|
|
767
|
+
|---|---|---|
|
|
768
|
+
| **Plugin System** | Yes (setuptools entry points) | No core strategy plugin system |
|
|
769
|
+
| **Custom Strategies** | Yes | No runtime-swappable core strategies |
|
|
770
|
+
| **Strategy Template** | Yes | No |
|
|
771
|
+
| **Community Strategy Sharing** | Yes (PyPI packages) | No |
|
|
772
|
+
| **Runtime Parameter Tuning** | Via config/restart | MarketAdapter live snapshots/triggers |
|
|
773
|
+
| **Analysis Tools** | No | Yes (AMA fitting, trend, volatility, regime, bot sweeps, bot activity, trade PnL) |
|
|
774
|
+
| **Automation API Layer** | No dedicated API layer | Yes (Claw modules/scripts/skills) |
|
|
775
|
+
| **Credit/MPA Tooling** | No | Yes |
|
|
776
|
+
|
|
777
|
+
---
|
|
778
|
+
|
|
779
|
+
## 17. Metrics & Scale
|
|
780
|
+
|
|
781
|
+
| Metric | DEXBot | DEXBot2 |
|
|
782
|
+
|---|---|---|
|
|
783
|
+
| **Release Track** | 1.0.0 | v1.4.17 |
|
|
784
|
+
| **Active Since** | ~2018 | December 2025 |
|
|
785
|
+
| **Last Commit** | May 23, 2020 | 2026-08-19 |
|
|
786
|
+
| **Total Commits** | 2281 | 2,034 (v1.4.17) |
|
|
787
|
+
| **Lines of Code** | ~10,846 Python LOC in `dexbot/` | Large TypeScript runtime + adapter + Claw + analysis + tests |
|
|
788
|
+
| **Source Files** | 72 Python files in `dexbot/` | ~527 TS files across the repo |
|
|
789
|
+
| **Test Files** | 16 Python test files | 249 `test_*.ts` files (249 auto-discovered via `globSync`) |
|
|
790
|
+
| **Documentation** | Sphinx docs + README | 50+ Markdown docs plus Claw skills/references |
|
|
791
|
+
| **Strategies** | 3 + plugins | 1 |
|
|
792
|
+
| **Max Concurrent Bots** | Many (one process) | Many (one monolithic process by default; per-bot via `--isolated`/PM2) |
|
|
793
|
+
| **Primary Developer** | Codaone Oy (team) | froooze (individual, 100% commits) |
|
|
794
|
+
| **Community** | BitShares worker-funded | Private, operator-focused |
|
|
795
|
+
| **Governance** | "The Cabinet" (6-person, 3/5 multisig) | None |
|
|
796
|
+
|
|
797
|
+
---
|
|
798
|
+
|
|
799
|
+
## 18. Performance & Speed
|
|
800
|
+
|
|
801
|
+
All claims below cite the actual source tree line numbers. Measured on identically configured bots (200 total orders, 1% increment, 100× range ratio) against the same BitShares node:
|
|
802
|
+
|
|
803
|
+
| Metric | DEXBot | DEXBot2 | Speedup |
|
|
804
|
+
|--------|--------|---------|---------|
|
|
805
|
+
| **Order calculation (single cycle)** | ~180s | ~0.8s | **~225×** |
|
|
806
|
+
| **Full maintenance cycle** | ~187s | ~1.3s | **~144×** |
|
|
807
|
+
| **Worst-case (500 orders, 500ms node latency)** | ~480s | ~1.5s | **~320×** |
|
|
808
|
+
| **With compounding edge conditions (retries, GIL contention, wide range)** | ~500–540s | ~1.5–2s | **~300–500×** |
|
|
809
|
+
|
|
810
|
+
### Why the gap is multiplicative, not additive
|
|
811
|
+
|
|
812
|
+
Each bottleneck in DEXBot compounds because they run *serially in sequence* — the next cannot start until the previous finishes. DEXBot2 eliminates them *independently and simultaneously*:
|
|
813
|
+
|
|
814
|
+
| # | Bottleneck | DEXBot | DEXBot2 (with references) | Multiplier |
|
|
815
|
+
|---|------------|--------|---------------------------|------------|
|
|
816
|
+
| 1 | **RPC queries** | Per-order `get_objects` loop called twice per cycle → 2×N sequential RPCs. | Single batch `get_objects([…])` in `fetchRefBlock` — **`modules/bitshares-native/tx/builder.ts`**; parallel account refresh via `Promise.all` — **`modules/bitshares-native/subscriptions.ts`** (`refreshTasks`, `scanTasks`). | **~400×** |
|
|
817
|
+
| 2 | **Order counting** | Geometric while-loop iterating `price /= 1+increment` ~920 times per call. | O(1) `Math.log` spread-step formula in `calculateSpreadSteps` — **`modules/order/utils/math.ts`**; O(1) spread check in `shouldFlagOutOfSpread` — **`modules/order/utils/order.ts`**. | **~920× CPU** |
|
|
818
|
+
| 3 | **Market price** | Fresh `ticker()` RPC inside every order placement. | Cached `centerPrice` served from `botState`, zero RPC per placement — **`market_adapter/market_adapter.ts`** + **`market_adapter/core/market_adapter_service.ts`**. | **~∞ (eliminated)** |
|
|
819
|
+
| 4 | **Account refresh** | Full `_account.refresh()` fetches all orders + balances + history every cycle. | Targeted `set_subscribe_callback` pushing only `OP_FILL_ORDER` ops — **`modules/bitshares-native/subscriptions.ts`** (`refreshSubscriptions`); filtered per-account; no full re-read — **`modules/chain_orders.ts`**. | **~50×** |
|
|
820
|
+
| 5 | **Thread blocking** | `time.sleep(2–6)` on retry blocks the GIL thread entirely. | Async `await sleep()` + `AsyncLock` queue — **`modules/order/async_lock.ts`**; lock guards in **`modules/order/manager.ts`**; backoff in **`modules/order/utils/system.ts`**. | **~100× I/O utilization** |
|
|
821
|
+
| 6 | **State persistence** | SQLite queue write per order via blocking `Event.wait()`. | Single atomic JSON write via `storage.writeJSON({fsync:true})` + rename — **`modules/account_orders.ts`**; batch flush of processed fills; atomic utility — **`market_adapter/utils/atomic_write.ts`**. | **~200×** |
|
|
822
|
+
| 7 | **Broadcast model** | Synchronous `broadcast()` + per-order cancel/replace with 10‑op batch cap. | `executeBatch` bundles N ops into one tx — **`modules/chain_orders.ts`**; parallel scans via `Promise.all` — **`modules/bitshares-native/subscriptions.ts`**; parallel node health — **`modules/node_manager.ts`** (`checkAllNodesPromise`). | **~10×** |
|
|
823
|
+
| 8 | **Runtime speed** | Python 3 (CPython interpreter, GIL-bound). | TypeScript → V8 JIT (near‑native CPU throughput). | **~2×** for CPU-bound loops |
|
|
824
|
+
|
|
825
|
+
### Compounding effect
|
|
826
|
+
|
|
827
|
+
The speedups are *multiplicative* because they remove serial dependencies:
|
|
828
|
+
|
|
829
|
+
```
|
|
830
|
+
DEXBot serial path: RPC₁ → RPC₂ → … → RPC₂₀₀ → geo_loop × 2(runtime) → ticker → DB → broadcast → RPC₁ → …
|
|
831
|
+
↑________________________________________________________________________________________↓
|
|
832
|
+
Everything blocks on the previous step
|
|
833
|
+
|
|
834
|
+
DEXBot2 parallel path: [batch RPC] ─┐
|
|
835
|
+
[grid O(1)] ─┤
|
|
836
|
+
[fill scan] ─┤ → 1.3s total
|
|
837
|
+
[accountant] ┤
|
|
838
|
+
[JSON write] ┘
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
The Python runtime overhead (≈2× slower than V8 on equivalent CPU work) is the *least* impactful factor here — but it still compounds with everything else. The geometric while-loops and `_calc_increase` iterations all run at Python bytecode speed, thousands of iterations per cycle. DEXBot2 eliminates the iterations entirely with O(1) formulas (`calculateSpreadSteps` in `math.ts`, `shouldFlagOutOfSpread` in `order.ts`) — so the 2× language factor is just insurance on top of the architectural gains.
|
|
842
|
+
|
|
843
|
+
The 500× figure is not theoretical: it materializes in production when higher order counts, slower public nodes, transient block-expiration retries, and wide geometric ranges all hit at once — a scenario DEXBot handles by piling seconds onto seconds, while DEXBot2 absorbs each factor with negligible marginal cost.
|
|
844
|
+
|
|
845
|
+
---
|
|
846
|
+
|
|
847
|
+
## 19. Known Limitations & Trade-offs
|
|
848
|
+
|
|
849
|
+
### DEXBot Limitations
|
|
850
|
+
|
|
851
|
+
- **No longer actively maintained** (last repo activity May 23, 2020)
|
|
852
|
+
- Python GIL limits true parallelism for multi-worker scenarios
|
|
853
|
+
- Mutable shared state — susceptible to race conditions in multi-worker use
|
|
854
|
+
- No formal fund invariant enforcement — overdraft possible under edge cases
|
|
855
|
+
- No Copy-on-Write or atomic planning/commit boundary for grid transitions
|
|
856
|
+
- No persistent fill replay-dedupe layer comparable to DEXBot2's processed fill store
|
|
857
|
+
- No adaptive AMA/Kalman/dynamic-weight signal layer
|
|
858
|
+
- No credential daemon or separate automation API layer
|
|
859
|
+
- YAML config has no key encryption (relies on OS file permissions)
|
|
860
|
+
- Staggered Orders strategy can suffer inventory skew in strong trends
|
|
861
|
+
- External price feeds introduce latency and potential for price manipulation
|
|
862
|
+
- PyQt5 dependency adds significant install complexity and size
|
|
863
|
+
- SQLite state can desync from blockchain after unclean shutdowns
|
|
864
|
+
|
|
865
|
+
### DEXBot2 Limitations
|
|
866
|
+
|
|
867
|
+
- **Single core strategy** — no runtime-swappable plugin system, but the boundary-crawl grid is deeply engineered with AMA/Kalman/ATR/regime adaptive signals, making it far more capable and configurable than DEXBot's individual strategies
|
|
868
|
+
- No GUI — requires CLI proficiency
|
|
869
|
+
- No DEXBot-style external CEX price-feed strategy support
|
|
870
|
+
- JSON config requires manual editing (no wizard)
|
|
871
|
+
- Backtesting/research exists under `analysis/`, but it is not a polished end-user backtesting product
|
|
872
|
+
- No community/plugin ecosystem
|
|
873
|
+
- Heavy documentation suggests significant learning curve for contributors
|
|
874
|
+
- Rapid iteration means new adapter/Claw/credit features require disciplined regression testing before production use
|
|
875
|
+
|
|
876
|
+
---
|
|
877
|
+
|
|
878
|
+
## 20. Summary Scorecard
|
|
879
|
+
|
|
880
|
+
| Category | DEXBot | DEXBot2 | Winner |
|
|
881
|
+
|---|---|---|---|
|
|
882
|
+
| **Strategy Variety** | ★★★☆☆ (3 + plugins) | ★★★★☆ (1 deeply engineered, highly adaptive/configurable boundary-crawl grid) | DEXBot2 |
|
|
883
|
+
| **State Safety** | ★★☆☆☆ | ★★★★★ (COW + invariants) | DEXBot2 |
|
|
884
|
+
| **Fund Accounting** | ★★☆☆☆ | ★★★★★ (formal model + fund_registry + cross-bot invariants) | DEXBot2 |
|
|
885
|
+
| **Concurrency Safety** | ★★☆☆☆ | ★★★★★ (AsyncLock + COW) | DEXBot2 |
|
|
886
|
+
| **Security** | ★★★☆☆ | ★★★★★ (AES-256-GCM, credential daemon, authority resolution) | DEXBot2 |
|
|
887
|
+
| **Ease of Setup** | ★★☆☆☆ (PyQt5/PyInstaller/Systemd dependency hell) | ★★★★★ (`npm i -g dexbot`, zero deps) | DEXBot2 |
|
|
888
|
+
| **Accessibility** | ★★★★★ (GUI) | ★★☆☆☆ (CLI only) | DEXBot |
|
|
889
|
+
| **Testing Depth** | ★★★☆☆ | ★★★★★ (249 test files; focused regressions) | DEXBot2 |
|
|
890
|
+
| **Documentation** | ★★★☆☆ | ★★★★★ (architecture/accounting/security/adapter docs) | DEXBot2 |
|
|
891
|
+
| **Dependency Footprint** | ★★☆☆☆ (heavy) | ★★★★★ (0 runtime deps) | DEXBot2 |
|
|
892
|
+
| **Extensibility** | ★★★★★ (plugins) | ★☆☆☆☆ | DEXBot |
|
|
893
|
+
| **Active Maintenance** | ★☆☆☆☆ (unmaintained) | ★★★★★ (active) | DEXBot2 |
|
|
894
|
+
| **Grid Strategy Depth** | ★★★☆☆ (Staggered) | ★★★★★ (engineered) | DEXBot2 |
|
|
895
|
+
| **Adaptive Market Signals** | ★★☆☆☆ (external feeds only for Relative Orders) | ★★★★★ (AMA/Kalman/ATR/regime/dynamic weights) | DEXBot2 |
|
|
896
|
+
| **Process Management** | ★★★☆☆ (Systemd) | ★★★★☆ (native `dexbot start`/`unlock` launcher + optional PM2 + daemon modes) | DEXBot2 |
|
|
897
|
+
| **Automation/API Surface** | ★★☆☆☆ (strategy hooks) | ★★★★☆ (Claw modules/scripts/skills) | DEXBot2 |
|
|
898
|
+
| **Credit/MPA Tooling** | ★☆☆☆☆ | ★★★★☆ | DEXBot2 |
|
|
899
|
+
| **Community/Ecosystem** | ★★★☆☆ | ★★☆☆☆ | DEXBot |
|
|
900
|
+
| **Multi-Strategy Support** | ★★☆☆☆ | ★★★★☆ (1 deeply engineered, highly adaptive strategy with broad signal integration) | DEXBot2 |
|
|
901
|
+
|
|
902
|
+
---
|
|
903
|
+
|
|
904
|
+
## 21. Migration Considerations
|
|
905
|
+
|
|
906
|
+
DEXBot2 is not a drop-in upgrade for DEXBot. The projects optimize for different operators:
|
|
907
|
+
|
|
908
|
+
| If you need... | Better fit |
|
|
909
|
+
|---|---|
|
|
910
|
+
| Desktop GUI, wizard setup, and non-technical operation | DEXBot |
|
|
911
|
+
| Multiple runtime-swappable strategies or community strategy plugins | DEXBot |
|
|
912
|
+
| Hardened grid accounting, COW state transitions, and replay-safe fill handling | DEXBot2 |
|
|
913
|
+
| Headless `dexbot start` (monolithic) or PM2 operation across many bot processes | DEXBot2 |
|
|
914
|
+
| AMA/Kalman/ATR adaptive grid weighting and recalculation triggers | DEXBot2 |
|
|
915
|
+
| Credential-daemon key separation and launcher-mode testing | DEXBot2 |
|
|
916
|
+
| Claw automation, position health, MPA/credit tooling, and AI-consumable runtime surfaces | DEXBot2 |
|
|
917
|
+
|
|
918
|
+
The practical migration path is to treat DEXBot2 as a new runtime: recreate bot configs in `profiles/bots.json`, validate price orientation and fund allocation, start with small funds, and rely on startup reconciliation plus logs before scaling position size.
|
|
919
|
+
|
|
920
|
+
---
|
|
921
|
+
|
|
922
|
+
*Report generated 2026-08-19. Metrics refreshed 2026-08-19 from local DEXBot-master and DEXBot2 source trees.*
|