Commit 77bda87
Remove RUST_STUB_MODE: generate real transpiled exchange code
- Remove RUST_STUB_MODE flag entirely from rustTranspiler.ts
- Exchange-specific methods now get fully transpiled JS→Rust bodies
instead of `{ Value::Undefined }` stubs
- Base Exchange class methods still use stubs (runtime not ready)
- Inherited base methods removed from exchange traits (available via
Exchange supertrait) to avoid E0034 ambiguity
- Fix TryStatement to emit try block inline (catch as comment)
- Add AST visitors: SpreadElement, ArrowFunction, FunctionExpression,
TemplateLiteral, ForOf/ForIn, SwitchStatement
- Fix dispatch call matching (case-insensitive API method names)
- Fix method call generation: use UFCS for overrides, instance calls
for inherited methods
- Add BoolExt trait, From<i32>, From<Value> for serde_json::Value
- Add Precise static methods, Math methods, Array::is_array
- Add runtime stub methods for pre-delimiter Exchange.js functions
(load_markets, omit, iso8601, etc.)
- Fix argument count table for safe* methods and other utilities
- Make Exchange require ValueTrait supertrait for self.get() access
Result: binance.rs goes from 499 stub methods to 0 stubs, with 202
real transpiled functions across 13,477 lines.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 2bc8cec commit 77bda87
191 files changed
Lines changed: 399075 additions & 363852 deletions
File tree
- build
- rust/src
- exchanges
- pro
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
0 commit comments