Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
mythril/solidity_examples/exceptions.sol

46 lines
883 B

pragma solidity 0.5.0;
contract Exceptions {
uint256[8] myarray;
function assert1() public pure {
uint256 i = 1;
assert(i == 0);
}
function assert2() public pure {
uint256 i = 1;
assert(i > 0);
}
function assert3(uint256 input) public pure {
assert(input != 23);
}
function requireisfine(uint256 input) public pure {
require(input != 23);
}
function divisionby0(uint256 input) public pure {
uint256 i = 1/input;
}
function thisisfine(uint256 input) public pure {
if (input > 0) {
uint256 i = 1/input;
}
}
function arrayaccess(uint256 index) public view {
uint256 i = myarray[index];
}
function thisisalsofind(uint256 index) public view {
if (index < 8) {
uint256 i = myarray[index];
}
}
}