dexbot 1.4.23 → 1.4.24

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.
@@ -1,7 +1,7 @@
1
1
  # DEXBot vs DEXBot2 — Detailed Comparison Report
2
2
 
3
3
  > **Date:** 2026-08-28 *(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.23).
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.24).
5
5
  > **Audience:** Developers, contributors, and operators evaluating or migrating between the two projects.
6
6
 
7
7
  ---
@@ -36,7 +36,7 @@
36
36
 
37
37
  | Attribute | DEXBot (original) | DEXBot2 |
38
38
  |---|---|---|
39
- | **Release Track** | 1.0.0 | v1.4.23 |
39
+ | **Release Track** | 1.0.0 | v1.4.24 |
40
40
  | **Language** | Python 3.6+ | TypeScript 5.x |
41
41
  | **Status** | Released 1.0.0, unmaintained | Active development |
42
42
  | **Last Repo Activity** | May 23, 2020 | 2026-08-28 |
@@ -45,8 +45,8 @@
45
45
  | **Primary Goal** | Multi-strategy, extensible trading framework | Hardened adaptive grid runtime with operator/AI tooling |
46
46
  | **Target Exchange** | BitShares DEX | BitShares DEX |
47
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/` | ~535 TS files across the repo |
49
- | **Test Files** | 16 Python test files | 255 `test_*.ts` files (255 auto-discovered via `globSync`) |
48
+ | **Source Files** | 72 Python files in `dexbot/` | ~536 TS files across the repo |
49
+ | **Test Files** | 16 Python test files | 256 `test_*.ts` files (256 auto-discovered via `globSync`) |
50
50
 
51
51
  ### Summary
52
52
 
@@ -70,7 +70,7 @@ DEXBot2 is a ground-up rewrite in TypeScript that prioritizes production correct
70
70
  | **Process Manager** | Systemd service (Linux) | `dexbot start` (native monolithic launcher, default; `unlock` runtime) — PM2 optional |
71
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
72
  | **Container** | Docker (Ubuntu 18.04) | Docker (multi-stage) |
73
- | **Testing** | pytest + Docker testnet | Native Node assert (255 `test_*.ts` files; auto-discovered via `globSync`) |
73
+ | **Testing** | pytest + Docker testnet | Native Node assert (256 `test_*.ts` files; auto-discovered via `globSync`) |
74
74
  | **CI/CD** | Travis CI, AppVeyor | GitHub Actions / local deterministic script suite |
75
75
  | **Packaging** | PyInstaller (Win/Mac/Linux binaries) | npm / `unlock` + optional PM2 ecosystem |
76
76
 
@@ -616,7 +616,7 @@ Where:
616
616
  ### DEXBot2
617
617
 
618
618
  - **Framework:** Native Node `assert` module (no external test framework)
619
- - **255 `test_*.ts` files** auto-discovered via `globSync` (`tests/test_*.ts` + `claw/tests/test_*.ts`), covering:
619
+ - **256 `test_*.ts` files** auto-discovered via `globSync` (`tests/test_*.ts` + `claw/tests/test_*.ts`), covering:
620
620
  - Unit tests: accounting, strategy, grid, manager logic
621
621
  - Copy-on-Write semantics: COW commits, guards, concurrent fills
622
622
  - Edge cases: authoritative full-fill resolution, partial fills, BTS fee accounting, precision
@@ -634,7 +634,7 @@ Where:
634
634
  | Feature | DEXBot | DEXBot2 |
635
635
  |---|---|---|
636
636
  | **Framework** | pytest | Native Node assert |
637
- | **Test Count** | 16 Python test files | 255 `test_*.ts` files; auto-discovered via `globSync` |
637
+ | **Test Count** | 16 Python test files | 256 `test_*.ts` files; auto-discovered via `globSync` |
638
638
  | **Test Types** | Unit + integration | Unit + integration + edge-case + runtime regression |
639
639
  | **Testnet Integration** | Yes (Docker) | No (mocks) |
640
640
  | **External Dependency** | pytest, Docker | None |
@@ -780,13 +780,13 @@ Where:
780
780
 
781
781
  | Metric | DEXBot | DEXBot2 |
782
782
  |---|---|---|
783
- | **Release Track** | 1.0.0 | v1.4.23 |
783
+ | **Release Track** | 1.0.0 | v1.4.24 |
784
784
  | **Active Since** | ~2018 | December 2025 |
785
785
  | **Last Commit** | May 23, 2020 | 2026-08-28 |
786
- | **Total Commits** | 2281 | 2,097 (v1.4.23) |
786
+ | **Total Commits** | 2281 | 2,101 (v1.4.24) |
787
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/` | ~535 TS files across the repo |
789
- | **Test Files** | 16 Python test files | 255 `test_*.ts` files (255 auto-discovered via `globSync`) |
788
+ | **Source Files** | 72 Python files in `dexbot/` | ~536 TS files across the repo |
789
+ | **Test Files** | 16 Python test files | 256 `test_*.ts` files (256 auto-discovered via `globSync`) |
790
790
  | **Documentation** | Sphinx docs + README | 60+ Markdown docs plus Claw skills/references |
791
791
  | **Strategies** | 3 + plugins | 1 |
792
792
  | **Max Concurrent Bots** | Many (one process) | Many (one monolithic process by default; per-bot via `--isolated`/PM2) |
@@ -886,7 +886,7 @@ The 500× figure is not theoretical: it materializes in production when higher o
886
886
  | **Security** | ★★★☆☆ | ★★★★★ (AES-256-GCM, credential daemon, authority resolution) | DEXBot2 |
887
887
  | **Ease of Setup** | ★★☆☆☆ (PyQt5/PyInstaller/Systemd dependency hell) | ★★★★★ (`npm i -g dexbot`, zero deps) | DEXBot2 |
888
888
  | **Accessibility** | ★★★★★ (GUI) | ★★☆☆☆ (CLI only) | DEXBot |
889
- | **Testing Depth** | ★★★☆☆ | ★★★★★ (255 test files; focused regressions) | DEXBot2 |
889
+ | **Testing Depth** | ★★★☆☆ | ★★★★★ (256 test files; focused regressions) | DEXBot2 |
890
890
  | **Documentation** | ★★★☆☆ | ★★★★★ (architecture/accounting/security/adapter docs) | DEXBot2 |
891
891
  | **Dependency Footprint** | ★★☆☆☆ (heavy) | ★★★★★ (0 runtime deps) | DEXBot2 |
892
892
  | **Extensibility** | ★★★★★ (plugins) | ★☆☆☆☆ | DEXBot |
package/docs/EVOLUTION.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  ## Executive Summary
4
4
 
5
- DEXBot2 is a sophisticated decentralized exchange trading bot for the BitShares blockchain. This report documents the complete evolution of the project from its inception in December 2025 through the current 1.4.23 stable release.
5
+ DEXBot2 is a sophisticated decentralized exchange trading bot for the BitShares blockchain. This report documents the complete evolution of the project from its inception in December 2025 through the current 1.4.24 stable release.
6
6
 
7
7
  ### Key Milestones
8
8
  - **Project Inception**: December 2, 2025
9
- - **Growth Phase**: 2,097 commits over ~9 active months
9
+ - **Growth Phase**: 2,101 commits over ~9 active months
10
10
  - **Code Maturity**: Evolution from basic utilities to a ~100,000+ LoC intelligent TypeScript system
11
- - **Stability**: Progression from manual testing to a suite of 255 automated test files
12
- - **Releases**: 99 release entries (v0.1.0 to v1.4.23)
11
+ - **Stability**: Progression from manual testing to a suite of 256 automated test files
12
+ - **Releases**: 100 release entries (v0.1.0 to v1.4.24)
13
13
 
14
14
  ---
15
15
 
