Skip to content

v0.7.5 - Removal of All Dependencies & TypeScript Migration

Choose a tag to compare

@froooze froooze released this 29 May 01:45
· 889 commits to main since this release
0b0d122

v0.7.5 — Removal of All Dependencies & TypeScript Migration

Release Date: May 29, 2026
Commits: 94 (since v0.7.4)

This release completes the removal of all external runtime dependencies and transitions the entire codebase from JavaScript to TypeScript. All source files, test files, and entry points are now .ts with strict mode enabled, compiled through tsc and run via tsx for development/testing. Thin .js shims at the root serve as stable entry points that route to compiled dist/ output. The project's de facto zero-dependency philosophy is codified as an explicit architectural policy — no remaining npm dependencies at runtime, making the bot fully self-contained.

Highlights

  • Complete TypeScript Migration — 48K+ lines, 158 test files, all entry points
  • Native BitShares Integration — replaced btsdex npm dependency with inline chain operations
  • Zero-Dependency Policy — codified as explicit architectural policy
  • Fill Detection Overhaul — direct-notice dispatch, instance-based cursor filtering, reconnect retry
  • BTS Fee Acquisition — AMM pool swaps for non-BTS paired bots
  • Logging Centralization — 9 modules migrated from console.* to Logger
  • Credential Daemon Security — private-key export removal, memory zeroing, bootstrap leak fixes
  • Type Safety — @ts-nocheck removed from 5 native modules, strict mode enforced
  • Docker Build Fix — skip prepare script during npm ci to prevent tsc failure before source COPY

Full Changelog

Native BitShares Integration

  • Replace btsdex npm dependency with native BitShares integration
  • Fix connection state leaks, chain ID, transport autoreconnect, asset lookup crashes
  • Fix native ECC compatibility (signature format, canonical enforcement, address spec)
  • Fix broadcast expiration (Unix timestamp → ISO string)
  • Stabilize native reconnect and subscription lifecycle

TypeScript Migration

  • Migrate all 48K+ lines of production JavaScript to TypeScript
  • Convert all 158 test files from .js to .ts
  • Enable strict TypeScript for modules/, market_adapter/, scripts/, and claw/
  • Add tsconfig.json with strict settings, tsx for dev/test, tsc for production builds

Fill Detection & Subscription Overhaul

  • Replace history-scan with direct-notice dispatch for btsdex parity
  • Add subscription reconnect retry with cursor-safe error propagation
  • Instance-based cursor filtering and diagnostic logging
  • Defer cursor advancement on callback failure
  • Optimize fill subscription — skip redundant RPCs, parallelize multi-account reconnect

Security & Stability

  • Remove private-key export from daemon, fix memory zeroing
  • Fix bootstrap env leak, session churn, orphan double-credit
  • Prevent re-entrant _fillProcessingLock deadlock
  • Cap bootstrap fill rotation batches

Accounting & Chain

  • Honor Core asset maker fee discount in BTS fee accounting
  • Fix btsFeeState unit mismatch and cancel refund cap
  • Register credit operation serializers and fix arrayType sorting
  • Add min_BTS_value for non-BTS paired bots — BTS fee acquisition via AMM pool

Code Quality

  • Centralize logging — migrate 9 modules from console.* to Logger
  • Remove @ts-nocheck from 5 native modules, add brain-key golden vectors
  • Remove dead files, stale docs, obsolete shell scripts
  • Deduplicate utility functions across analysis and market_adapter

Documentation

  • Update all .md references from .js → .ts, btsdex → native, node → tsx
  • Sync changelog, evolution, and comparison docs with v0.7.5 state
  • Sweep stale metrics and dead references across 25 docs files

Full Changelog: v0.7.4...v0.7.5