Skip to content

mysteryon88-forks/ton-opcode

 
 

Repository files navigation

TON Opcodes

A decompiler for The Open Network Virtual Machine (TVM) bytecode to Fift assembly.

Installation

yarn add @tact-lang/opcode

Usage

For most cases you will want to disassemble a BoC file generated by the Tact/FunC/Tolk compiler. In this case decompiler will unpack the dictionary to procedures and methods.

import {AssemblyWriter, disassembleRoot} from "@tact-lang/opcode"

// Disassemble a source file into a program AST
const program = disassembleRoot(source, {
    computeRefs: false,
})

// Write the program AST into a Fift assembly string
const res = AssemblyWriter.write(program, {})
console.log(res)

If you want to decompile BoC file without unpacking of the dictionary, you can do the following:

import {AssemblyWriter, disassembleRawRoot} from "@tact-lang/opcode"

const program = disassembleRawRoot(source)

const res = AssemblyWriter.write(program, {})
console.log(res)

If you want to disassemble a single Cell into an array of opcodes, you can do the following:

import {disassemble} from "@tact-lang/opcode"

const opcodes = disassemble({source: cell})

Thanks to

License

MIT

About

Decompiler of BOC files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 96.1%
  • JavaScript 3.9%