Skip to content

espritoxyz/tsa

Repository files navigation

Symbolic analyzer for TVM (The Telegram Open Network Virtual Machine) based on USVM.

How to build

  1. Clone this repo with all submodules (using IntelliJ Idea or git clone git clone --recurse-submodules https://github.com/explyt/tsa).

  2. Build the submodule:

    cd tvm-disasm
    npm i
    npm run build
  3. Download fift and func for the corresponding operating system from the last TON release and add them to $PATH.

    • rename the downloaded files (e.g., func-mac-arm64, fift-mac-arm64) to fift and func.
    • if you have Permission denied error, do chmod +x fift and chmod +x func
    • on MacOS you need to manually open these files once
  4. Install tact compiler with yarn:

    yarn global add @tact-lang/compiler
    • probably, you need to manually add tact to path:
      export PATH="$PATH:$(yarn global bin)"
  5. Build the project, running ./gradlew build from the root of the repo.

Releases

No releases published

Packages

No packages published

Languages