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