diff --git a/mythril/laser/ethereum/svm.py b/mythril/laser/ethereum/svm.py index 0b3e3891..3defd402 100644 --- a/mythril/laser/ethereum/svm.py +++ b/mythril/laser/ethereum/svm.py @@ -592,11 +592,6 @@ class LaserEVM: self._new_node_state( state, JumpType.CONDITIONAL, state.world_state.constraints[-1] ) - elif opcode in ("SLOAD", "SSTORE") and len(new_states) > 1: - for state in new_states: - self._new_node_state( - state, JumpType.CONDITIONAL, state.world_state.constraints[-1] - ) elif opcode == "RETURN": for state in new_states: self._new_node_state(state, JumpType.RETURN) diff --git a/mythril/support/opcodes.py b/mythril/support/opcodes.py index c927b582..2723e781 100644 --- a/mythril/support/opcodes.py +++ b/mythril/support/opcodes.py @@ -96,7 +96,7 @@ OPCODES: Dict = { "MSTORE8": {GAS: (3, 98), STACK: (2, 0), ADDRESS: 0x53}, # assume 64 byte r/w cost as upper bound "SLOAD": {GAS: (800, 800), STACK: UN_OPERATOR_TUPLE, ADDRESS: 0x54}, - "SSTORE": {GAS: (5000, 25000), STACK: (1, 0), ADDRESS: 0x55}, + "SSTORE": {GAS: (5000, 25000), STACK: (2, 0), ADDRESS: 0x55}, "JUMP": {GAS: (8, 8), STACK: (1, 0), ADDRESS: 0x56}, "JUMPI": {GAS: (10, 10), STACK: (2, 0), ADDRESS: 0x57}, "PC": {GAS: (2, 2), STACK: Z_OPERATOR_TUPLE, ADDRESS: 0x58},