Updates Transaction context analysis to run on a single Function instead of the entire contract.
Adds utils to create a Tealer object for a single contract. The command line options handler (main.py) is updated to create the Tealer object from the given contract.
The detectors are updated to take in a Tealer object instead of the Teal object. Currently, the detectors ignore the group transaction structure and work on the individual "Functions" of the transaction.
All changes in the PR contribute to one of above three things.
The next steps would be decide on the output format for a group transaction config and updating detectors/utils.py to consider group transaction structure while detecting vulnerable paths. Next, updating the command line to take multiple contracts or the group config and work from it.
PR achieves three things:
All changes in the PR contribute to one of above three things.
The next steps would be decide on the output format for a group transaction config and updating
detectors/utils.py
to consider group transaction structure while detecting vulnerable paths. Next, updating the command line to take multiple contracts or the group config and work from it.