mirror of https://github.com/crytic/slither
parent
6b24829861
commit
b275bcc824
@ -0,0 +1,6 @@ |
|||||||
|
## Demo |
||||||
|
|
||||||
|
This directory contains an example of Slither utility. |
||||||
|
|
||||||
|
See the [utility documentation](https://github.com/crytic/slither/wiki/Adding-a-new-utility) |
||||||
|
|
@ -0,0 +1,38 @@ |
|||||||
|
import os |
||||||
|
import argparse |
||||||
|
import logging |
||||||
|
from slither import Slither |
||||||
|
from crytic_compile import cryticparser |
||||||
|
|
||||||
|
logging.basicConfig() |
||||||
|
logging.getLogger("Slither").setLevel(logging.INFO) |
||||||
|
|
||||||
|
logger = logging.getLogger("Slither-demo") |
||||||
|
|
||||||
|
def parse_args(): |
||||||
|
""" |
||||||
|
Parse the underlying arguments for the program. |
||||||
|
:return: Returns the arguments for the program. |
||||||
|
""" |
||||||
|
parser = argparse.ArgumentParser(description='Demo', |
||||||
|
usage='slither-demo filename') |
||||||
|
|
||||||
|
parser.add_argument('filename', |
||||||
|
help='The filename of the contract or truffle directory to analyze.') |
||||||
|
|
||||||
|
# Add default arguments from crytic-compile |
||||||
|
cryticparser.init(parser) |
||||||
|
|
||||||
|
return parser.parse_args() |
||||||
|
|
||||||
|
|
||||||
|
def main(): |
||||||
|
args = parse_args() |
||||||
|
|
||||||
|
# Perform slither analysis on the given filename |
||||||
|
slither = Slither(args.filename, **vars(args)) |
||||||
|
|
||||||
|
logger.info('Analysis done!') |
||||||
|
|
||||||
|
if __name__ == '__main__': |
||||||
|
main() |
Loading…
Reference in new issue