Beispiel #1
0
 def test_selfdestruct_true_pos1(self):
     self.mevm.register_plugin(LoopDepthLimiter(2))
     name = inspect.currentframe().f_code.co_name[5:]
     self._test(name, {('Reachable SELFDESTRUCT', False)})
Beispiel #2
0
 def test_delegatecall_not_ok1(self):
     self.mevm.register_plugin(LoopDepthLimiter(loop_count_threshold=500))
     name = inspect.currentframe().f_code.co_name[5:]
     self._test(name, {('Delegatecall to user controlled function', False)})
Beispiel #3
0
 def test_etherleak_true_pos_msgsender1(self):
     self.mevm.register_plugin(LoopDepthLimiter(5))
     name = inspect.currentframe().f_code.co_name[5:]
     self._test(
         name, {("Reachable external call to sender", False),
                ("Reachable ether leak to sender", False)})
Beispiel #4
0
 def test_delegatecall_not_ok(self):
     self.mevm.register_plugin(LoopDepthLimiter())
     name = inspect.currentframe().f_code.co_name[5:]
     self._test(
         name, {('Delegatecall to user controlled function', False),
                ('Delegatecall to user controlled address', False)})
Beispiel #5
0
 def test_etherleak_true_pos_argument1(self):
     self.mevm.register_plugin(LoopDepthLimiter(5))
     name = inspect.currentframe().f_code.co_name[5:]
     self._test(
         name,
         {(0x1c5, "Reachable ether leak to sender via argument", False)})