Move Bytecode to NeoVM Translator
This crate provides a minimal Move bytecode → WASM translator to feed the wasm-neovm pipeline. The lowering is experimental and does not cover the full Move semantics yet.
Pipeline
Move Source → Move Compiler → Move Bytecode → move-neovm → WASM → wasm-neovm → NEF
Usage
use ;
// Parse Move bytecode
let module = parse_move_bytecode?;
// Translate to WASM
let wasm = translate_to_wasm?;
// Then use wasm-neovm to generate NEF
Challenges
Move has unique features that don't map directly to WASM/NeoVM:
- Linear resource types (no copy/drop without ability)
- Module system with publishing semantics
- Global typed storage model
These require runtime emulation or compile-time transformation.