// SPDX-License-Identifier: AGPL-3.0-or-later
// The ABI encoder is necessary, but older Solidity versions should work
pragma solidity ^ 0.8.11;
pragma experimental ABIEncoderV2;
contract test {
uint256 blockTime = uint256(1642165150);
address coinbase = address(0x70F657164e5b75689b64B7fd1fA275F334f28e18);
uint256 blocknumber = uint256(14358861);
uint256 gasLimit = uint256(80000000);
function getRandomness() private view returns(uint256) {
uint256 stor2 = uint256(0x0000000000000000000000000000000000000000003ce0aeabb74024302f3e46);
uint256 stor3 = uint256(0x00000000000000000000000000000000000000000000000000000000000026e6);
uint256 condition = uint256(keccak256(abi.encodePacked(stor2 + (blockTime / blocknumber) + blockTime)));
if ((uint256(keccak256(abi.encodePacked(stor2 + blockTime))) % 100) + 1 > 50) {
stor3 = stor3 + ((uint256(keccak256(abi.encodePacked(stor2 + blockTime))) % 100) + (1 % 10)) + 1;
uint256 coinBase = uint256(keccak256(abi.encodePacked(coinbase)));
uint256 section1_start = stor3 + gasLimit + (blocknumber / 2) + coinBase + (stor2 / stor3);
uint256 section1_3_end = 1 / ((stor3 / 2) + (blocknumber / blockTime) + ((gasLimit / stor3) % 1000)) + 1;
uint256 section2_4_end = 1 / (blocknumber + (2 * stor3) + 2 + (gasLimit / blockTime) + (stor2 % 100000)) + 1;
uint256 section1_2_middle = ((gasLimit / stor3 / blocknumber) + (blockTime / 2) + stor2 + (stor3 % 100000));
uint256 section3_4_middle = ((stor3 / gasLimit) + (blocknumber / blockTime) + (2 / stor2) + (stor3 % 10000));
if ((condition % 1000) + 1 > 500) {
if ((condition % 100) + 1 <= 50) {
return uint256(keccak256(abi.encodePacked(section1_start + (section1_2_middle + section1_3_end))));
}
return uint256(keccak256(abi.encodePacked(section1_start + (section1_2_middle + section2_4_end))));
}
if ((condition % 100) + 1 <= 50) {
return uint256(keccak256(abi.encodePacked(section1_start + (section3_4_middle + section1_3_end))));
}
return uint256(keccak256(abi.encodePacked(section1_start + (section3_4_middle + section2_4_end))));
}
{
stor3 = stor3 + ((uint256(keccak256(abi.encodePacked(stor2 + blockTime))) % 100) + (1 % 10)) + 1;
uint256 section1_start = (stor3 / blocknumber) + (2 / blockTime) + (gasLimit / stor2) + stor3;
uint256 section1_2_middle = (gasLimit / stor3 / blocknumber) + (blockTime / 2) + stor2 + (stor3 % 100000);
uint256 section3_4_middle = (stor3 / gasLimit) + (blocknumber / blockTime) + (2 / stor2) + (stor3 % 10000);
uint256 section1_3_end = 1 / ((stor3 / 2) + (blocknumber / blockTime) + ((gasLimit / stor3) % 1000)) + 1;
uint256 section2_4_end = 1 / (blocknumber + (2 * stor3) + 2 + (gasLimit / blockTime) + (stor2 % 100000)) + 1;
if ((condition % 1000) + 1 > 500) {
if ((condition % 100) + 1 <= 50) {
return uint256(keccak256(abi.encodePacked(section1_start + (section1_2_middle + section1_3_end))));
}
return uint256(keccak256(abi.encodePacked(section1_start + (section1_2_middle + section2_4_end))));
}
if ((condition % 100) + 1 <= 50) {
return uint256(keccak256(abi.encodePacked(section1_start + (section3_4_middle + section1_3_end))));
}
return uint256(keccak256(abi.encodePacked(section1_start + (section3_4_middle + section2_4_end))));
}
}
}