|
13 | 13 |
|
14 | 14 | slither = Slither(sys.argv[1])
|
15 | 15 |
|
16 |
| -contract = slither.get_contract_from_name("Simple") |
17 |
| -assert contract |
| 16 | +contracts = slither.get_contract_from_name("Simple") |
| 17 | +assert len(contracts) == 1 |
| 18 | +contract = contracts[0] |
18 | 19 | destination = contract.get_state_variable_from_name("destination")
|
19 | 20 | source = contract.get_state_variable_from_name("source")
|
20 | 21 |
|
|
35 | 36 | print("{} is tainted {}".format(destination, is_tainted(destination, contract)))
|
36 | 37 | assert is_tainted(destination, contract)
|
37 | 38 |
|
38 |
| -contract = slither.get_contract_from_name("Reference") |
39 |
| -assert contract |
| 39 | +contracts = slither.get_contract_from_name("Reference") |
| 40 | +assert len(contracts) == 1 |
| 41 | +contract = contracts[0] |
40 | 42 | destination = contract.get_state_variable_from_name("destination")
|
41 | 43 | assert destination
|
42 | 44 | source = contract.get_state_variable_from_name("source")
|
|
73 | 75 |
|
74 | 76 | print("SolidityVar contract")
|
75 | 77 |
|
76 |
| -contract = slither.get_contract_from_name("SolidityVar") |
77 |
| -assert contract |
| 78 | +contracts = slither.get_contract_from_name("SolidityVar") |
| 79 | +assert len(contracts) == 1 |
| 80 | +contract = contracts[0] |
78 | 81 | addr_1 = contract.get_state_variable_from_name("addr_1")
|
79 | 82 | assert addr_1
|
80 | 83 | addr_2 = contract.get_state_variable_from_name("addr_2")
|
|
91 | 94 |
|
92 | 95 |
|
93 | 96 | print("Intermediate contract")
|
94 |
| -contract = slither.get_contract_from_name("Intermediate") |
95 |
| -assert contract |
| 97 | +contracts = slither.get_contract_from_name("Intermediate") |
| 98 | +assert len(contracts) == 1 |
| 99 | +contract = contracts[0] |
96 | 100 | destination = contract.get_state_variable_from_name("destination")
|
97 | 101 | assert destination
|
98 | 102 | source = contract.get_state_variable_from_name("source")
|
|
106 | 110 | assert is_dependent(destination, source, contract)
|
107 | 111 |
|
108 | 112 | print("Base Derived contract")
|
109 |
| -contract = slither.get_contract_from_name("Base") |
110 |
| -contract_derived = slither.get_contract_from_name("Derived") |
| 113 | +contracts = slither.get_contract_from_name("Base") |
| 114 | +assert len(contracts) == 1 |
| 115 | +contract = contracts[0] |
| 116 | +contract_derived = slither.get_contract_from_name("Derived")[0] |
111 | 117 | destination = contract.get_state_variable_from_name("destination")
|
112 | 118 | source = contract.get_state_variable_from_name("source")
|
113 | 119 |
|
|
125 | 131 | assert is_dependent(destination, source, contract_derived)
|
126 | 132 |
|
127 | 133 | print("PropagateThroughArguments contract")
|
128 |
| -contract = slither.get_contract_from_name("PropagateThroughArguments") |
129 |
| -assert contract |
| 134 | +contracts = slither.get_contract_from_name("PropagateThroughArguments") |
| 135 | +assert len(contracts) == 1 |
| 136 | +contract = contracts[0] |
130 | 137 | var_tainted = contract.get_state_variable_from_name("var_tainted")
|
131 | 138 | assert var_tainted
|
132 | 139 | var_not_tainted = contract.get_state_variable_from_name("var_not_tainted")
|
|
0 commit comments