Exemple #1
0
import sys
from slither.slither import Slither
from slither.slithir.convert import convert_expression

if len(sys.argv) != 4:
    print(
        'python.py function_called.py functions_called.sol Contract function()'
    )
    exit(-1)

# Init slither
slither = Slither(sys.argv[1])

# Get the contract
contract = slither.get_contract_from_name(sys.argv[2])

# Get the variable
test = contract.get_function_from_signature(sys.argv[3])
#test = contract.get_function_from_signature('two()')

nodes = test.nodes

for node in nodes:
    if node.expression:
        print('Expression:\n\t{}'.format(node.expression))
        irs = convert_expression(node.expression)
        print('IR expressions:')
        for ir in irs:
            print('\t{}'.format(ir))
        print()
Exemple #2
0
    def slithir_generation(self):
        if self.expression:
            expression = self.expression
            self._irs = convert_expression(expression, self)

        self._find_read_write_call()
Exemple #3
0
 def slithir_generation(self):
     if self.expression:
         expression = self.expression
         self._irs = convert_expression(expression, self)