Fork-aware Ethereum EVM assembler/disassembler library for MoonBit
// import path in this repo:
// @caimeo/moon_evmasm/src
let insn = assemble_one("PUSH1 0x10")
assert_eq(insn.mnemonic(), "PUSH1")
let bytecode_hex = assemble_hex("PUSH1 0x80\nMSTORE")
assert_eq(bytecode_hex, "0x608052")
let asm = disassemble_hex("0x60804052")
assert_eq(asm, "PUSH1 0x80\nBLOCKHASH\nMSTORE")
let fork = block_to_fork(17034870)
assert_eq(fork, "shanghai")let result = try! assemble_one("PUSH1")
assert_true(result is Err(MissingOperand(_)))moon -C moon_evmasm check
moon -C moon_evmasm testFork-aware Ethereum EVM assembler/disassembler library for MoonBit