@@ -61,7 +61,7 @@ v1.4.12 completed the module transition to native ES modules (root + claw `"type
61
61
 
62
62
  ### Phase 9: Post-ESM Cleanup, Consolidation & Hardening (August 2026)
63
63
 
64
- The post-ESM releases consolidated state, code, and tooling while hardening the grid engine. **State & packaging** (v1.4.14–v1.4.17): all user/runtime state centralized on a resolver-derived profiles dir (`~/.config/dexbot2/profiles`) safe from re-clones, read-only prefixes, and npm wipes; divergence surplus/hole pairs became in-place order rotations; npm auto-update shipped; duplicated EC-crypto/settings/asset-resolution code collapsed; dead exports purged; analysis tooling moved under strict TypeScript. **Grid hardening** (v1.4.19–v1.4.21): COW broadcasts capped at `MAX_OPS_PER_BROADCAST` (4) with chunked retry-on-uncertain; boundary promotion and persisted-boundary restore gated against gap-floor overrun poison behind a shared sell-rail ceiling enforced at commit and restore time; spread-collapse fixed via the shared `isSlotInRail` filter; silent-failure runtime defects from a modules-wide audit fixed (NaN fund-invariant tolerance, always-flush fill store, double-decremented fill guard). **Tooling & UX** (v1.4.20–v1.4.22): live/research clip parity with centralized chart sliders and analysis outputs on the central path resolver; claw logic deduplicated with hardened error paths; browser storage adapter persists deletions; editor green/red input feedback extended to funds and prices; compile-first runtime completed — tsx removed entirely, every entry point and the test suite running compiled dist under plain node through frozen-ESM-safe seams, plus exact AMA cold-start bootstrap sizing and research tools unified onto production slope/bounds math. Post-v1.4.22 work followed the same themes: bot-fitting backtests re-modeled on the production grid lifecycle (slot rotation with realized-only scoring), analysis tooling consolidated onto market_adapter sources with folder-audit bug fixes, a Kibana client hardened against proxy connection resets, and TradingView-style price-axis interaction added to the chart exporter.
64
+ The post-ESM releases consolidated state, code, and tooling while hardening the grid engine. **State & packaging** (v1.4.14–v1.4.17): all user/runtime state centralized on a resolver-derived profiles dir (`~/.config/dexbot2/profiles`) safe from re-clones, read-only prefixes, and npm wipes; divergence surplus/hole pairs became in-place order rotations; npm auto-update shipped; duplicated EC-crypto/settings/asset-resolution code collapsed; dead exports purged; analysis tooling moved under strict TypeScript. **Grid hardening** (v1.4.19–v1.4.21): COW broadcasts capped at `MAX_OPS_PER_BROADCAST` (4) with chunked retry-on-uncertain; boundary promotion and persisted-boundary restore gated against gap-floor overrun poison behind a shared sell-rail ceiling enforced at commit and restore time; spread-collapse fixed via the shared `isSlotInRail` filter; silent-failure runtime defects from a modules-wide audit fixed (NaN fund-invariant tolerance, always-flush fill store, double-decremented fill guard). **Tooling & UX** (v1.4.20–v1.4.22): live/research clip parity with centralized chart sliders and analysis outputs on the central path resolver; claw logic deduplicated with hardened error paths; browser storage adapter persists deletions; editor green/red input feedback extended to funds and prices; compile-first runtime completed — tsx removed entirely, every entry point and the test suite running compiled dist under plain node through frozen-ESM-safe seams, plus exact AMA cold-start bootstrap sizing and research tools unified onto production slope/bounds math. Post-v1.4.22 work followed the same themes: bot-fitting backtests re-modeled on the production grid lifecycle (slot rotation with realized-only scoring), analysis tooling consolidated onto market_adapter sources with folder-audit bug fixes, a Kibana client hardened against proxy connection resets, and TradingView-style price-axis interaction added to the chart exporter. **v1.4.24** delivered the critical native-client fill gap recovery that closed the subscription notice inventory drift which had caused 24–38 fills to be lost in the 2026-08-28 crash burst and quiet-gap eager retry, plus the credit-runtime LP collateral offer-first pricing fix.
65
65
 
66
66
  ---
67
67
 
@@ -107,11 +107,12 @@ Compact, era-level view; per-release commit detail lives in [CHANGELOG.md](../CH
107
107
  | v1.4.20 → v1.4.21 | 15 | Runtime audit fixes, claw dedup hardening, boundary ceiling alignment, editor color feedback |
108
108
  | v1.4.21 → v1.4.22 | 4 | tsx removal completion (dist-only runtime + tests), exact AMA bootstrap sizing, research-tool production parity |
109
109
  | v1.4.22 → v1.4.23 | 12 | Even geometric AMA ladder, BTS fee-carve fix, sub-1x price-bound rejection, tradingview axis restore, doc realignment |
110
+ | v1.4.23 → v1.4.24 | 3 | Native fill gap recovery with eager coalesced retry, LP collateral offer-first pricing |
110
111
 
111
112
  ---
112
113
 
113
114
  **Report Originally Generated**: February 19, 2026
114
115
  **Last Updated**: August 28, 2026
115
- **Total Commits**: 2,097
116
+ **Total Commits**: 2,101
116
117
  **Date Range**: December 2, 2025 – August 28, 2026
117
118
  **Repository**: DEXBot2 (BitShares DEX Trading Bot)
@@ -792,4 +792,4 @@ To prevent "Time-of-Check to Time-of-Use" errors:
792
792
  **TOCTOU protection in `processFillAccounting`.** `_buildBtsDeferredRefundAdjustment` reads `btsFeeState` from `mgr.orders` while the order lock is held — the lock is acquired before accounting runs, and the POST-RESET and BOOTSTRAP tracked-fill accounting paths follow the same locking pattern.
793
793
 
794
794
  ---
795
- *Technical Reference for DEXBot2 v1.4.23 release*
795
+ *Technical Reference for DEXBot2 v1.4.24 release*
package/docs/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This directory contains the comprehensive technical documentation for the DEXBot2 trading bot. It is designed to guide developers from high-level architecture down to the nuances of fund accounting and state management.
4
4
 
5
- **Version context:** v1.4.23 (released).
5
+ **Version context:** v1.4.24 (released).
6
6
 
7
7
  ---
8
8
 
@@ -144,7 +144,7 @@ This directory contains the comprehensive technical documentation for the DEXBot
144
144
 
145
145
  ### 🧭 [Evolution Report](EVOLUTION.md)
146
146
  *Project timeline and major architecture phases.*
147
- - **Coverage**: Historical milestones from the initial December 2025 bootstrap through the v1.4.23 stable release (grid persistence safety, dust pipeline fix, net inventory lots); credit/debt runtime and maintenance hardening are covered under Phase 5 (Mar–Jun 2026)
147
+ - **Coverage**: Historical milestones from the initial December 2025 bootstrap through the v1.4.24 stable release (grid persistence safety, dust pipeline fix, net inventory lots); credit/debt runtime and maintenance hardening are covered under Phase 5 (Mar–Jun 2026)
148
148
  - **Focus**: Architecture evolution, release history, test growth, and documentation changes
149
149
 
150
150
  ### 🗒️ [Changelog](../CHANGELOG.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dexbot",
3
- "version": "1.4.23",
3
+ "version": "1.4.24",
4
4
  "description": "The first open source trading bot with zero runtime dependencies and a fully adaptive market making strategy.",
5
5
  "main": "dist/modules/dexbot_class.js",
6
6
  "exports": {