Skip to content

Consider integrating TSA into the diagnostic system in non-web environments #760

@novusnota

Description

@novusnota

TON Symbolic Analyzer (TSA) has a CLI that can be invoked with the Tact compiler (Node.js 22+, transitively) and JDK versions 11 and onward present in the path. The CLI can be found in its GitHub Releases.

Invocation usually looks like this: java -jar tsa-cli.jar tact -c ./path-to-tact.config.json -p ProjectName -c ContractName -d "hex-serialized initial data of the contract".

Additionally, one may add the --tact option to explicitly specify the path to the Tact compiler executable as such: java -jar tsa-cli.jar tact -c ./path-to-tact.config.json -p ProjectName -c ContractName -d "hex-serialized initial data of the contract" --tact /home/user/.nvm/versions/node/v22.8.0/bin/tact.

TSA gives the JSON output in the SARIF format, which has the following JSON schema: https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json

Metadata

Metadata

Assignees

No one assigned

    Labels

    diagnosticsAny diagnostic messages: from the language server, client extension or other tools, like Misti

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions