Symbolic analyzer for TVM (The Telegram Open Network Virtual Machine) based on USVM.
-
Clone this repo with all submodules (using
IntelliJ Idea
orgit clone git clone --recurse-submodules https://github.com/explyt/tsa
). -
Build the submodule:
cd tvm-disasm npm i npm run build
-
Download
fift
andfunc
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
) tofift
andfunc
. - if you have
Permission denied
error, dochmod +x fift
andchmod +x func
- on MacOS you need to manually open these files once
- rename the downloaded files (e.g.,
-
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)"
- probably, you need to manually add
-
Build the project, running
./gradlew build
from the root of the repo.