Skip to content

Instantly share code, notes, and snippets.

@muellerberndt
Last active June 1, 2020 16:51
Show Gist options
  • Save muellerberndt/c61ac40de4c7284fc09e931357e3f2a1 to your computer and use it in GitHub Desktop.
Save muellerberndt/c61ac40de4c7284fc09e931357e3f2a1 to your computer and use it in GitHub Desktop.
pragma solidity ^0.6.8;
pragma experimental ABIEncoderV2;
abstract contract IModuleAuth {
/**
* @notice Hashed _data to be signed
* @param _data Data to be hashed
* @return hashed data for this wallet
*/
function _hashData(
bytes memory _data
) internal virtual view returns (bytes32);
/**
* @notice Verify if signer is default wallet owner
* @param _hash Hashed signed message
* @param _signature Encoded signature
* @return True is the signature is valid
*/
function _signatureValidation(
bytes32 _hash,
bytes memory _signature
) internal virtual view returns (bool);
}
interface IERC1271Wallet {
/**
* @notice Verifies whether the provided signature is valid with respect to the provided data
* @dev MUST return the correct magic value if the signature provided is valid for the provided data
* > The bytes4 magic value to return when signature is valid is 0x20c13b0b : bytes4(keccak256("isValidSignature(bytes,bytes)")
* > This function MAY modify Ethereum's state
* @param _data Arbitrary length data signed on the behalf of address(this)
* @param _signature Signature byte array associated with _data
* @return magicValue Magic value 0x20c13b0b if the signature is valid and 0x0 otherwise
*/
function isValidSignature(
bytes calldata _data,
bytes calldata _signature)
external
view
returns (bytes4 magicValue);
/**
* @notice Verifies whether the provided signature is valid with respect to the provided hash
* @dev MUST return the correct magic value if the signature provided is valid for the provided hash
* > The bytes4 magic value to return when signature is valid is 0x20c13b0b : bytes4(keccak256("isValidSignature(bytes,bytes)")
* > This function MAY modify Ethereum's state
* @param _hash keccak256 hash that was signed
* @param _signature Signature byte array associated with _data
* @return magicValue Magic value 0x20c13b0b if the signature is valid and 0x0 otherwise
*/
function isValidSignature(
bytes32 _hash,
bytes calldata _signature)
external
view
returns (bytes4 magicValue);
}/*
Copyright 2018 ZeroEx Intl.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This is a truncated version of the original LibBytes.sol library from ZeroEx.
*/
library LibBytes {
using LibBytes for bytes;
/***********************************|
| Pop Bytes Functions |
|__________________________________*/
/**
* @dev Pops the last byte off of a byte array by modifying its length.
* @param b Byte array that will be modified.
* @return result The byte that was popped off.
*/
function popLastByte(bytes memory b)
internal
pure
returns (bytes1 result)
{
require(
b.length > 0,
"LibBytes#popLastByte: GREATER_THAN_ZERO_LENGTH_REQUIRED"
);
// Store last byte.
result = b[b.length - 1];
assembly {
// Decrement length of byte array.
let newLen := sub(mload(b), 1)
mstore(b, newLen)
}
return result;
}
/***********************************|
| Read Bytes Functions |
|__________________________________*/
/**
* @dev Read firsts uint16 value.
* @param data Byte array to be read.
* @return a uint16 value of data at index zero.
* @return newIndex Updated index after reading the values.
*/
function readFirstUint16(
bytes memory data
) internal pure returns (
uint16 a,
uint256 newIndex
) {
assembly {
let word := mload(add(32, data))
a := shr(240, word)
newIndex := 2
}
require(2 <= data.length, "LibBytes#readFirstUint16: OUT_OF_BOUNDS");
}
/**
* @dev Reads consecutive bool (8 bits) and uint8 values.
* @param data Byte array to be read.
* @param index Index in byte array of uint8 and uint8 values.
* @return a uint8 value of data at given index.
* @return b uint8 value of data at given index + 8.
* @return newIndex Updated index after reading the values.
*/
function readUint8Uint8(
bytes memory data,
uint256 index
) internal pure returns (
uint8 a,
uint8 b,
uint256 newIndex
) {
assembly {
let word := mload(add(index, add(32, data)))
a := shr(248, word)
b := and(shr(240, word), 0xff)
newIndex := add(index, 2)
}
require(newIndex <= data.length, "LibBytes#readUint8Uint8: OUT_OF_BOUNDS");
}
/**
* @dev Reads an address value from a position in a byte array.
* @param data Byte array to be read.
* @param index Index in byte array of address value.
* @return a address value of data at given index.
* @return newIndex Updated index after reading the value.
*/
function readAddress(
bytes memory data,
uint256 index
) internal pure returns (
address a,
uint256 newIndex
) {
assembly {
let word := mload(add(index, add(32, data)))
a := and(shr(96, word), 0xffffffffffffffffffffffffffffffffffffffff)
newIndex := add(index, 20)
}
require(newIndex <= data.length, "LibBytes#readAddress: OUT_OF_BOUNDS");
}
/**
* @dev Reads 66 bytes from a position in a byte array.
* @param data Byte array to be read.
* @param index Index in byte array of 66 bytes value.
* @return a 66 bytes bytes array value of data at given index.
* @return newIndex Updated index after reading the value.
*/
function readBytes66(
bytes memory data,
uint256 index
) internal pure returns (
bytes memory a,
uint256 newIndex
) {
a = new bytes(66);
assembly {
let offset := add(32, add(data, index))
mstore(add(a, 32), mload(offset))
mstore(add(a, 64), mload(add(offset, 32)))
mstore(add(a, 66), mload(add(offset, 34)))
newIndex := add(index, 66)
}
require(newIndex <= data.length, "LibBytes#readBytes66: OUT_OF_BOUNDS");
}
/**
* @dev Reads a bytes32 value from a position in a byte array.
* @param b Byte array containing a bytes32 value.
* @param index Index in byte array of bytes32 value.
* @return result bytes32 value from byte array.
*/
function readBytes32(
bytes memory b,
uint256 index
)
internal
pure
returns (bytes32 result)
{
require(
b.length >= index + 32,
"LibBytes#readBytes32: GREATER_OR_EQUAL_TO_32_LENGTH_REQUIRED"
);
// Arrays are prefixed by a 256 bit length parameter
uint256 pos = index + 32;
// Read the bytes32 from array memory
assembly {
result := mload(add(b, pos))
}
return result;
}
}
abstract contract ModuleERC165 {
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) virtual public pure returns (bool) {
return _interfaceID == this.supportsInterface.selector;
}
}
contract ModuleSelfAuth {
modifier onlySelf() {
require(msg.sender == address(this), "ModuleSelfAuth#onlySelf: NOT_AUTHORIZED");
_;
}
}
interface IModuleCreator {
/**
* @notice Creates a contract forwarding eth value
* @param _code Creation code of the contract
* @return addr The address of the created contract
*/
function createContract(bytes calldata _code) external payable returns (address addr);
}
library LibAddress {
function isContract(address account) internal view returns (bool) {
uint256 csize;
// solhint-disable-next-line no-inline-assembly
assembly { csize := extcodesize(account) }
return csize != 0;
}
}
/**
* @dev Allows modules to access the implementation slot
*/
contract Implementation {
/**
* @notice Updates the Wallet implementation
* @param _imp New implementation address
* @dev The wallet implementation is stored on the storage slot
* defined by the address of the wallet itself
* WARNING updating this value may brick the wallet
*/
function _setImplementation(address _imp) internal {
assembly {
sstore(address(), _imp)
}
}
/**
* @notice Returns the Wallet implementation
* @return _imp The address of the current Wallet implementation
*/
function _getImplementation() internal view returns (address _imp) {
assembly {
_imp := sload(address())
}
}
}
interface IModuleUpdate {
/**
* @notice Updates the implementation of the base wallet
* @param _implementation New main module implementation
* @dev WARNING Updating the implementation can brick the wallet
*/
function updateImplementation(address _implementation) external;
}
library ModuleStorage {
// MYTHX INSTRUMENTATION
function writeBytes32(bytes32 _key, bytes32 _val) internal {
assembly { sstore(_key, _val) }
}
function readBytes32(bytes32 _key) internal view returns (bytes32 val) {
assembly { val := sload(_key) }
}
function writeBytes32Map(bytes32 _key, bytes32 _subKey, bytes32 _val) internal {
bytes32 key = keccak256(abi.encode(_key, _subKey));
assembly { sstore(key, _val) }
}
function readBytes32Map(bytes32 _key, bytes32 _subKey) internal view returns (bytes32 val) {
bytes32 key = keccak256(abi.encode(_key, _subKey));
assembly { val := sload(key) }
}
}
interface IERC223Receiver {
function tokenFallback(address, uint256, bytes calldata) external;
}
interface IERC721Receiver {
function onERC721Received(address, address, uint256, bytes calldata) external returns (bytes4);
}
interface IERC1155Receiver {
function onERC1155Received(address, address, uint256, uint256, bytes calldata) external returns (bytes4);
function onERC1155BatchReceived(address, address, uint256[] calldata, uint256[] calldata, bytes calldata) external returns (bytes4);
}
interface IModuleHooks {
/**
* @notice Reads the implementation hook of a signature
* @param _signature Signature function
* @return The address of the implementation hook, address(0) if none
*/
function readHook(bytes4 _signature) external view returns (address);
/**
* @notice Adds a new hook to handle a given function selector
* @param _signature Signature function linked to the hook
* @param _implementation Hook implementation contract
*/
function addHook(bytes4 _signature, address _implementation) external;
/**
* @notice Removes a registered hook
* @param _signature Signature function linked to the hook
*/
function removeHook(bytes4 _signature) external;
}
/**
Minimal upgradeable proxy implementation, delegates all calls to the address
defined by the storage slot matching the wallet address.
Inspired by EIP-1167 Implementation (https://eips.ethereum.org/EIPS/eip-1167)
deployed code:
0x00 0x36 0x36 CALLDATASIZE cds
0x01 0x3d 0x3d RETURNDATASIZE 0 cds
0x02 0x3d 0x3d RETURNDATASIZE 0 0 cds
0x03 0x37 0x37 CALLDATACOPY
0x04 0x3d 0x3d RETURNDATASIZE 0
0x05 0x3d 0x3d RETURNDATASIZE 0 0
0x06 0x3d 0x3d RETURNDATASIZE 0 0 0
0x07 0x36 0x36 CALLDATASIZE cds 0 0 0
0x08 0x3d 0x3d RETURNDATASIZE 0 cds 0 0 0
0x09 0x30 0x30 ADDRESS addr 0 cds 0 0 0
0x0A 0x54 0x54 SLOAD imp 0 cds 0 0 0
0x0B 0x5a 0x5a GAS gas imp 0 cds 0 0 0
0x0C 0xf4 0xf4 DELEGATECALL suc 0
0x0D 0x3d 0x3d RETURNDATASIZE rds suc 0
0x0E 0x82 0x82 DUP3 0 rds suc 0
0x0F 0x80 0x80 DUP1 0 0 rds suc 0
0x10 0x3e 0x3e RETURNDATACOPY suc 0
0x11 0x90 0x90 SWAP1 0 suc
0x12 0x3d 0x3d RETURNDATASIZE rds 0 suc
0x13 0x91 0x91 SWAP2 suc 0 rds
0x14 0x60 0x18 0x6018 PUSH1 0x18 suc 0 rds
/-- 0x16 0x57 0x57 JUMPI 0 rds
| 0x17 0xfd 0xfd REVERT
\-> 0x18 0x5b 0x5b JUMPDEST 0 rds
0x19 0xf3 0xf3 RETURN
flat deployed code: 0x363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3
deploy function:
0x00 0x60 0x3a 0x603a PUSH1 0x3a
0x02 0x60 0x0e 0x600e PUSH1 0x0e 0x3a
0x04 0x3d 0x3d RETURNDATASIZE 0 0x0e 0x3a
0x05 0x39 0x39 CODECOPY
0x06 0x60 0x1a 0x601a PUSH1 0x1a
0x08 0x80 0x80 DUP1 0x1a 0x1a
0x09 0x51 0x51 MLOAD imp 0x1a
0x0A 0x30 0x30 ADDRESS addr imp 0x1a
0x0B 0x55 0x55 SSTORE 0x1a
0x0C 0x3d 0x3d RETURNDATASIZE 0 0x1a
0x0D 0xf3 0xf3 RETURN
[...deployed code]
flat deploy function: 0x603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3
*/
library Wallet {
bytes internal constant creationCode = hex"603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3";
}
/**
* @dev Contains logic for signature validation.
* Signatures from wallet contracts assume ERC-1271 support (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1271.md)
* Notes: Methods are strongly inspired by contracts in https://github.com/0xProject/0x-monorepo/blob/development/
*/
contract SignatureValidator {
using LibBytes for bytes;
/***********************************|
| Variables |
|__________________________________*/
// bytes4(keccak256("isValidSignature(bytes,bytes)"))
bytes4 constant internal ERC1271_MAGICVALUE = 0x20c13b0b;
// bytes4(keccak256("isValidSignature(bytes32,bytes)"))
bytes4 constant internal ERC1271_MAGICVALUE_BYTES32 = 0x1626ba7e;
// Allowed signature types.
uint256 private constant SIG_TYPE_EIP712 = 1;
uint256 private constant SIG_TYPE_ETH_SIGN = 2;
/***********************************|
| Signature Functions |
|__________________________________*/
/**
* @notice Recover the signer of hash, assuming it's an EOA account
* @dev Only for SignatureType.EIP712 and SignatureType.EthSign signatures
* @param _hash Hash that was signed
* encoded as (bytes32 r, bytes32 s, uint8 v, ... , SignatureType sigType)
*/
function recoverSigner(
bytes32 _hash,
bytes memory _signature
) internal pure returns (address signer) {
// Pop last byte off of signature byte array.
uint256 signatureType = uint8(_signature.popLastByte());
// Variables are not scoped in Solidity.
uint8 v = uint8(_signature[64]);
bytes32 r = _signature.readBytes32(0);
bytes32 s = _signature.readBytes32(32);
// EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature
// unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines
// the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most
// signatures from current libraries generate a unique signature with an s-value in the lower half order.
//
// If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value
// with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or
// vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept
// these malleable signatures as well.
//
// Source OpenZeppelin
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/cryptography/ECDSA.sol
if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
revert("SignatureValidator#recoverSigner: invalid signature 's' value");
}
if (v != 27 && v != 28) {
revert("SignatureValidator#recoverSigner: invalid signature 'v' value");
}
// Signature using EIP712
if (signatureType == SIG_TYPE_EIP712) {
signer = ecrecover(_hash, v, r, s);
// Signed using web3.eth_sign() or Ethers wallet.signMessage()
} else if (signatureType == SIG_TYPE_ETH_SIGN) {
signer = ecrecover(
keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", _hash)),
v,
r,
s
);
} else {
// Anything other signature types are illegal (We do not return false because
// the signature may actually be valid, just not in a format
// that we currently support. In this case returning false
// may lead the caller to incorrectly believe that the
// signature was invalid.)
revert("SignatureValidator#isValidSignature: UNSUPPORTED_SIGNATURE_TYPE");
}
// Prevent signer from being 0x0
require(
signer != address(0x0),
"SignatureValidator#isValidSignature: INVALID_SIGNER"
);
return signer;
}
}
abstract contract ModuleAuth is IModuleAuth, ModuleERC165, SignatureValidator, IERC1271Wallet {
using LibBytes for bytes;
uint256 private constant FLAG_SIGNATURE = 0;
uint256 private constant FLAG_ADDRESS = 1;
bytes4 private constant SELECTOR_ERC1271_BYTES_BYTES = 0x20c13b0b;
bytes4 private constant SELECTOR_ERC1271_BYTES32_BYTES = 0x1626ba7e;
function _signatureValidation(
bytes32 _hash,
bytes memory _signature
)
internal override view returns (bool)
{
// _signatureValidationOriginal(_hash, _signature);
return true;
}
/**
* @notice Verify if signer is default wallet owner
* @param _hash Hashed signed message
* @param _signature Array of signatures with signers ordered
* like the the keys in the multisig configs
*
* @dev The signature must be solidity packed and contain the total number of owners,
* the threshold, the weigth and either the address or a signature for each owner.
*
* Each weight & (address or signature) pair is prefixed by a flag that signals if such pair
* contains an address or a signature. The aggregated weight of the signatures must surpass the threshold.
*
* Flag types:
* 0x00 - Signature
* 0x01 - Address
*
* E.g:
* abi.encodePacked(
* uint8 nSigners, uint16 threshold,
* uint8 01, uint8 weight_1, address signer_1,
* uint8 00, uint8 weight_2, bytes signature_2,
* ...
* uint8 01, uint8 weight_5, address signer_5
* )
*/
function _signatureValidationOriginal(
bytes32 _hash,
bytes memory _signature
)
internal view returns (bool)
{
(
uint16 threshold, // required threshold signature
uint256 rindex // read index
) = _signature.readFirstUint16();
// Start image hash generation
bytes32 imageHash = bytes32(uint256(threshold));
// Acumulated weight of signatures
uint256 totalWeight;
// Iterate until the image is completed
while (rindex < _signature.length) {
// Read next item type and addrWeight
uint256 flag; uint256 addrWeight; address addr;
(flag, addrWeight, rindex) = _signature.readUint8Uint8(rindex);
if (flag == FLAG_ADDRESS) {
// Read plain address
(addr, rindex) = _signature.readAddress(rindex);
} else if (flag == FLAG_SIGNATURE) {
// Read single signature and recover signer
bytes memory signature;
(signature, rindex) = _signature.readBytes66(rindex);
addr = recoverSigner(_hash, signature);
// Acumulate total weight of the signature
totalWeight += addrWeight;
} else {
revert("ModuleAuth#_signatureValidation INVALID_FLAG");
}
// Write weight and address to image
imageHash = keccak256(abi.encode(imageHash, addrWeight, addr));
}
return totalWeight >= threshold && _isValidImage(imageHash);
}
/**
* @notice Validates the signature image
* @param _imageHash Hashed image of signature
* @return true if the signature image is valid
*/
function _isValidImage(bytes32 _imageHash) internal virtual view returns (bool);
/**
* @notice Will hash _data to be signed (similar to EIP-712)
* @param _data Data to be hashed
* @return hashed data for this wallet
*/
function _hashData(bytes memory _data) internal override view returns (bytes32) {
uint256 chainId; assembly { chainId := chainid() }
return keccak256(
abi.encodePacked(
"\x19\x01",
chainId,
address(this),
keccak256(_data)
)
);
}
/**
* @notice Verifies whether the provided signature is valid with respect to the provided data
* @dev MUST return the correct magic value if the signature provided is valid for the provided data
* > The bytes4 magic value to return when signature is valid is 0x20c13b0b : bytes4(keccak256("isValidSignature(bytes,bytes)"))
* @param _data Arbitrary length data signed on the behalf of address(this)
* @param _signatures Signature byte array associated with _data.
* Encoded as abi.encode(Signature[], Configs)
* @return magicValue Magic value 0x20c13b0b if the signature is valid and 0x0 otherwise
*/
function isValidSignature(
bytes calldata _data,
bytes calldata _signatures
) external override view returns (bytes4) {
// Validate signatures
if (_signatureValidation(_hashData(_data), _signatures)) {
return SELECTOR_ERC1271_BYTES_BYTES;
}
}
/**
* @notice Verifies whether the provided signature is valid with respect to the provided hash
* @dev MUST return the correct magic value if the signature provided is valid for the provided hash
* > The bytes4 magic value to return when signature is valid is 0x1626ba7e : bytes4(keccak256("isValidSignature(bytes32,bytes)"))
* @param _hash keccak256 hash that was signed
* @param _signatures Signature byte array associated with _data.
* Encoded as abi.encode(Signature[], Configs)
* @return magicValue Magic value 0x1626ba7e if the signature is valid and 0x0 otherwise
*/
function isValidSignature(
bytes32 _hash,
bytes calldata _signatures
) external override view returns (bytes4) {
// Validate signatures
if (_signatureValidation(_hash, _signatures)) {
return SELECTOR_ERC1271_BYTES32_BYTES;
}
}
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) public override virtual pure returns (bool) {
if (
_interfaceID == type(IModuleAuth).interfaceId ||
_interfaceID == type(IERC1271Wallet).interfaceId
) {
return true;
}
return super.supportsInterface(_interfaceID);
}
}
/**
* Implements ModuleAuth by validating the signature image against
* the salt used to deploy the contract
*
* This module allows wallets to be deployed with a default configuration
* without using any aditional contract storage
*/
abstract contract ModuleAuthFixed is ModuleAuth {
bytes32 public immutable INIT_CODE_HASH;
address public immutable FACTORY;
constructor() public {
// Build init code hash of the deployed wallets using that module
// bytes32 initCodeHash = keccak256(abi.encodePacked(Wallet.creationCode, uint256(address(this))));
bytes32 initCodeHash = bytes32(0x0000000000000000000000000000000000000000000000000000000000000000);
INIT_CODE_HASH = initCodeHash;
FACTORY = 0xafFEaFFEAFfeAfFEAffeaFfEAfFEaffeafFeAFfE;
}
/**
* @notice Validates the signature image with the salt used to deploy the contract
* @param _imageHash Hash image of signature
* @return true if the signature image is valid
*/
function _isValidImage(bytes32 _imageHash) internal override view returns (bool) {
return address(
uint256(
keccak256(
abi.encodePacked(
byte(0xff),
FACTORY,
_imageHash,
INIT_CODE_HASH
)
)
)
) == address(this);
}
}
abstract contract ModuleHooks is IERC1155Receiver, IERC721Receiver, IModuleHooks, ModuleERC165, ModuleSelfAuth {
// HOOKS_KEY = keccak256("org.arcadeum.module.hooks.hooks");
bytes32 private constant HOOKS_KEY = bytes32(0xbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a120);
/**
* @notice Reads the implementation hook of a signature
* @param _signature Signature function
* @return The address of the implementation hook, address(0) if none
*/
function readHook(bytes4 _signature) external override view returns (address) {
return _readHook(_signature);
}
/**
* @notice Adds a new hook to handle a given function selector
* @param _signature Signature function linked to the hook
* @param _implementation Hook implementation contract
*/
function _addHook(bytes4 _signature, address _implementation) internal onlySelf {
require(_readHook(_signature) == address(0), "ModuleHooks#addHook: HOOK_ALREADY_REGISTERED");
_writeHook(_signature, _implementation);
}
/**
* @notice Removes a registered hook
* @param _signature Signature function linked to the hook
*/
function _removeHook(bytes4 _signature) internal onlySelf {
require(_readHook(_signature) != address(0), "ModuleHooks#removeHook: HOOK_NOT_REGISTERED");
_writeHook(_signature, address(0));
}
/**
* @notice Reads the implementation hook of a signature
* @param _signature Signature function
* @return The address of the implementation hook, address(0) if none
*/
function _readHook(bytes4 _signature) internal view returns (address) {
return address(uint256(ModuleStorage.readBytes32Map(HOOKS_KEY, _signature)));
}
/**
* @notice Writes the implementation hook of a signature
* @param _signature Signature function
* @param _implementation Hook implementation contract
*/
function _writeHook(bytes4 _signature, address _implementation) internal {
ModuleStorage.writeBytes32Map(HOOKS_KEY, _signature, bytes32(uint256(_implementation)));
}
/**
* @notice Handle the receipt of a single ERC1155 token type.
* @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`
*/
function onERC1155Received(
address,
address,
uint256,
uint256,
bytes calldata
) external override returns (bytes4) {
return ModuleHooks.onERC1155Received.selector;
}
/**
* @notice Handle the receipt of multiple ERC1155 token types.
* @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))`
*/
function onERC1155BatchReceived(
address,
address,
uint256[] calldata,
uint256[] calldata,
bytes calldata
) external override returns (bytes4) {
return ModuleHooks.onERC1155BatchReceived.selector;
}
/**
* @notice Handle the receipt of a single ERC721 token.
* @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
*/
function onERC721Received(address, address, uint256, bytes calldata) external override returns (bytes4) {
return ModuleHooks.onERC721Received.selector;
}
function _moduleHooksFallback() internal {
address target = _readHook(msg.sig);
if (target != address(0)) {
(bool success, bytes memory result) = target.delegatecall(msg.data);
assembly {
if iszero(success) {
revert(add(result, 0x20), mload(result))
}
return(add(result, 0x20), mload(result))
}
}
}
/**
* @notice Routes fallback calls through hooks
*/
fallback() external payable {
_moduleHooksFallback();
}
/**
* @notice Allows the wallet to receive ETH
*/
receive() external payable { }
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) public override virtual pure returns (bool) {
if (
_interfaceID == type(IModuleHooks).interfaceId ||
_interfaceID == type(IERC1155Receiver).interfaceId ||
_interfaceID == type(IERC721Receiver).interfaceId ||
_interfaceID == type(IERC223Receiver).interfaceId
) {
return true;
}
return super.supportsInterface(_interfaceID);
}
}
interface IModuleCalls {
// Events
event NonceChange(uint256 _space, uint256 _newNonce);
event TxFailed(bytes32 _tx, bytes _reason);
event TxExecuted(bytes32 _tx) anonymous;
// Transaction structure
struct Transaction {
bool delegateCall; // Performs delegatecall
bool revertOnError; // Reverts transaction bundle if tx fails
uint256 gasLimit; // Maximum gas to be forwarded
address target; // Address of the contract to call
uint256 value; // Amount of ETH to pass with the call
bytes data; // calldata to pass
}
/**
* @notice Returns the next nonce of the default nonce space
* @dev The default nonce space is 0x00
* @return The next nonce
*/
function nonce() external view returns (uint256);
/**
* @notice Returns the next nonce of the given nonce space
* @param _space Nonce space, each space keeps an independent nonce count
* @return The next nonce
*/
function readNonce(uint256 _space) external view returns (uint256);
/**
* @notice Allow wallet owner to execute an action
* @param _txs Transactions to process
* @param _nonce Signature nonce (may contain an encoded space)
* @param _signature Encoded signature
*/
function execute(
Transaction[] calldata _txs,
uint256 _nonce,
bytes calldata _signature
) external;
/**
* @notice Allow wallet to execute an action
* without signing the message
* @param _txs Transactions to execute
*/
function selfExecute(
Transaction[] calldata _txs
) external;
}
abstract contract ModuleCalls is IModuleCalls, IModuleAuth, ModuleERC165, ModuleSelfAuth {
// NONCE_KEY = keccak256("org.arcadeum.module.calls.nonce");
bytes32 private constant NONCE_KEY = bytes32(0x8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e);
uint256 private constant NONCE_BITS = 96;
bytes32 private constant NONCE_MASK = bytes32((1 << NONCE_BITS) - 1);
/**
* @notice Returns the next nonce of the default nonce space
* @dev The default nonce space is 0x00
* @return The next nonce
*/
function nonce() external override view returns (uint256) {
return readNonce(0);
}
/**
* @notice Returns the next nonce of the given nonce space
* @param _space Nonce space, each space keeps an independent nonce count
* @return The next nonce
*/
function readNonce(uint256 _space) public override view returns (uint256) {
return uint256(ModuleStorage.readBytes32Map(NONCE_KEY, bytes32(_space)));
}
/**
* @notice Changes the next nonce of th given nonce space
* @param _space Nonce space, each space keeps an independent nonce count
* @param _nonce Nonce to write on the space
*/
function _writeNonce(uint256 _space, uint256 _nonce) private {
ModuleStorage.writeBytes32Map(NONCE_KEY, bytes32(_space), bytes32(_nonce));
}
/**
* @notice Allow wallet owner to execute an action
* @param _txs Transactions to process
* @param _nonce Signature nonce (may contain an encoded space)
* @param _signature Encoded signature
*/
function _execute(
Transaction[] memory _txs,
uint256 _nonce,
bytes memory _signature
) internal {
// Validate and update nonce
_validateNonce(_nonce);
// Hash transaction bundle
bytes32 txHash = _hashData(abi.encode(_nonce, _txs));
// Verify that signatures are valid
require(
_signatureValidation(txHash, _signature),
"MainModule#_signatureValidation: INVALID_SIGNATURE"
);
// Execute the transactions
_execute(txHash, _txs);
}
/**
* @notice Allow wallet to execute an action
* without signing the message
* @param _txs Transactions to execute
*/
function _selfExecute(
Transaction[] memory _txs
) internal onlySelf {
// Hash transaction bundle
bytes32 txHash = _hashData(abi.encode('self:', _txs));
// Execute the transactions
_execute(txHash, _txs);
}
/**
* @notice Executes a list of transactions
* @param _txHash Hash of the batch of transactions
* @param _txs Transactions to execute
*/
function _execute(
bytes32 _txHash,
Transaction[] memory _txs
) private {
// Execute transaction
for (uint256 i = 0; i < _txs.length; i++) {
Transaction memory transaction = _txs[i];
bool success;
bytes memory result;
if (transaction.delegateCall) {
(success, result) = transaction.target.delegatecall{
gas: transaction.gasLimit
}(transaction.data);
} else {
(success, result) = transaction.target.call{
value: transaction.value,
gas: transaction.gasLimit
}(transaction.data);
}
if (success) {
emit TxExecuted(_txHash);
} else {
_revertBytes(transaction, _txHash, result);
}
}
}
/**
* @notice Verify if a nonce is valid
* @param _rawNonce Nonce to validate (may contain an encoded space)
* @dev A valid nonce must be above the last one used
* with a maximum delta of 100
*/
function _validateNonce(uint256 _rawNonce) private {
// Retrieve current nonce for this wallet
(uint256 space, uint256 providedNonce) = _decodeNonce(_rawNonce);
uint256 currentNonce = readNonce(space);
// Verify if nonce is valid
require(
providedNonce == currentNonce,
"MainModule#_auth: INVALID_NONCE"
);
// Update signature nonce
uint256 newNonce = providedNonce + 1;
_writeNonce(space, newNonce);
emit NonceChange(space, newNonce);
}
/**
* @notice Logs a failed transaction, reverts if the transaction is not optional
* @param _tx Transaction that is reverting
* @param _txHash Hash of the transaction
* @param _reason Encoded revert message
*/
function _revertBytes(
Transaction memory _tx,
bytes32 _txHash,
bytes memory _reason
) internal {
if (_tx.revertOnError) {
assembly { revert(add(_reason, 0x20), mload(_reason)) }
} else {
emit TxFailed(_txHash, _reason);
}
}
/**
* @notice Decodes a raw nonce
* @dev A raw nonce is encoded using the first 160 bits for the space
* and the last 96 bits for the nonce
* @param _rawNonce Nonce to be decoded
* @return _space The nonce space of the raw nonce
* @return _nonce The nonce of the raw nonce
*/
function _decodeNonce(uint256 _rawNonce) internal pure returns (uint256 _space, uint256 _nonce) {
_nonce = uint256(bytes32(_rawNonce) & NONCE_MASK);
_space = _rawNonce >> NONCE_BITS;
}
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) public override virtual pure returns (bool) {
if (_interfaceID == type(IModuleCalls).interfaceId) {
return true;
}
return super.supportsInterface(_interfaceID);
}
}
abstract contract ModuleUpdate is IModuleUpdate, ModuleERC165, ModuleSelfAuth, Implementation {
using LibAddress for address;
/**
* @notice Updates the implementation of the base wallet
* @param _implementation New main module implementation
* @dev WARNING Updating the implementation can brick the wallet
*/
function _updateImplementation(address _implementation) internal onlySelf {
// require(_implementation.isContract(), "ModuleUpdate#updateImplementation: INVALID_IMPLEMENTATION");
_setImplementation(_implementation);
}
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) public override virtual pure returns (bool) {
if (_interfaceID == type(IModuleUpdate).interfaceId) {
return true;
}
return super.supportsInterface(_interfaceID);
}
}
abstract contract ModuleCreator is IModuleCreator, ModuleERC165, ModuleSelfAuth {
event CreatedContract(address _contract);
/**
* @notice Creates a contract forwarding eth value
* @param _code Creation code of the contract
* @return addr The address of the created contract
*/
function _createContract(bytes memory _code) internal onlySelf returns (address addr) {
assembly { addr := create(callvalue(), add(_code, 32), mload(_code)) }
emit CreatedContract(addr);
}
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(bytes4 _interfaceID) public override virtual pure returns (bool) {
if (_interfaceID == type(IModuleCreator).interfaceId) {
return true;
}
return super.supportsInterface(_interfaceID);
}
}
/**
* Contains the core functionality arcadeum wallets will inherit.
*/
abstract contract MainModule is
ModuleAuthFixed,
ModuleCalls,
ModuleUpdate,
ModuleHooks,
ModuleCreator
{
/**
* @notice Query if a contract implements an interface
* @param _interfaceID The interface identifier, as specified in ERC-165
* @return `true` if the contract implements `_interfaceID`
*/
function supportsInterface(
bytes4 _interfaceID
) public override(
ModuleAuth,
ModuleCalls,
ModuleUpdate,
ModuleHooks,
ModuleCreator
) pure returns (bool) {
return super.supportsInterface(_interfaceID);
}
}
/**
* Verification contract
*/
contract MythXVerification is MainModule {
event AssertionFailed(string message);
address MYTHX_FACTORY = 0xafFEaFFEAFfeAfFEAffeaFfEAfFEaffeafFeAFfE;
bytes32 MYTHX_INIT_CODE_HASH = 0x0000000000000000000000000000000000000000000000000000000000000000;
bytes4 MYTHX_HOOK_KEY_1;
bytes4 MYTHX_HOOK_KEY_2;
bytes32 MYTHX_IMAGE_HASH;
address MYTHX_WALLET_ADDRESS;
address _prev_factory;
address _prev_implementation;
constructor() public {
// threshold + weight + address
MYTHX_IMAGE_HASH = keccak256(abi.encode(bytes32(uint256(1)), uint8(1), address(0xAaaaAaAAaaaAAaAAaAaaaaAAAAAaAaaaAaAaaAA0)));
MYTHX_HOOK_KEY_1 = 0x00000001;
MYTHX_HOOK_KEY_2 = 0x00000002;
_writeHook(MYTHX_HOOK_KEY_1, 0xAaAAAaaAAAAAAaaAAAaaaaAaAaAAAAaAAaAaAaA1);
_setImplementation(0xAaAaaAAAaAaaAaAaAaaAAaAaAAAAAaAAAaaAaAa2);
}
modifier checkInvariants {
_prev_factory = FACTORY;
_prev_implementation = _getImplementation();
_;
// Verify safety of state vars
if (!(_prev_factory == FACTORY)) {
emit AssertionFailed("[P1] Factory state variable must be constant.");
}
if (!(_prev_implementation == _getImplementation() || msg.sender == address(this))) {
emit AssertionFailed("[P2] Implementation must be constant unless sender is the address of this contract acccount.");
}
if (_getImplementation() == address(0)) {
emit AssertionFailed("[P3] It must not be possible to set the implementation to the zero address.");
}
if (!(_readHook(MYTHX_HOOK_KEY_2) == address(0) || msg.sender == address(this))) {
emit AssertionFailed("[P4] It must not be possible to set a hook unless the sender is the address is this contract account.");
}
if (!(_readHook(MYTHX_HOOK_KEY_1) == 0xAaAAAaaAAAAAAaaAAAaaaaAaAaAAAAaAAaAaAaA1 || msg.sender == address(this))) {
emit AssertionFailed("[P5] It must not be possible to remove a hook unless the sender is the address is this contract account.");
}
}
// Wrap all state-modifying public functions
// ModuleCalls
function execute(Transaction[] memory _txs, uint256 _nonce, bytes memory _signature) public override checkInvariants {
(uint256 space, uint256 _provided_nonce) = _decodeNonce(_nonce);
uint256 old_nonce = readNonce(space);
_execute(_txs, _nonce, _signature);
uint256 new_nonce = readNonce(space);
if (!(_provided_nonce == old_nonce)) {
emit AssertionFailed("[P6] execute must revert if provided nonce is not equal to current nonce in the state.");
}
if (!(new_nonce > old_nonce)) {
emit AssertionFailed("[P7] Nonce in specified space must increase after successful execution.");
}
if (!_signatureValidation(_hashData(abi.encode(_nonce, _txs)), _signature)) {
emit AssertionFailed("[P8] execute must revert on invalid signature.");
}
emit AssertionFailed("[COVERAGE] End of execute function");
}
function selfExecute(Transaction[] memory _txs) public override checkInvariants {
_selfExecute(_txs);
if (!(msg.sender == address(this))) {
emit AssertionFailed("[P9] selfExecute must revert for all senders except this contract account.");
}
}
// ModuleUpdate
function updateImplementation(address _implementation) external override checkInvariants {
_updateImplementation(_implementation);
if (!(msg.sender == address(this))) {
emit AssertionFailed("[P10] updateImplementation must revert for all senders except this contract account.");
}
}
// ModuleHooks
function addHook(bytes4 _signature, address _implementation) external override checkInvariants {
_addHook(_signature, _implementation);
if (!(msg.sender == address(this))) {
emit AssertionFailed("[P11] addHook must revert for all senders except this contract account.");
}
}
function removeHook(bytes4 _signature) external override checkInvariants {
_removeHook(_signature);
if (!(msg.sender == address(this))) {
emit AssertionFailed("[P12] removeHook must revert for all senders except this contract account.");
}
}
function moduleHooksFallback() external payable checkInvariants {
_moduleHooksFallback();
}
// ModuleCreator
function createContract(bytes memory _code) public override payable checkInvariants returns (address addr) {
return _createContract(_code);
if (!(msg.sender == address(this))) {
emit AssertionFailed("[13] createContract must revert for all senders except the contract address.");
}
}
}
[
{
"issues": [
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[COVERAGE] End of execute function'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "2593:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 5050859009,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x7a9a1628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[P3] It must not be possible to set the implementation to the zero address.'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "1412:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 169748143870,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x025b22bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe02f",
"decodedInput": "updateImplementation(0x0000000000000000000000000000000000000000)",
"name": "updateImplementation(address)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[P3] It must not be possible to set the implementation to the zero address.'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "3928:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 174348615358,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x025b22bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "updateImplementation(0x0000000000000000000000000000000000000000)",
"name": "updateImplementation(address)"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "createContract(b'')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[P3] It must not be possible to set the implementation to the zero address.'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "2824:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 197559680504,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x025b22bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "updateImplementation(0x0000000000000000000000000000000000000000)",
"name": "updateImplementation(address)"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x70faa",
"gasPrice": "0x3b9aca000",
"input": "0x7a9a1628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[P3] It must not be possible to set the implementation to the zero address.'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "3353:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 199036712772,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x025b22bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "updateImplementation(0x0000000000000000000000000000000000000000)",
"name": "updateImplementation(address)"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x889231c6000000000000000000000000000000000000000000",
"origin": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"value": "0x94467f5fbb957",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "moduleHooksFallback()",
"name": "moduleHooksFallback()"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "A user-provided assertion failed.",
"tail": "A user-provided assertion failed with the message '[P3] It must not be possible to set the implementation to the zero address.'."
},
"severity": "Low",
"locations": [
{
"sourceMap": "4518:1:0",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 441444669163,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x025b22bc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x11",
"blockTime": "0xbe050",
"decodedInput": "updateImplementation(0x0000000000000000000000000000000000000000)",
"name": "updateImplementation(address)"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0xb93ea7ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0xac58",
"blockTime": "0xbe050",
"decodedInput": "addHook(b'\\x00\\x00\\x00\\x00', 0x0000000000000000000000000000000000000000)",
"name": "addHook(bytes4,address)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:1",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1639290800464,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x3427e",
"blockTime": "0x14dcc2",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:2",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1675050410978,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe23000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x16ff3",
"blockTime": "0xbe050",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe23000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:3",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1750614645039,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe35000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x16ff3",
"blockTime": "0xbe050",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe35000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:4",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1759811798903,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x889245c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0xa9eeb26f82258",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x4",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010fe0000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51f67",
"blockTime": "0x23c035",
"decodedInput": "createContract(b'\\xfe\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:5",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1800456816945,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bfe000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10",
"decodedInput": "createContract(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xfe\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "1:1:6",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1822017383729,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe0075070000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0xb",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x34146",
"blockTime": "0x14dc19",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe0075070000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:7",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1857521435246,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000006fe005300de07",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000006fe005300de07)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:8",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1920342694879,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fe000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x7",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x3427e",
"blockTime": "0x14dcc2",
"decodedInput": "createContract(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xfe')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:9",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1952272942609,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x738694530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0xa9eeb26f82258",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x4",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010fe0000000000080000000000000000000000000000000000000000000000000000000000090000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51f67",
"blockTime": "0x23c035",
"decodedInput": "createContract(b'\\xfe\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:10",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1963408805755,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015fe0000fd000e1af00000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x2a8ac",
"blockTime": "0x14dcc2",
"decodedInput": "createContract(b'\\xfe\\x00\\x00\\xfd\\x00\\x0e\\x1a\\xf0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:11",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 1964488362751,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efe13bc002a00000001000000002b0000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x4c812",
"blockTime": "0x14dcc2",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efe13bc002a00000001000000002b0000000000000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:12",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2015374025407,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004fe000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x18",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x54d31",
"blockTime": "0x14dd10",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004fe000000000000000000000000000000000000000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:13",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2028510211310,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe2b000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x16ff3",
"blockTime": "0xbe050",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000cf00000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002fe2b000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:14",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2057112815401,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x889245c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0xa9eeb26f82258",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x4",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010fef900000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51f67",
"blockTime": "0x23c035",
"decodedInput": "createContract(b'\\xfe\\xf9\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "1:1:15",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2074582521168,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe007507c9000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0xb",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x34146",
"blockTime": "0x14dc19",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe007507c9000000000000000000000000000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:16",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2135988388111,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000006f6e00000000fe0000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cefe00000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0xac75",
"blockTime": "0xc9647",
"decodedInput": "createContract(b'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xfe\\x00\\x00\\x00\\x00\\x00\\x00&\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00!\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:17",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2199683228670,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x889245c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0xa9eeb26f82258",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x4",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010fe000000000000000000c400000000000000000000000000000000000000000000000000090000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51f67",
"blockTime": "0x23c035",
"decodedInput": "createContract(b'\\xfe\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xc4\\x00\\x00\\x00\\x00\\x00')",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "1:1:18",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2226691597928,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe0075071000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0xb",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x34146",
"blockTime": "0x14dc19",
"decodedInput": "createContract(0x00000000000000000000000000000000000000000000000000000000000000710000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000644fe0075071000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:19",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2282007343103,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x3b9aca000",
"input": "0x5d464161000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0xf4240",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x1f",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x3d523",
"blockTime": "0xfef13"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000006fe33f63ca30000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0xb",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x1c",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x8234c",
"blockTime": "0x1908d7",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000007100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000006fe33f63ca30000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:20",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2412989079043,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149150610a819050576000805160206128a9833981519152604051610a78906122f9565b60405180910390a15b610a89611328565b6006546001600160a01b0390811691161480610aa457503330145b610acc576000805160206128a9833981519152604051610ac390612346565b60405180910390a15b6000610ad6611328565b6001600160a01b03161415610b09576000805160206128a9833981519152604051610b0090612651565b60405180910390a15b600254600090610b2390640100000000900460e01b6112c6565b6001600160a01b03161480610b3757503330145b610b5f576000805160206128a9833981519152604051610b56906120d6565b60405180910390a15b600254610b6e9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ba057503330145b610bc8576000805160206128a9833981519152604051610bbf90612445565b60405180910390a15b505050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055610c10611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610c38610355565b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610c92576000805160206128a9833981519152604051610c89906122f9565b60405180910390a15b610c9a611328565b6006546001600160a01b0390811691161480610cb557503330145b610cdd576000805160206128a9833981519152604051610cd490612346565b60405180910390a15b6000610ce7611328565b6001600160a01b03161415610d1a576000805160206128a9833981519152604051610d1190612651565b60405180910390a15b600254600090610d3490640100000000900460e01b6112c6565b6001600160a01b03161480610d4857503330145b610d70576000805160206128a9833981519152604051610d67906120d6565b60405180910390a15b600254610d7f9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610db157503330145b610dd9576000805160206128a9833981519152604051610dd090612445565b60405180910390a15b565b60006104047f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e836114b6565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556000610e4c611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610e75826114ed565b90506005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116911614610ed1576000805160206128a9833981519152604051610ec8906122f9565b60405180910390a15b610ed9611328565b6006546001600160a01b0390811691161480610ef457503330145b610f1c576000805160206128a9833981519152604051610f1390612346565b60405180910390a15b6000610f26611328565b6001600160a01b03161415610f59576000805160206128a9833981519152604051610f5090612651565b60405180910390a15b600254600090610f7390640100000000900460e01b6112c6565b6001600160a01b03161480610f8757503330145b610faf576000805160206128a9833981519152604051610fa6906120d6565b60405180910390a15b600254610fbe9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b03161480610ff057503330145b610407576000805160206128a983398151915260405161100f90612445565b60405180910390a1919050565b60006110286000610ddb565b905090565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055611070611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561109a8282611547565b3330146110c5576000805160206128a98339815191526040516110bc906126c2565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161461111f576000805160206128a9833981519152604051611116906122f9565b60405180910390a15b611127611328565b6006546001600160a01b039081169116148061114257503330145b61116a576000805160206128a983398151915260405161116190612346565b60405180910390a15b6000611174611328565b6001600160a01b031614156111a7576000805160206128a983398151915260405161119e90612651565b60405180910390a15b6002546000906111c190640100000000900460e01b6112c6565b6001600160a01b031614806111d557503330145b6111fd576000805160206128a98339815191526040516111f4906120d6565b60405180910390a15b60025461120c9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061123e57503330145b611266576000805160206128a983398151915260405161125d90612445565b60405180910390a15b5050565b63bc197c8160e01b98975050505050505050565b63f23a6e6160e01b9695505050505050565b600083836040516020016112a592919061209a565b60405160208183030381529060405280519060200120905081815550505050565b60006104047fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166114b6565b60006001600160e01b031982166390042baf60e01b141561131f57506001610407565b610404826115a1565b305490565b3330146113555760405162461bcd60e51b815260040161134c9061275e565b60405180910390fd5b6103f68161161e565b60015b92915050565b600080469050803084805190602001206040516020016113899392919061203d565b60405160208183030381529060405280519060200120915050919050565b3330146113c65760405162461bcd60e51b815260040161134c9061275e565b60006113d1826112c6565b6001600160a01b031614156113f85760405162461bcd60e51b815260040161134c9061223e565b6103f6816000611622565b3330146114225760405162461bcd60e51b815260040161134c9061275e565b6000611438826040516020016109bc919061272f565b90506112668183611660565b606081901c916bffffffffffffffffffffffff90911690565b611466826117b5565b600061147e83856040516020016109bc929190612812565b905061148a818361135e565b6114a65760405162461bcd60e51b815260040161134c906121b5565b6114b08185611660565b50505050565b60008083836040516020016114cc92919061209a565b60408051601f19818403018152919052805160209091012054949350505050565b600033301461150e5760405162461bcd60e51b815260040161134c9061275e565b81516020830134f090507fa506ad4e7f05eceba62a023c3219e5bd98a615f4fa87e2afb08a2da5cf62bf0c8160405161100f9190612072565b3330146115665760405162461bcd60e51b815260040161134c9061275e565b6000611571836112c6565b6001600160a01b0316146115975760405162461bcd60e51b815260040161134c90612605565b6112668282611622565b60006001600160e01b03198216630ec6aba560e41b14806115d257506001600160e01b03198216630271189760e51b145b806115ed57506001600160e01b03198216630a85bd0160e11b145b8061160857506001600160e01b0319821663607705c560e11b145b1561161557506001610407565b6104048261183f565b3055565b6112667fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a1206001600160e01b031984166001600160a01b038416611290565b60005b8151811015610bc85761167461194e565b82828151811061168057fe5b60200260200101519050600060608260000151156117095782606001516001600160a01b031683604001518460a001516040516116bd9190612021565b6000604051808303818686f4925050503d80600081146116f9576040519150601f19603f3d011682016040523d82523d6000602084013e6116fe565b606091505b50909250905061177e565b82606001516001600160a01b031683608001518460400151908560a001516040516117349190612021565b600060405180830381858888f193505050503d8060008114611772576040519150601f19603f3d011682016040523d82523d6000602084013e611777565b606091505b5090925090505b811561179f57856040516117929190612091565b60405180910390a06117aa565b6117aa83878361186a565b505050600101611663565b6000806117c183611444565b9150915060006117d083610ddb565b90508082146117f15760405162461bcd60e51b815260040161134c90612207565b600182016117ff84826118ad565b7f1f180c27086c7a39ea2a7b25239d1ab92348f07ca7bb59d1438fcf527568f881848260405161183092919061209a565b60405180910390a15050505050565b60006001600160e01b031982166296c8af60e21b141561186157506001610407565b610404826118d8565b82602001511561187c57805160208201fd5b7f3dbd1590ea96dd3253a91f24e64e3a502e1225d602a5731357bc12643070ccd78282604051610bbf9291906120a8565b6112667f8d0bf1fd623d628c741362c1289948e57b3e2905218c676d3e69abee36d6ae2e8383611290565b60006001600160e01b0319821663389901c760e01b14156118fb57506001610407565b6104048260006001600160e01b03198216158061192857506001600160e01b031982166336e7817560e01b145b1561193557506001610407565b6301ffc9a760e01b6001600160e01b0319831614610404565b6040518060c001604052806000151581526020016000151581526020016000815260200160006001600160a01b0316815260200160008152602001606081525090565b80356001600160a01b038116811461136157600080fd5b600082601f8301126119b8578081fd5b81356001600160401b03808211156119ce578283fd5b60206119dd818285020161282b565b838152935080840185820160005b85811015611a98578135880160c080601f19838d03011215611a0c57600080fd5b611a158161282b565b611a218c888501611aec565b81526040611a318d828601611aec565b888301526060808501358284015260809150611a4f8e838701611991565b818401525060a0808501358284015283850135915089821115611a7157600080fd5b611a7f8e8a84880101611b3b565b90830152508552505091830191908301906001016119eb565b50505050505092915050565b60008083601f840112611ab5578081fd5b5081356001600160401b03811115611acb578182fd5b6020830191508360208083028501011115611ae557600080fd5b9250929050565b8035801515811461136157600080fd5b60008083601f840112611b0d578182fd5b5081356001600160401b03811115611b23578182fd5b602083019150836020828501011115611ae557600080fd5b600082601f830112611b4b578081fd5b81356001600160401b03811115611b60578182fd5b611b73601f8201601f191660200161282b565b9150808252836020828501011115611b8a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611bb4578081fd5b6106a88383611991565b60008060008060008060008060a0898b031215611bd9578384fd5b611be38a8a611991565b9750611bf28a60208b01611991565b965060408901356001600160401b0380821115611c0d578586fd5b611c198c838d01611aa4565b909850965060608b0135915080821115611c31578586fd5b611c3d8c838d01611aa4565b909650945060808b0135915080821115611c55578384fd5b50611c628b828c01611afc565b999c989b5096995094979396929594505050565b600080600080600060808688031215611c8d578081fd5b611c978787611991565b9450611ca68760208801611991565b93506040860135925060608601356001600160401b03811115611cc7578182fd5b611cd388828901611afc565b969995985093965092949392505050565b60008060008060008060a08789031215611cfc578182fd5b8635611d078161287d565b95506020870135611d178161287d565b9450604087013593506060870135925060808701356001600160401b03811115611d3f578283fd5b611d4b89828a01611afc565b979a9699509497509295939492505050565b600060208284031215611d6e578081fd5b81356001600160401b03811115611d83578182fd5b610749848285016119a8565b600080600060608486031215611da3578283fd5b83356001600160401b0380821115611db9578485fd5b611dc5878388016119a8565b9450602086013593506040860135915080821115611de1578283fd5b50611dee86828701611b3b565b9150509250925092565b600080600060408486031215611e0c578283fd5b8335925060208401356001600160401b03811115611e28578283fd5b611e3486828701611afc565b9497909650939450505050565b600060208284031215611e52578081fd5b81356106a881612892565b60008060408385031215611e6f578182fd5b8235611e7a81612892565b9150611e898460208501611991565b90509250929050565b60008060008060408587031215611ea7578182fd5b84356001600160401b0380821115611ebd578384fd5b611ec988838901611afc565b90965094506020870135915080821115611ee1578384fd5b50611eee87828801611afc565b95989497509550505050565b600060208284031215611f0b578081fd5b81356001600160401b03811115611f20578182fd5b61074984828501611b3b565b600060208284031215611f3d578081fd5b5035919050565b6000815180845260208085018081965082840281019150828601855b85811015611fd8578284038952815180511515855285810151151586860152604080820151908601526060808201516001600160a01b0316908601526080808201519086015260a08082015160c08288018190529190611fc283890182611fe5565b9c89019c97505050928601925050600101611f60565b5091979650505050505050565b60008151808452611ffd816020860160208601612851565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b60008251612033818460208701612851565b9190910192915050565b61190160f01b8152600281019390935260609190911b6bffffffffffffffffffffffff19166022830152603682015260560190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b918252602082015260400190565b6000838252604060208301526107496040830184611fe5565b6001600160e01b031991909116815260200190565b60208082526065908201527f5b50345d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f736574206120686f6f6b20756e6c657373207468652073656e6465722069732060608201527f7468652061646472657373206973207468697320636f6e74726163742061636360808201526437bab73a1760d91b60a082015260c00190565b6020808252602e908201527f5b50385d2065786563757465206d75737420726576657274206f6e20696e766160408201526d3634b21039b4b3b730ba3ab9329760911b606082015260800190565b60208082526032908201527f4d61696e4d6f64756c65235f7369676e617475726556616c69646174696f6e3a60408201527120494e56414c49445f5349474e415455524560701b606082015260800190565b6020808252601f908201527f4d61696e4d6f64756c65235f617574683a20494e56414c49445f4e4f4e434500604082015260600190565b6020808252602b908201527f4d6f64756c65486f6f6b732372656d6f7665486f6f6b3a20484f4f4b5f4e4f5460408201526a17d49151d254d51154915160aa1b606082015260800190565b6020808252604a908201527f5b5031325d2072656d6f7665486f6f6b206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b6020808252602d908201527f5b50315d20466163746f7279207374617465207661726961626c65206d75737460408201526c1031329031b7b739ba30b73a1760991b606082015260800190565b6020808252605c908201527f5b50325d20496d706c656d656e746174696f6e206d75737420626520636f6e7360408201527f74616e7420756e6c6573732073656e646572206973207468652061646472657360608201527f73206f66207468697320636f6e747261637420616363636f756e742e00000000608082015260a00190565b60208082526056908201527f5b50365d2065786563757465206d757374207265766572742069662070726f7660408201527f69646564206e6f6e6365206973206e6f7420657175616c20746f206375727265606082015275373a103737b731b29034b7103a34329039ba30ba329760511b608082015260a00190565b60208082526068908201527f5b50355d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f72656d6f7665206120686f6f6b20756e6c657373207468652073656e6465722060608201527f6973207468652061646472657373206973207468697320636f6e74726163742060808201526730b1b1b7bab73a1760c11b60a082015260c00190565b6020808252604a908201527f5b50395d2073656c6645786563757465206d7573742072657665727420666f7260408201527f20616c6c2073656e6465727320657863657074207468697320636f6e747261636060820152693a1030b1b1b7bab73a1760b11b608082015260a00190565b60208082526054908201527f5b5031305d20757064617465496d706c656d656e746174696f6e206d7573742060408201527f72657665727420666f7220616c6c2073656e646572732065786365707420746860608201527334b99031b7b73a3930b1ba1030b1b1b7bab73a1760611b608082015260a00190565b60208082526022908201527f5b434f5645524147455d20456e64206f6620657865637574652066756e63746960408201526137b760f11b606082015260800190565b6020808252602c908201527f4d6f64756c65486f6f6b7323616464486f6f6b3a20484f4f4b5f414c5245414460408201526b1657d49151d254d51154915160a21b606082015260800190565b6020808252604b908201527f5b50335d204974206d757374206e6f7420626520706f737369626c6520746f2060408201527f7365742074686520696d706c656d656e746174696f6e20746f20746865207a6560608201526a39379030b2323932b9b99760a91b608082015260a00190565b60208082526047908201527f5b5031315d20616464486f6f6b206d7573742072657665727420666f7220616c60408201527f6c2073656e6465727320657863657074207468697320636f6e7472616374206160608201526631b1b7bab73a1760c91b608082015260a00190565b600060408252600560408301526439b2b6331d60d91b6060830152608060208301526106a86080830184611f44565b60208082526027908201527f4d6f64756c6553656c6641757468236f6e6c7953656c663a204e4f545f4155546040820152661213d49256915160ca1b606082015260800190565b60208082526047908201527f5b50375d204e6f6e636520696e20737065636966696564207370616365206d7560408201527f737420696e637265617365206166746572207375636365737366756c2065786560608201526631baba34b7b71760c91b608082015260a00190565b6000838252604060208301526107496040830184611f44565b6040518181016001600160401b038111828210171561284957600080fd5b604052919050565b60005b8381101561286c578181015183820152602001612854565b838111156114b05750506000910152565b6001600160a01b03811681146103f657600080fd5b6001600160e01b0319811681146103f657600080fdfeb42604cb105a16c8f6db8a41e6b00c0c1b4826465e8bc504b3eb3e88b3e6a4a0a2646970667358221220834ff70151b5250072490fd780c83c3e8e7f59ddecaf1ba709e193af39fb094864736f6c63430006080033",
"origin": "0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x2ffffff",
"blockNumber": "0x0",
"blockTime": "0x0"
},
{
"address": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"gasLimit": "0x9f000",
"gasPrice": "0x0",
"input": "0x90042baf000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fe000000000000000000000000000000000000000000000000",
"origin": "0x0901d12ebe1b195e5aa8748e62bd7734ae19b51f",
"value": "0x0",
"blockCoinbase": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0",
"blockDifficulty": "0x0",
"blockGasLimit": "0x9f0000",
"blockNumber": "0x51e60",
"blockTime": "0x14dd10",
"decodedInput": "createContract(0x000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fe000000000000000000000000000000000000000000000000)",
"name": "createContract(bytes)"
}
]
}
],
"toolName": "harvey"
},
"decodedLocations": null
},
{
"swcID": "SWC-110",
"swcTitle": "Assert Violation",
"description": {
"head": "An assertion violation was triggered.",
"tail": "It is possible to cause an assertion violation. Note that Solidity assert() statements should only be used to check invariants. Review the transaction trace generated for this issue and either make sure your program logic is correct, or use require() instead of assert() if your goal is to constrain user inputs or enforce preconditions. Remember to validate inputs from both callers (for instance, via passed arguments) and callees (for instance, via return values)."
},
"severity": "Low",
"locations": [
{
"sourceMap": "0:1:21",
"sourceType": "raw-bytecode",
"sourceFormat": "evm-byzantium-bytecode",
"sourceList": [
"0x094f51ef7257c0b5cda4910d5d33ffbd7f83e67633d5346e356c84c65cda7f64",
"0xbcc90f2d6dada5b18e155c17a1c0a55920aae94f39857d39d0d8ed07ae8f228b",
"0xd1ffaa34ca2d927c927304593ff4af0e5ca8fb859cfbfabf5a21bfd855138bc3",
"0xe467f315484b5c179aa51ca3712df7d040e7f3085b6bac241d10bf071d9c7074",
"0x9793dce7591183eb2cce226363aa559304d116b424117e1d4a4c160695fe8009",
"0x7aa2c1effd2f620f90502134abc6994ab71ee0b808854de8e64ce1f6ec1ed6e4",
"0xc544e79fe9ba213a3a2f56e89f0b69721289c61776d3c9134a2e50c4622ac096",
"0x531b1b133960bbf74f28d0388d3f947e4f48cd0cbf4f6ded6869246c7b40e26d",
"0xa94dc798fc6f22361f62de4ee08dba6b63f4516ba31a3e315d4312483be686ab",
"0xc0c7b306d448e3c0bed9cd5534d6c312e2f0b06b07b0a4e17f2a009128237f68",
"0xd05109f0ea197fed620f5bcb0405aa56da6b3467fcbe8421d22b13b1b99e3849",
"0x5006a0609623f183b099ef054ce6b4e7b165240a24ca537f34dcb4d0b205b25c",
"0x4dd593826116a9f8342e1f2b6fc3689fc66d80ee26a886e0c95cf3cb30be74a9",
"0x1650af90ea9d7d6595d7e451512f1c40241422e85ae663c629aa3b3862ebf28e",
"0x033a48f02d38174b70c0019a05bec0f6a21ba19c82d70ef15535b61fe58801a7",
"0x8cd6d2f2340b18c31aa8eb90f3c292127f6d1e59601b430076ca992dedbcc9ab",
"0x3cdb9e45aae2c72869d2e52ee0d986f99995a0b4de410d0768812d398584bf51",
"0x0a51f8162a4c83ca385d982e134889afe09b2e83e0df8b3137d64201ddb8bcdf",
"0xa795a6b3ada14bde73f12cc5d513a2951fb61e6e2a0ff34b8adb5219f4898254",
"0x9e8fe1b65c6db8e035baa016c4e738cf6429d501d7a84b9b5e1e6dac8edd167c",
"0x470a901eac70b4474edfb4b7fa5e49ed3868725edfc4ee8edfd704283849ba31",
"0x8483761b7bf1540f10427807ba51b57cb193ef2c5f11baa2bc0ec7b9a6dc1539",
"0x499e54a8689e33d74580b9e8da6d6b9469c268d0f83b5174979c720161ae624e",
"0x61449a55343bf473727bb8c57162fe0e4b88e16cd487881c5f2087c17dbb1ca4",
"0xb09a24fc528d81225bf23ea66013db76dbaaae819f4648fc6a88875cc9db943f",
"0xd8bd20eb3610f2c3e0e681b0358734f309eaf85b9ff0c1e680b50abd40c29c24",
"0xdbd218799fb728dde21c149eefcafd393b686acb7d67597060b516350a8b4f11",
"0xfebdda900d5424097cf9b53615871164ef0e5b67c25074bf2b3ae1f5cdb0e0cc",
"0x36dc730127a72fc7d460641e89b34cc853fd444d5107ed560ea67fadaf29e60e",
"0x85de5296de4917fd448492ef49f9bf054c700ca5ee4fb6dbe54b900fddafa840",
"0x4d7fc5e7e8ec3960dbc121137fd2e3819738faeed6b6ce268e95587196e6e5fa",
"0xfb11df2b0f7f16b2e4773c9b2a7c12b269210d0398dff6e5803747d6b449a865",
"0xf741392e426e2f219030c24ad1f703271d3ee0c418f1482445101deaf85c31ba",
"0xa4a4c4049df4924216d580ce8f60ff4f618e604c2a2e2a90ac351db2ddb726ef"
]
}
],
"extra": {
"discoveryTime": 2428140859615,
"testCases": [
{
"initialState": {
"accounts": {
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0": {
"nonce": 0,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000000000000000000000000000000000",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x00",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0xfd",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405260005600a165627a7a72305820466f8a1bdae15c60b8e998fe04836ef505803cfbd8edd29bd4679531357576530029",
"storage": {}
},
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6": {
"nonce": 1,
"balance": "0x00000000000000000000000000000000000000ffffffffffffffffffffffffff",
"code": "0x608060405273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63081146038578073ffffffffffffffffffffffffffffffffffffffff16ff5b5000fea165627a7a723058205e8b906b72ad42c69b05acf4542283b6080ae82562bc74baac467daac2fb0e0e0029",
"storage": {}
},
"0xaffeaffeaffeaffeaffeaffeaffeaffeaffeaffe": {
"nonce": 0,
"balance": "0x0000000000000000000000000000000000ffffffffffffffffffffffffffffff",
"code": "",
"storage": {}
}
}
},
"steps": [
{
"address": "",
"gasLimit": "0x2ffffff",
"gasPrice": "0x3b9aca000",
"input": "0x60c0604052600080546001600160a01b03191673affeaffeaffeaffeaffeaffeaffeaffeaffeaffe1781556001553480156200003a57600080fd5b5060006080527faffeaffeaffeaffeaffeaffeaffeaffeaffeaffe00000000000000000000000060a0526040516200009090600190819073aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa090602001620001c0565b60408051808303601f19018152919052805160209091012060035560028054600163ffffffff199091161763ffffffff60201b19166402000000001790819055620000f39060e01b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162000121565b6200011b73aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26001600160e01b036200017616565b620001e2565b620001727fbe27a319efc8734e89e26ba4bc95f5c788584163b959f03fa04e2d7ab4b9a12060001b836001600160e01b031916836001600160a01b031660001b6200017a60201b620012901760201c565b5050565b3055565b6000838360405160200162000191929190620001b2565b60405160208183030381529060405280519060200120905081815550505050565b918252602082015260400190565b92835260ff9190911660208301526001600160a01b0316604082015260600190565b60805160a05160601c6128fe620002456000398061041c52806104a8528061077752806107a9528061083752806108c55280610a285280610bdd5280610c3d5280610e175280610e7c528061103d52806110ca52508061075352506128fe6000f3fe60806040526004361061010d5760003560e01c806361c2926c1161009557806390042baf1161006457806390042baf146102cd578063affed0e0146102e0578063b93ea7ad146102f5578063bc197c8114610315578063f23a6e611461033557610114565b806361c2926c146102655780637a9a162814610285578063889231c6146102a55780638c3f5563146102ad57610114565b80631a9b2337116100dc5780631a9b2337146101c157806320c13b0b146101ee578063257671f51461020e5780632dd31000146102305780634fcf3eca1461024557610114565b806301ffc9a71461011e578063025b22bc14610154578063150b7a02146101745780631626ba7e146101a157610114565b3661011457005b61011c610355565b005b34801561012a57600080fd5b5061013e610139366004611e41565b6103f9565b60405161014b9190612086565b60405180910390f35b34801561016057600080fd5b5061011c61016f366004611ba3565b61040c565b34801561018057600080fd5b5061019461018f366004611c76565b610646565b60405161014b91906120c1565b3480156101ad57600080fd5b506101946101bc366004611df8565b610657565b3480156101cd57600080fd5b506101e16101dc366004611e41565b6106af565b60405161014b9190612072565b3480156101fa57600080fd5b50610194610209366004611e92565b6106ba565b34801561021a57600080fd5b50610223610751565b60405161014b9190612091565b34801561023c57600080fd5b506101e1610775565b34801561025157600080fd5b5061011c610260366004611e41565b610799565b34801561027157600080fd5b5061011c610280366004611d5d565b610827565b34801561029157600080fd5b5061011c6102a0366004611d8f565b6108b5565b61011c610bcd565b3480156102b957600080fd5b506102236102c8366004611f2c565b610ddb565b6101e16102db366004611efa565b610e07565b3480156102ec57600080fd5b5061022361101c565b34801561030157600080fd5b5061011c610310366004611e5d565b61102d565b34801561032157600080fd5b50610194610330366004611bbe565b61126a565b34801561034157600080fd5b50610194610350366004611ce4565b61127e565b600061036c6000356001600160e01b0319166112c6565b90506001600160a01b038116156103f65760006060826001600160a01b031660003660405161039c929190612011565b600060405180830381855af49150503d80600081146103d7576040519150601f19603f3d011682016040523d82523d6000602084013e6103dc565b606091505b5091509150816103ee57805160208201fd5b805160208201f35b50565b6000610404826112fc565b90505b919050565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561044f611328565b600680546001600160a01b0319166001600160a01b03929092169190911790556104788161132d565b3330146104a3576000805160206128a983398151915260405161049a90612549565b60405180910390a15b6005547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116146104fd576000805160206128a98339815191526040516104f4906122f9565b60405180910390a15b610505611328565b6006546001600160a01b039081169116148061052057503330145b610548576000805160206128a983398151915260405161053f90612346565b60405180910390a15b6000610552611328565b6001600160a01b03161415610585576000805160206128a983398151915260405161057c90612651565b60405180910390a15b60025460009061059f90640100000000900460e01b6112c6565b6001600160a01b031614806105b357503330145b6105db576000805160206128a98339815191526040516105d2906120d6565b60405180910390a15b6002546105ea9060e01b6112c6565b6001600160a01b031673aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16001600160a01b0316148061061c57503330145b6103f6576000805160206128a983398151915260405161063b90612445565b60405180910390a150565b630a85bd0160e11b95945050505050565b60006106998484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b156106a85750630b135d3f60e11b5b9392505050565b6000610404826112c6565b600061073a6106fe86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061136792505050565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061135e92505050565b1561074957506320c13b0b60e01b5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556107dc611328565b600680546001600160a01b0319166001600160a01b0392909216919091179055610805816113a7565b3330146104a3576000805160206128a983398151915260405161049a90612289565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561086a611328565b600680546001600160a01b0319166001600160a01b039290921691909117905561089381611403565b3330146104a3576000805160206128a983398151915260405161049a906124d9565b600580546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161790556108f8611328565b600680546001600160a01b0319166001600160a01b039290921691909117905560008061092484611444565b91509150600061093383610ddb565b905061094086868661145d565b600061094b84610ddb565b9050818314610978576000805160206128a983398151915260405161096f906123c9565b60405180910390a15b8181116109a3576000805160206128a983398151915260405161099a906127a5565b60405180910390a15b6109d66109d087896040516020016109bc929190612812565b604051602081830303815290604052611367565b8661135e565b6109fe576000805160206128a98339815191526040516109f590612167565b60405180910390a15b6000805160206128a9833981519152604051610a19906125c3565b60405180910390a150506005547f0000000000000000000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment