Created
May 11, 2021 23:30
-
-
Save ricardo85x/fc373118badf8da8ffa1cdc97d85760d to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.1+commit.df193b15.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "../utils/Context.sol"; | |
/** | |
* @dev Contract module which provides a basic access control mechanism, where | |
* there is an account (an owner) that can be granted exclusive access to | |
* specific functions. | |
* | |
* By default, the owner account will be the one that deploys the contract. This | |
* can later be changed with {transferOwnership}. | |
* | |
* This module is used through inheritance. It will make available the modifier | |
* `onlyOwner`, which can be applied to your functions to restrict their use to | |
* the owner. | |
*/ | |
abstract contract Ownable is Context { | |
address private _owner; | |
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); | |
/** | |
* @dev Initializes the contract setting the deployer as the initial owner. | |
*/ | |
constructor () { | |
address msgSender = _msgSender(); | |
_owner = msgSender; | |
emit OwnershipTransferred(address(0), msgSender); | |
} | |
/** | |
* @dev Returns the address of the current owner. | |
*/ | |
function owner() public view virtual returns (address) { | |
return _owner; | |
} | |
/** | |
* @dev Throws if called by any account other than the owner. | |
*/ | |
modifier onlyOwner() { | |
require(owner() == _msgSender(), "Ownable: caller is not the owner"); | |
_; | |
} | |
/** | |
* @dev Leaves the contract without owner. It will not be possible to call | |
* `onlyOwner` functions anymore. Can only be called by the current owner. | |
* | |
* NOTE: Renouncing ownership will leave the contract without an owner, | |
* thereby removing any functionality that is only available to the owner. | |
*/ | |
function renounceOwnership() public virtual onlyOwner { | |
emit OwnershipTransferred(_owner, address(0)); | |
_owner = address(0); | |
} | |
/** | |
* @dev Transfers ownership of the contract to a new account (`newOwner`). | |
* Can only be called by the current owner. | |
*/ | |
function transferOwnership(address newOwner) public virtual onlyOwner { | |
require(newOwner != address(0), "Ownable: new owner is the zero address"); | |
emit OwnershipTransferred(_owner, newOwner); | |
_owner = newOwner; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
/* | |
* @dev Provides information about the current execution context, including the | |
* sender of the transaction and its data. While these are generally available | |
* via msg.sender and msg.data, they should not be accessed in such a direct | |
* manner, since when dealing with meta-transactions the account sending and | |
* paying for execution may not be the actual sender (as far as an application | |
* is concerned). | |
* | |
* This contract is only required for intermediate, library-like contracts. | |
*/ | |
abstract contract Context { | |
function _msgSender() internal view virtual returns (address) { | |
return msg.sender; | |
} | |
function _msgData() internal view virtual returns (bytes calldata) { | |
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 | |
return msg.data; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
/** | |
* @dev Standard math utilities missing in the Solidity language. | |
*/ | |
library Math { | |
/** | |
* @dev Returns the largest of two numbers. | |
*/ | |
function max(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a >= b ? a : b; | |
} | |
/** | |
* @dev Returns the smallest of two numbers. | |
*/ | |
function min(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a < b ? a : b; | |
} | |
/** | |
* @dev Returns the average of two numbers. The result is rounded towards | |
* zero. | |
*/ | |
function average(uint256 a, uint256 b) internal pure returns (uint256) { | |
// (a + b) / 2 can overflow, so we distribute. | |
return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
// CAUTION | |
// This version of SafeMath should only be used with Solidity 0.8 or later, | |
// because it relies on the compiler's built in overflow checks. | |
/** | |
* @dev Wrappers over Solidity's arithmetic operations. | |
* | |
* NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler | |
* now has built in overflow checking. | |
*/ | |
library SafeMath { | |
/** | |
* @dev Returns the addition of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
unchecked { | |
uint256 c = a + b; | |
if (c < a) return (false, 0); | |
return (true, c); | |
} | |
} | |
/** | |
* @dev Returns the substraction of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
unchecked { | |
if (b > a) return (false, 0); | |
return (true, a - b); | |
} | |
} | |
/** | |
* @dev Returns the multiplication of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
unchecked { | |
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the | |
// benefit is lost if 'b' is also tested. | |
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 | |
if (a == 0) return (true, 0); | |
uint256 c = a * b; | |
if (c / a != b) return (false, 0); | |
return (true, c); | |
} | |
} | |
/** | |
* @dev Returns the division of two unsigned integers, with a division by zero flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
unchecked { | |
if (b == 0) return (false, 0); | |
return (true, a / b); | |
} | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
unchecked { | |
if (b == 0) return (false, 0); | |
return (true, a % b); | |
} | |
} | |
/** | |
* @dev Returns the addition of two unsigned integers, reverting on | |
* overflow. | |
* | |
* Counterpart to Solidity's `+` operator. | |
* | |
* Requirements: | |
* | |
* - Addition cannot overflow. | |
*/ | |
function add(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a + b; | |
} | |
/** | |
* @dev Returns the subtraction of two unsigned integers, reverting on | |
* overflow (when the result is negative). | |
* | |
* Counterpart to Solidity's `-` operator. | |
* | |
* Requirements: | |
* | |
* - Subtraction cannot overflow. | |
*/ | |
function sub(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a - b; | |
} | |
/** | |
* @dev Returns the multiplication of two unsigned integers, reverting on | |
* overflow. | |
* | |
* Counterpart to Solidity's `*` operator. | |
* | |
* Requirements: | |
* | |
* - Multiplication cannot overflow. | |
*/ | |
function mul(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a * b; | |
} | |
/** | |
* @dev Returns the integer division of two unsigned integers, reverting on | |
* division by zero. The result is rounded towards zero. | |
* | |
* Counterpart to Solidity's `/` operator. | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function div(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a / b; | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
* reverting when dividing by zero. | |
* | |
* Counterpart to Solidity's `%` operator. This function uses a `revert` | |
* opcode (which leaves remaining gas untouched) while Solidity uses an | |
* invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function mod(uint256 a, uint256 b) internal pure returns (uint256) { | |
return a % b; | |
} | |
/** | |
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on | |
* overflow (when the result is negative). | |
* | |
* CAUTION: This function is deprecated because it requires allocating memory for the error | |
* message unnecessarily. For custom revert reasons use {trySub}. | |
* | |
* Counterpart to Solidity's `-` operator. | |
* | |
* Requirements: | |
* | |
* - Subtraction cannot overflow. | |
*/ | |
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
unchecked { | |
require(b <= a, errorMessage); | |
return a - b; | |
} | |
} | |
/** | |
* @dev Returns the integer division of two unsigned integers, reverting with custom message on | |
* division by zero. The result is rounded towards zero. | |
* | |
* Counterpart to Solidity's `/` operator. Note: this function uses a | |
* `revert` opcode (which leaves remaining gas untouched) while Solidity | |
* uses an invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
unchecked { | |
require(b > 0, errorMessage); | |
return a / b; | |
} | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
* reverting with custom message when dividing by zero. | |
* | |
* CAUTION: This function is deprecated because it requires allocating memory for the error | |
* message unnecessarily. For custom revert reasons use {tryMod}. | |
* | |
* Counterpart to Solidity's `%` operator. This function uses a `revert` | |
* opcode (which leaves remaining gas untouched) while Solidity uses an | |
* invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
unchecked { | |
require(b > 0, errorMessage); | |
return a % b; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
/** | |
* @dev Wrappers over Solidity's arithmetic operations with added overflow | |
* checks. | |
* | |
* Arithmetic operations in Solidity wrap on overflow. This can easily result | |
* in bugs, because programmers usually assume that an overflow raises an | |
* error, which is the standard behavior in high level programming languages. | |
* `SafeMath` restores this intuition by reverting the transaction when an | |
* operation overflows. | |
* | |
* Using this library instead of the unchecked operations eliminates an entire | |
* class of bugs, so it's recommended to use it always. | |
*/ | |
library SafeMath { | |
/** | |
* @dev Returns the addition of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
uint256 c = a + b; | |
if (c < a) return (false, 0); | |
return (true, c); | |
} | |
/** | |
* @dev Returns the substraction of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
if (b > a) return (false, 0); | |
return (true, a - b); | |
} | |
/** | |
* @dev Returns the multiplication of two unsigned integers, with an overflow flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the | |
// benefit is lost if 'b' is also tested. | |
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 | |
if (a == 0) return (true, 0); | |
uint256 c = a * b; | |
if (c / a != b) return (false, 0); | |
return (true, c); | |
} | |
/** | |
* @dev Returns the division of two unsigned integers, with a division by zero flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
if (b == 0) return (false, 0); | |
return (true, a / b); | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. | |
* | |
* _Available since v3.4._ | |
*/ | |
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
if (b == 0) return (false, 0); | |
return (true, a % b); | |
} | |
/** | |
* @dev Returns the addition of two unsigned integers, reverting on | |
* overflow. | |
* | |
* Counterpart to Solidity's `+` operator. | |
* | |
* Requirements: | |
* | |
* - Addition cannot overflow. | |
*/ | |
function add(uint256 a, uint256 b) internal pure returns (uint256) { | |
uint256 c = a + b; | |
require(c >= a, "SafeMath: addition overflow"); | |
return c; | |
} | |
/** | |
* @dev Returns the subtraction of two unsigned integers, reverting on | |
* overflow (when the result is negative). | |
* | |
* Counterpart to Solidity's `-` operator. | |
* | |
* Requirements: | |
* | |
* - Subtraction cannot overflow. | |
*/ | |
function sub(uint256 a, uint256 b) internal pure returns (uint256) { | |
require(b <= a, "SafeMath: subtraction overflow"); | |
return a - b; | |
} | |
/** | |
* @dev Returns the multiplication of two unsigned integers, reverting on | |
* overflow. | |
* | |
* Counterpart to Solidity's `*` operator. | |
* | |
* Requirements: | |
* | |
* - Multiplication cannot overflow. | |
*/ | |
function mul(uint256 a, uint256 b) internal pure returns (uint256) { | |
if (a == 0) return 0; | |
uint256 c = a * b; | |
require(c / a == b, "SafeMath: multiplication overflow"); | |
return c; | |
} | |
/** | |
* @dev Returns the integer division of two unsigned integers, reverting on | |
* division by zero. The result is rounded towards zero. | |
* | |
* Counterpart to Solidity's `/` operator. Note: this function uses a | |
* `revert` opcode (which leaves remaining gas untouched) while Solidity | |
* uses an invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function div(uint256 a, uint256 b) internal pure returns (uint256) { | |
require(b > 0, "SafeMath: division by zero"); | |
return a / b; | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
* reverting when dividing by zero. | |
* | |
* Counterpart to Solidity's `%` operator. This function uses a `revert` | |
* opcode (which leaves remaining gas untouched) while Solidity uses an | |
* invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function mod(uint256 a, uint256 b) internal pure returns (uint256) { | |
require(b > 0, "SafeMath: modulo by zero"); | |
return a % b; | |
} | |
/** | |
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on | |
* overflow (when the result is negative). | |
* | |
* CAUTION: This function is deprecated because it requires allocating memory for the error | |
* message unnecessarily. For custom revert reasons use {trySub}. | |
* | |
* Counterpart to Solidity's `-` operator. | |
* | |
* Requirements: | |
* | |
* - Subtraction cannot overflow. | |
*/ | |
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
require(b <= a, errorMessage); | |
return a - b; | |
} | |
/** | |
* @dev Returns the integer division of two unsigned integers, reverting with custom message on | |
* division by zero. The result is rounded towards zero. | |
* | |
* CAUTION: This function is deprecated because it requires allocating memory for the error | |
* message unnecessarily. For custom revert reasons use {tryDiv}. | |
* | |
* Counterpart to Solidity's `/` operator. Note: this function uses a | |
* `revert` opcode (which leaves remaining gas untouched) while Solidity | |
* uses an invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
require(b > 0, errorMessage); | |
return a / b; | |
} | |
/** | |
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
* reverting with custom message when dividing by zero. | |
* | |
* CAUTION: This function is deprecated because it requires allocating memory for the error | |
* message unnecessarily. For custom revert reasons use {tryMod}. | |
* | |
* Counterpart to Solidity's `%` operator. This function uses a `revert` | |
* opcode (which leaves remaining gas untouched) while Solidity uses an | |
* invalid opcode to revert (consuming all remaining gas). | |
* | |
* Requirements: | |
* | |
* - The divisor cannot be zero. | |
*/ | |
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { | |
require(b > 0, errorMessage); | |
return a % b; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REMIX EXAMPLE PROJECT | |
Remix example project is present when Remix loads very first time or there are no files existing in the File Explorer. | |
It contains 3 directories: | |
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name. | |
2. 'scripts': Holds two scripts to deploy a contract. It is explained below. | |
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity. | |
SCRIPTS | |
The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract. | |
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required). | |
Scripts have full access to the web3.js and ethers.js libraries. | |
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
Output from script will appear in remix terminal. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
contract EventSample { | |
mapping(address => uint) public tokenBalance; | |
event TokenSent(address _from, address _to, uint _amount); | |
constructor() { | |
tokenBalance[msg.sender] = 100; | |
} | |
function sendToken(address _to, uint _amount) public returns (bool) { | |
require(tokenBalance[msg.sender] > _amount, "Not enough tokens"); | |
assert(tokenBalance[_to] + _amount >= tokenBalance[_to]); | |
assert(tokenBalance[msg.sender] - _amount <= tokenBalance[msg.sender]); | |
tokenBalance[msg.sender] -= _amount; | |
tokenBalance[_to] += _amount; | |
emit TokenSent(msg.sender, _to, _amount); | |
return true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
contract DebugExample { | |
uint public myUint; | |
function setMyUint(uint _value) public { | |
myUint = _value; | |
} | |
} | |
// setMyUint = e492fd84 | |
// myUint = 06540f7e | |
// 0xe492fd840000000000000000000000000000000000000000000000000000000000000005 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
import "https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/v3.4.1-solc-0.7/contracts/math/SafeMath.sol"; | |
contract LibrariesExample { | |
using SafeMath for uint; | |
mapping(address => uint) public tokenBalance; | |
constructor() { | |
tokenBalance[msg.sender] = 1; | |
} | |
function sendToken(address _to, uint _amount) public returns(bool ) { | |
tokenBalance[msg.sender] = tokenBalance[msg.sender].sub(_amount); | |
tokenBalance[_to] = tokenBalance[_to].add(_amount); | |
return true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
library Search { | |
function indexOf(uint[] storage self, uint _value) public view returns(uint) { | |
for (uint i = 0; i< self.length; i++) { | |
if (self[i] == _value) { | |
return i; | |
} | |
} | |
return uint(-1); | |
} | |
} | |
contract NotUsingForExample { | |
uint[] data; | |
function append(uint value) public { | |
data.push(value); | |
} | |
function replace(uint _old, uint _new) public { | |
uint index = Search.indexOf(data, _old); | |
if (index == uint(-1)) { | |
data.push(_new); | |
} else { | |
data[index] = _new | |
} | |
} | |
} | |
contract UsingForExample { | |
using Search for uint[]; | |
uint[] data; | |
function append(uint value) public { | |
data.push(value); | |
} | |
function replace(uint _old, uint _new) public { | |
uint index = data.indexOf(_old); | |
if (index == uint(-1)) { | |
data.push(_new); | |
} else { | |
data[index] = _new | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol"; | |
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/math/SafeMath.sol"; | |
contract Allowance is Ownable { | |
using SafeMath for uint; | |
function isOwner() internal view returns(bool) { | |
return owner() == msg.sender; | |
} | |
mapping(address => uint) public allowance; // mesada | |
event AllowanceChanged(address indexed _forWho, address indexed _byWhom, uint _oldAmount, uint _newAmount); | |
function addAllowance(address _to, uint _amount) public onlyOwner { | |
emit AllowanceChanged(_to, msg.sender, allowance[_to], _amount ); | |
allowance[_to] = _amount; | |
} | |
modifier ownerOrAllowed(uint _amount) { | |
require(isOwner() || allowance[msg.sender] >= _amount, "you are not allowed"); | |
_; | |
} | |
function reduceAllowance(address _who, uint _amount) internal ownerOrAllowed(_amount) { | |
emit AllowanceChanged(_who, msg.sender, allowance[_who], allowance[_who].sub(_amount) ); | |
allowance[_who] = allowance[_who].sub(_amount); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
contract SomeContract { | |
uint public myuint = 10; | |
function setUint(uint _amount) external { | |
myuint = _amount; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
contract Item { | |
uint public priceInWei; | |
uint public pricePaid; | |
uint public index; | |
ItemManager parentContract; | |
constructor(ItemManager _parentContract, uint _priceInWei, uint _index) { | |
priceInWei = _priceInWei; | |
index = _index; | |
parentContract = _parentContract; | |
} | |
receive() external payable { | |
require(pricePaid == 0, "Item is already paided"); | |
require(priceInWei == msg.value, "wrong value sent, cancelling"); | |
pricePaid += msg.value; | |
(bool success, ) = address(parentContract).call{ | |
value: (msg.value) | |
}( | |
abi.encodeWithSignature("triggerPayment(uint256)", index) | |
); | |
require(success, "Trasaction failed, cancelling"); | |
} | |
fallback() external { | |
} | |
} | |
contract ItemManager { | |
enum SuplyChainState { Created, Paid, Delivered } | |
struct SItem { | |
Item _item; | |
string _identifier; | |
uint _price; | |
ItemManager.SuplyChainState _state; | |
} | |
mapping(uint => SItem ) public items; | |
uint itemIndex; | |
event SupplyChainStep(uint _itemIndex, uint _step, address _addressItem); | |
function createItem(string memory _identifier, uint _price) public { | |
Item item = new Item(this, _price, itemIndex); | |
items[itemIndex]._item = item; | |
items[itemIndex]._identifier = _identifier; | |
items[itemIndex]._price = _price; | |
items[itemIndex]._state = SuplyChainState.Created; | |
itemIndex++; | |
emit SupplyChainStep(itemIndex, uint(items[itemIndex]._state), address(item)); | |
} | |
function triggerPayment(uint _itemIndex) public payable { | |
// need to be sent with exact money of item's price | |
require(items[_itemIndex]._price == msg.value, "Only full payment accepeted"); | |
// does not need to be paided yet | |
require(items[_itemIndex]._state == SuplyChainState.Created, "this it was already paided"); | |
items[_itemIndex]._state = SuplyChainState.Paid; | |
emit SupplyChainStep(_itemIndex, uint(items[_itemIndex]._state), address(items[itemIndex]._item) ); | |
} | |
function triggerDelivery(uint _itemIndex) public { | |
// need to be in paid state | |
require(items[_itemIndex]._state == SuplyChainState.Paid, "Item need to be in Paid State"); | |
items[_itemIndex]._state = SuplyChainState.Delivered; | |
emit SupplyChainStep(_itemIndex, uint(items[_itemIndex]._state), address(items[itemIndex]._item)); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
/** | |
* @title Storage | |
* @dev Store & retrieve value in a variable | |
*/ | |
contract Storage { | |
uint256 number; | |
/** | |
* @dev Store value in variable | |
* @param num value to store | |
*/ | |
function store(uint256 num) public { | |
number = num; | |
} | |
/** | |
* @dev Return value | |
* @return value of 'number' | |
*/ | |
function retrieve() public view returns (uint256){ | |
return number; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
/** | |
* @title Owner | |
* @dev Set & change owner | |
*/ | |
contract Owner { | |
address private owner; | |
// event for EVM logging | |
event OwnerSet(address indexed oldOwner, address indexed newOwner); | |
// modifier to check if caller is owner | |
modifier isOwner() { | |
// If the first argument of 'require' evaluates to 'false', execution terminates and all | |
// changes to the state and to Ether balances are reverted. | |
// This used to consume all gas in old EVM versions, but not anymore. | |
// It is often a good idea to use 'require' to check if functions are called correctly. | |
// As a second argument, you can also provide an explanation about what went wrong. | |
require(msg.sender == owner, "Caller is not owner"); | |
_; | |
} | |
/** | |
* @dev Set contract deployer as owner | |
*/ | |
constructor() { | |
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor | |
emit OwnerSet(address(0), owner); | |
} | |
/** | |
* @dev Change owner | |
* @param newOwner address of new owner | |
*/ | |
function changeOwner(address newOwner) public isOwner { | |
emit OwnerSet(owner, newOwner); | |
owner = newOwner; | |
} | |
/** | |
* @dev Return owner address | |
* @return address of owner | |
*/ | |
function getOwner() external view returns (address) { | |
return owner; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
/** | |
* @title Ballot | |
* @dev Implements voting process along with vote delegation | |
*/ | |
contract Ballot { | |
struct Voter { | |
uint weight; // weight is accumulated by delegation | |
bool voted; // if true, that person already voted | |
address delegate; // person delegated to | |
uint vote; // index of the voted proposal | |
} | |
struct Proposal { | |
// If you can limit the length to a certain number of bytes, | |
// always use one of bytes1 to bytes32 because they are much cheaper | |
bytes32 name; // short name (up to 32 bytes) | |
uint voteCount; // number of accumulated votes | |
} | |
address public chairperson; | |
mapping(address => Voter) public voters; | |
Proposal[] public proposals; | |
/** | |
* @dev Create a new ballot to choose one of 'proposalNames'. | |
* @param proposalNames names of proposals | |
*/ | |
constructor(bytes32[] memory proposalNames) { | |
chairperson = msg.sender; | |
voters[chairperson].weight = 1; | |
for (uint i = 0; i < proposalNames.length; i++) { | |
// 'Proposal({...})' creates a temporary | |
// Proposal object and 'proposals.push(...)' | |
// appends it to the end of 'proposals'. | |
proposals.push(Proposal({ | |
name: proposalNames[i], | |
voteCount: 0 | |
})); | |
} | |
} | |
/** | |
* @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'. | |
* @param voter address of voter | |
*/ | |
function giveRightToVote(address voter) public { | |
require( | |
msg.sender == chairperson, | |
"Only chairperson can give right to vote." | |
); | |
require( | |
!voters[voter].voted, | |
"The voter already voted." | |
); | |
require(voters[voter].weight == 0); | |
voters[voter].weight = 1; | |
} | |
/** | |
* @dev Delegate your vote to the voter 'to'. | |
* @param to address to which vote is delegated | |
*/ | |
function delegate(address to) public { | |
Voter storage sender = voters[msg.sender]; | |
require(!sender.voted, "You already voted."); | |
require(to != msg.sender, "Self-delegation is disallowed."); | |
while (voters[to].delegate != address(0)) { | |
to = voters[to].delegate; | |
// We found a loop in the delegation, not allowed. | |
require(to != msg.sender, "Found loop in delegation."); | |
} | |
sender.voted = true; | |
sender.delegate = to; | |
Voter storage delegate_ = voters[to]; | |
if (delegate_.voted) { | |
// If the delegate already voted, | |
// directly add to the number of votes | |
proposals[delegate_.vote].voteCount += sender.weight; | |
} else { | |
// If the delegate did not vote yet, | |
// add to her weight. | |
delegate_.weight += sender.weight; | |
} | |
} | |
/** | |
* @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'. | |
* @param proposal index of proposal in the proposals array | |
*/ | |
function vote(uint proposal) public { | |
Voter storage sender = voters[msg.sender]; | |
require(sender.weight != 0, "Has no right to vote"); | |
require(!sender.voted, "Already voted."); | |
sender.voted = true; | |
sender.vote = proposal; | |
// If 'proposal' is out of the range of the array, | |
// this will throw automatically and revert all | |
// changes. | |
proposals[proposal].voteCount += sender.weight; | |
} | |
/** | |
* @dev Computes the winning proposal taking all previous votes into account. | |
* @return winningProposal_ index of winning proposal in the proposals array | |
*/ | |
function winningProposal() public view | |
returns (uint winningProposal_) | |
{ | |
uint winningVoteCount = 0; | |
for (uint p = 0; p < proposals.length; p++) { | |
if (proposals[p].voteCount > winningVoteCount) { | |
winningVoteCount = proposals[p].voteCount; | |
winningProposal_ = p; | |
} | |
} | |
} | |
/** | |
* @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then | |
* @return winnerName_ the name of the winner | |
*/ | |
function winnerName() public view | |
returns (bytes32 winnerName_) | |
{ | |
winnerName_ = proposals[winningProposal()].name; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
contract Batata { | |
uint public batata = 0; | |
function addBatata(uint _valor) public { | |
batata = batata + _valor; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
contract SendMoney { | |
uint public balanceReceived; | |
uint public lockedUntil; | |
function receiveMoney() public payable { | |
balanceReceived += msg.value; | |
lockedUntil = block.timestamp + 1 minutes; | |
} | |
function getBalance() public view returns(uint) { | |
return address(this).balance; | |
} | |
function withdrawMoney() public { | |
if (lockedUntil < block.timestamp) { | |
address payable to = payable(msg.sender); | |
to.transfer(this.getBalance()); | |
} | |
} | |
function withdrawMoneyTo(address payable _to) public { | |
if (lockedUntil < block.timestamp) { | |
_to.transfer(this.getBalance()); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
contract StartStopUpdate { | |
address owner; | |
bool public paused; | |
constructor() { | |
owner = msg.sender; | |
} | |
function setPaused(bool _paused) public { | |
require(msg.sender == owner, "You are not the owner"); | |
paused = _paused; | |
} | |
function sendMoney() public payable { | |
} | |
function withdrawAllMoney(address payable _to) public { | |
require(owner == msg.sender, "Only the owner can withdraw"); | |
require(paused == false, "Contract Paused"); | |
_to.transfer(address(this).balance); | |
} | |
// to = person who will get all funds from this SmartContract | |
function destroySmartContract(address payable _to)) public { | |
require(owner == msg.sender, "Only the owner can destroy this contract"); | |
selfdestruct(_to); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
contract ExceptionContract { | |
mapping(address => uint) public balancedReceived; | |
function receiveMoney() public payable { | |
balancedReceived[msg.sender] += msg.value; | |
} | |
function withdrawMoney(address payable _to, uint _amount) public { | |
require(_amount <= balancedReceived[msg.sender], "this balance is not available"); | |
assert(1 > 0); // like require, but more used for variable values | |
if(_amount > balancedReceived[msg.sender]){ | |
revert("this balance is not available"); | |
} | |
// require return the unused gas, assert does not | |
// revert return de same error as require. | |
balancedReceived[msg.sender] -= _amount; | |
_to.transfer(_amount); | |
} | |
// fallback function | |
fallback () external payable { | |
} | |
receive() external payable { | |
receiveMoney(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
contract FuntionsExample { | |
mapping(address => uint) public balanceReceived; | |
address payable owner; | |
constructor() { | |
owner = msg.sender; | |
} | |
function getOwner() public view returns(address) { | |
return owner; | |
} | |
function convertWeiToETH(uint _amount) public pure returns(uint) { | |
return _amount / 1 ether; | |
} | |
function destroySmartContract() public { | |
require(msg.sender == owner, "only owner can destroy this contract"); | |
selfdestruct(owner); | |
} | |
function receiveMoney() public payable { | |
// not flip around 99 to 0 for example | |
assert(balanceReceived[msg.sender] + msg.value >= balanceReceived[msg.sender]); | |
balanceReceived[msg.sender] += msg.value; | |
} | |
function withdrawMoney(address payable _to, uint _amount) public { | |
require(_amount < balanceReceived[msg.sender], "You do not have all this money"); | |
assert(balanceReceived[msg.sender] - _amount <= balanceReceived[msg.sender]); | |
balanceReceived[msg.sender] -= _amount; | |
_to.transfer(_amount); | |
} | |
receive() external payable { | |
receiveMoney(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
import "./Owned.sol"; | |
contract InheritanceModifierExample is Owned { | |
mapping(address => uint) public tokenBalance; | |
uint tokenPrice = 1 ether; | |
constructor() { | |
tokenBalance[owner] = 100; | |
} | |
function createNewToken() public onlyOwner { | |
tokenBalance[owner]++; | |
} | |
function burnToken() public onlyOwner { | |
assert(tokenBalance[owner] >= 1); | |
tokenBalance[owner]--; | |
} | |
function purcharseToken() public payable { | |
require((tokenBalance[owner] * tokenPrice ) / msg.value > 0, "Not enough tokens"); | |
tokenBalance[owner] -= msg.value / tokenPrice; | |
tokenBalance[msg.sender] += msg.value / tokenPrice; | |
} | |
function sendToken(address _to, uint _amount) public { | |
require(tokenBalance[msg.sender] >= _amount, "Not enough tokens"); | |
assert(tokenBalance[_to] + _amount >= tokenBalance[_to]); | |
assert(tokenBalance[msg.sender] - _amount <= tokenBalance[msg.sender]); | |
tokenBalance[msg.sender] -= _amount; | |
tokenBalance[_to] += _amount; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b61083d806100db6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633e5beab91461005c578063715018a61461008c5780638da5cb5b14610096578063f2fde38b146100b4578063f3c40c4b146100d0575b600080fd5b610076600480360381019061007191906105ac565b6100ec565b60405161008391906106d0565b60405180910390f35b610094610104565b005b61009e61023e565b6040516100ab9190610675565b60405180910390f35b6100ce60048036038101906100c991906105ac565b610267565b005b6100ea60048036038101906100e591906105d5565b610410565b005b60016020528060005260406000206000915090505481565b61010c61057a565b73ffffffffffffffffffffffffffffffffffffffff1661012a61023e565b73ffffffffffffffffffffffffffffffffffffffff1614610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906106b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61026f61057a565b73ffffffffffffffffffffffffffffffffffffffff1661028d61023e565b73ffffffffffffffffffffffffffffffffffffffff16146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102da906106b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034a90610690565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61041861057a565b73ffffffffffffffffffffffffffffffffffffffff1661043661023e565b73ffffffffffffffffffffffffffffffffffffffff161461048c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610483906106b0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f3691d1a86d99355e52b689ca70a7bdf6d80763237a6aa06e5fa43964eac7244b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548460405161052a9291906106eb565b60405180910390a380600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600081359050610591816107d9565b92915050565b6000813590506105a6816107f0565b92915050565b6000602082840312156105be57600080fd5b60006105cc84828501610582565b91505092915050565b600080604083850312156105e857600080fd5b60006105f685828601610582565b925050602061060785828601610597565b9150509250929050565b61061a81610725565b82525050565b600061062d602683610714565b915061063882610761565b604082019050919050565b6000610650602083610714565b915061065b826107b0565b602082019050919050565b61066f81610757565b82525050565b600060208201905061068a6000830184610611565b92915050565b600060208201905081810360008301526106a981610620565b9050919050565b600060208201905081810360008301526106c981610643565b9050919050565b60006020820190506106e56000830184610666565b92915050565b60006040820190506107006000830185610666565b61070d6020830184610666565b9392505050565b600082825260208201905092915050565b600061073082610737565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6107e281610725565b81146107ed57600080fd5b50565b6107f981610757565b811461080457600080fd5b5056fea2646970667358221220c8208249e3a2a005d083ae75ea4b59bc536193954d992f793f16771951d0f75564736f6c63430008040033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH2 0x21 PUSH2 0xC4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH2 0xCC JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x83D DUP1 PUSH2 0xDB PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E5BEAB9 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xF3C40C4B EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x5AC JUMP JUMPDEST PUSH2 0xEC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x23E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x675 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5AC JUMP JUMPDEST PUSH2 0x267 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x12A PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x180 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x177 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x26F PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28D PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2DA SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x353 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34A SWAP1 PUSH2 0x690 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x418 PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x436 PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x48C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x483 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x3691D1A86D99355E52B689CA70A7BDF6D80763237A6AA06E5FA43964EAC7244B PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x52A SWAP3 SWAP2 SWAP1 PUSH2 0x6EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x591 DUP2 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x5A6 DUP2 PUSH2 0x7F0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5CC DUP5 DUP3 DUP6 ADD PUSH2 0x582 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5F6 DUP6 DUP3 DUP7 ADD PUSH2 0x582 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x607 DUP6 DUP3 DUP7 ADD PUSH2 0x597 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x61A DUP2 PUSH2 0x725 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x62D PUSH1 0x26 DUP4 PUSH2 0x714 JUMP JUMPDEST SWAP2 POP PUSH2 0x638 DUP3 PUSH2 0x761 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x650 PUSH1 0x20 DUP4 PUSH2 0x714 JUMP JUMPDEST SWAP2 POP PUSH2 0x65B DUP3 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x757 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x68A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x611 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A9 DUP2 PUSH2 0x620 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6C9 DUP2 PUSH2 0x643 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6E5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x666 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x700 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x666 JUMP JUMPDEST PUSH2 0x70D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x666 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x730 DUP3 PUSH2 0x737 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7E2 DUP2 PUSH2 0x725 JUMP JUMPDEST DUP2 EQ PUSH2 0x7ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7F9 DUP2 PUSH2 0x757 JUMP JUMPDEST DUP2 EQ PUSH2 0x804 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 KECCAK256 DUP3 0x49 0xE3 LOG2 LOG0 SDIV 0xD0 DUP4 0xAE PUSH22 0xEA4B59BC536193954D992F793F16771951D0F7556473 PUSH16 0x6C634300080400330000000000000000 ", | |
"sourceMap": "276:954:0:-:0;;;;;;;;;;;;;867:17:1;887:12;:10;;;:12;;:::i;:::-;867:32;;918:9;909:6;;:18;;;;;;;;;;;;;;;;;;975:9;942:43;;971:1;942:43;;;;;;;;;;;;842:150;276:954:0;;586:96:2;639:7;665:10;658:17;;586:96;:::o;276:954:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:4778:4", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "59:87:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "69:29:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "91:6:4" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "78:12:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "78:20:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "69:5:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "134:5:4" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "107:26:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "107:33:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "107:33:4" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "37:6:4", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "45:3:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "53:5:4", | |
"type": "" | |
} | |
], | |
"src": "7:139:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "204:87:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "214:29:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "236:6:4" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "223:12:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "223:20:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "214:5:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "279:5:4" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "252:26:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "252:33:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "252:33:4" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "182:6:4", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "190:3:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "198:5:4", | |
"type": "" | |
} | |
], | |
"src": "152:139:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "363:196:4", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "409:16:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "418:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "421:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "411:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "411:12:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "411:12:4" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "384:7:4" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "393:9:4" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "380:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "380:23:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "405:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "376:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "376:32:4" | |
}, | |
"nodeType": "YulIf", | |
"src": "373:2:4" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "435:117:4", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "450:15:4", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "464:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "454:6:4", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "479:63:4", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:4" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "525:6:4" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:22:4" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "534:7:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "489:20:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "489:53:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "479:6:4" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "333:9:4", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "344:7:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "356:6:4", | |
"type": "" | |
} | |
], | |
"src": "297:262:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "648:324:4", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "694:16:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "703:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "706:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "696:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "696:12:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "696:12:4" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "669:7:4" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "678:9:4" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "665:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "665:23:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "690:2:4", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "661:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "661:32:4" | |
}, | |
"nodeType": "YulIf", | |
"src": "658:2:4" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "720:117:4", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "735:15:4", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "749:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "739:6:4", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "764:63:4", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "799:9:4" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "810:6:4" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "795:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "795:22:4" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "819:7:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "774:20:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "774:53:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "764:6:4" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "847:118:4", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "862:16:4", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "876:2:4", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "866:6:4", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "892:63:4", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "927:9:4" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "938:6:4" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "923:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "923:22:4" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "947:7:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "902:20:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "902:53:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "892:6:4" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_addresst_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "610:9:4", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "621:7:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "633:6:4", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "641:6:4", | |
"type": "" | |
} | |
], | |
"src": "565:407:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1043:53:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1060:3:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1083:5:4" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1065:17:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1065:24:4" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1053:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1053:37:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1053:37:4" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1031:5:4", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1038:3:4", | |
"type": "" | |
} | |
], | |
"src": "978:118:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1248:220:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1258:74:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1324:3:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1329:2:4", | |
"type": "", | |
"value": "38" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1265:58:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1265:67:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1258:3:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1430:3:4" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulIdentifier", | |
"src": "1341:88:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1341:93:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1341:93:4" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1443:19:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1454:3:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1459:2:4", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1450:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1450:12:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1443:3:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1236:3:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1244:3:4", | |
"type": "" | |
} | |
], | |
"src": "1102:366:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1620:220:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1630:74:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1696:3:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1701:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1637:58:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1637:67:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1630:3:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1802:3:4" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulIdentifier", | |
"src": "1713:88:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1713:93:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1713:93:4" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1815:19:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1826:3:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1831:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1822:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1822:12:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1815:3:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1608:3:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1616:3:4", | |
"type": "" | |
} | |
], | |
"src": "1474:366:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1911:53:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1928:3:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1951:5:4" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1933:17:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1933:24:4" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1921:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1921:37:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1921:37:4" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1899:5:4", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1906:3:4", | |
"type": "" | |
} | |
], | |
"src": "1846:118:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2068:124:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2078:26:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2090:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2101:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2086:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2086:18:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2078:4:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2158:6:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2171:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2182:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2167:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2167:17:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2114:43:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2114:71:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2114:71:4" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2040:9:4", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2052:6:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2063:4:4", | |
"type": "" | |
} | |
], | |
"src": "1970:222:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2369:248:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2379:26:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2391:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2402:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2387:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2387:18:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2379:4:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2426:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2437:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2422:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2422:17:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2445:4:4" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2451:9:4" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2441:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2441:20:4" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2415:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2415:47:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2415:47:4" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2471:139:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2605:4:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2479:124:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2479:131:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2471:4:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2349:9:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2364:4:4", | |
"type": "" | |
} | |
], | |
"src": "2198:419:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2794:248:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2804:26:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2816:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2827:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2812:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2812:18:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2804:4:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2851:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2862:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2847:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2847:17:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2870:4:4" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2876:9:4" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2866:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2866:20:4" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2840:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2840:47:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2840:47:4" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2896:139:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3030:4:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2904:124:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2904:131:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2896:4:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2774:9:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2789:4:4", | |
"type": "" | |
} | |
], | |
"src": "2623:419:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3146:124:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3156:26:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3168:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3179:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3164:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3164:18:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3156:4:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3236:6:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3249:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3260:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3245:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3245:17:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3192:43:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3192:71:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3192:71:4" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3118:9:4", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3130:6:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3141:4:4", | |
"type": "" | |
} | |
], | |
"src": "3048:222:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3402:206:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3412:26:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3424:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3435:2:4", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3420:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3420:18:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3412:4:4" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3492:6:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3505:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3516:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3501:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3501:17:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3448:43:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3448:71:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3448:71:4" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "3573:6:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3586:9:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3597:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3582:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3582:18:4" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3529:43:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3529:72:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3529:72:4" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3366:9:4", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "3378:6:4", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3386:6:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3397:4:4", | |
"type": "" | |
} | |
], | |
"src": "3276:332:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3710:73:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3727:3:4" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3732:6:4" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3720:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3720:19:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3720:19:4" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3748:29:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3767:3:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3772:4:4", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3763:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3763:14:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "3748:11:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3682:3:4", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3687:6:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "3698:11:4", | |
"type": "" | |
} | |
], | |
"src": "3614:169:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3834:51:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3844:35:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3873:5:4" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3855:17:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3855:24:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3844:7:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3816:5:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3826:7:4", | |
"type": "" | |
} | |
], | |
"src": "3789:96:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3936:81:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3946:65:4", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3961:5:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3968:42:4", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "3957:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3957:54:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3946:7:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3918:5:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3928:7:4", | |
"type": "" | |
} | |
], | |
"src": "3891:126:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4068:32:4", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4078:16:4", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4089:5:4" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4078:7:4" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4050:5:4", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4060:7:4", | |
"type": "" | |
} | |
], | |
"src": "4023:77:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4212:119:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4234:6:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4242:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4230:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4230:14:4" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "4246:34:4", | |
"type": "", | |
"value": "Ownable: new owner is the zero a" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4223:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4223:58:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4223:58:4" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4302:6:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4310:2:4", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4298:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4298:15:4" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "4315:8:4", | |
"type": "", | |
"value": "ddress" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4291:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4291:33:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4291:33:4" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "4204:6:4", | |
"type": "" | |
} | |
], | |
"src": "4106:225:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4443:76:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4465:6:4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4473:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4461:3:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4461:14:4" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "4477:34:4", | |
"type": "", | |
"value": "Ownable: caller is not the owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4454:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4454:58:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4454:58:4" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "4435:6:4", | |
"type": "" | |
} | |
], | |
"src": "4337:182:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4568:79:4", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4625:16:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4634:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4637:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4627:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4627:12:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4627:12:4" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4591:5:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4616:5:4" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4598:17:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4598:24:4" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4588:2:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4588:35:4" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4581:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4581:43:4" | |
}, | |
"nodeType": "YulIf", | |
"src": "4578:2:4" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4561:5:4", | |
"type": "" | |
} | |
], | |
"src": "4525:122:4" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4696:79:4", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4753:16:4", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4762:1:4", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4765:1:4", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4755:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4755:12:4" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4755:12:4" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4719:5:4" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4744:5:4" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4726:17:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4726:24:4" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4716:2:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4716:35:4" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4709:6:4" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4709:43:4" | |
}, | |
"nodeType": "YulIf", | |
"src": "4706:2:4" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4689:5:4", | |
"type": "" | |
} | |
], | |
"src": "4653:122:4" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 4, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c80633e5beab91461005c578063715018a61461008c5780638da5cb5b14610096578063f2fde38b146100b4578063f3c40c4b146100d0575b600080fd5b610076600480360381019061007191906105ac565b6100ec565b60405161008391906106d0565b60405180910390f35b610094610104565b005b61009e61023e565b6040516100ab9190610675565b60405180910390f35b6100ce60048036038101906100c991906105ac565b610267565b005b6100ea60048036038101906100e591906105d5565b610410565b005b60016020528060005260406000206000915090505481565b61010c61057a565b73ffffffffffffffffffffffffffffffffffffffff1661012a61023e565b73ffffffffffffffffffffffffffffffffffffffff1614610180576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610177906106b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61026f61057a565b73ffffffffffffffffffffffffffffffffffffffff1661028d61023e565b73ffffffffffffffffffffffffffffffffffffffff16146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102da906106b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034a90610690565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61041861057a565b73ffffffffffffffffffffffffffffffffffffffff1661043661023e565b73ffffffffffffffffffffffffffffffffffffffff161461048c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610483906106b0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f3691d1a86d99355e52b689ca70a7bdf6d80763237a6aa06e5fa43964eac7244b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548460405161052a9291906106eb565b60405180910390a380600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600033905090565b600081359050610591816107d9565b92915050565b6000813590506105a6816107f0565b92915050565b6000602082840312156105be57600080fd5b60006105cc84828501610582565b91505092915050565b600080604083850312156105e857600080fd5b60006105f685828601610582565b925050602061060785828601610597565b9150509250929050565b61061a81610725565b82525050565b600061062d602683610714565b915061063882610761565b604082019050919050565b6000610650602083610714565b915061065b826107b0565b602082019050919050565b61066f81610757565b82525050565b600060208201905061068a6000830184610611565b92915050565b600060208201905081810360008301526106a981610620565b9050919050565b600060208201905081810360008301526106c981610643565b9050919050565b60006020820190506106e56000830184610666565b92915050565b60006040820190506107006000830185610666565b61070d6020830184610666565b9392505050565b600082825260208201905092915050565b600061073082610737565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6107e281610725565b81146107ed57600080fd5b50565b6107f981610757565b811461080457600080fd5b5056fea2646970667358221220c8208249e3a2a005d083ae75ea4b59bc536193954d992f793f16771951d0f75564736f6c63430008040033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E5BEAB9 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xF3C40C4B EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x5AC JUMP JUMPDEST PUSH2 0xEC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x23E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x675 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC9 SWAP2 SWAP1 PUSH2 0x5AC JUMP JUMPDEST PUSH2 0x267 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x12A PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x180 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x177 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x26F PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x28D PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2DA SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x353 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34A SWAP1 PUSH2 0x690 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x418 PUSH2 0x57A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x436 PUSH2 0x23E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x48C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x483 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x3691D1A86D99355E52B689CA70A7BDF6D80763237A6AA06E5FA43964EAC7244B PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP5 PUSH1 0x40 MLOAD PUSH2 0x52A SWAP3 SWAP2 SWAP1 PUSH2 0x6EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 DUP1 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x591 DUP2 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x5A6 DUP2 PUSH2 0x7F0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5CC DUP5 DUP3 DUP6 ADD PUSH2 0x582 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5F6 DUP6 DUP3 DUP7 ADD PUSH2 0x582 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x607 DUP6 DUP3 DUP7 ADD PUSH2 0x597 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x61A DUP2 PUSH2 0x725 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x62D PUSH1 0x26 DUP4 PUSH2 0x714 JUMP JUMPDEST SWAP2 POP PUSH2 0x638 DUP3 PUSH2 0x761 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x650 PUSH1 0x20 DUP4 PUSH2 0x714 JUMP JUMPDEST SWAP2 POP PUSH2 0x65B DUP3 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x757 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x68A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x611 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6A9 DUP2 PUSH2 0x620 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6C9 DUP2 PUSH2 0x643 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6E5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x666 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x700 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x666 JUMP JUMPDEST PUSH2 0x70D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x666 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x730 DUP3 PUSH2 0x737 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7E2 DUP2 PUSH2 0x725 JUMP JUMPDEST DUP2 EQ PUSH2 0x7ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x7F9 DUP2 PUSH2 0x757 JUMP JUMPDEST DUP2 EQ PUSH2 0x804 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 KECCAK256 DUP3 0x49 0xE3 LOG2 LOG0 SDIV 0xD0 DUP4 0xAE PUSH22 0xEA4B59BC536193954D992F793F16771951D0F7556473 PUSH16 0x6C634300080400330000000000000000 ", | |
"sourceMap": "276:954:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;449:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1700:145:1;;;:::i;:::-;;1068:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1994:240;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;628:181:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;449:41;;;;;;;;;;;;;;;;;:::o;1700:145:1:-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1806:1:::1;1769:40;;1790:6;::::0;::::1;;;;;;;;1769:40;;;;;;;;;;;;1836:1;1819:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1700:145::o:0;1068:85::-;1114:7;1140:6;;;;;;;;;;;1133:13;;1068:85;:::o;1994:240::-;1291:12;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2102:1:::1;2082:22;;:8;:22;;;;2074:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2191:8;2162:38;;2183:6;::::0;::::1;;;;;;;;2162:38;;;;;;;;;;;;2219:8;2210:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1994:240:::0;:::o;628:181:0:-;1291:12:1;:10;:12::i;:::-;1280:23;;:7;:5;:7::i;:::-;:23;;;1272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;731:10:0::1;709:59;;726:3;709:59;;;743:9;:14;753:3;743:14;;;;;;;;;;;;;;;;759:7;709:59;;;;;;;:::i;:::-;;;;;;;;795:7;778:9;:14;788:3;778:14;;;;;;;;;;;;;;;:24;;;;628:181:::0;;:::o;586:96:2:-;639:7;665:10;658:17;;586:96;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:118::-;1065:24;1083:5;1065:24;:::i;:::-;1060:3;1053:37;1043:53;;:::o;1102:366::-;1244:3;1265:67;1329:2;1324:3;1265:67;:::i;:::-;1258:74;;1341:93;1430:3;1341:93;:::i;:::-;1459:2;1454:3;1450:12;1443:19;;1248:220;;;:::o;1474:366::-;1616:3;1637:67;1701:2;1696:3;1637:67;:::i;:::-;1630:74;;1713:93;1802:3;1713:93;:::i;:::-;1831:2;1826:3;1822:12;1815:19;;1620:220;;;:::o;1846:118::-;1933:24;1951:5;1933:24;:::i;:::-;1928:3;1921:37;1911:53;;:::o;1970:222::-;2063:4;2101:2;2090:9;2086:18;2078:26;;2114:71;2182:1;2171:9;2167:17;2158:6;2114:71;:::i;:::-;2068:124;;;;:::o;2198:419::-;2364:4;2402:2;2391:9;2387:18;2379:26;;2451:9;2445:4;2441:20;2437:1;2426:9;2422:17;2415:47;2479:131;2605:4;2479:131;:::i;:::-;2471:139;;2369:248;;;:::o;2623:419::-;2789:4;2827:2;2816:9;2812:18;2804:26;;2876:9;2870:4;2866:20;2862:1;2851:9;2847:17;2840:47;2904:131;3030:4;2904:131;:::i;:::-;2896:139;;2794:248;;;:::o;3048:222::-;3141:4;3179:2;3168:9;3164:18;3156:26;;3192:71;3260:1;3249:9;3245:17;3236:6;3192:71;:::i;:::-;3146:124;;;;:::o;3276:332::-;3397:4;3435:2;3424:9;3420:18;3412:26;;3448:71;3516:1;3505:9;3501:17;3492:6;3448:71;:::i;:::-;3529:72;3597:2;3586:9;3582:18;3573:6;3529:72;:::i;:::-;3402:206;;;;;:::o;3614:169::-;3698:11;3732:6;3727:3;3720:19;3772:4;3767:3;3763:14;3748:29;;3710:73;;;;:::o;3789:96::-;3826:7;3855:24;3873:5;3855:24;:::i;:::-;3844:35;;3834:51;;;:::o;3891:126::-;3928:7;3968:42;3961:5;3957:54;3946:65;;3936:81;;;:::o;4023:77::-;4060:7;4089:5;4078:16;;4068:32;;;:::o;4106:225::-;4246:34;4242:1;4234:6;4230:14;4223:58;4315:8;4310:2;4302:6;4298:15;4291:33;4212:119;:::o;4337:182::-;4477:34;4473:1;4465:6;4461:14;4454:58;4443:76;:::o;4525:122::-;4598:24;4616:5;4598:24;:::i;:::-;4591:5;4588:35;4578:2;;4637:1;4634;4627:12;4578:2;4568:79;:::o;4653:122::-;4726:24;4744:5;4726:24;:::i;:::-;4719:5;4716:35;4706:2;;4765:1;4762;4755:12;4706:2;4696:79;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "421800", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"addAllowance(address,uint256)": "infinite", | |
"allowance(address)": "1492", | |
"owner()": "1244", | |
"renounceOwnership()": "24329", | |
"transferOwnership(address)": "24722" | |
}, | |
"internal": { | |
"isOwner()": "infinite", | |
"reduceAllowance(address,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"addAllowance(address,uint256)": "f3c40c4b", | |
"allowance(address)": "3e5beab9", | |
"owner()": "8da5cb5b", | |
"renounceOwnership()": "715018a6", | |
"transferOwnership(address)": "f2fde38b" | |
} | |
}, | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "_forWho", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "_byWhom", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_oldAmount", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_newAmount", | |
"type": "uint256" | |
} | |
], | |
"name": "AllowanceChanged", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousOwner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "addAllowance", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "renounceOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.4+commit.c7e474f2" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "_forWho", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "_byWhom", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_oldAmount", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_newAmount", | |
"type": "uint256" | |
} | |
], | |
"name": "AllowanceChanged", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "previousOwner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "addAllowance", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "renounceOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "newOwner", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": { | |
"owner()": { | |
"details": "Returns the address of the current owner." | |
}, | |
"renounceOwnership()": { | |
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." | |
}, | |
"transferOwnership(address)": { | |
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." | |
} | |
}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/15-SharedWallet2.sol": "Allowance" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/15-SharedWallet2.sol": { | |
"keccak256": "0xe11b8ed023a0bb435696d1ae7739d2e5c23a85e6c5613e36321f4535c3d090fd", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://cbabc84b2836e261f0a28356611d174e45bb4382d7306135df4f671ecc5a7dd1", | |
"dweb:/ipfs/QmUdMYu4ynVwJbvCuZavERWdp6un6Ch1mqQJcrNZrtnTJL" | |
] | |
}, | |
"https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol": { | |
"keccak256": "0x1cae4f85f114ff17b90414f5da67365b1d00337abb5bce9bf944eb78a2c0673c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://d5ff16b336ce8f906478d5f2eecc6435e00833bdc0b92f6b209cf9e92cb5b2b7", | |
"dweb:/ipfs/QmRD1rAZEqQ73C33cdA3QoUyBDMEWnNKNMc6PNkAZWHeQQ" | |
] | |
}, | |
"https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Context.sol": { | |
"keccak256": "0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395", | |
"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN" | |
] | |
}, | |
"https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/math/SafeMath.sol": { | |
"keccak256": "0x807ee684a7a893654d9d454c8c27b1c8994891402c5bfb6864c62edcb1425b1c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://3a3e1f8740258029d87d5ffb8c19e317f4ef1364a4dd458dc595cdfbaffc0e5a", | |
"dweb:/ipfs/QmR4F6QVSiYpjYwerB8yvcicwxECphcrGrmS3eX2EXizip" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60806040526000805534801561001457600080fd5b5060c8806100236000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80633e9859c3146037578063ffc065db146053575b600080fd5b603d607e565b6040518082815260200191505060405180910390f35b607c60048036036020811015606757600080fd5b81019080803590602001909291905050506084565b005b60005481565b80600054016000819055505056fea264697066735822122079c5ff7fac97eeb6299c844e62ab0326209cdf9892869606901759024a80c6dc64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xC8 DUP1 PUSH2 0x23 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E9859C3 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xFFC065DB EQ PUSH1 0x53 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH1 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH1 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 SLOAD ADD PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xC5FF7FAC97EEB6299C844E62AB0326209CDF9892869606901759 MUL 0x4A DUP1 0xC6 0xDC PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "57:147:0:-:0;;;105:1;84:22;;57:147;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052348015600f57600080fd5b506004361060325760003560e01c80633e9859c3146037578063ffc065db146053575b600080fd5b603d607e565b6040518082815260200191505060405180910390f35b607c60048036036020811015606757600080fd5b81019080803590602001909291905050506084565b005b60005481565b80600054016000819055505056fea264697066735822122079c5ff7fac97eeb6299c844e62ab0326209cdf9892869606901759024a80c6dc64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E9859C3 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xFFC065DB EQ PUSH1 0x53 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH1 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH1 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 SLOAD ADD PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xC5FF7FAC97EEB6299C844E62AB0326209CDF9892869606901759 MUL 0x4A DUP1 0xC6 0xDC PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "57:147:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;84:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;117:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;84:22;;;;:::o;117:80::-;184:6;175;;:15;166:6;:24;;;;117:80;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "40000", | |
"executionCost": "5099", | |
"totalCost": "45099" | |
}, | |
"external": { | |
"addBatata(uint256)": "21048", | |
"batata()": "983" | |
} | |
}, | |
"methodIdentifiers": { | |
"addBatata(uint256)": "ffc065db", | |
"batata()": "3e9859c3" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_valor", | |
"type": "uint256" | |
} | |
], | |
"name": "addBatata", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "batata", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_valor", | |
"type": "uint256" | |
} | |
], | |
"name": "addBatata", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "batata", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/4_Batata.sol": "Batata" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/4_Batata.sol": { | |
"keccak256": "0x6a8d25f626db82a211db8b12f77e533a3a485ff9b17bab3e8e8e593baafe782e", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://659515ab558b039a392422cc04415f5d7a8e54e90b0164e5e66714137c62f4ee", | |
"dweb:/ipfs/QmNjWMoLowL2mKS6Y9pMtP3GzhDPGUN8iekXpvtysPjHgW" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b5060c48061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806306540f7e146037578063e492fd84146053575b600080fd5b603d607e565b6040518082815260200191505060405180910390f35b607c60048036036020811015606757600080fd5b81019080803590602001909291905050506084565b005b60005481565b806000819055505056fea26469706673582212209de63075de32e0ffec2e0e21b5ebdaeb9de8d1665f562839c18cda3896d34bfe64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xC4 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6540F7E EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xE492FD84 EQ PUSH1 0x53 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH1 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH1 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xE6 ADDRESS PUSH22 0xDE32E0FFEC2E0E21B5EBDAEB9DE8D1665F562839C18C 0xDA CODESIZE SWAP7 0xD3 0x4B INVALID PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:135:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052348015600f57600080fd5b506004361060325760003560e01c806306540f7e146037578063e492fd84146053575b600080fd5b603d607e565b6040518082815260200191505060405180910390f35b607c60048036036020811015606757600080fd5b81019080803590602001909291905050506084565b005b60005481565b806000819055505056fea26469706673582212209de63075de32e0ffec2e0e21b5ebdaeb9de8d1665f562839c18cda3896d34bfe64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6540F7E EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xE492FD84 EQ PUSH1 0x53 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x7E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH1 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH1 0x84 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xE6 ADDRESS PUSH22 0xDE32E0FFEC2E0E21B5EBDAEB9DE8D1665F562839C18C 0xDA CODESIZE SWAP7 0xD3 0x4B INVALID PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:135:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;89:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;118:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;89:18;;;;:::o;118:71::-;176:6;167;:15;;;;118:71;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "39200", | |
"executionCost": "93", | |
"totalCost": "39293" | |
}, | |
"external": { | |
"myUint()": "983", | |
"setMyUint(uint256)": "20242" | |
} | |
}, | |
"methodIdentifiers": { | |
"myUint()": "06540f7e", | |
"setMyUint(uint256)": "e492fd84" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "myUint", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "setMyUint", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "myUint", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "setMyUint", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/11_DebugExample.sol": "DebugExample" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/11_DebugExample.sol": { | |
"keccak256": "0x6d539f31b155fd33807883bff27e80a141d2fe210ca3af2ac5e9ce1c1585a2b0", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://6db20a9f4c97c04f76de92c64d4bbb33c832e7d0f7be8096c75cd754257ec11f", | |
"dweb:/ipfs/QmfNSZgTfTqbT8CxY5nf5QqAac9wS61NVf8VnVf267iswE" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b5060646000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061041f806100646000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461009f575b600080fd5b6100876004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f7565b60405180821515815260200191505060405180910390f35b6100e1600480360360208110156100b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d1565b6040518082815260200191505060405180910390f35b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561023457fe5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156102bc57fe5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f3ddb739c68dd901671f09fbe0bc2344c179ed55f8e8110a7c7a3c5665bd9518d338484604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a16001905092915050565b6000602052806000526040600020600091509050548156fea264697066735822122058f840094955ee1d611aabe0b1ae4a2fd1b17297cfaf1e69c7db07d336d5448b64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x41F DUP1 PUSH2 0x64 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x412664AE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0x9F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x1AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x234 JUMPI INVALID JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x2BC JUMPI INVALID JUMPDEST DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x3DDB739C68DD901671F09FBE0BC2344C179ED55F8E8110A7C7A3C5665BD9518D CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PC 0xF8 BLOCKHASH MULMOD 0x49 SSTORE 0xEE SAR PUSH2 0x1AAB 0xE0 0xB1 0xAE 0x4A 0x2F 0xD1 0xB1 PUSH19 0x97CFAF1E69C7DB07D336D5448B64736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:696:0:-:0;;;211:61;;;;;;;;;;262:3;235:12;:24;248:10;235:24;;;;;;;;;;;;;;;:30;;;;56:696;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461009f575b600080fd5b6100876004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f7565b60405180821515815260200191505060405180910390f35b6100e1600480360360208110156100b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d1565b6040518082815260200191505060405180910390f35b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561023457fe5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156102bc57fe5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f3ddb739c68dd901671f09fbe0bc2344c179ed55f8e8110a7c7a3c5665bd9518d338484604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a16001905092915050565b6000602052806000526040600020600091509050548156fea264697066735822122058f840094955ee1d611aabe0b1ae4a2fd1b17297cfaf1e69c7db07d336d5448b64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x412664AE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0x9F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x1AC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x234 JUMPI INVALID JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x2BC JUMPI INVALID JUMPDEST DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x3DDB739C68DD901671F09FBE0BC2344C179ED55F8E8110A7C7A3C5665BD9518D CALLER DUP5 DUP5 PUSH1 0x40 MLOAD DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PC 0xF8 BLOCKHASH MULMOD 0x49 SSTORE 0xEE SAR PUSH2 0x1AAB 0xE0 0xB1 0xAE 0x4A 0x2F 0xD1 0xB1 PUSH19 0x97CFAF1E69C7DB07D336D5448B64736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:696:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;282:468;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;88:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;282:468;344:4;395:7;368:12;:24;381:10;368:24;;;;;;;;;;;;;;;;:34;360:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;472:12;:17;485:3;472:17;;;;;;;;;;;;;;;;461:7;441:12;:17;454:3;441:17;;;;;;;;;;;;;;;;:27;:48;;434:56;;;;545:12;:24;558:10;545:24;;;;;;;;;;;;;;;;534:7;507:12;:24;520:10;507:24;;;;;;;;;;;;;;;;:34;:62;;500:70;;;;608:7;580:12;:24;593:10;580:24;;;;;;;;;;;;;;;;:35;;;;;;;;;;;646:7;625:12;:17;638:3;625:17;;;;;;;;;;;;;;;;:28;;;;;;;;;;;677:35;687:10;699:3;704:7;677:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:4;732:11;;282:468;;;;:::o;88:44::-;;;;;;;;;;;;;;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "211000", | |
"executionCost": "20354", | |
"totalCost": "231354" | |
}, | |
"external": { | |
"sendToken(address,uint256)": "48328", | |
"tokenBalance(address)": "1169" | |
} | |
}, | |
"methodIdentifiers": { | |
"sendToken(address,uint256)": "412664ae", | |
"tokenBalance(address)": "eedc966a" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_from", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "TokenSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_from", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "TokenSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/10_Events.sol": "EventSample" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/10_Events.sol": { | |
"keccak256": "0x1d5b1a46483ad1d8d9b91f94dbbf6ccb9a65d57b92bb5c2ce2368b73bc37dbd0", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://0b36ccb8401f6484407470c0eedd570d4913a62bf0eeee0afc779213815f852d", | |
"dweb:/ipfs/Qmdv6eT57phzXiGPcZMzPNgo3zGUtid68g8LfD8W6jtpoF" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506105cf806100206000396000f3fe6080604052600436106100385760003560e01c80636d26ec1814610049578063a3985c3314610053578063f274c8971461009057610047565b36610047576100456100b9565b005b005b6100516100b9565b005b34801561005f57600080fd5b5061007a60048036038101906100759190610341565b610110565b60405161008791906103f8565b60405180910390f35b34801561009c57600080fd5b506100b760048036038101906100b2919061036a565b610128565b005b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546101079190610424565b92505081905550565b60006020528060005260406000206000915090505481565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156101a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a0906103d8565b60405180910390fd5b60006001116101e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610259906103d8565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102b0919061047a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156102fd573d6000803e3d6000fd5b505050565b60008135905061031181610554565b92915050565b6000813590506103268161056b565b92915050565b60008135905061033b81610582565b92915050565b60006020828403121561035357600080fd5b600061036184828501610302565b91505092915050565b6000806040838503121561037d57600080fd5b600061038b85828601610317565b925050602061039c8582860161032c565b9150509250929050565b60006103b3601d83610413565b91506103be8261052b565b602082019050919050565b6103d2816104f2565b82525050565b600060208201905081810360008301526103f1816103a6565b9050919050565b600060208201905061040d60008301846103c9565b92915050565b600082825260208201905092915050565b600061042f826104f2565b915061043a836104f2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561046f5761046e6104fc565b5b828201905092915050565b6000610485826104f2565b9150610490836104f2565b9250828210156104a3576104a26104fc565b5b828203905092915050565b60006104b9826104d2565b9050919050565b60006104cb826104d2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f746869732062616c616e6365206973206e6f7420617661696c61626c65000000600082015250565b61055d816104ae565b811461056857600080fd5b50565b610574816104c0565b811461057f57600080fd5b50565b61058b816104f2565b811461059657600080fd5b5056fea2646970667358221220966cca192edf80000247897081a95e410bf8916fe80d2d2c5d8f3a82492e96e364736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5CF DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x49 JUMPI DUP1 PUSH4 0xA3985C33 EQ PUSH2 0x53 JUMPI DUP1 PUSH4 0xF274C897 EQ PUSH2 0x90 JUMPI PUSH2 0x47 JUMP JUMPDEST CALLDATASIZE PUSH2 0x47 JUMPI PUSH2 0x45 PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST STOP JUMPDEST PUSH2 0x51 PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x341 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x87 SWAP2 SWAP1 PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x36A JUMP JUMPDEST PUSH2 0x128 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x107 SWAP2 SWAP1 PUSH2 0x424 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x1A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A0 SWAP1 PUSH2 0x3D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 GT PUSH2 0x1E1 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x262 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x259 SWAP1 PUSH2 0x3D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x47A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x2FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x311 DUP2 PUSH2 0x554 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x326 DUP2 PUSH2 0x56B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x33B DUP2 PUSH2 0x582 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x361 DUP5 DUP3 DUP6 ADD PUSH2 0x302 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x38B DUP6 DUP3 DUP7 ADD PUSH2 0x317 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x39C DUP6 DUP3 DUP7 ADD PUSH2 0x32C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 PUSH1 0x1D DUP4 PUSH2 0x413 JUMP JUMPDEST SWAP2 POP PUSH2 0x3BE DUP3 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D2 DUP2 PUSH2 0x4F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3F1 DUP2 PUSH2 0x3A6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x40D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42F DUP3 PUSH2 0x4F2 JUMP JUMPDEST SWAP2 POP PUSH2 0x43A DUP4 PUSH2 0x4F2 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x46F JUMPI PUSH2 0x46E PUSH2 0x4FC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x485 DUP3 PUSH2 0x4F2 JUMP JUMPDEST SWAP2 POP PUSH2 0x490 DUP4 PUSH2 0x4F2 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x4A3 JUMPI PUSH2 0x4A2 PUSH2 0x4FC JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B9 DUP3 PUSH2 0x4D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CB DUP3 PUSH2 0x4D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x746869732062616C616E6365206973206E6F7420617661696C61626C65000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x55D DUP2 PUSH2 0x4AE JUMP JUMPDEST DUP2 EQ PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x574 DUP2 PUSH2 0x4C0 JUMP JUMPDEST DUP2 EQ PUSH2 0x57F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x58B DUP2 PUSH2 0x4F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH13 0xCA192EDF80000247897081A95E COINBASE SIGNEXTEND 0xF8 SWAP2 PUSH16 0xE80D2D2C5D8F3A82492E96E364736F6C PUSH4 0x43000801 STOP CALLER ", | |
"sourceMap": "57:900:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:4182:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "59:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "69:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "91:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "78:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "78:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "69:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "134:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "107:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "107:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "107:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "37:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "45:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "53:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "212:95:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "222:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "244:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "231:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "231:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "222:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "295:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "260:34:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "260:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "260:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "190:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "198:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "206:5:1", | |
"type": "" | |
} | |
], | |
"src": "152:155:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "365:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "375:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "397:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "384:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "375:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "440:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "413:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "413:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "413:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "343:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "351:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "359:5:1", | |
"type": "" | |
} | |
], | |
"src": "313:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "524:196:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "570:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "579:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "572:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "572:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "572:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "545:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "554:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "541:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "566:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "537:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "537:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "534:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "596:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "611:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "625:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "615:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "640:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "675:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "686:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "671:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "671:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "695:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "650:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "650:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "640:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "494:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "505:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "517:6:1", | |
"type": "" | |
} | |
], | |
"src": "458:262:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "817:332:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "863:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "872:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "875:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "865:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "865:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "865:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "838:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "847:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "834:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "834:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "859:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "830:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "830:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "827:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "889:125:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "904:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "918:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "908:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "933:71:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "976:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "987:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "972:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "972:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "996:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "943:28:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "943:61:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "933:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1024:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1039:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1053:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1043:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1069:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1104:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1115:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1100:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1100:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1124:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1079:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1079:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1069:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payablet_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "779:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "790:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "802:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "810:6:1", | |
"type": "" | |
} | |
], | |
"src": "726:423:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1301:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1311:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1377:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1382:2:1", | |
"type": "", | |
"value": "29" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1318:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1318:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1311:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1483:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56", | |
"nodeType": "YulIdentifier", | |
"src": "1394:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1394:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1394:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1496:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1507:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1512:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1503:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1503:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1496:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1289:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1297:3:1", | |
"type": "" | |
} | |
], | |
"src": "1155:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1592:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1609:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1632:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1614:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1614:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1602:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1602:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1602:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1580:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1587:3:1", | |
"type": "" | |
} | |
], | |
"src": "1527:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1822:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1832:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1844:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1855:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1840:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1840:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1832:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1879:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1890:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1875:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1875:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1898:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1904:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1894:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1894:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1868:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1868:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1868:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1924:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2058:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1932:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1932:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1924:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1802:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1817:4:1", | |
"type": "" | |
} | |
], | |
"src": "1651:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2174:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2184:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2196:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2207:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2192:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2192:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2184:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2264:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2277:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2288:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2273:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2273:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2220:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2220:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2220:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2146:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2158:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2169:4:1", | |
"type": "" | |
} | |
], | |
"src": "2076:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2400:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2417:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2422:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2410:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2410:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2410:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2438:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2457:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2462:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2453:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2453:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2438:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2372:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2377:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2388:11:1", | |
"type": "" | |
} | |
], | |
"src": "2304:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2523:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2533:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2556:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2538:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2538:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2533:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2567:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2590:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2572:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2572:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2567:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2730:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "2732:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2732:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2732:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2651:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2658:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2726:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2654:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2654:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2648:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2648:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2645:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2762:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2773:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2776:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2769:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2769:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "2762:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2510:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2513:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "2519:3:1", | |
"type": "" | |
} | |
], | |
"src": "2479:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2835:146:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2845:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2868:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2850:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2850:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2845:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2879:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2902:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2884:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2884:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2879:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2926:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "2928:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2928:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2928:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2920:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2923:1:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "2917:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2917:8:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2914:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2958:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "2970:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "2973:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2966:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2966:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "2958:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "2821:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "2824:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "2830:4:1", | |
"type": "" | |
} | |
], | |
"src": "2790:191:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3032:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3042:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3071:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3053:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3053:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3042:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3014:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3024:7:1", | |
"type": "" | |
} | |
], | |
"src": "2987:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3142:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3152:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3181:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3163:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3163:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3152:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3124:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3134:7:1", | |
"type": "" | |
} | |
], | |
"src": "3089:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3244:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3254:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3269:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3276:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "3265:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3265:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3254:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3226:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3236:7:1", | |
"type": "" | |
} | |
], | |
"src": "3199:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3376:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3386:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3397:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3386:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3358:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3368:7:1", | |
"type": "" | |
} | |
], | |
"src": "3331:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3442:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3459:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3462:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3452:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3452:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3452:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3556:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3559:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3549:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3549:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3549:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3580:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3583:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3573:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3573:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3573:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "3414:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3706:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3728:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3736:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3724:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3724:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "3740:31:1", | |
"type": "", | |
"value": "this balance is not available" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3717:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3717:55:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3717:55:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "3698:6:1", | |
"type": "" | |
} | |
], | |
"src": "3600:179:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3828:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3885:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3894:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3897:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3887:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3887:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3887:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3851:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3876:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3858:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3858:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "3848:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3848:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "3841:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3841:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3838:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3821:5:1", | |
"type": "" | |
} | |
], | |
"src": "3785:122:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3964:87:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4029:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4038:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4041:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4031:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4031:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4031:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3987:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4020:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "3994:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3994:32:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "3984:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3984:43:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "3977:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3977:51:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3974:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3957:5:1", | |
"type": "" | |
} | |
], | |
"src": "3913:138:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4100:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4157:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4166:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4169:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4159:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4159:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4159:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4123:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4148:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4130:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4130:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4120:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4120:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4113:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4113:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4110:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4093:5:1", | |
"type": "" | |
} | |
], | |
"src": "4057:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_payablet_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_527365c3fb57902cd812933939d40c84434a7ad4133f09505d8fe5de4c742c56(memPtr) {\n\n mstore(add(memPtr, 0), \"this balance is not available\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100385760003560e01c80636d26ec1814610049578063a3985c3314610053578063f274c8971461009057610047565b36610047576100456100b9565b005b005b6100516100b9565b005b34801561005f57600080fd5b5061007a60048036038101906100759190610341565b610110565b60405161008791906103f8565b60405180910390f35b34801561009c57600080fd5b506100b760048036038101906100b2919061036a565b610128565b005b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546101079190610424565b92505081905550565b60006020528060005260406000206000915090505481565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156101a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a0906103d8565b60405180910390fd5b60006001116101e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610259906103d8565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102b0919061047a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156102fd573d6000803e3d6000fd5b505050565b60008135905061031181610554565b92915050565b6000813590506103268161056b565b92915050565b60008135905061033b81610582565b92915050565b60006020828403121561035357600080fd5b600061036184828501610302565b91505092915050565b6000806040838503121561037d57600080fd5b600061038b85828601610317565b925050602061039c8582860161032c565b9150509250929050565b60006103b3601d83610413565b91506103be8261052b565b602082019050919050565b6103d2816104f2565b82525050565b600060208201905081810360008301526103f1816103a6565b9050919050565b600060208201905061040d60008301846103c9565b92915050565b600082825260208201905092915050565b600061042f826104f2565b915061043a836104f2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561046f5761046e6104fc565b5b828201905092915050565b6000610485826104f2565b9150610490836104f2565b9250828210156104a3576104a26104fc565b5b828203905092915050565b60006104b9826104d2565b9050919050565b60006104cb826104d2565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f746869732062616c616e6365206973206e6f7420617661696c61626c65000000600082015250565b61055d816104ae565b811461056857600080fd5b50565b610574816104c0565b811461057f57600080fd5b50565b61058b816104f2565b811461059657600080fd5b5056fea2646970667358221220966cca192edf80000247897081a95e410bf8916fe80d2d2c5d8f3a82492e96e364736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x49 JUMPI DUP1 PUSH4 0xA3985C33 EQ PUSH2 0x53 JUMPI DUP1 PUSH4 0xF274C897 EQ PUSH2 0x90 JUMPI PUSH2 0x47 JUMP JUMPDEST CALLDATASIZE PUSH2 0x47 JUMPI PUSH2 0x45 PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST STOP JUMPDEST PUSH2 0x51 PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x341 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x87 SWAP2 SWAP1 PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x36A JUMP JUMPDEST PUSH2 0x128 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x107 SWAP2 SWAP1 PUSH2 0x424 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x1A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A0 SWAP1 PUSH2 0x3D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 GT PUSH2 0x1E1 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x262 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x259 SWAP1 PUSH2 0x3D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2B0 SWAP2 SWAP1 PUSH2 0x47A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x2FD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x311 DUP2 PUSH2 0x554 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x326 DUP2 PUSH2 0x56B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x33B DUP2 PUSH2 0x582 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x361 DUP5 DUP3 DUP6 ADD PUSH2 0x302 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x38B DUP6 DUP3 DUP7 ADD PUSH2 0x317 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x39C DUP6 DUP3 DUP7 ADD PUSH2 0x32C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B3 PUSH1 0x1D DUP4 PUSH2 0x413 JUMP JUMPDEST SWAP2 POP PUSH2 0x3BE DUP3 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3D2 DUP2 PUSH2 0x4F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3F1 DUP2 PUSH2 0x3A6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x40D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42F DUP3 PUSH2 0x4F2 JUMP JUMPDEST SWAP2 POP PUSH2 0x43A DUP4 PUSH2 0x4F2 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x46F JUMPI PUSH2 0x46E PUSH2 0x4FC JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x485 DUP3 PUSH2 0x4F2 JUMP JUMPDEST SWAP2 POP PUSH2 0x490 DUP4 PUSH2 0x4F2 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x4A3 JUMPI PUSH2 0x4A2 PUSH2 0x4FC JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B9 DUP3 PUSH2 0x4D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4CB DUP3 PUSH2 0x4D2 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x746869732062616C616E6365206973206E6F7420617661696C61626C65000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x55D DUP2 PUSH2 0x4AE JUMP JUMPDEST DUP2 EQ PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x574 DUP2 PUSH2 0x4C0 JUMP JUMPDEST DUP2 EQ PUSH2 0x57F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x58B DUP2 PUSH2 0x4F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH13 0xCA192EDF80000247897081A95E COINBASE SIGNEXTEND 0xF8 SWAP2 PUSH16 0xE80D2D2C5D8F3A82492E96E364736F6C PUSH4 0x43000801 STOP CALLER ", | |
"sourceMap": "57:900:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:14;:12;:14::i;:::-;57:900;;;154:97;;;:::i;:::-;;95:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;261:550;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;154:97;235:9;203:16;:28;220:10;203:28;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;154:97::o;95:48::-;;;;;;;;;;;;;;;;;:::o;261:550::-;355:16;:28;372:10;355:28;;;;;;;;;;;;;;;;344:7;:39;;336:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;438:1;434;:5;427:13;;;;;;;;;;;;514:16;:28;531:10;514:28;;;;;;;;;;;;;;;;504:7;:38;501:106;;;557:39;;;;;;;;;;:::i;:::-;;;;;;;;501:106;766:7;734:16;:28;751:10;734:28;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;783:3;:12;;:21;796:7;783:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;261:550;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:139::-;;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;365:87;;;;:::o;458:262::-;;566:2;554:9;545:7;541:23;537:32;534:2;;;582:1;579;572:12;534:2;625:1;650:53;695:7;686:6;675:9;671:22;650:53;:::i;:::-;640:63;;596:117;524:196;;;;:::o;726:423::-;;;859:2;847:9;838:7;834:23;830:32;827:2;;;875:1;872;865:12;827:2;918:1;943:61;996:7;987:6;976:9;972:22;943:61;:::i;:::-;933:71;;889:125;1053:2;1079:53;1124:7;1115:6;1104:9;1100:22;1079:53;:::i;:::-;1069:63;;1024:118;817:332;;;;;:::o;1155:366::-;;1318:67;1382:2;1377:3;1318:67;:::i;:::-;1311:74;;1394:93;1483:3;1394:93;:::i;:::-;1512:2;1507:3;1503:12;1496:19;;1301:220;;;:::o;1527:118::-;1614:24;1632:5;1614:24;:::i;:::-;1609:3;1602:37;1592:53;;:::o;1651:419::-;;1855:2;1844:9;1840:18;1832:26;;1904:9;1898:4;1894:20;1890:1;1879:9;1875:17;1868:47;1932:131;2058:4;1932:131;:::i;:::-;1924:139;;1822:248;;;:::o;2076:222::-;;2207:2;2196:9;2192:18;2184:26;;2220:71;2288:1;2277:9;2273:17;2264:6;2220:71;:::i;:::-;2174:124;;;;:::o;2304:169::-;;2422:6;2417:3;2410:19;2462:4;2457:3;2453:14;2438:29;;2400:73;;;;:::o;2479:305::-;;2538:20;2556:1;2538:20;:::i;:::-;2533:25;;2572:20;2590:1;2572:20;:::i;:::-;2567:25;;2726:1;2658:66;2654:74;2651:1;2648:81;2645:2;;;2732:18;;:::i;:::-;2645:2;2776:1;2773;2769:9;2762:16;;2523:261;;;;:::o;2790:191::-;;2850:20;2868:1;2850:20;:::i;:::-;2845:25;;2884:20;2902:1;2884:20;:::i;:::-;2879:25;;2923:1;2920;2917:8;2914:2;;;2928:18;;:::i;:::-;2914:2;2973:1;2970;2966:9;2958:17;;2835:146;;;;:::o;2987:96::-;;3053:24;3071:5;3053:24;:::i;:::-;3042:35;;3032:51;;;:::o;3089:104::-;;3163:24;3181:5;3163:24;:::i;:::-;3152:35;;3142:51;;;:::o;3199:126::-;;3276:42;3269:5;3265:54;3254:65;;3244:81;;;:::o;3331:77::-;;3397:5;3386:16;;3376:32;;;:::o;3414:180::-;3462:77;3459:1;3452:88;3559:4;3556:1;3549:15;3583:4;3580:1;3573:15;3600:179;3740:31;3736:1;3728:6;3724:14;3717:55;3706:73;:::o;3785:122::-;3858:24;3876:5;3858:24;:::i;:::-;3851:5;3848:35;3838:2;;3897:1;3894;3887:12;3838:2;3828:79;:::o;3913:138::-;3994:32;4020:5;3994:32;:::i;:::-;3987:5;3984:43;3974:2;;4041:1;4038;4031:12;3974:2;3964:87;:::o;4057:122::-;4130:24;4148:5;4130:24;:::i;:::-;4123:5;4120:35;4110:2;;4169:1;4166;4159:12;4110:2;4100:79;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "297400", | |
"executionCost": "337", | |
"totalCost": "297737" | |
}, | |
"external": { | |
"": "129", | |
"balancedReceived(address)": "1514", | |
"receiveMoney()": "infinite", | |
"withdrawMoney(address,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"balancedReceived(address)": "a3985c33", | |
"receiveMoney()": "6d26ec18", | |
"withdrawMoney(address,uint256)": "f274c897" | |
} | |
}, | |
"abi": [ | |
{ | |
"stateMutability": "payable", | |
"type": "fallback" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "balancedReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.1+commit.df193b15" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"stateMutability": "payable", | |
"type": "fallback" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "balancedReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/7_Exception.sol": "ExceptionContract" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/7_Exception.sol": { | |
"keccak256": "0x413c4d3982ba2c0a3e92eea805f3f443ae589cbeaddf3afb8267a74acddb4158", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://d8ecd64b72e88af96bb45aca69704652860128b4ab598a7d2bfe3a82f9e6e739", | |
"dweb:/ipfs/QmRh32tkNHfHHS9mhjpiQQSuZWErPSdbMRFcqm4ZiZszk3" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061061e806100616000396000f3fe6080604052600436106100595760003560e01c80636d26ec181461006d5780638547472814610077578063893d20e81461008e578063d18a42e1146100cf578063d487733414610134578063f274c8971461018357610068565b36610068576100666101de565b005b600080fd5b6100756101de565b005b34801561008357600080fd5b5061008c6102b4565b005b34801561009a57600080fd5b506100a3610395565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100db57600080fd5b5061011e600480360360208110156100f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bf565b6040518082815260200191505060405180910390f35b34801561014057600080fd5b5061016d6004803603602081101561015757600080fd5b81019080803590602001909291905050506103d7565b6040518082815260200191505060405180910390f35b34801561018f57600080fd5b506101dc600480360360408110156101a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103f2565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561026657fe5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461035a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806105c56024913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006020528060005260406000206000915090505481565b6000670de0b6b3a764000082816103ea57fe5b049050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481106104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646f206e6f74206861766520616c6c2074686973206d6f6e6579000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403111561052d57fe5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105bf573d6000803e3d6000fd5b50505056fe6f6e6c79206f776e65722063616e2064657374726f79207468697320636f6e7472616374a2646970667358221220751b553ab97222eb86a68ad49e9b4ffe8f0d1ada64dd72147e8048bb86380a6564736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x61E DUP1 PUSH2 0x61 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x59 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0x85474728 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xD18A42E1 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xD4877334 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0xF274C897 EQ PUSH2 0x183 JUMPI PUSH2 0x68 JUMP JUMPDEST CALLDATASIZE PUSH2 0x68 JUMPI PUSH2 0x66 PUSH2 0x1DE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH2 0x1DE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0x2B4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3F2 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x266 JUMPI INVALID JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x35A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x5C5 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 DUP2 PUSH2 0x3EA JUMPI INVALID JUMPDEST DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT PUSH2 0x4A5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520646F206E6F74206861766520616C6C2074686973206D6F6E65790000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x52D JUMPI INVALID JUMPDEST DUP1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x5BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP INVALID PUSH16 0x6E6C79206F776E65722063616E206465 PUSH20 0x74726F79207468697320636F6E7472616374A264 PUSH10 0x70667358221220751B55 GASPRICE 0xB9 PUSH19 0x22EB86A68AD49E9B4FFE8F0D1ADA64DD72147E DUP1 0x48 0xBB DUP7 CODESIZE EXP PUSH6 0x64736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:1194:0:-:0;;;177:49;;;;;;;;;;209:10;201:5;;:18;;;;;;;;;;;;;;;;;;56:1194;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100595760003560e01c80636d26ec181461006d5780638547472814610077578063893d20e81461008e578063d18a42e1146100cf578063d487733414610134578063f274c8971461018357610068565b36610068576100666101de565b005b600080fd5b6100756101de565b005b34801561008357600080fd5b5061008c6102b4565b005b34801561009a57600080fd5b506100a3610395565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100db57600080fd5b5061011e600480360360208110156100f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bf565b6040518082815260200191505060405180910390f35b34801561014057600080fd5b5061016d6004803603602081101561015757600080fd5b81019080803590602001909291905050506103d7565b6040518082815260200191505060405180910390f35b34801561018f57600080fd5b506101dc600480360360408110156101a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103f2565b005b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561026657fe5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461035a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806105c56024913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006020528060005260406000206000915090505481565b6000670de0b6b3a764000082816103ea57fe5b049050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481106104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646f206e6f74206861766520616c6c2074686973206d6f6e6579000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403111561052d57fe5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105bf573d6000803e3d6000fd5b50505056fe6f6e6c79206f776e65722063616e2064657374726f79207468697320636f6e7472616374a2646970667358221220751b553ab97222eb86a68ad49e9b4ffe8f0d1ada64dd72147e8048bb86380a6564736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x59 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0x85474728 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0xD18A42E1 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xD4877334 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0xF274C897 EQ PUSH2 0x183 JUMPI PUSH2 0x68 JUMP JUMPDEST CALLDATASIZE PUSH2 0x68 JUMPI PUSH2 0x66 PUSH2 0x1DE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x75 PUSH2 0x1DE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0x2B4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DC PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x3F2 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x266 JUMPI INVALID JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x35A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x5C5 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 DUP2 PUSH2 0x3EA JUMPI INVALID JUMPDEST DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 LT PUSH2 0x4A5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520646F206E6F74206861766520616C6C2074686973206D6F6E65790000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x52D JUMPI INVALID JUMPDEST DUP1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x5BF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP INVALID PUSH16 0x6E6C79206F776E65722063616E206465 PUSH20 0x74726F79207468697320636F6E7472616374A264 PUSH10 0x70667358221220751B55 GASPRICE 0xB9 PUSH19 0x22EB86A68AD49E9B4FFE8F0D1ADA64DD72147E DUP1 0x48 0xBB DUP7 CODESIZE EXP PUSH6 0x64736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:1194:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1227:14;:12;:14::i;:::-;56:1194;;;;;612:231;;;:::i;:::-;;449:153;;;;;;;;;;;;;:::i;:::-;;236:78;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;87:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;324:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;853:327;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;612:231;758:15;:27;774:10;758:27;;;;;;;;;;;;;;;;745:9;715:15;:27;731:10;715:27;;;;;;;;;;;;;;;;:39;:70;;708:78;;;;827:9;796:15;:27;812:10;796:27;;;;;;;;;;;;;;;;:40;;;;;;;;;;;612:231::o;449:153::-;520:5;;;;;;;;;;;506:19;;:10;:19;;;498:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;589:5;;;;;;;;;;;576:19;;;236:78;276:7;302:5;;;;;;;;;;;295:12;;236:78;:::o;87:47::-;;;;;;;;;;;;;;;;;:::o;324:115::-;383:4;425:7;415;:17;;;;;;408:24;;324:115;;;:::o;853:327::-;946:15;:27;962:10;946:27;;;;;;;;;;;;;;;;936:7;:37;928:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:15;:27;1082:10;1066:27;;;;;;;;;;;;;;;;1055:7;1025:15;:27;1041:10;1025:27;;;;;;;;;;;;;;;;:37;:68;;1018:76;;;;1135:7;1104:15;:27;1120:10;1104:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;1152:3;:12;;:21;1165:7;1152:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;853:327;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "313200", | |
"executionCost": "21215", | |
"totalCost": "334415" | |
}, | |
"external": { | |
"balanceReceived(address)": "1213", | |
"convertWeiToETH(uint256)": "391", | |
"destroySmartContract()": "infinite", | |
"getOwner()": "1077", | |
"receiveMoney()": "22828", | |
"withdrawMoney(address,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"balanceReceived(address)": "d18a42e1", | |
"convertWeiToETH(uint256)": "d4877334", | |
"destroySmartContract()": "85474728", | |
"getOwner()": "893d20e8", | |
"receiveMoney()": "6d26ec18", | |
"withdrawMoney(address,uint256)": "f274c897" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "balanceReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "convertWeiToETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "destroySmartContract", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getOwner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "balanceReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "convertWeiToETH", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "destroySmartContract", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getOwner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/08_Functions.sol": "FuntionsExample" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/08_Functions.sol": { | |
"keccak256": "0x44d508b5a0e48e9ac656956956d6c0ad7767d62387ca7e9bcbd9c8e56e8d9d3c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://d1641e4455d8f1dafb0493835d3677a0fd9eed460568cee8a2c35891dfb5cc57", | |
"dweb:/ipfs/QmZeqwxAqbzhXf3g6u9gr4yU63xTjghaMiMacUiwjBa6a9" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "6080604052670de0b6b3a764000060025534801561001c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610883806100d26000396000f3fe60806040526004361061004a5760003560e01c806337fb8aea1461004f578063412664ae14610059578063754fc38c146100b4578063eedc966a146100cb578063faa0a26414610130575b600080fd5b610057610147565b005b34801561006557600080fd5b506100b26004803603604081101561007c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102fd565b005b3480156100c057600080fd5b506100c9610564565b005b3480156100d757600080fd5b5061011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610697565b6040518082815260200191505060405180910390f35b34801561013c57600080fd5b506101456106af565b005b600034600254600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205402816101b657fe5b041161022a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600254348161023557fe5b04600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060025434816102ae57fe5b04600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561043c57fe5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156104c657fe5b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550565b60016020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107da57fe5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060019003919050555056fea264697066735822122017bfb6ba25ea18c46bdf2486fd976116c0104312ba279d7a65559df66f2d66a564736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x2 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x64 PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x883 DUP1 PUSH2 0xD2 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x37FB8AEA EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x412664AE EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x754FC38C EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0xFAA0A264 EQ PUSH2 0x130 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57 PUSH2 0x147 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2FD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x564 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x697 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x145 PUSH2 0x6AF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 PUSH2 0x1B6 JUMPI INVALID JUMPDEST DIV GT PUSH2 0x22A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE DUP2 PUSH2 0x235 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x2 SLOAD CALLVALUE DUP2 PUSH2 0x2AE JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x3B2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x43C JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x4C6 JUMPI INVALID JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x625 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520617265206E6F7420746865206F776E65720000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x770 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520617265206E6F7420746865206F776E65720000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x7DA JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 SWAP1 SUB SWAP2 SWAP1 POP SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR 0xBF 0xB6 0xBA 0x25 0xEA XOR 0xC4 PUSH12 0xDF2486FD976116C0104312BA 0x27 SWAP14 PUSH27 0x65559DF66F2D66A564736F6C634300070600330000000000000000 ", | |
"sourceMap": "80:1093:0:-:0;;;210:7;192:25;;228:57;;;;;;;;;;135:10:1;127:5;;:18;;;;;;;;;;;;;;;;;;275:3:0;253:12;:19;266:5;;;;;;;;;;;253:19;;;;;;;;;;;;;;;:25;;;;80:1093;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "60806040526004361061004a5760003560e01c806337fb8aea1461004f578063412664ae14610059578063754fc38c146100b4578063eedc966a146100cb578063faa0a26414610130575b600080fd5b610057610147565b005b34801561006557600080fd5b506100b26004803603604081101561007c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102fd565b005b3480156100c057600080fd5b506100c9610564565b005b3480156100d757600080fd5b5061011a600480360360208110156100ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610697565b6040518082815260200191505060405180910390f35b34801561013c57600080fd5b506101456106af565b005b600034600254600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205402816101b657fe5b041161022a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600254348161023557fe5b04600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555060025434816102ae57fe5b04600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000081525060200191505060405180910390fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561043c57fe5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540311156104c657fe5b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550565b60016020528060005260406000206000915090505481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610770576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b60018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107da57fe5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060019003919050555056fea264697066735822122017bfb6ba25ea18c46bdf2486fd976116c0104312ba279d7a65559df66f2d66a564736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x37FB8AEA EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x412664AE EQ PUSH2 0x59 JUMPI DUP1 PUSH4 0x754FC38C EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0xFAA0A264 EQ PUSH2 0x130 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57 PUSH2 0x147 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2FD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x564 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x697 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x145 PUSH2 0x6AF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD MUL DUP2 PUSH2 0x1B6 JUMPI INVALID JUMPDEST DIV GT PUSH2 0x22A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE DUP2 PUSH2 0x235 JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x2 SLOAD CALLVALUE DUP2 PUSH2 0x2AE JUMPI INVALID JUMPDEST DIV PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x3B2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD ADD LT ISZERO PUSH2 0x43C JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SUB GT ISZERO PUSH2 0x4C6 JUMPI INVALID JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x625 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520617265206E6F7420746865206F776E65720000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x770 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x15 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520617265206E6F7420746865206F776E65720000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x7DA JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 SWAP1 SUB SWAP2 SWAP1 POP SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR 0xBF 0xB6 0xBA 0x25 0xEA XOR 0xC4 PUSH12 0xDF2486FD976116C0104312BA 0x27 SWAP14 PUSH27 0x65559DF66F2D66A564736F6C634300070600330000000000000000 ", | |
"sourceMap": "80:1093:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;519:254;;;:::i;:::-;;783:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;300:81;;;;;;;;;;;;;:::i;:::-;;136:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;391:118;;;;;;;;;;;;;:::i;:::-;;519:254;628:1;616:9;601:10;;579:12;:19;592:5;;;;;;;;;;;579:19;;;;;;;;;;;;;;;;:32;578:47;;;;;;:51;570:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;696:10;;684:9;:22;;;;;;661:12;:19;674:5;;;;;;;;;;;661:19;;;;;;;;;;;;;;;;:45;;;;;;;;;;;756:10;;744:9;:22;;;;;;716:12;:24;729:10;716:24;;;;;;;;;;;;;;;;:50;;;;;;;;;;;519:254::o;783:373::-;882:7;854:12;:24;867:10;854:24;;;;;;;;;;;;;;;;:35;;846:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;959:12;:17;972:3;959:17;;;;;;;;;;;;;;;;948:7;928:12;:17;941:3;928:17;;;;;;;;;;;;;;;;:27;:48;;921:56;;;;1032:12;:24;1045:10;1032:24;;;;;;;;;;;;;;;;1021:7;994:12;:24;1007:10;994:24;;;;;;;;;;;;;;;;:34;:62;;987:70;;;;1104:7;1076:12;:24;1089:10;1076:24;;;;;;;;;;;;;;;;:35;;;;;;;;;;;1142:7;1121:12;:17;1134:3;1121:17;;;;;;;;;;;;;;;;:28;;;;;;;;;;;783:373;;:::o;300:81::-;215:5:1;;;;;;;;;;201:19;;:10;:19;;;193:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:12:0::1;:19;366:5:::0;::::1;;;;;;;;;;353:19;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;300:81::o:0;136:44::-;;;;;;;;;;;;;;;;;:::o;391:118::-;215:5:1;;;;;;;;;;201:19;;:10;:19;;;193:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:1:0::1;446:12:::0;:19:::1;459:5:::0;::::1;;;;;;;;;;446:19;;;;;;;;;;;;;;;;:24;;439:32;;;;481:12;:19;494:5:::0;::::1;;;;;;;;;;481:19;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;391:118::o:0" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "435800", | |
"executionCost": "62286", | |
"totalCost": "498086" | |
}, | |
"external": { | |
"burnToken()": "24595", | |
"createNewToken()": "22796", | |
"purcharseToken()": "47008", | |
"sendToken(address,uint256)": "46645", | |
"tokenBalance(address)": "1213" | |
} | |
}, | |
"methodIdentifiers": { | |
"burnToken()": "faa0a264", | |
"createNewToken()": "754fc38c", | |
"purcharseToken()": "37fb8aea", | |
"sendToken(address,uint256)": "412664ae", | |
"tokenBalance(address)": "eedc966a" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "burnToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "createNewToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "purcharseToken", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "burnToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "createNewToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "purcharseToken", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/9_Modifier.sol": "InheritanceModifierExample" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/9_Modifier.sol": { | |
"keccak256": "0x253d8ff0af2488a6d5fbaa0bb8c2aa681bf64d551273f5a4a0021b0473832a7d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f256834336936ae1d113a295c8b08437cd76e345feaef48cf33014661a54c94b", | |
"dweb:/ipfs/QmYRh9vrqzSYU5VpU49PVAmkbDqT9SYpRyCTiFFRPTSaaU" | |
] | |
}, | |
"contracts/Owned.sol": { | |
"keccak256": "0x9238d02c7678b23fa1d6dcead94631f0846708fe6d2795e856aba6300cf62c81", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://cfec557091daee1038e6a5b2699dc85d42ca380ce26d203dbd556c2b2b74335e", | |
"dweb:/ipfs/Qmf1PuMjUXwTTuVT7yjZ9HfXqaUjQjHWW26WDsV9koT9Yz" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1712:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "89:99:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "99:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "114:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "108:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "108:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "99:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "176:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_contract$_ItemManager_$279", | |
"nodeType": "YulIdentifier", | |
"src": "130:45:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "130:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "130:52:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_contract$_ItemManager_$279_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "67:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "75:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "83:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:181:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "257:80:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "267:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "282:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "276:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "276:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "267:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "325:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "298:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "298:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "298:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "235:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "243:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "251:5:1", | |
"type": "" | |
} | |
], | |
"src": "194:143:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "473:504:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "519:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "528:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "531:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "521:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "521:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "521:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "494:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "503:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "490:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "490:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "515:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "486:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "486:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "483:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "545:147:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "560:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "574:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "564:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "589:93:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "654:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "665:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "650:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "650:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "674:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_contract$_ItemManager_$279_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "599:50:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "599:83:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "589:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "702:129:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "717:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "731:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "721:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "747:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "793:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "804:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "789:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "813:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "757:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "757:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "747:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "841:129:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "856:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "870:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "860:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "886:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "932:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "943:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "928:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "928:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "952:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "896:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "896:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "886:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_contract$_ItemManager_$279t_uint256t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "427:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "438:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "450:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "458:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "466:6:1", | |
"type": "" | |
} | |
], | |
"src": "343:634:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1028:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1038:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1067:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "1049:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1049:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1038:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1010:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1020:7:1", | |
"type": "" | |
} | |
], | |
"src": "983:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1149:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1159:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1188:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1170:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1170:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1159:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_contract$_ItemManager_$279", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1131:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1141:7:1", | |
"type": "" | |
} | |
], | |
"src": "1085:115:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1251:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1261:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1276:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1283:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "1272:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1272:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1261:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1233:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1243:7:1", | |
"type": "" | |
} | |
], | |
"src": "1206:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1383:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1393:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1404:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1393:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1365:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1375:7:1", | |
"type": "" | |
} | |
], | |
"src": "1338:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1483:98:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1559:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1568:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1571:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1561:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1561:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1561:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1506:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1550:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_contract$_ItemManager_$279", | |
"nodeType": "YulIdentifier", | |
"src": "1513:36:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1513:43:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1503:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1503:54:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1496:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1496:62:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1493:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_contract$_ItemManager_$279", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1476:5:1", | |
"type": "" | |
} | |
], | |
"src": "1421:160:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1630:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1687:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1696:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1699:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1689:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1689:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1689:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1653:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1678:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1660:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1660:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1650:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1650:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1643:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1643:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1640:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1623:5:1", | |
"type": "" | |
} | |
], | |
"src": "1587:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_contract$_ItemManager_$279_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_ItemManager_$279(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_contract$_ItemManager_$279t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_ItemManager_$279_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_contract$_ItemManager_$279(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_contract$_ItemManager_$279(value) {\n if iszero(eq(value, cleanup_t_contract$_ItemManager_$279(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50604051610745380380610745833981810160405281019061003291906100b3565b816000819055508060028190555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505061017e565b60008151905061009881610150565b92915050565b6000815190506100ad81610167565b92915050565b6000806000606084860312156100c857600080fd5b60006100d686828701610089565b93505060206100e78682870161009e565b92505060406100f88682870161009e565b9150509250925092565b600061010d82610126565b9050919050565b600061011f82610102565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b61015981610114565b811461016457600080fd5b50565b61017081610146565b811461017b57600080fd5b50565b6105b88061018d6000396000f3fe6080604052600436106100385760003560e01c80632986c0e5146102505780633c8da5881461027b57806389794d00146102a657610241565b3661024157600060015414610082576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610079906103a3565b60405180910390fd5b34600054146100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906103e3565b60405180910390fd5b34600160008282546100d89190610445565b925050819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460025460405160240161012e9190610403565b6040516020818303038152906040527f800fb83f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101b8919061038c565b60006040518083038185875af1925050503d80600081146101f5576040519150601f19603f3d011682016040523d82523d6000602084013e6101fa565b606091505b505090508061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906103c3565b60405180910390fd5b50005b34801561024d57600080fd5b50005b34801561025c57600080fd5b506102656102d1565b6040516102729190610403565b60405180910390f35b34801561028757600080fd5b506102906102d7565b60405161029d9190610403565b60405180910390f35b3480156102b257600080fd5b506102bb6102dd565b6040516102c89190610403565b60405180910390f35b60025481565b60005481565b60015481565b60006102ee8261041e565b6102f88185610429565b93506103088185602086016104a5565b80840191505092915050565b6000610321601683610434565b915061032c82610507565b602082019050919050565b6000610344601d83610434565b915061034f82610530565b602082019050919050565b6000610367601c83610434565b915061037282610559565b602082019050919050565b6103868161049b565b82525050565b600061039882846102e3565b915081905092915050565b600060208201905081810360008301526103bc81610314565b9050919050565b600060208201905081810360008301526103dc81610337565b9050919050565b600060208201905081810360008301526103fc8161035a565b9050919050565b6000602082019050610418600083018461037d565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006104508261049b565b915061045b8361049b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104905761048f6104d8565b5b828201905092915050565b6000819050919050565b60005b838110156104c35780820151818401526020810190506104a8565b838111156104d2576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4974656d20697320616c72656164792070616964656400000000000000000000600082015250565b7f54726173616374696f6e206661696c65642c2063616e63656c6c696e67000000600082015250565b7f77726f6e672076616c75652073656e742c2063616e63656c6c696e670000000060008201525056fea26469706673582212204693d3d3f4818de11feee99c6e7ab47f348b376c30a6efb965eff4b596049edc64736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x745 CODESIZE SUB DUP1 PUSH2 0x745 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xB3 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x98 DUP2 PUSH2 0x150 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xAD DUP2 PUSH2 0x167 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP7 DUP3 DUP8 ADD PUSH2 0x89 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE7 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xF8 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10D DUP3 PUSH2 0x126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11F DUP3 PUSH2 0x102 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x114 JUMP JUMPDEST DUP2 EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x170 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5B8 DUP1 PUSH2 0x18D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2986C0E5 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x3C8DA588 EQ PUSH2 0x27B JUMPI DUP1 PUSH4 0x89794D00 EQ PUSH2 0x2A6 JUMPI PUSH2 0x241 JUMP JUMPDEST CALLDATASIZE PUSH2 0x241 JUMPI PUSH1 0x0 PUSH1 0x1 SLOAD EQ PUSH2 0x82 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x79 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x0 SLOAD EQ PUSH2 0xC6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD SWAP1 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x800FB83F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x23E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x235 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x290 PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BB PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x2F8 DUP2 DUP6 PUSH2 0x429 JUMP JUMPDEST SWAP4 POP PUSH2 0x308 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4A5 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 PUSH1 0x16 DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C DUP3 PUSH2 0x507 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH1 0x1D DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F DUP3 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x367 PUSH1 0x1C DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x372 DUP3 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x49B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398 DUP3 DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BC DUP2 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DC DUP2 PUSH2 0x337 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3FC DUP2 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x418 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x49B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x490 JUMPI PUSH2 0x48F PUSH2 0x4D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x4D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4974656D20697320616C72656164792070616964656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54726173616374696F6E206661696C65642C2063616E63656C6C696E67000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x77726F6E672076616C75652073656E742C2063616E63656C6C696E6700000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID SWAP4 0xD3 0xD3 DELEGATECALL DUP2 DUP14 0xE1 0x1F 0xEE 0xE9 SWAP13 PUSH15 0x7AB47F348B376C30A6EFB965EFF4B5 SWAP7 DIV SWAP15 0xDC PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER ", | |
"sourceMap": "58:827:0:-:0;;;198:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;296:11;283:10;:24;;;;327:6;319:5;:14;;;;362:15;345:14;;:32;;;;;;;;;;;;;;;;;;198:186;;;58:827;;7:181:1;;114:6;108:13;99:22;;130:52;176:5;130:52;:::i;:::-;89:99;;;;:::o;194:143::-;;282:6;276:13;267:22;;298:33;325:5;298:33;:::i;:::-;257:80;;;;:::o;343:634::-;;;;515:2;503:9;494:7;490:23;486:32;483:2;;;531:1;528;521:12;483:2;574:1;599:83;674:7;665:6;654:9;650:22;599:83;:::i;:::-;589:93;;545:147;731:2;757:64;813:7;804:6;793:9;789:22;757:64;:::i;:::-;747:74;;702:129;870:2;896:64;952:7;943:6;932:9;928:22;896:64;:::i;:::-;886:74;;841:129;473:504;;;;;:::o;983:96::-;;1049:24;1067:5;1049:24;:::i;:::-;1038:35;;1028:51;;;:::o;1085:115::-;;1170:24;1188:5;1170:24;:::i;:::-;1159:35;;1149:51;;;:::o;1206:126::-;;1283:42;1276:5;1272:54;1261:65;;1251:81;;;:::o;1338:77::-;;1404:5;1393:16;;1383:32;;;:::o;1421:160::-;1513:43;1550:5;1513:43;:::i;:::-;1506:5;1503:54;1493:2;;1571:1;1568;1561:12;1493:2;1483:98;:::o;1587:122::-;1660:24;1678:5;1660:24;:::i;:::-;1653:5;1650:35;1640:2;;1699:1;1696;1689:12;1640:2;1630:79;:::o;58:827:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:5275:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "115:265:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "125:52:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "171:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "139:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "139:38:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "129:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "186:95:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "269:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "274:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "193:75:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "193:88:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "186:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "316:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "323:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "312:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "312:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "330:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "335:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "290:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "290:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "290:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "351:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "362:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "367:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "358:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "358:16:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "351:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "96:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "103:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "111:3:1", | |
"type": "" | |
} | |
], | |
"src": "7:373:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "532:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "542:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "608:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "613:2:1", | |
"type": "", | |
"value": "22" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "549:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "549:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "542:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "714:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048", | |
"nodeType": "YulIdentifier", | |
"src": "625:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "625:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "625:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "727:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "738:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "743:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "734:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "734:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "727:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "520:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "528:3:1", | |
"type": "" | |
} | |
], | |
"src": "386:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "904:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "914:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "980:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "29" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "921:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "921:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "914:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1086:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404", | |
"nodeType": "YulIdentifier", | |
"src": "997:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1099:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1110:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1115:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1106:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1106:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1099:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "892:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "900:3:1", | |
"type": "" | |
} | |
], | |
"src": "758:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1276:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1286:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1352:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1357:2:1", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1293:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1286:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1458:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04", | |
"nodeType": "YulIdentifier", | |
"src": "1369:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1369:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1369:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1471:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1482:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1487:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1478:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1478:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1471:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1264:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1272:3:1", | |
"type": "" | |
} | |
], | |
"src": "1130:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1567:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1584:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1607:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1589:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1589:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1577:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1577:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1577:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1555:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1562:3:1", | |
"type": "" | |
} | |
], | |
"src": "1502:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1760:137:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1771:100:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1858:6:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1867:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1778:79:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1778:93:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1771:3:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1881:10:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1888:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1881:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1739:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1745:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1756:3:1", | |
"type": "" | |
} | |
], | |
"src": "1626:271:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2074:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2084:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2096:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2107:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2092:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2092:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2084:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2131:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2142:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2127:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2127:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2150:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2156:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2146:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2146:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2120:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2120:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2176:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2310:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2184:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2184:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2176:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2054:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2069:4:1", | |
"type": "" | |
} | |
], | |
"src": "1903:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2499:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2509:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2521:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2532:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2517:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2517:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2509:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2556:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2567:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2552:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2552:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2575:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2581:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2571:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2571:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2545:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2545:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2545:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2601:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2735:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2609:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2609:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2601:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2479:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2494:4:1", | |
"type": "" | |
} | |
], | |
"src": "2328:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2924:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2934:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2946:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2957:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2942:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2942:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2934:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2981:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2992:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2977:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2977:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3000:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3006:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2996:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2996:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2970:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2970:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2970:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3026:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3160:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3034:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3034:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3026:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2904:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2919:4:1", | |
"type": "" | |
} | |
], | |
"src": "2753:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3276:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3286:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3298:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3309:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3294:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3294:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3286:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3366:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3379:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3390:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3375:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3375:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3322:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3322:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3322:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3248:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3260:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3271:4:1", | |
"type": "" | |
} | |
], | |
"src": "3178:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3464:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3475:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3491:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "3485:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3485:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3475:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3447:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3457:6:1", | |
"type": "" | |
} | |
], | |
"src": "3406:98:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3623:34:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3633:18:1", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3648:3:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "3633:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3595:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3600:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "3611:11:1", | |
"type": "" | |
} | |
], | |
"src": "3510:147:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3759:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3776:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3781:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3769:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3769:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3769:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3797:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3816:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3821:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3812:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3812:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "3797:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3731:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3736:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "3747:11:1", | |
"type": "" | |
} | |
], | |
"src": "3663:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3882:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3892:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3915:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3897:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3897:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3892:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3926:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3949:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3931:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3931:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3926:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4089:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4091:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4091:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4091:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4010:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4017:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4085:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4013:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4013:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "4007:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4007:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4004:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4121:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4132:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4135:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4128:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4128:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "4121:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "3869:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "3872:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "3878:3:1", | |
"type": "" | |
} | |
], | |
"src": "3838:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4194:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4204:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4215:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4204:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4176:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4186:7:1", | |
"type": "" | |
} | |
], | |
"src": "4149:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4281:258:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4291:10:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4300:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "4295:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4360:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "4385:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4390:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4381:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4381:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "4404:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4409:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4400:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4400:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "4394:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4394:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4374:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4374:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4374:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4321:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4324:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "4318:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4318:13:1" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "4332:19:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4334:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4343:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4346:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4339:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4339:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4334:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "4314:3:1", | |
"statements": [] | |
}, | |
"src": "4310:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4457:76:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "4507:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4512:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4503:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4503:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4521:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4496:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4496:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4496:27:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4438:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4441:6:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "4435:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4435:13:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4432:2:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "4263:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "4268:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4273:6:1", | |
"type": "" | |
} | |
], | |
"src": "4232:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4573:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4590:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4593:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4583:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4583:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4583:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4687:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4690:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4680:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4680:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4680:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4711:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4714:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4704:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4704:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4704:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4545:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4837:66:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4859:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4867:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4855:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4855:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "4871:24:1", | |
"type": "", | |
"value": "Item is already paided" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4848:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4848:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4848:48:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "4829:6:1", | |
"type": "" | |
} | |
], | |
"src": "4731:172:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5015:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5037:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5045:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5033:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5033:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5049:31:1", | |
"type": "", | |
"value": "Trasaction failed, cancelling" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5026:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5026:55:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5026:55:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "5007:6:1", | |
"type": "" | |
} | |
], | |
"src": "4909:179:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5200:72:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "5222:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5230:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5218:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5218:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "5234:30:1", | |
"type": "", | |
"value": "wrong value sent, cancelling" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5211:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5211:54:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5211:54:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "5192:6:1", | |
"type": "" | |
} | |
], | |
"src": "5094:178:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_05bb088f610186e2f24f517c3b2561ab24549acafed33c7667886b4e0ada5048(memPtr) {\n\n mstore(add(memPtr, 0), \"Item is already paided\")\n\n }\n\n function store_literal_in_memory_6eb047e0050019b2f431af8d33cfc2ceab2133d21decb83086cad8343704a404(memPtr) {\n\n mstore(add(memPtr, 0), \"Trasaction failed, cancelling\")\n\n }\n\n function store_literal_in_memory_aecbe4fd295eabe12ecdb50b56ec1172c569d9cad8604b62bd88cfb1374c6a04(memPtr) {\n\n mstore(add(memPtr, 0), \"wrong value sent, cancelling\")\n\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100385760003560e01c80632986c0e5146102505780633c8da5881461027b57806389794d00146102a657610241565b3661024157600060015414610082576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610079906103a3565b60405180910390fd5b34600054146100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906103e3565b60405180910390fd5b34600160008282546100d89190610445565b925050819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460025460405160240161012e9190610403565b6040516020818303038152906040527f800fb83f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101b8919061038c565b60006040518083038185875af1925050503d80600081146101f5576040519150601f19603f3d011682016040523d82523d6000602084013e6101fa565b606091505b505090508061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906103c3565b60405180910390fd5b50005b34801561024d57600080fd5b50005b34801561025c57600080fd5b506102656102d1565b6040516102729190610403565b60405180910390f35b34801561028757600080fd5b506102906102d7565b60405161029d9190610403565b60405180910390f35b3480156102b257600080fd5b506102bb6102dd565b6040516102c89190610403565b60405180910390f35b60025481565b60005481565b60015481565b60006102ee8261041e565b6102f88185610429565b93506103088185602086016104a5565b80840191505092915050565b6000610321601683610434565b915061032c82610507565b602082019050919050565b6000610344601d83610434565b915061034f82610530565b602082019050919050565b6000610367601c83610434565b915061037282610559565b602082019050919050565b6103868161049b565b82525050565b600061039882846102e3565b915081905092915050565b600060208201905081810360008301526103bc81610314565b9050919050565b600060208201905081810360008301526103dc81610337565b9050919050565b600060208201905081810360008301526103fc8161035a565b9050919050565b6000602082019050610418600083018461037d565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006104508261049b565b915061045b8361049b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104905761048f6104d8565b5b828201905092915050565b6000819050919050565b60005b838110156104c35780820151818401526020810190506104a8565b838111156104d2576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4974656d20697320616c72656164792070616964656400000000000000000000600082015250565b7f54726173616374696f6e206661696c65642c2063616e63656c6c696e67000000600082015250565b7f77726f6e672076616c75652073656e742c2063616e63656c6c696e670000000060008201525056fea26469706673582212204693d3d3f4818de11feee99c6e7ab47f348b376c30a6efb965eff4b596049edc64736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2986C0E5 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x3C8DA588 EQ PUSH2 0x27B JUMPI DUP1 PUSH4 0x89794D00 EQ PUSH2 0x2A6 JUMPI PUSH2 0x241 JUMP JUMPDEST CALLDATASIZE PUSH2 0x241 JUMPI PUSH1 0x0 PUSH1 0x1 SLOAD EQ PUSH2 0x82 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x79 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x0 SLOAD EQ PUSH2 0xC6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD SWAP1 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x800FB83F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x23E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x235 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x290 PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BB PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x2F8 DUP2 DUP6 PUSH2 0x429 JUMP JUMPDEST SWAP4 POP PUSH2 0x308 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4A5 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 PUSH1 0x16 DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C DUP3 PUSH2 0x507 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH1 0x1D DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F DUP3 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x367 PUSH1 0x1C DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x372 DUP3 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x49B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398 DUP3 DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BC DUP2 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DC DUP2 PUSH2 0x337 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3FC DUP2 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x418 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x49B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x490 JUMPI PUSH2 0x48F PUSH2 0x4D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x4D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4974656D20697320616C72656164792070616964656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54726173616374696F6E206661696C65642C2063616E63656C6C696E67000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x77726F6E672076616C75652073656E742C2063616E63656C6C696E6700000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID SWAP4 0xD3 0xD3 DELEGATECALL DUP2 DUP14 0xE1 0x1F 0xEE 0xE9 SWAP13 PUSH15 0x7AB47F348B376C30A6EFB965EFF4B5 SWAP7 DIV SWAP15 0xDC PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER ", | |
"sourceMap": "58:827:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;452:1;439:9;;:14;431:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;512:9;498:10;;:23;490:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;577:9;564;;:22;;;;;;;:::i;:::-;;;;;;;;597:12;623:14;;;;;;;;;;;615:28;;665:9;750:5;;699:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;615:151;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:170;;;793:7;785:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;394:447;58:827;;;;;;;;;;;;;133:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;78:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;106:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;133:17;;;;:::o;78:22::-;;;;:::o;106:21::-;;;;:::o;7:373:1:-;;139:38;171:5;139:38;:::i;:::-;193:88;274:6;269:3;193:88;:::i;:::-;186:95;;290:52;335:6;330:3;323:4;316:5;312:16;290:52;:::i;:::-;367:6;362:3;358:16;351:23;;115:265;;;;;:::o;386:366::-;;549:67;613:2;608:3;549:67;:::i;:::-;542:74;;625:93;714:3;625:93;:::i;:::-;743:2;738:3;734:12;727:19;;532:220;;;:::o;758:366::-;;921:67;985:2;980:3;921:67;:::i;:::-;914:74;;997:93;1086:3;997:93;:::i;:::-;1115:2;1110:3;1106:12;1099:19;;904:220;;;:::o;1130:366::-;;1293:67;1357:2;1352:3;1293:67;:::i;:::-;1286:74;;1369:93;1458:3;1369:93;:::i;:::-;1487:2;1482:3;1478:12;1471:19;;1276:220;;;:::o;1502:118::-;1589:24;1607:5;1589:24;:::i;:::-;1584:3;1577:37;1567:53;;:::o;1626:271::-;;1778:93;1867:3;1858:6;1778:93;:::i;:::-;1771:100;;1888:3;1881:10;;1760:137;;;;:::o;1903:419::-;;2107:2;2096:9;2092:18;2084:26;;2156:9;2150:4;2146:20;2142:1;2131:9;2127:17;2120:47;2184:131;2310:4;2184:131;:::i;:::-;2176:139;;2074:248;;;:::o;2328:419::-;;2532:2;2521:9;2517:18;2509:26;;2581:9;2575:4;2571:20;2567:1;2556:9;2552:17;2545:47;2609:131;2735:4;2609:131;:::i;:::-;2601:139;;2499:248;;;:::o;2753:419::-;;2957:2;2946:9;2942:18;2934:26;;3006:9;3000:4;2996:20;2992:1;2981:9;2977:17;2970:47;3034:131;3160:4;3034:131;:::i;:::-;3026:139;;2924:248;;;:::o;3178:222::-;;3309:2;3298:9;3294:18;3286:26;;3322:71;3390:1;3379:9;3375:17;3366:6;3322:71;:::i;:::-;3276:124;;;;:::o;3406:98::-;;3491:5;3485:12;3475:22;;3464:40;;;:::o;3510:147::-;;3648:3;3633:18;;3623:34;;;;:::o;3663:169::-;;3781:6;3776:3;3769:19;3821:4;3816:3;3812:14;3797:29;;3759:73;;;;:::o;3838:305::-;;3897:20;3915:1;3897:20;:::i;:::-;3892:25;;3931:20;3949:1;3931:20;:::i;:::-;3926:25;;4085:1;4017:66;4013:74;4010:1;4007:81;4004:2;;;4091:18;;:::i;:::-;4004:2;4135:1;4132;4128:9;4121:16;;3882:261;;;;:::o;4149:77::-;;4215:5;4204:16;;4194:32;;;:::o;4232:307::-;4300:1;4310:113;4324:6;4321:1;4318:13;4310:113;;;4409:1;4404:3;4400:11;4394:18;4390:1;4385:3;4381:11;4374:39;4346:2;4343:1;4339:10;4334:15;;4310:113;;;4441:6;4438:1;4435:13;4432:2;;;4521:1;4512:6;4507:3;4503:16;4496:27;4432:2;4281:258;;;;:::o;4545:180::-;4593:77;4590:1;4583:88;4690:4;4687:1;4680:15;4714:4;4711:1;4704:15;4731:172;4871:24;4867:1;4859:6;4855:14;4848:48;4837:66;:::o;4909:179::-;5049:31;5045:1;5037:6;5033:14;5026:55;5015:73;:::o;5094:178::-;5234:30;5230:1;5222:6;5218:14;5211:54;5200:72;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "292800", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"": "156", | |
"index()": "1107", | |
"priceInWei()": "1129", | |
"pricePaid()": "1151" | |
} | |
}, | |
"methodIdentifiers": { | |
"index()": "2986c0e5", | |
"priceInWei()": "3c8da588", | |
"pricePaid()": "89794d00" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "contract ItemManager", | |
"name": "_parentContract", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_priceInWei", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_index", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"stateMutability": "nonpayable", | |
"type": "fallback" | |
}, | |
{ | |
"inputs": [], | |
"name": "index", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "priceInWei", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "pricePaid", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.1+commit.df193b15" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "contract ItemManager", | |
"name": "_parentContract", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_priceInWei", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_index", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"stateMutability": "nonpayable", | |
"type": "fallback" | |
}, | |
{ | |
"inputs": [], | |
"name": "index", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "priceInWei", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "pricePaid", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/18-ItemManager.sol": "Item" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/18-ItemManager.sol": { | |
"keccak256": "0x40c1592137b925582f78069be073cdccecc0bbe287746004f3b4f61b500fe934", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://348028f814105e9420e300c8df95bc50d00579fe52f77d4ccda73a0d450494ed", | |
"dweb:/ipfs/QmUwNgj8Q88kdJeRcJ9uohud9uyh4sjfpU2ZjDDzAFYZ8L" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506117ab806100206000396000f3fe608060405260043610620000445760003560e01c8063800fb83f14620000495780638c5517421462000069578063bfb231d21462000097578063cd31831e14620000de575b600080fd5b62000067600480360381019062000061919062000a1b565b6200010c565b005b3480156200007657600080fd5b506200009560048036038101906200008f9190620009c1565b62000377565b005b348015620000a457600080fd5b50620000c36004803603810190620000bd919062000a1b565b6200057c565b604051620000d5949392919062000b8f565b60405180910390f35b348015620000eb57600080fd5b506200010a600480360381019062000104919062000a1b565b62000669565b005b34600080838152602001908152602001600020600201541462000166576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015d9062000c27565b60405180910390fd5b60006002811115620001a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083815260200190815260200160002060030160009054906101000a900460ff166002811115620001fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1462000240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002379062000be3565b60405180910390fd5b600160008083815260200190815260200160002060030160006101000a81548160ff02191690836002811115620002a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b8160008084815260200190815260200160002060030160009054906101000a900460ff16600281111562000323577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080600154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200036c9392919062000c49565b60405180910390a150565b600030826001546040516200038c906200087a565b6200039a9392919062000b52565b604051809103906000f080158015620003b7573d6000803e3d6000fd5b50905080600080600154815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600080600154815260200190815260200160002060010190805190602001906200043d92919062000888565b50816000806001548152602001908152602001600020600201819055506000806000600154815260200190815260200160002060030160006101000a81548160ff02191690836002811115620004bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060016000815480929190620004d69062000e69565b91905055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b600154600080600154815260200190815260200160002060030160009054906101000a900460ff1660028111156200055d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836040516200056f9392919062000c49565b60405180910390a1505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054620005c79062000dfd565b80601f0160208091040260200160405190810160405280929190818152602001828054620005f59062000dfd565b8015620006465780601f106200061a5761010080835404028352916020019162000646565b820191906000526020600020905b8154815290600101906020018083116200062857829003601f168201915b5050505050908060020154908060030160009054906101000a900460ff16905084565b60016002811115620006a4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083815260200190815260200160002060030160009054906101000a900460ff16600281111562000700577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1462000743576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073a9062000c05565b60405180910390fd5b600260008083815260200190815260200160002060030160006101000a81548160ff02191690836002811115620007a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b8160008084815260200190815260200160002060030160009054906101000a900460ff16600281111562000826577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080600154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200086f9392919062000c49565b60405180910390a150565b610745806200103183390190565b828054620008969062000dfd565b90600052602060002090601f016020900481019282620008ba576000855562000906565b82601f10620008d557805160ff191683800117855562000906565b8280016001018555821562000906579182015b8281111562000905578251825591602001919060010190620008e8565b5b50905062000915919062000919565b5090565b5b80821115620009345760008160009055506001016200091a565b5090565b60006200094f620009498462000caf565b62000c86565b9050828152602081018484840111156200096857600080fd5b6200097584828562000db8565b509392505050565b600082601f8301126200098f57600080fd5b8135620009a184826020860162000938565b91505092915050565b600081359050620009bb8162001016565b92915050565b60008060408385031215620009d557600080fd5b600083013567ffffffffffffffff811115620009f057600080fd5b620009fe858286016200097d565b925050602062000a1185828601620009aa565b9150509250929050565b60006020828403121562000a2e57600080fd5b600062000a3e84828501620009aa565b91505092915050565b62000a528162000d01565b82525050565b62000a638162000d54565b82525050565b62000a748162000d7c565b82525050565b62000a858162000da4565b82525050565b600062000a988262000ce5565b62000aa4818562000cf0565b935062000ab681856020860162000dc7565b62000ac18162000f73565b840191505092915050565b600062000adb601a8362000cf0565b915062000ae88262000f84565b602082019050919050565b600062000b02601d8362000cf0565b915062000b0f8262000fad565b602082019050919050565b600062000b29601b8362000cf0565b915062000b368262000fd6565b602082019050919050565b62000b4c8162000d4a565b82525050565b600060608201905062000b69600083018662000a58565b62000b78602083018562000b41565b62000b87604083018462000b41565b949350505050565b600060808201905062000ba6600083018762000a69565b818103602083015262000bba818662000a8b565b905062000bcb604083018562000b41565b62000bda606083018462000a7a565b95945050505050565b6000602082019050818103600083015262000bfe8162000acc565b9050919050565b6000602082019050818103600083015262000c208162000af3565b9050919050565b6000602082019050818103600083015262000c428162000b1a565b9050919050565b600060608201905062000c60600083018662000b41565b62000c6f602083018562000b41565b62000c7e604083018462000a47565b949350505050565b600062000c9262000ca5565b905062000ca0828262000e33565b919050565b6000604051905090565b600067ffffffffffffffff82111562000ccd5762000ccc62000f44565b5b62000cd88262000f73565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600062000d0e8262000d2a565b9050919050565b600081905062000d258262000fff565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000d618262000d68565b9050919050565b600062000d758262000d2a565b9050919050565b600062000d898262000d90565b9050919050565b600062000d9d8262000d2a565b9050919050565b600062000db18262000d15565b9050919050565b82818337600083830152505050565b60005b8381101562000de757808201518184015260208101905062000dca565b8381111562000df7576000848401525b50505050565b6000600282049050600182168062000e1657607f821691505b6020821081141562000e2d5762000e2c62000f15565b5b50919050565b62000e3e8262000f73565b810181811067ffffffffffffffff8211171562000e605762000e5f62000f44565b5b80604052505050565b600062000e768262000d4a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000eac5762000eab62000eb7565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f746869732069742077617320616c726561647920706169646564000000000000600082015250565b7f4974656d206e65656420746f20626520696e2050616964205374617465000000600082015250565b7f4f6e6c792066756c6c207061796d656e74206163636570657465640000000000600082015250565b6003811062001013576200101262000ee6565b5b50565b620010218162000d4a565b81146200102d57600080fd5b5056fe608060405234801561001057600080fd5b50604051610745380380610745833981810160405281019061003291906100b3565b816000819055508060028190555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505061017e565b60008151905061009881610150565b92915050565b6000815190506100ad81610167565b92915050565b6000806000606084860312156100c857600080fd5b60006100d686828701610089565b93505060206100e78682870161009e565b92505060406100f88682870161009e565b9150509250925092565b600061010d82610126565b9050919050565b600061011f82610102565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b61015981610114565b811461016457600080fd5b50565b61017081610146565b811461017b57600080fd5b50565b6105b88061018d6000396000f3fe6080604052600436106100385760003560e01c80632986c0e5146102505780633c8da5881461027b57806389794d00146102a657610241565b3661024157600060015414610082576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610079906103a3565b60405180910390fd5b34600054146100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906103e3565b60405180910390fd5b34600160008282546100d89190610445565b925050819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460025460405160240161012e9190610403565b6040516020818303038152906040527f800fb83f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101b8919061038c565b60006040518083038185875af1925050503d80600081146101f5576040519150601f19603f3d011682016040523d82523d6000602084013e6101fa565b606091505b505090508061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906103c3565b60405180910390fd5b50005b34801561024d57600080fd5b50005b34801561025c57600080fd5b506102656102d1565b6040516102729190610403565b60405180910390f35b34801561028757600080fd5b506102906102d7565b60405161029d9190610403565b60405180910390f35b3480156102b257600080fd5b506102bb6102dd565b6040516102c89190610403565b60405180910390f35b60025481565b60005481565b60015481565b60006102ee8261041e565b6102f88185610429565b93506103088185602086016104a5565b80840191505092915050565b6000610321601683610434565b915061032c82610507565b602082019050919050565b6000610344601d83610434565b915061034f82610530565b602082019050919050565b6000610367601c83610434565b915061037282610559565b602082019050919050565b6103868161049b565b82525050565b600061039882846102e3565b915081905092915050565b600060208201905081810360008301526103bc81610314565b9050919050565b600060208201905081810360008301526103dc81610337565b9050919050565b600060208201905081810360008301526103fc8161035a565b9050919050565b6000602082019050610418600083018461037d565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006104508261049b565b915061045b8361049b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104905761048f6104d8565b5b828201905092915050565b6000819050919050565b60005b838110156104c35780820151818401526020810190506104a8565b838111156104d2576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4974656d20697320616c72656164792070616964656400000000000000000000600082015250565b7f54726173616374696f6e206661696c65642c2063616e63656c6c696e67000000600082015250565b7f77726f6e672076616c75652073656e742c2063616e63656c6c696e670000000060008201525056fea26469706673582212204693d3d3f4818de11feee99c6e7ab47f348b376c30a6efb965eff4b596049edc64736f6c63430008010033a2646970667358221220f97810397804046596de92e2cf362965abefc77fa79b7d2460d6e900be2c2be964736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17AB DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH3 0x44 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x800FB83F EQ PUSH3 0x49 JUMPI DUP1 PUSH4 0x8C551742 EQ PUSH3 0x69 JUMPI DUP1 PUSH4 0xBFB231D2 EQ PUSH3 0x97 JUMPI DUP1 PUSH4 0xCD31831E EQ PUSH3 0xDE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x10C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0x76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x95 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x8F SWAP2 SWAP1 PUSH3 0x9C1 JUMP JUMPDEST PUSH3 0x377 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0xBD SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0xD5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x10A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x104 SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x669 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD EQ PUSH3 0x166 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x15D SWAP1 PUSH3 0xC27 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x1A1 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x1FD JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH3 0x240 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x237 SWAP1 PUSH3 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x2A0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B DUP2 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x323 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH3 0x36C SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 ADDRESS DUP3 PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH3 0x38C SWAP1 PUSH3 0x87A JUMP JUMPDEST PUSH3 0x39A SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x3B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x43D SWAP3 SWAP2 SWAP1 PUSH3 0x888 JUMP JUMPDEST POP DUP2 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x4BC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH3 0x4D6 SWAP1 PUSH3 0xE69 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B PUSH1 0x1 SLOAD PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x55D JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH3 0x56F SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH3 0x5C7 SWAP1 PUSH3 0xDFD JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x5F5 SWAP1 PUSH3 0xDFD JUMP JUMPDEST DUP1 ISZERO PUSH3 0x646 JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x61A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x646 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x628 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x6A4 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x700 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH3 0x743 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x73A SWAP1 PUSH3 0xC05 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x7A3 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B DUP2 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x826 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH3 0x86F SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x745 DUP1 PUSH3 0x1031 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x896 SWAP1 PUSH3 0xDFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x8BA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x906 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x8D5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x906 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x906 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x905 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x8E8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x915 SWAP2 SWAP1 PUSH3 0x919 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x934 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x91A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x94F PUSH3 0x949 DUP5 PUSH3 0xCAF JUMP JUMPDEST PUSH3 0xC86 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x975 DUP5 DUP3 DUP6 PUSH3 0xDB8 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x98F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH3 0x9A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x938 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x9BB DUP2 PUSH3 0x1016 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x9D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x9F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x9FE DUP6 DUP3 DUP7 ADD PUSH3 0x97D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0xA11 DUP6 DUP3 DUP7 ADD PUSH3 0x9AA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xA2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xA3E DUP5 DUP3 DUP6 ADD PUSH3 0x9AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xA52 DUP2 PUSH3 0xD01 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA63 DUP2 PUSH3 0xD54 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA74 DUP2 PUSH3 0xD7C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA85 DUP2 PUSH3 0xDA4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA98 DUP3 PUSH3 0xCE5 JUMP JUMPDEST PUSH3 0xAA4 DUP2 DUP6 PUSH3 0xCF0 JUMP JUMPDEST SWAP4 POP PUSH3 0xAB6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xDC7 JUMP JUMPDEST PUSH3 0xAC1 DUP2 PUSH3 0xF73 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xADB PUSH1 0x1A DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xAE8 DUP3 PUSH3 0xF84 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB02 PUSH1 0x1D DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xB0F DUP3 PUSH3 0xFAD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB29 PUSH1 0x1B DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xB36 DUP3 PUSH3 0xFD6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xB4C DUP2 PUSH3 0xD4A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xB69 PUSH1 0x0 DUP4 ADD DUP7 PUSH3 0xA58 JUMP JUMPDEST PUSH3 0xB78 PUSH1 0x20 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xB87 PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xB41 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH3 0xBA6 PUSH1 0x0 DUP4 ADD DUP8 PUSH3 0xA69 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xBBA DUP2 DUP7 PUSH3 0xA8B JUMP JUMPDEST SWAP1 POP PUSH3 0xBCB PUSH1 0x40 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xBDA PUSH1 0x60 DUP4 ADD DUP5 PUSH3 0xA7A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xBFE DUP2 PUSH3 0xACC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xC20 DUP2 PUSH3 0xAF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xC42 DUP2 PUSH3 0xB1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xC60 PUSH1 0x0 DUP4 ADD DUP7 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xC6F PUSH1 0x20 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xC7E PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xA47 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC92 PUSH3 0xCA5 JUMP JUMPDEST SWAP1 POP PUSH3 0xCA0 DUP3 DUP3 PUSH3 0xE33 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0xCCD JUMPI PUSH3 0xCCC PUSH3 0xF44 JUMP JUMPDEST JUMPDEST PUSH3 0xCD8 DUP3 PUSH3 0xF73 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD0E DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0xD25 DUP3 PUSH3 0xFFF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD61 DUP3 PUSH3 0xD68 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD75 DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD89 DUP3 PUSH3 0xD90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD9D DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xDB1 DUP3 PUSH3 0xD15 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xDE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xDCA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xDF7 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0xE16 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xE2D JUMPI PUSH3 0xE2C PUSH3 0xF15 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xE3E DUP3 PUSH3 0xF73 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0xE60 JUMPI PUSH3 0xE5F PUSH3 0xF44 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE76 DUP3 PUSH3 0xD4A JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH3 0xEAC JUMPI PUSH3 0xEAB PUSH3 0xEB7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x746869732069742077617320616C726561647920706169646564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4974656D206E65656420746F20626520696E2050616964205374617465000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C792066756C6C207061796D656E74206163636570657465640000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x1013 JUMPI PUSH3 0x1012 PUSH3 0xEE6 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH3 0x1021 DUP2 PUSH3 0xD4A JUMP JUMPDEST DUP2 EQ PUSH3 0x102D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x745 CODESIZE SUB DUP1 PUSH2 0x745 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xB3 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x98 DUP2 PUSH2 0x150 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xAD DUP2 PUSH2 0x167 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP7 DUP3 DUP8 ADD PUSH2 0x89 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE7 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xF8 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10D DUP3 PUSH2 0x126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11F DUP3 PUSH2 0x102 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x114 JUMP JUMPDEST DUP2 EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x170 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5B8 DUP1 PUSH2 0x18D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2986C0E5 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x3C8DA588 EQ PUSH2 0x27B JUMPI DUP1 PUSH4 0x89794D00 EQ PUSH2 0x2A6 JUMPI PUSH2 0x241 JUMP JUMPDEST CALLDATASIZE PUSH2 0x241 JUMPI PUSH1 0x0 PUSH1 0x1 SLOAD EQ PUSH2 0x82 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x79 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x0 SLOAD EQ PUSH2 0xC6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD SWAP1 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x800FB83F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x23E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x235 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x290 PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BB PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x2F8 DUP2 DUP6 PUSH2 0x429 JUMP JUMPDEST SWAP4 POP PUSH2 0x308 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4A5 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 PUSH1 0x16 DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C DUP3 PUSH2 0x507 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH1 0x1D DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F DUP3 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x367 PUSH1 0x1C DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x372 DUP3 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x49B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398 DUP3 DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BC DUP2 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DC DUP2 PUSH2 0x337 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3FC DUP2 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x418 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x49B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x490 JUMPI PUSH2 0x48F PUSH2 0x4D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x4D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4974656D20697320616C72656164792070616964656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54726173616374696F6E206661696C65642C2063616E63656C6C696E67000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x77726F6E672076616C75652073656E742C2063616E63656C6C696E6700000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID SWAP4 0xD3 0xD3 DELEGATECALL DUP2 DUP14 0xE1 0x1F 0xEE 0xE9 SWAP13 PUSH15 0x7AB47F348B376C30A6EFB965EFF4B5 SWAP7 DIV SWAP15 0xDC PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 PUSH25 0x10397804046596DE92E2CF362965ABEFC77FA79B7D2460D6E9 STOP 0xBE 0x2C 0x2B 0xE9 PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER ", | |
"sourceMap": "887:1784:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:11786:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "91:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "101:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "168:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "126:41:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "126:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "110:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "110:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "101:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "192:5:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "199:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "185:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "185:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "185:21:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "215:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "230:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "237:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "226:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "226:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "219:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "280:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "289:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "292:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "282:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "282:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "282:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "266:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "257:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "257:16:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "275:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "254:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "254:25:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "251:2:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "329:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "334:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "339:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "305:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "305:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "305:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "64:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "69:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "77:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "85:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:345:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "434:211:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "483:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "492:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "495:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "485:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "485:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "485:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "462:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "470:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "458:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "458:17:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "477:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "454:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "454:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "447:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "447:35:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "444:2:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "508:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "535:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "522:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "522:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "512:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "551:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "612:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "620:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "608:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "608:17:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "627:6:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "635:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "560:47:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "560:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "412:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "420:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "428:5:1", | |
"type": "" | |
} | |
], | |
"src": "372:273:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "703:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "713:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "735:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "722:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "722:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "713:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "778:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "751:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "751:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "751:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "681:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "689:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "697:5:1", | |
"type": "" | |
} | |
], | |
"src": "651:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "889:427:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "935:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "944:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "947:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "937:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "937:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "937:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "910:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "919:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "906:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "906:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "931:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "902:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "902:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "899:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "961:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "976:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1007:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1018:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1003:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1003:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "990:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "990:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "980:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1068:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1077:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1080:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1070:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1070:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1070:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1040:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1048:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1037:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1037:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1034:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1098:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1143:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1154:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1139:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1139:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1163:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1108:30:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1108:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1098:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1191:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1206:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1220:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1210:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1236:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1271:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1282:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1267:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1267:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1291:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1246:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1246:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1236:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "851:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "862:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "874:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "882:6:1", | |
"type": "" | |
} | |
], | |
"src": "796:520:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1388:196:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1434:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1443:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1446:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1436:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1436:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1436:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1409:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1418:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1405:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1405:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1430:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1401:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1401:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1398:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1460:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1475:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1489:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1479:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1504:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1539:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1550:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1535:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1535:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1559:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1514:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1514:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1504:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1358:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1369:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1381:6:1", | |
"type": "" | |
} | |
], | |
"src": "1322:262:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1655:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1672:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1695:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1677:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1677:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1665:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1665:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1665:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1643:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1650:3:1", | |
"type": "" | |
} | |
], | |
"src": "1590:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1798:85:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1815:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1870:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_ItemManager_$279_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1820:49:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1820:56:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1808:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1808:69:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1808:69:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_contract$_ItemManager_$279_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1786:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1793:3:1", | |
"type": "" | |
} | |
], | |
"src": "1714:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1973:85:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1990:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2045:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_Item_$85_to_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "1995:49:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1995:56:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1983:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1983:69:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1983:69:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_contract$_Item_$85_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1961:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1968:3:1", | |
"type": "" | |
} | |
], | |
"src": "1889:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2145:82:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2162:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2214:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_enum$_SuplyChainState_$89_to_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "2167:46:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2167:53:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2155:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2155:66:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2155:66:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_enum$_SuplyChainState_$89_to_t_uint8_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2133:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2140:3:1", | |
"type": "" | |
} | |
], | |
"src": "2064:163:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2325:272:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2335:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2382:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2349:32:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2349:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2339:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2397:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2463:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2468:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2404:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2404:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2397:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2510:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2517:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2506:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2506:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2524:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2529:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "2484:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2484:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2484:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2545:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2556:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2583:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "2561:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2561:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2552:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2552:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2545:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2306:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2313:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2321:3:1", | |
"type": "" | |
} | |
], | |
"src": "2233:364:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2749:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2759:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2825:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2830:2:1", | |
"type": "", | |
"value": "26" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2766:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2766:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2759:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2931:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab", | |
"nodeType": "YulIdentifier", | |
"src": "2842:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2842:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2842:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2944:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2955:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2960:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2951:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2951:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2944:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2737:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2745:3:1", | |
"type": "" | |
} | |
], | |
"src": "2603:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3121:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3131:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3197:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3202:2:1", | |
"type": "", | |
"value": "29" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3138:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3138:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3131:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3303:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15", | |
"nodeType": "YulIdentifier", | |
"src": "3214:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3214:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3214:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3316:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3327:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3332:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3323:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3323:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3316:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3109:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3117:3:1", | |
"type": "" | |
} | |
], | |
"src": "2975:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3493:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3503:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3569:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3574:2:1", | |
"type": "", | |
"value": "27" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3510:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3510:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3503:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3675:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0", | |
"nodeType": "YulIdentifier", | |
"src": "3586:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3586:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3586:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3688:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3699:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3704:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3695:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3695:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3688:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3481:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3489:3:1", | |
"type": "" | |
} | |
], | |
"src": "3347:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3784:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3801:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3824:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3806:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3806:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3794:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3794:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3794:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3772:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3779:3:1", | |
"type": "" | |
} | |
], | |
"src": "3719:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4016:307:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4026:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4038:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4049:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4034:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4034:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4026:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4125:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4138:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4149:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4134:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4134:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_contract$_ItemManager_$279_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4062:62:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4062:90:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4062:90:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "4206:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4219:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4230:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4215:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4215:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4162:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4162:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4162:72:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "4288:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4301:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4312:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4297:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4297:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4244:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4244:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4244:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_contract$_ItemManager_$279_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3972:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "3984:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "3992:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4000:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4011:4:1", | |
"type": "" | |
} | |
], | |
"src": "3843:480:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4566:477:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4576:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4588:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4599:3:1", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4584:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4584:19:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4576:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4676:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4689:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4700:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4685:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4685:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_contract$_Item_$85_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4613:62:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4613:90:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4613:90:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4724:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4735:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4720:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4720:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4744:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4750:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4740:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4740:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4713:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4713:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4713:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4770:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "4842:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4851:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4778:63:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4778:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4770:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "4910:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4923:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4934:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4919:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4919:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4866:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4866:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4866:72:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "5008:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5021:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5032:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5017:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5017:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_enum$_SuplyChainState_$89_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4948:59:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4948:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4948:88:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_contract$_Item_$85_t_string_memory_ptr_t_uint256_t_enum$_SuplyChainState_$89__to_t_address_payable_t_string_memory_ptr_t_uint256_t_uint8__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4514:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "4526:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "4534:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "4542:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4550:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4561:4:1", | |
"type": "" | |
} | |
], | |
"src": "4329:714:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5220:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5230:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5242:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5253:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5238:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5238:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5230:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5277:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5288:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5273:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5273:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5296:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5302:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5292:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5292:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5266:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5266:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5266:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5322:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5456:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5330:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5330:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5322:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5200:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5215:4:1", | |
"type": "" | |
} | |
], | |
"src": "5049:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5645:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5655:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5667:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5678:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5663:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5663:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5655:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5702:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5713:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5698:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5698:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5721:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5727:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5717:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5717:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5691:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5691:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5691:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5747:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5881:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5755:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5755:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5747:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5625:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5640:4:1", | |
"type": "" | |
} | |
], | |
"src": "5474:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6070:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6080:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6092:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6103:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6088:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6088:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6080:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6127:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6138:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6123:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6123:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6146:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6152:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6142:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6142:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6116:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6116:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6116:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6172:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6306:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6180:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6180:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6172:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6050:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6065:4:1", | |
"type": "" | |
} | |
], | |
"src": "5899:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6478:288:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6488:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6500:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6511:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6496:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6496:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6488:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6568:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6581:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6592:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6577:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6577:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6524:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6524:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6524:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6649:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6662:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6673:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6658:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6658:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6605:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6605:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6605:72:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "6731:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6744:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6755:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6740:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6740:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6687:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6687:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6687:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6434:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "6446:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "6454:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6462:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6473:4:1", | |
"type": "" | |
} | |
], | |
"src": "6324:442:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6813:88:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6823:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "6833:18:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6833:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "6823:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "6882:6:1" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "6890:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "6862:19:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6862:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6862:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "6797:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "6806:6:1", | |
"type": "" | |
} | |
], | |
"src": "6772:129:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6947:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6957:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6973:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "6967:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6967:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "6957:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "6940:6:1", | |
"type": "" | |
} | |
], | |
"src": "6907:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7055:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7160:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "7162:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7162:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7162:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7132:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7140:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "7129:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7129:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "7126:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7192:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7222:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "7200:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7200:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7192:4:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7266:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7278:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7284:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7274:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7274:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7266:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7039:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "7050:4:1", | |
"type": "" | |
} | |
], | |
"src": "6988:308:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7361:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7372:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7388:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "7382:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7382:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7372:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7344:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7354:6:1", | |
"type": "" | |
} | |
], | |
"src": "7302:99:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7503:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7520:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7525:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7513:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7513:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7513:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7541:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7560:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7565:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7556:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7556:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "7541:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7475:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7480:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "7491:11:1", | |
"type": "" | |
} | |
], | |
"src": "7407:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7627:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7637:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7666:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "7648:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7648:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "7637:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7609:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "7619:7:1", | |
"type": "" | |
} | |
], | |
"src": "7582:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7747:84:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7757:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7768:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "7757:7:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7819:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_assert_t_enum$_SuplyChainState_$89", | |
"nodeType": "YulIdentifier", | |
"src": "7774:44:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7774:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7774:51:1" | |
} | |
] | |
}, | |
"name": "cleanup_t_enum$_SuplyChainState_$89", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7729:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "7739:7:1", | |
"type": "" | |
} | |
], | |
"src": "7684:147:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7882:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7892:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7907:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7914:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "7903:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7903:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "7892:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7864:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "7874:7:1", | |
"type": "" | |
} | |
], | |
"src": "7837:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8014:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8024:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8035:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "8024:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7996:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "8006:7:1", | |
"type": "" | |
} | |
], | |
"src": "7969:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8131:85:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8141:69:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8204:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_ItemManager_$279_to_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "8154:49:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8154:56:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "8141:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_ItemManager_$279_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8111:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "8121:9:1", | |
"type": "" | |
} | |
], | |
"src": "8052:164:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8301:53:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8311:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8342:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "8324:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8324:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "8311:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_ItemManager_$279_to_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8281:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "8291:9:1", | |
"type": "" | |
} | |
], | |
"src": "8222:132:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8439:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8449:61:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8504:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_Item_$85_to_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "8462:41:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8462:48:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "8449:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_Item_$85_to_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8419:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "8429:9:1", | |
"type": "" | |
} | |
], | |
"src": "8360:156:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8593:53:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8603:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8634:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "8616:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8616:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "8603:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_Item_$85_to_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8573:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "8583:9:1", | |
"type": "" | |
} | |
], | |
"src": "8522:124:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8728:71:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8738:55:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8787:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_enum$_SuplyChainState_$89", | |
"nodeType": "YulIdentifier", | |
"src": "8751:35:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8751:42:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "8738:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_enum$_SuplyChainState_$89_to_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8708:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "8718:9:1", | |
"type": "" | |
} | |
], | |
"src": "8652:147:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8856:103:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "8879:3:1" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "8884:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8889:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "8866:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8866:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8866:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "8937:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8942:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8933:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8933:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8951:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8926:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8926:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8926:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "8838:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "8843:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8848:6:1", | |
"type": "" | |
} | |
], | |
"src": "8805:154:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9014:258:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9024:10:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9033:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "9028:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9093:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "9118:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9123:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9114:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9114:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "9137:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9142:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9133:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9133:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "9127:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9127:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9107:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9107:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9107:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9054:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9057:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "9051:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9051:13:1" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "9065:19:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9067:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9076:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9079:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9072:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9072:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9067:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "9047:3:1", | |
"statements": [] | |
}, | |
"src": "9043:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9190:76:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "9240:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9245:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9236:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9236:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9254:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9229:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9229:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9229:27:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9171:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9174:6:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "9168:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9168:13:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "9165:2:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "8996:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "9001:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "9006:6:1", | |
"type": "" | |
} | |
], | |
"src": "8965:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9329:269:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9339:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "9353:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9359:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "9349:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9349:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9339:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9370:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "9400:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9406:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "9396:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9396:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "9374:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9447:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9461:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9475:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9483:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "9471:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9471:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9461:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "9427:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "9420:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9420:26:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "9417:2:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9550:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "9564:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9564:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9564:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "9514:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9537:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9545:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "9534:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9534:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "9511:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9511:38:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "9508:2:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "9313:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "9322:6:1", | |
"type": "" | |
} | |
], | |
"src": "9278:320:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9647:238:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9657:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9679:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "9709:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "9687:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9687:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9675:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9675:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "9661:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9826:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "9828:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9828:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9828:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9769:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9781:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "9766:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9766:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9805:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9817:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "9802:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9802:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "9763:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9763:62:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "9760:2:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9864:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9868:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9857:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9857:22:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9857:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "9633:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "9641:4:1", | |
"type": "" | |
} | |
], | |
"src": "9604:281:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9934:190:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9944:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "9971:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "9953:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9953:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "9944:5:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10067:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "10069:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10069:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10069:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "9992:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9999:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "9989:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9989:77:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "9986:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10098:20:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10109:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10116:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10105:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10105:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "10098:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "increment_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "9920:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "9930:3:1", | |
"type": "" | |
} | |
], | |
"src": "9891:233:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10158:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10175:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10178:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10168:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10168:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10168:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10272:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10275:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10265:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10265:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10265:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10296:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10299:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10289:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10289:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10289:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10130:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10344:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10361:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10364:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10354:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10354:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10354:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10458:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10461:4:1", | |
"type": "", | |
"value": "0x21" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10451:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10451:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10451:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10482:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10485:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10475:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10475:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10475:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x21", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10316:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10530:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10547:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10550:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10540:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10540:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10540:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10644:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10647:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10637:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10637:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10637:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10668:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10671:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10661:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10661:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10661:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10502:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10716:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10733:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10736:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10726:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10726:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10726:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10830:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10833:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10823:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10823:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10823:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10854:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10857:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10847:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10847:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10847:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10688:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10922:54:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10932:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10950:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10957:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10946:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10946:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10966:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "10962:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10962:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "10942:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10942:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "10932:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10905:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "10915:6:1", | |
"type": "" | |
} | |
], | |
"src": "10874:102:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11088:70:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11110:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11118:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11106:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11106:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "11122:28:1", | |
"type": "", | |
"value": "this it was already paided" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11099:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11099:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11099:52:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "11080:6:1", | |
"type": "" | |
} | |
], | |
"src": "10982:176:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11270:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11292:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11300:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11288:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11288:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "11304:31:1", | |
"type": "", | |
"value": "Item need to be in Paid State" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11281:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11281:55:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11281:55:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "11262:6:1", | |
"type": "" | |
} | |
], | |
"src": "11164:179:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11455:71:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11477:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11485:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11473:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11473:14:1" | |
}, | |
{ | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "11489:29:1", | |
"type": "", | |
"value": "Only full payment accepeted" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11466:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11466:53:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11466:53:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "11447:6:1", | |
"type": "" | |
} | |
], | |
"src": "11349:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11593:62:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11627:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x21", | |
"nodeType": "YulIdentifier", | |
"src": "11629:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11629:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11629:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11616:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11623:1:1", | |
"type": "", | |
"value": "3" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "11613:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11613:12:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11606:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11606:20:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "11603:2:1" | |
} | |
] | |
}, | |
"name": "validator_assert_t_enum$_SuplyChainState_$89", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11586:5:1", | |
"type": "" | |
} | |
], | |
"src": "11532:123:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11704:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11761:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11770:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11773:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11763:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11763:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11763:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11727:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11752:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11734:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11734:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "11724:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11724:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11717:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11717:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "11714:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11697:5:1", | |
"type": "" | |
} | |
], | |
"src": "11661:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_contract$_ItemManager_$279_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_ItemManager_$279_to_t_address(value))\n }\n\n function abi_encode_t_contract$_Item_$85_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_Item_$85_to_t_address_payable(value))\n }\n\n function abi_encode_t_enum$_SuplyChainState_$89_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_SuplyChainState_$89_to_t_uint8(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_contract$_ItemManager_$279_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_contract$_ItemManager_$279_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_contract$_Item_$85_t_string_memory_ptr_t_uint256_t_enum$_SuplyChainState_$89__to_t_address_payable_t_string_memory_ptr_t_uint256_t_uint8__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_contract$_Item_$85_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_enum$_SuplyChainState_$89_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_enum$_SuplyChainState_$89(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_SuplyChainState_$89(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_ItemManager_$279_to_t_address(value) -> converted {\n converted := convert_t_contract$_ItemManager_$279_to_t_uint160(value)\n }\n\n function convert_t_contract$_ItemManager_$279_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_contract$_Item_$85_to_t_address_payable(value) -> converted {\n converted := convert_t_contract$_Item_$85_to_t_uint160(value)\n }\n\n function convert_t_contract$_Item_$85_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_enum$_SuplyChainState_$89_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_SuplyChainState_$89(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_5bd30546685a2ad145e142cf3c2cbe2e26bb61b57c1b73ac391a8fc22306a4ab(memPtr) {\n\n mstore(add(memPtr, 0), \"this it was already paided\")\n\n }\n\n function store_literal_in_memory_e66c7efe5b1bb6e6d1aa215dbeea9d327fa48c38d26123db1ec3819b025f6d15(memPtr) {\n\n mstore(add(memPtr, 0), \"Item need to be in Paid State\")\n\n }\n\n function store_literal_in_memory_fccad4eba85e0417d83b89d36df540a2ad4ec086473a26511ec20021551b3bc0(memPtr) {\n\n mstore(add(memPtr, 0), \"Only full payment accepeted\")\n\n }\n\n function validator_assert_t_enum$_SuplyChainState_$89(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405260043610620000445760003560e01c8063800fb83f14620000495780638c5517421462000069578063bfb231d21462000097578063cd31831e14620000de575b600080fd5b62000067600480360381019062000061919062000a1b565b6200010c565b005b3480156200007657600080fd5b506200009560048036038101906200008f9190620009c1565b62000377565b005b348015620000a457600080fd5b50620000c36004803603810190620000bd919062000a1b565b6200057c565b604051620000d5949392919062000b8f565b60405180910390f35b348015620000eb57600080fd5b506200010a600480360381019062000104919062000a1b565b62000669565b005b34600080838152602001908152602001600020600201541462000166576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015d9062000c27565b60405180910390fd5b60006002811115620001a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083815260200190815260200160002060030160009054906101000a900460ff166002811115620001fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1462000240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002379062000be3565b60405180910390fd5b600160008083815260200190815260200160002060030160006101000a81548160ff02191690836002811115620002a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b8160008084815260200190815260200160002060030160009054906101000a900460ff16600281111562000323577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080600154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200036c9392919062000c49565b60405180910390a150565b600030826001546040516200038c906200087a565b6200039a9392919062000b52565b604051809103906000f080158015620003b7573d6000803e3d6000fd5b50905080600080600154815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600080600154815260200190815260200160002060010190805190602001906200043d92919062000888565b50816000806001548152602001908152602001600020600201819055506000806000600154815260200190815260200160002060030160006101000a81548160ff02191690836002811115620004bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060016000815480929190620004d69062000e69565b91905055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b600154600080600154815260200190815260200160002060030160009054906101000a900460ff1660028111156200055d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836040516200056f9392919062000c49565b60405180910390a1505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054620005c79062000dfd565b80601f0160208091040260200160405190810160405280929190818152602001828054620005f59062000dfd565b8015620006465780601f106200061a5761010080835404028352916020019162000646565b820191906000526020600020905b8154815290600101906020018083116200062857829003601f168201915b5050505050908060020154908060030160009054906101000a900460ff16905084565b60016002811115620006a4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083815260200190815260200160002060030160009054906101000a900460ff16600281111562000700577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1462000743576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073a9062000c05565b60405180910390fd5b600260008083815260200190815260200160002060030160006101000a81548160ff02191690836002811115620007a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b02179055507fa4035636e99f06b7651a604c1019fa4e8779fe68ef27eeb74dff2de348f6199b8160008084815260200190815260200160002060030160009054906101000a900460ff16600281111562000826577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600080600154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200086f9392919062000c49565b60405180910390a150565b610745806200103183390190565b828054620008969062000dfd565b90600052602060002090601f016020900481019282620008ba576000855562000906565b82601f10620008d557805160ff191683800117855562000906565b8280016001018555821562000906579182015b8281111562000905578251825591602001919060010190620008e8565b5b50905062000915919062000919565b5090565b5b80821115620009345760008160009055506001016200091a565b5090565b60006200094f620009498462000caf565b62000c86565b9050828152602081018484840111156200096857600080fd5b6200097584828562000db8565b509392505050565b600082601f8301126200098f57600080fd5b8135620009a184826020860162000938565b91505092915050565b600081359050620009bb8162001016565b92915050565b60008060408385031215620009d557600080fd5b600083013567ffffffffffffffff811115620009f057600080fd5b620009fe858286016200097d565b925050602062000a1185828601620009aa565b9150509250929050565b60006020828403121562000a2e57600080fd5b600062000a3e84828501620009aa565b91505092915050565b62000a528162000d01565b82525050565b62000a638162000d54565b82525050565b62000a748162000d7c565b82525050565b62000a858162000da4565b82525050565b600062000a988262000ce5565b62000aa4818562000cf0565b935062000ab681856020860162000dc7565b62000ac18162000f73565b840191505092915050565b600062000adb601a8362000cf0565b915062000ae88262000f84565b602082019050919050565b600062000b02601d8362000cf0565b915062000b0f8262000fad565b602082019050919050565b600062000b29601b8362000cf0565b915062000b368262000fd6565b602082019050919050565b62000b4c8162000d4a565b82525050565b600060608201905062000b69600083018662000a58565b62000b78602083018562000b41565b62000b87604083018462000b41565b949350505050565b600060808201905062000ba6600083018762000a69565b818103602083015262000bba818662000a8b565b905062000bcb604083018562000b41565b62000bda606083018462000a7a565b95945050505050565b6000602082019050818103600083015262000bfe8162000acc565b9050919050565b6000602082019050818103600083015262000c208162000af3565b9050919050565b6000602082019050818103600083015262000c428162000b1a565b9050919050565b600060608201905062000c60600083018662000b41565b62000c6f602083018562000b41565b62000c7e604083018462000a47565b949350505050565b600062000c9262000ca5565b905062000ca0828262000e33565b919050565b6000604051905090565b600067ffffffffffffffff82111562000ccd5762000ccc62000f44565b5b62000cd88262000f73565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600062000d0e8262000d2a565b9050919050565b600081905062000d258262000fff565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000d618262000d68565b9050919050565b600062000d758262000d2a565b9050919050565b600062000d898262000d90565b9050919050565b600062000d9d8262000d2a565b9050919050565b600062000db18262000d15565b9050919050565b82818337600083830152505050565b60005b8381101562000de757808201518184015260208101905062000dca565b8381111562000df7576000848401525b50505050565b6000600282049050600182168062000e1657607f821691505b6020821081141562000e2d5762000e2c62000f15565b5b50919050565b62000e3e8262000f73565b810181811067ffffffffffffffff8211171562000e605762000e5f62000f44565b5b80604052505050565b600062000e768262000d4a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000eac5762000eab62000eb7565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f746869732069742077617320616c726561647920706169646564000000000000600082015250565b7f4974656d206e65656420746f20626520696e2050616964205374617465000000600082015250565b7f4f6e6c792066756c6c207061796d656e74206163636570657465640000000000600082015250565b6003811062001013576200101262000ee6565b5b50565b620010218162000d4a565b81146200102d57600080fd5b5056fe608060405234801561001057600080fd5b50604051610745380380610745833981810160405281019061003291906100b3565b816000819055508060028190555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505061017e565b60008151905061009881610150565b92915050565b6000815190506100ad81610167565b92915050565b6000806000606084860312156100c857600080fd5b60006100d686828701610089565b93505060206100e78682870161009e565b92505060406100f88682870161009e565b9150509250925092565b600061010d82610126565b9050919050565b600061011f82610102565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b61015981610114565b811461016457600080fd5b50565b61017081610146565b811461017b57600080fd5b50565b6105b88061018d6000396000f3fe6080604052600436106100385760003560e01c80632986c0e5146102505780633c8da5881461027b57806389794d00146102a657610241565b3661024157600060015414610082576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610079906103a3565b60405180910390fd5b34600054146100c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bd906103e3565b60405180910390fd5b34600160008282546100d89190610445565b925050819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460025460405160240161012e9190610403565b6040516020818303038152906040527f800fb83f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101b8919061038c565b60006040518083038185875af1925050503d80600081146101f5576040519150601f19603f3d011682016040523d82523d6000602084013e6101fa565b606091505b505090508061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906103c3565b60405180910390fd5b50005b34801561024d57600080fd5b50005b34801561025c57600080fd5b506102656102d1565b6040516102729190610403565b60405180910390f35b34801561028757600080fd5b506102906102d7565b60405161029d9190610403565b60405180910390f35b3480156102b257600080fd5b506102bb6102dd565b6040516102c89190610403565b60405180910390f35b60025481565b60005481565b60015481565b60006102ee8261041e565b6102f88185610429565b93506103088185602086016104a5565b80840191505092915050565b6000610321601683610434565b915061032c82610507565b602082019050919050565b6000610344601d83610434565b915061034f82610530565b602082019050919050565b6000610367601c83610434565b915061037282610559565b602082019050919050565b6103868161049b565b82525050565b600061039882846102e3565b915081905092915050565b600060208201905081810360008301526103bc81610314565b9050919050565b600060208201905081810360008301526103dc81610337565b9050919050565b600060208201905081810360008301526103fc8161035a565b9050919050565b6000602082019050610418600083018461037d565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006104508261049b565b915061045b8361049b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104905761048f6104d8565b5b828201905092915050565b6000819050919050565b60005b838110156104c35780820151818401526020810190506104a8565b838111156104d2576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4974656d20697320616c72656164792070616964656400000000000000000000600082015250565b7f54726173616374696f6e206661696c65642c2063616e63656c6c696e67000000600082015250565b7f77726f6e672076616c75652073656e742c2063616e63656c6c696e670000000060008201525056fea26469706673582212204693d3d3f4818de11feee99c6e7ab47f348b376c30a6efb965eff4b596049edc64736f6c63430008010033a2646970667358221220f97810397804046596de92e2cf362965abefc77fa79b7d2460d6e900be2c2be964736f6c63430008010033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH3 0x44 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x800FB83F EQ PUSH3 0x49 JUMPI DUP1 PUSH4 0x8C551742 EQ PUSH3 0x69 JUMPI DUP1 PUSH4 0xBFB231D2 EQ PUSH3 0x97 JUMPI DUP1 PUSH4 0xCD31831E EQ PUSH3 0xDE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x10C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0x76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x95 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x8F SWAP2 SWAP1 PUSH3 0x9C1 JUMP JUMPDEST PUSH3 0x377 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0xBD SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0xD5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH3 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x10A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH3 0x104 SWAP2 SWAP1 PUSH3 0xA1B JUMP JUMPDEST PUSH3 0x669 JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SLOAD EQ PUSH3 0x166 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x15D SWAP1 PUSH3 0xC27 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x1A1 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x1FD JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH3 0x240 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x237 SWAP1 PUSH3 0xBE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x2A0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B DUP2 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x323 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH3 0x36C SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 ADDRESS DUP3 PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH3 0x38C SWAP1 PUSH3 0x87A JUMP JUMPDEST PUSH3 0x39A SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x3B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x43D SWAP3 SWAP2 SWAP1 PUSH3 0x888 JUMP JUMPDEST POP DUP2 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x4BC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH3 0x4D6 SWAP1 PUSH3 0xE69 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B PUSH1 0x1 SLOAD PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x55D JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x40 MLOAD PUSH3 0x56F SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH3 0x5C7 SWAP1 PUSH3 0xDFD JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH3 0x5F5 SWAP1 PUSH3 0xDFD JUMP JUMPDEST DUP1 ISZERO PUSH3 0x646 JUMPI DUP1 PUSH1 0x1F LT PUSH3 0x61A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH3 0x646 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH3 0x628 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x6A4 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x700 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ PUSH3 0x743 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x73A SWAP1 PUSH3 0xC05 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x7A3 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH32 0xA4035636E99F06B7651A604C1019FA4E8779FE68EF27EEB74DFF2DE348F6199B DUP2 PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x826 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x40 MLOAD PUSH3 0x86F SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0xC49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x745 DUP1 PUSH3 0x1031 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x896 SWAP1 PUSH3 0xDFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x8BA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x906 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x8D5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x906 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x906 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x905 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x8E8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x915 SWAP2 SWAP1 PUSH3 0x919 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x934 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x91A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x94F PUSH3 0x949 DUP5 PUSH3 0xCAF JUMP JUMPDEST PUSH3 0xC86 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x975 DUP5 DUP3 DUP6 PUSH3 0xDB8 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x98F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH3 0x9A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x938 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH3 0x9BB DUP2 PUSH3 0x1016 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x9D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x9F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x9FE DUP6 DUP3 DUP7 ADD PUSH3 0x97D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0xA11 DUP6 DUP3 DUP7 ADD PUSH3 0x9AA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xA2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xA3E DUP5 DUP3 DUP6 ADD PUSH3 0x9AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xA52 DUP2 PUSH3 0xD01 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA63 DUP2 PUSH3 0xD54 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA74 DUP2 PUSH3 0xD7C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA85 DUP2 PUSH3 0xDA4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA98 DUP3 PUSH3 0xCE5 JUMP JUMPDEST PUSH3 0xAA4 DUP2 DUP6 PUSH3 0xCF0 JUMP JUMPDEST SWAP4 POP PUSH3 0xAB6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xDC7 JUMP JUMPDEST PUSH3 0xAC1 DUP2 PUSH3 0xF73 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xADB PUSH1 0x1A DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xAE8 DUP3 PUSH3 0xF84 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB02 PUSH1 0x1D DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xB0F DUP3 PUSH3 0xFAD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB29 PUSH1 0x1B DUP4 PUSH3 0xCF0 JUMP JUMPDEST SWAP2 POP PUSH3 0xB36 DUP3 PUSH3 0xFD6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xB4C DUP2 PUSH3 0xD4A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xB69 PUSH1 0x0 DUP4 ADD DUP7 PUSH3 0xA58 JUMP JUMPDEST PUSH3 0xB78 PUSH1 0x20 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xB87 PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xB41 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH3 0xBA6 PUSH1 0x0 DUP4 ADD DUP8 PUSH3 0xA69 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH3 0xBBA DUP2 DUP7 PUSH3 0xA8B JUMP JUMPDEST SWAP1 POP PUSH3 0xBCB PUSH1 0x40 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xBDA PUSH1 0x60 DUP4 ADD DUP5 PUSH3 0xA7A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xBFE DUP2 PUSH3 0xACC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xC20 DUP2 PUSH3 0xAF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xC42 DUP2 PUSH3 0xB1A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH3 0xC60 PUSH1 0x0 DUP4 ADD DUP7 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xC6F PUSH1 0x20 DUP4 ADD DUP6 PUSH3 0xB41 JUMP JUMPDEST PUSH3 0xC7E PUSH1 0x40 DUP4 ADD DUP5 PUSH3 0xA47 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC92 PUSH3 0xCA5 JUMP JUMPDEST SWAP1 POP PUSH3 0xCA0 DUP3 DUP3 PUSH3 0xE33 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0xCCD JUMPI PUSH3 0xCCC PUSH3 0xF44 JUMP JUMPDEST JUMPDEST PUSH3 0xCD8 DUP3 PUSH3 0xF73 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD0E DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH3 0xD25 DUP3 PUSH3 0xFFF JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD61 DUP3 PUSH3 0xD68 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD75 DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD89 DUP3 PUSH3 0xD90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD9D DUP3 PUSH3 0xD2A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xDB1 DUP3 PUSH3 0xD15 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xDE7 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xDCA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xDF7 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0xE16 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0xE2D JUMPI PUSH3 0xE2C PUSH3 0xF15 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xE3E DUP3 PUSH3 0xF73 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0xE60 JUMPI PUSH3 0xE5F PUSH3 0xF44 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE76 DUP3 PUSH3 0xD4A JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH3 0xEAC JUMPI PUSH3 0xEAB PUSH3 0xEB7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x746869732069742077617320616C726561647920706169646564000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4974656D206E65656420746F20626520696E2050616964205374617465000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C792066756C6C207061796D656E74206163636570657465640000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH3 0x1013 JUMPI PUSH3 0x1012 PUSH3 0xEE6 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH3 0x1021 DUP2 PUSH3 0xD4A JUMP JUMPDEST DUP2 EQ PUSH3 0x102D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x745 CODESIZE SUB DUP1 PUSH2 0x745 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xB3 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x98 DUP2 PUSH2 0x150 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xAD DUP2 PUSH2 0x167 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP7 DUP3 DUP8 ADD PUSH2 0x89 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xE7 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xF8 DUP7 DUP3 DUP8 ADD PUSH2 0x9E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10D DUP3 PUSH2 0x126 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11F DUP3 PUSH2 0x102 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x114 JUMP JUMPDEST DUP2 EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x170 DUP2 PUSH2 0x146 JUMP JUMPDEST DUP2 EQ PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5B8 DUP1 PUSH2 0x18D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2986C0E5 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x3C8DA588 EQ PUSH2 0x27B JUMPI DUP1 PUSH4 0x89794D00 EQ PUSH2 0x2A6 JUMPI PUSH2 0x241 JUMP JUMPDEST CALLDATASIZE PUSH2 0x241 JUMPI PUSH1 0x0 PUSH1 0x1 SLOAD EQ PUSH2 0x82 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x79 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x0 SLOAD EQ PUSH2 0xC6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD SWAP1 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x800FB83F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1F5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1FA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x23E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x235 SWAP1 PUSH2 0x3C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x272 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x290 PUSH2 0x2D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2BB PUSH2 0x2DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2C8 SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x2F8 DUP2 DUP6 PUSH2 0x429 JUMP JUMPDEST SWAP4 POP PUSH2 0x308 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4A5 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x321 PUSH1 0x16 DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x32C DUP3 PUSH2 0x507 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x344 PUSH1 0x1D DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x34F DUP3 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x367 PUSH1 0x1C DUP4 PUSH2 0x434 JUMP JUMPDEST SWAP2 POP PUSH2 0x372 DUP3 PUSH2 0x559 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x386 DUP2 PUSH2 0x49B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x398 DUP3 DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3BC DUP2 PUSH2 0x314 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3DC DUP2 PUSH2 0x337 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3FC DUP2 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x418 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x37D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x49B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x490 JUMPI PUSH2 0x48F PUSH2 0x4D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x4D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4974656D20697320616C72656164792070616964656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54726173616374696F6E206661696C65642C2063616E63656C6C696E67000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x77726F6E672076616C75652073656E742C2063616E63656C6C696E6700000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CHAINID SWAP4 0xD3 0xD3 DELEGATECALL DUP2 DUP14 0xE1 0x1F 0xEE 0xE9 SWAP13 PUSH15 0x7AB47F348B376C30A6EFB965EFF4B5 SWAP7 DIV SWAP15 0xDC PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 PUSH25 0x10397804046596DE92E2CF362965ABEFC77FA79B7D2460D6E9 STOP 0xBE 0x2C 0x2B 0xE9 PUSH5 0x736F6C6343 STOP ADDMOD ADD STOP CALLER ", | |
"sourceMap": "887:1784:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1743:537;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1276:457;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1121:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;2290:379;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1743:537;1906:9;1878:5;:17;1884:10;1878:17;;;;;;;;;;;:24;;;:37;1870:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;2035:23;2007:51;;;;;;;;;;;;;;;;:5;:17;2013:10;2007:17;;;;;;;;;;;:24;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;1999:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;2135:20;2108:5;:17;2114:10;2108:17;;;;;;;;;;;:24;;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2170:93;2186:10;2203:5;:17;2209:10;2203:17;;;;;;;;;;;:24;;;;;;;;;;;;2198:30;;;;;;;;;;;;;;;;2238:5;:16;2244:9;;2238:16;;;;;;;;;;;:22;;;;;;;;;;;;2170:93;;;;;;;;:::i;:::-;;;;;;;;1743:537;:::o;1276:457::-;1362:9;1383:4;1389:6;1397:9;;1374:33;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1362:45;;1442:4;1417:5;:16;1423:9;;1417:16;;;;;;;;;;;:22;;;:29;;;;;;;;;;;;;;;;;;1487:11;1456:5;:16;1462:9;;1456:16;;;;;;;;;;;:28;;:42;;;;;;;;;;;;:::i;:::-;;1534:6;1508:5;:16;1514:9;;1508:16;;;;;;;;;;;:23;;:32;;;;1576:23;1550:5;:16;1556:9;;1550:16;;;;;;;;;;;:23;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1609:9;;:11;;;;;;;;;:::i;:::-;;;;;;1635:72;1651:9;;1667:5;:16;1673:9;;1667:16;;;;;;;;;;;:23;;;;;;;;;;;;1662:29;;;;;;;;;;;;;;;;1701:4;1635:72;;;;;;;;:::i;:::-;;;;;;;;1276:457;;;:::o;1121:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2290:379::-;2421:20;2393:48;;;;;;;;;;;;;;;;:5;:17;2399:10;2393:17;;;;;;;;;;;:24;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;2385:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;2512:25;2485:5;:17;2491:10;2485:17;;;;;;;;;;;:24;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2561:92;2577:10;2594:5;:17;2600:10;2594:17;;;;;;;;;;;:24;;;;;;;;;;;;2589:30;;;;;;;;;;;;;;;;2629:5;:16;2635:9;;2629:16;;;;;;;;;;;:22;;;;;;;;;;;;2561:92;;;;;;;;:::i;:::-;;;;;;;;2290:379;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;372:273::-;;477:3;470:4;462:6;458:17;454:27;444:2;;495:1;492;485:12;444:2;535:6;522:20;560:79;635:3;627:6;620:4;612:6;608:17;560:79;:::i;:::-;551:88;;434:211;;;;;:::o;651:139::-;;735:6;722:20;713:29;;751:33;778:5;751:33;:::i;:::-;703:87;;;;:::o;796:520::-;;;931:2;919:9;910:7;906:23;902:32;899:2;;;947:1;944;937:12;899:2;1018:1;1007:9;1003:17;990:31;1048:18;1040:6;1037:30;1034:2;;;1080:1;1077;1070:12;1034:2;1108:63;1163:7;1154:6;1143:9;1139:22;1108:63;:::i;:::-;1098:73;;961:220;1220:2;1246:53;1291:7;1282:6;1271:9;1267:22;1246:53;:::i;:::-;1236:63;;1191:118;889:427;;;;;:::o;1322:262::-;;1430:2;1418:9;1409:7;1405:23;1401:32;1398:2;;;1446:1;1443;1436:12;1398:2;1489:1;1514:53;1559:7;1550:6;1539:9;1535:22;1514:53;:::i;:::-;1504:63;;1460:117;1388:196;;;;:::o;1590:118::-;1677:24;1695:5;1677:24;:::i;:::-;1672:3;1665:37;1655:53;;:::o;1714:169::-;1820:56;1870:5;1820:56;:::i;:::-;1815:3;1808:69;1798:85;;:::o;1889:169::-;1995:56;2045:5;1995:56;:::i;:::-;1990:3;1983:69;1973:85;;:::o;2064:163::-;2167:53;2214:5;2167:53;:::i;:::-;2162:3;2155:66;2145:82;;:::o;2233:364::-;;2349:39;2382:5;2349:39;:::i;:::-;2404:71;2468:6;2463:3;2404:71;:::i;:::-;2397:78;;2484:52;2529:6;2524:3;2517:4;2510:5;2506:16;2484:52;:::i;:::-;2561:29;2583:6;2561:29;:::i;:::-;2556:3;2552:39;2545:46;;2325:272;;;;;:::o;2603:366::-;;2766:67;2830:2;2825:3;2766:67;:::i;:::-;2759:74;;2842:93;2931:3;2842:93;:::i;:::-;2960:2;2955:3;2951:12;2944:19;;2749:220;;;:::o;2975:366::-;;3138:67;3202:2;3197:3;3138:67;:::i;:::-;3131:74;;3214:93;3303:3;3214:93;:::i;:::-;3332:2;3327:3;3323:12;3316:19;;3121:220;;;:::o;3347:366::-;;3510:67;3574:2;3569:3;3510:67;:::i;:::-;3503:74;;3586:93;3675:3;3586:93;:::i;:::-;3704:2;3699:3;3695:12;3688:19;;3493:220;;;:::o;3719:118::-;3806:24;3824:5;3806:24;:::i;:::-;3801:3;3794:37;3784:53;;:::o;3843:480::-;;4049:2;4038:9;4034:18;4026:26;;4062:90;4149:1;4138:9;4134:17;4125:6;4062:90;:::i;:::-;4162:72;4230:2;4219:9;4215:18;4206:6;4162:72;:::i;:::-;4244;4312:2;4301:9;4297:18;4288:6;4244:72;:::i;:::-;4016:307;;;;;;:::o;4329:714::-;;4599:3;4588:9;4584:19;4576:27;;4613:90;4700:1;4689:9;4685:17;4676:6;4613:90;:::i;:::-;4750:9;4744:4;4740:20;4735:2;4724:9;4720:18;4713:48;4778:78;4851:4;4842:6;4778:78;:::i;:::-;4770:86;;4866:72;4934:2;4923:9;4919:18;4910:6;4866:72;:::i;:::-;4948:88;5032:2;5021:9;5017:18;5008:6;4948:88;:::i;:::-;4566:477;;;;;;;:::o;5049:419::-;;5253:2;5242:9;5238:18;5230:26;;5302:9;5296:4;5292:20;5288:1;5277:9;5273:17;5266:47;5330:131;5456:4;5330:131;:::i;:::-;5322:139;;5220:248;;;:::o;5474:419::-;;5678:2;5667:9;5663:18;5655:26;;5727:9;5721:4;5717:20;5713:1;5702:9;5698:17;5691:47;5755:131;5881:4;5755:131;:::i;:::-;5747:139;;5645:248;;;:::o;5899:419::-;;6103:2;6092:9;6088:18;6080:26;;6152:9;6146:4;6142:20;6138:1;6127:9;6123:17;6116:47;6180:131;6306:4;6180:131;:::i;:::-;6172:139;;6070:248;;;:::o;6324:442::-;;6511:2;6500:9;6496:18;6488:26;;6524:71;6592:1;6581:9;6577:17;6568:6;6524:71;:::i;:::-;6605:72;6673:2;6662:9;6658:18;6649:6;6605:72;:::i;:::-;6687;6755:2;6744:9;6740:18;6731:6;6687:72;:::i;:::-;6478:288;;;;;;:::o;6772:129::-;;6833:20;;:::i;:::-;6823:30;;6862:33;6890:4;6882:6;6862:33;:::i;:::-;6813:88;;;:::o;6907:75::-;;6973:2;6967:9;6957:19;;6947:35;:::o;6988:308::-;;7140:18;7132:6;7129:30;7126:2;;;7162:18;;:::i;:::-;7126:2;7200:29;7222:6;7200:29;:::i;:::-;7192:37;;7284:4;7278;7274:15;7266:23;;7055:241;;;:::o;7302:99::-;;7388:5;7382:12;7372:22;;7361:40;;;:::o;7407:169::-;;7525:6;7520:3;7513:19;7565:4;7560:3;7556:14;7541:29;;7503:73;;;;:::o;7582:96::-;;7648:24;7666:5;7648:24;:::i;:::-;7637:35;;7627:51;;;:::o;7684:147::-;;7768:5;7757:16;;7774:51;7819:5;7774:51;:::i;:::-;7747:84;;;:::o;7837:126::-;;7914:42;7907:5;7903:54;7892:65;;7882:81;;;:::o;7969:77::-;;8035:5;8024:16;;8014:32;;;:::o;8052:164::-;;8154:56;8204:5;8154:56;:::i;:::-;8141:69;;8131:85;;;:::o;8222:132::-;;8324:24;8342:5;8324:24;:::i;:::-;8311:37;;8301:53;;;:::o;8360:156::-;;8462:48;8504:5;8462:48;:::i;:::-;8449:61;;8439:77;;;:::o;8522:124::-;;8616:24;8634:5;8616:24;:::i;:::-;8603:37;;8593:53;;;:::o;8652:147::-;;8751:42;8787:5;8751:42;:::i;:::-;8738:55;;8728:71;;;:::o;8805:154::-;8889:6;8884:3;8879;8866:30;8951:1;8942:6;8937:3;8933:16;8926:27;8856:103;;;:::o;8965:307::-;9033:1;9043:113;9057:6;9054:1;9051:13;9043:113;;;9142:1;9137:3;9133:11;9127:18;9123:1;9118:3;9114:11;9107:39;9079:2;9076:1;9072:10;9067:15;;9043:113;;;9174:6;9171:1;9168:13;9165:2;;;9254:1;9245:6;9240:3;9236:16;9229:27;9165:2;9014:258;;;;:::o;9278:320::-;;9359:1;9353:4;9349:12;9339:22;;9406:1;9400:4;9396:12;9427:18;9417:2;;9483:4;9475:6;9471:17;9461:27;;9417:2;9545;9537:6;9534:14;9514:18;9511:38;9508:2;;;9564:18;;:::i;:::-;9508:2;9329:269;;;;:::o;9604:281::-;9687:27;9709:4;9687:27;:::i;:::-;9679:6;9675:40;9817:6;9805:10;9802:22;9781:18;9769:10;9766:34;9763:62;9760:2;;;9828:18;;:::i;:::-;9760:2;9868:10;9864:2;9857:22;9647:238;;;:::o;9891:233::-;;9953:24;9971:5;9953:24;:::i;:::-;9944:33;;9999:66;9992:5;9989:77;9986:2;;;10069:18;;:::i;:::-;9986:2;10116:1;10109:5;10105:13;10098:20;;9934:190;;;:::o;10130:180::-;10178:77;10175:1;10168:88;10275:4;10272:1;10265:15;10299:4;10296:1;10289:15;10316:180;10364:77;10361:1;10354:88;10461:4;10458:1;10451:15;10485:4;10482:1;10475:15;10502:180;10550:77;10547:1;10540:88;10647:4;10644:1;10637:15;10671:4;10668:1;10661:15;10688:180;10736:77;10733:1;10726:88;10833:4;10830:1;10823:15;10857:4;10854:1;10847:15;10874:102;;10966:2;10962:7;10957:2;10950:5;10946:14;10942:28;10932:38;;10922:54;;;:::o;10982:176::-;11122:28;11118:1;11110:6;11106:14;11099:52;11088:70;:::o;11164:179::-;11304:31;11300:1;11292:6;11288:14;11281:55;11270:73;:::o;11349:177::-;11489:29;11485:1;11477:6;11473:14;11466:53;11455:71;:::o;11532:123::-;11623:1;11616:5;11613:12;11603:2;;11629:18;;:::i;:::-;11603:2;11593:62;:::o;11661:122::-;11734:24;11752:5;11734:24;:::i;:::-;11727:5;11724:35;11714:2;;11773:1;11770;11763:12;11714:2;11704:79;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1211800", | |
"executionCost": "1261", | |
"totalCost": "1213061" | |
}, | |
"external": { | |
"createItem(string,uint256)": "infinite", | |
"items(uint256)": "infinite", | |
"triggerDelivery(uint256)": "infinite", | |
"triggerPayment(uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"createItem(string,uint256)": "8c551742", | |
"items(uint256)": "bfb231d2", | |
"triggerDelivery(uint256)": "cd31831e", | |
"triggerPayment(uint256)": "800fb83f" | |
} | |
}, | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_step", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_addressItem", | |
"type": "address" | |
} | |
], | |
"name": "SupplyChainStep", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_identifier", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_price", | |
"type": "uint256" | |
} | |
], | |
"name": "createItem", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "items", | |
"outputs": [ | |
{ | |
"internalType": "contract Item", | |
"name": "_item", | |
"type": "address" | |
}, | |
{ | |
"internalType": "string", | |
"name": "_identifier", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_price", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "enum ItemManager.SuplyChainState", | |
"name": "_state", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
} | |
], | |
"name": "triggerDelivery", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
} | |
], | |
"name": "triggerPayment", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.1+commit.df193b15" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_step", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_addressItem", | |
"type": "address" | |
} | |
], | |
"name": "SupplyChainStep", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_identifier", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_price", | |
"type": "uint256" | |
} | |
], | |
"name": "createItem", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "items", | |
"outputs": [ | |
{ | |
"internalType": "contract Item", | |
"name": "_item", | |
"type": "address" | |
}, | |
{ | |
"internalType": "string", | |
"name": "_identifier", | |
"type": "string" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_price", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "enum ItemManager.SuplyChainState", | |
"name": "_state", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
} | |
], | |
"name": "triggerDelivery", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_itemIndex", | |
"type": "uint256" | |
} | |
], | |
"name": "triggerPayment", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/18-ItemManager.sol": "ItemManager" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/18-ItemManager.sol": { | |
"keccak256": "0x40c1592137b925582f78069be073cdccecc0bbe287746004f3b4f61b500fe934", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://348028f814105e9420e300c8df95bc50d00579fe52f77d4ccda73a0d450494ed", | |
"dweb:/ipfs/QmUwNgj8Q88kdJeRcJ9uohud9uyh4sjfpU2ZjDDzAFYZ8L" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b5060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610382806100646000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461009f575b600080fd5b6100876004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f7565b60405180821515815260200191505060405180910390f35b6100e1600480360360208110156100b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610229565b6040518082815260200191505060405180910390f35b600061014a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461024190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506101dd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102c490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60006020528060005260406000206000915090505481565b6000828211156102b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600080828401905083811015610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea2646970667358221220602bd9a970567dc2a3d39a45f00f9850771c15e25f279932fca8d10ec4d9083a64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x382 DUP1 PUSH2 0x64 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x412664AE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0x9F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x229 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x14A DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x241 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1DD DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2C4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x2B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x342 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0x2B 0xD9 0xA9 PUSH17 0x567DC2A3D39A45F00F9850771C15E25F27 SWAP10 ORIGIN 0xFC 0xA8 0xD1 0xE 0xC4 0xD9 ADDMOD GASPRICE PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "181:437:0:-:0;;;307:59;;;;;;;;;;358:1;331:12;:24;344:10;331:24;;;;;;;;;;;;;;;:28;;;;181:437;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461009f575b600080fd5b6100876004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506100f7565b60405180821515815260200191505060405180910390f35b6100e1600480360360208110156100b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610229565b6040518082815260200191505060405180910390f35b600061014a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461024190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506101dd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102c490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60006020528060005260406000206000915090505481565b6000828211156102b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600080828401905083811015610342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea2646970667358221220602bd9a970567dc2a3d39a45f00f9850771c15e25f279932fca8d10ec4d9083a64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x412664AE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0x9F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x229 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x14A DUP3 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x241 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1DD DUP3 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x2C4 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x2B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP4 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP5 ADD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x342 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0x2B 0xD9 0xA9 PUSH17 0x567DC2A3D39A45F00F9850771C15E25F27 SWAP10 ORIGIN 0xFC 0xA8 0xD1 0xE 0xC4 0xD9 ADDMOD GASPRICE PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "181:437:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;252:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;376:240;437:4;481:37;510:7;481:12;:24;494:10;481:24;;;;;;;;;;;;;;;;:28;;:37;;;;:::i;:::-;454:12;:24;467:10;454:24;;;;;;;;;;;;;;;:64;;;;548:30;570:7;548:12;:17;561:3;548:17;;;;;;;;;;;;;;;;:21;;:30;;;;:::i;:::-;528:12;:17;541:3;528:17;;;;;;;;;;;;;;;:50;;;;604:4;597:11;;376:240;;;;:::o;252:44::-;;;;;;;;;;;;;;;;;:::o;3128:155:1:-;3186:7;3218:1;3213;:6;;3205:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3275:1;3271;:5;3264:12;;3128:155;;;;:::o;2682:175::-;2740:7;2759:9;2775:1;2771;:5;2759:17;;2799:1;2794;:6;;2786:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2849:1;2842:8;;;2682:175;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "179600", | |
"executionCost": "20329", | |
"totalCost": "199929" | |
}, | |
"external": { | |
"sendToken(address,uint256)": "infinite", | |
"tokenBalance(address)": "1169" | |
} | |
}, | |
"methodIdentifiers": { | |
"sendToken(address,uint256)": "412664ae", | |
"tokenBalance(address)": "eedc966a" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
} | |
], | |
"name": "sendToken", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "tokenBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/12_LibrariesExample.sol": "LibrariesExample" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/12_LibrariesExample.sol": { | |
"keccak256": "0xf1435e7e9abc5c510abaf908e39f1d1ca80b27eeca32479fc9fb6e6b714d41a3", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://91abebcc91ae7ba93199e9bb2dde060e82e549513047fc16062a3dfcaed148c6", | |
"dweb:/ipfs/QmayzzsxaHadWKyASWELe5gaG73wnU9BVxtgU7FR5HF5Du" | |
] | |
}, | |
"https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-contracts/v3.4.1-solc-0.7/contracts/math/SafeMath.sol": { | |
"keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", | |
"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "6080604052348015600f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603f80605d6000396000f3fe6080604052600080fdfea2646970667358221220c15f53a1ec9ab304fd9bbd725c4a041876a33552a0075454398bd3cc1264e48a64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3F DUP1 PUSH1 0x5D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC1 0x5F MSTORE8 LOG1 0xEC SWAP11 0xB3 DIV REVERT SWAP12 0xBD PUSH19 0x5C4A041876A33552A0075454398BD3CC1264E4 DUP11 PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:215:0:-:0;;;102:50;;;;;;;;;;135:10;127:5;;:18;;;;;;;;;;;;;;;;;;56:215;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600080fdfea2646970667358221220c15f53a1ec9ab304fd9bbd725c4a041876a33552a0075454398bd3cc1264e48a64736f6c63430007060033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC1 0x5F MSTORE8 LOG1 0xEC SWAP11 0xB3 DIV REVERT SWAP12 0xBD PUSH19 0x5C4A041876A33552A0075454398BD3CC1264E4 DUP11 PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ", | |
"sourceMap": "56:215:0:-:0;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "12600", | |
"executionCost": "20932", | |
"totalCost": "33532" | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.7.6+commit.7338295f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/9_Modifier.sol": "Owned" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/9_Modifier.sol": { | |
"keccak256": "0xa428316a3a9768aa9c6c8fa0e30fc78a5d73b042011abf6f32d3e9aa0d5b4f9a", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://26d2fccc0d3a54e01b4d4b85475e248f78743eff4411aa8f5191c3cf65523e36", | |
"dweb:/ipfs/QmanCqAgsuGCiXHyhZeySC5Di1H1kEbj7wvnAA3SZV34E6" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506104da806100206000396000f3fe6080604052600436106100555760003560e01c80630ff8d8a51461005a57806312065fe01461008357806352a90c42146100ae5780636d26ec18146100d9578063ac446002146100e3578063ce0617ec146100fa575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610339565b610125565b005b34801561008f57600080fd5b506100986101f7565b6040516100a5919061039a565b60405180910390f35b3480156100ba57600080fd5b506100c36101ff565b6040516100d0919061039a565b60405180910390f35b6100e1610205565b005b3480156100ef57600080fd5b506100f8610232565b005b34801561010657600080fd5b5061010f610309565b60405161011c919061039a565b60405180910390f35b4260015410156101f4578073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c79190610362565b9081150290604051600060405180830381858888f193505050501580156101f2573d6000803e3d6000fd5b505b50565b600047905090565b60005481565b3460008082825461021691906103b5565b92505081905550603c4261022a91906103b5565b600181905550565b4260015410156103075760003390508073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102a157600080fd5b505afa1580156102b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d99190610362565b9081150290604051600060405180830381858888f19350505050158015610304573d6000803e3d6000fd5b50505b565b60015481565b60008135905061031e81610476565b92915050565b6000815190506103338161048d565b92915050565b60006020828403121561034b57600080fd5b60006103598482850161030f565b91505092915050565b60006020828403121561037457600080fd5b600061038284828501610324565b91505092915050565b6103948161043d565b82525050565b60006020820190506103af600083018461038b565b92915050565b60006103c08261043d565b91506103cb8361043d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610400576103ff610447565b5b828201905092915050565b60006104168261041d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61047f8161040b565b811461048a57600080fd5b50565b6104968161043d565b81146104a157600080fd5b5056fea264697066735822122077688e0540554e7b50905690f5bcc819b222f31cd09650f54929764faa7c2e8664736f6c63430008000033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4DA DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xFF8D8A5 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x52A90C42 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xAC446002 EQ PUSH2 0xE3 JUMPI DUP1 PUSH4 0xCE0617EC EQ PUSH2 0xFA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x339 JUMP JUMPDEST PUSH2 0x125 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5 SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH2 0x205 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH2 0x232 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x106 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10F PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11C SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST TIMESTAMP PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x1F4 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x362 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x3C TIMESTAMP PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x3B5 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST TIMESTAMP PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x307 JUMPI PUSH1 0x0 CALLER SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2D9 SWAP2 SWAP1 PUSH2 0x362 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x304 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x31E DUP2 PUSH2 0x476 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x333 DUP2 PUSH2 0x48D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP5 DUP3 DUP6 ADD PUSH2 0x30F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x382 DUP5 DUP3 DUP6 ADD PUSH2 0x324 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x394 DUP2 PUSH2 0x43D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x38B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C0 DUP3 PUSH2 0x43D JUMP JUMPDEST SWAP2 POP PUSH2 0x3CB DUP4 PUSH2 0x43D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x400 JUMPI PUSH2 0x3FF PUSH2 0x447 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x416 DUP3 PUSH2 0x41D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x47F DUP2 PUSH2 0x40B JUMP JUMPDEST DUP2 EQ PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x496 DUP2 PUSH2 0x43D JUMP JUMPDEST DUP2 EQ PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x688E0540554E7B50905690F5BCC819B222F31CD09650F549 0x29 PUSH23 0x4FAA7C2E8664736F6C6343000800003300000000000000 ", | |
"sourceMap": "57:747:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:2334:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "67:95:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "77:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "99:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "86:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "86:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "77:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "150:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "115:34:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "115:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "115:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "45:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "53:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "61:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:155:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "231:80:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "241:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "256:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "250:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "250:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "241:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "299:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "272:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "272:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "272:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "209:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "217:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "225:5:1", | |
"type": "" | |
} | |
], | |
"src": "168:143:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "391:204:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "437:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "446:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "449:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "439:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "439:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "439:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "412:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "421:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "408:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "408:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "433:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "404:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "404:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "401:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "463:125:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "478:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "492:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "482:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "507:71:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "550:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "561:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "546:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "546:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "570:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "517:28:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "517:61:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "507:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "361:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "372:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "384:6:1", | |
"type": "" | |
} | |
], | |
"src": "317:278:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "678:207:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "724:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "733:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "736:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "726:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "726:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "726:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "699:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "708:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "695:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "695:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "720:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "691:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "691:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "688:2:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "750:128:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "765:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "779:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "769:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "794:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "840:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "851:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "836:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "836:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "860:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "804:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "804:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "794:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "648:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "659:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "671:6:1", | |
"type": "" | |
} | |
], | |
"src": "601:284:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "956:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "973:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "996:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "978:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "978:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "966:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "966:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "966:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "944:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "951:3:1", | |
"type": "" | |
} | |
], | |
"src": "891:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1113:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1123:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1135:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1146:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1131:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1131:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1123:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1203:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1216:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1227:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1212:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1212:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1159:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1159:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1159:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1085:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1097:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1108:4:1", | |
"type": "" | |
} | |
], | |
"src": "1015:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1287:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1297:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1320:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1302:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1302:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1297:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1331:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1354:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1336:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1336:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1331:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1494:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1496:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1496:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1496:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1415:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1422:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1490:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1418:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1418:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1412:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1412:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1409:2:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1526:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1537:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1540:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1533:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1533:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "1526:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1274:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1277:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "1283:3:1", | |
"type": "" | |
} | |
], | |
"src": "1243:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1607:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1617:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1646:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "1628:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1628:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1617:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1589:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1599:7:1", | |
"type": "" | |
} | |
], | |
"src": "1554:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1709:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1719:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1734:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1741:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "1730:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1730:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1719:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1691:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1701:7:1", | |
"type": "" | |
} | |
], | |
"src": "1664:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1841:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1851:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1862:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1851:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1823:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1833:7:1", | |
"type": "" | |
} | |
], | |
"src": "1796:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1907:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1924:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1927:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1917:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1917:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1917:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2021:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2024:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2014:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2014:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2014:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2045:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2048:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2038:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2038:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2038:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1879:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2116:87:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2181:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2190:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2193:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2183:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2183:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2183:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2139:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2172:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "2146:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2146:32:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "2136:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2136:43:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2129:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2129:51:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2126:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2109:5:1", | |
"type": "" | |
} | |
], | |
"src": "2065:138:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2252:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2309:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2318:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2321:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "2311:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2311:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2311:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2275:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2300:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2282:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2282:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "2272:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2272:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2265:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2265:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2262:2:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2245:5:1", | |
"type": "" | |
} | |
], | |
"src": "2209:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100555760003560e01c80630ff8d8a51461005a57806312065fe01461008357806352a90c42146100ae5780636d26ec18146100d9578063ac446002146100e3578063ce0617ec146100fa575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610339565b610125565b005b34801561008f57600080fd5b506100986101f7565b6040516100a5919061039a565b60405180910390f35b3480156100ba57600080fd5b506100c36101ff565b6040516100d0919061039a565b60405180910390f35b6100e1610205565b005b3480156100ef57600080fd5b506100f8610232565b005b34801561010657600080fd5b5061010f610309565b60405161011c919061039a565b60405180910390f35b4260015410156101f4578073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c79190610362565b9081150290604051600060405180830381858888f193505050501580156101f2573d6000803e3d6000fd5b505b50565b600047905090565b60005481565b3460008082825461021691906103b5565b92505081905550603c4261022a91906103b5565b600181905550565b4260015410156103075760003390508073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102a157600080fd5b505afa1580156102b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d99190610362565b9081150290604051600060405180830381858888f19350505050158015610304573d6000803e3d6000fd5b50505b565b60015481565b60008135905061031e81610476565b92915050565b6000815190506103338161048d565b92915050565b60006020828403121561034b57600080fd5b60006103598482850161030f565b91505092915050565b60006020828403121561037457600080fd5b600061038284828501610324565b91505092915050565b6103948161043d565b82525050565b60006020820190506103af600083018461038b565b92915050565b60006103c08261043d565b91506103cb8361043d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610400576103ff610447565b5b828201905092915050565b60006104168261041d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61047f8161040b565b811461048a57600080fd5b50565b6104968161043d565b81146104a157600080fd5b5056fea264697066735822122077688e0540554e7b50905690f5bcc819b222f31cd09650f54929764faa7c2e8664736f6c63430008000033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xFF8D8A5 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x83 JUMPI DUP1 PUSH4 0x52A90C42 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0xD9 JUMPI DUP1 PUSH4 0xAC446002 EQ PUSH2 0xE3 JUMPI DUP1 PUSH4 0xCE0617EC EQ PUSH2 0xFA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x339 JUMP JUMPDEST PUSH2 0x125 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x98 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5 SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE1 PUSH2 0x205 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH2 0x232 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x106 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10F PUSH2 0x309 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11C SWAP2 SWAP1 PUSH2 0x39A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST TIMESTAMP PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x1F4 JUMPI DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x362 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x216 SWAP2 SWAP1 PUSH2 0x3B5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x3C TIMESTAMP PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x3B5 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST TIMESTAMP PUSH1 0x1 SLOAD LT ISZERO PUSH2 0x307 JUMPI PUSH1 0x0 CALLER SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC ADDRESS PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x12065FE0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2B5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2D9 SWAP2 SWAP1 PUSH2 0x362 JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x304 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x31E DUP2 PUSH2 0x476 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x333 DUP2 PUSH2 0x48D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP5 DUP3 DUP6 ADD PUSH2 0x30F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x382 DUP5 DUP3 DUP6 ADD PUSH2 0x324 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x394 DUP2 PUSH2 0x43D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3AF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x38B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C0 DUP3 PUSH2 0x43D JUMP JUMPDEST SWAP2 POP PUSH2 0x3CB DUP4 PUSH2 0x43D JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x400 JUMPI PUSH2 0x3FF PUSH2 0x447 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x416 DUP3 PUSH2 0x41D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x47F DUP2 PUSH2 0x40B JUMP JUMPDEST DUP2 EQ PUSH2 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x496 DUP2 PUSH2 0x43D JUMP JUMPDEST DUP2 EQ PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x688E0540554E7B50905690F5BCC819B222F31CD09650F549 0x29 PUSH23 0x4FAA7C2E8664736F6C6343000800003300000000000000 ", | |
"sourceMap": "57:747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;642:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;327:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;154:163;;;:::i;:::-;;439:193;;;;;;;;;;;;;:::i;:::-;;120:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;642:160;723:15;709:11;;:29;705:91;;;754:3;:12;;:31;767:4;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;754:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:91;642:160;:::o;327:102::-;369:4;401:21;394:28;;327:102;:::o;87:27::-;;;;:::o;154:163::-;231:9;212:15;;:28;;;;;;;:::i;:::-;;;;;;;;292:9;274:15;:27;;;;:::i;:::-;260:11;:41;;;;154:163::o;439:193::-;499:15;485:11;;:29;481:145;;;530:18;559:10;530:40;;585:2;:11;;:30;597:4;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;585:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;481:145;;439:193::o;120:23::-;;;;:::o;7:155:1:-;;99:6;86:20;77:29;;115:41;150:5;115:41;:::i;:::-;67:95;;;;:::o;168:143::-;;256:6;250:13;241:22;;272:33;299:5;272:33;:::i;:::-;231:80;;;;:::o;317:278::-;;433:2;421:9;412:7;408:23;404:32;401:2;;;449:1;446;439:12;401:2;492:1;517:61;570:7;561:6;550:9;546:22;517:61;:::i;:::-;507:71;;463:125;391:204;;;;:::o;601:284::-;;720:2;708:9;699:7;695:23;691:32;688:2;;;736:1;733;726:12;688:2;779:1;804:64;860:7;851:6;840:9;836:22;804:64;:::i;:::-;794:74;;750:128;678:207;;;;:::o;891:118::-;978:24;996:5;978:24;:::i;:::-;973:3;966:37;956:53;;:::o;1015:222::-;;1146:2;1135:9;1131:18;1123:26;;1159:71;1227:1;1216:9;1212:17;1203:6;1159:71;:::i;:::-;1113:124;;;;:::o;1243:305::-;;1302:20;1320:1;1302:20;:::i;:::-;1297:25;;1336:20;1354:1;1336:20;:::i;:::-;1331:25;;1490:1;1422:66;1418:74;1415:1;1412:81;1409:2;;;1496:18;;:::i;:::-;1409:2;1540:1;1537;1533:9;1526:16;;1287:261;;;;:::o;1554:104::-;;1628:24;1646:5;1628:24;:::i;:::-;1617:35;;1607:51;;;:::o;1664:126::-;;1741:42;1734:5;1730:54;1719:65;;1709:81;;;:::o;1796:77::-;;1862:5;1851:16;;1841:32;;;:::o;1879:180::-;1927:77;1924:1;1917:88;2024:4;2021:1;2014:15;2048:4;2045:1;2038:15;2065:138;2146:32;2172:5;2146:32;:::i;:::-;2139:5;2136:43;2126:2;;2193:1;2190;2183:12;2126:2;2116:87;:::o;2209:122::-;2282:24;2300:5;2282:24;:::i;:::-;2275:5;2272:35;2262:2;;2321:1;2318;2311:12;2262:2;2252:79;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "248400", | |
"executionCost": "287", | |
"totalCost": "248687" | |
}, | |
"external": { | |
"balanceReceived()": "1151", | |
"getBalance()": "339", | |
"lockedUntil()": "1217", | |
"receiveMoney()": "infinite", | |
"withdrawMoney()": "infinite", | |
"withdrawMoneyTo(address)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"balanceReceived()": "52a90c42", | |
"getBalance()": "12065fe0", | |
"lockedUntil()": "ce0617ec", | |
"receiveMoney()": "6d26ec18", | |
"withdrawMoney()": "ac446002", | |
"withdrawMoneyTo(address)": "0ff8d8a5" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "balanceReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "lockedUntil", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
} | |
], | |
"name": "withdrawMoneyTo", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.0+commit.c7dfd78e" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "balanceReceived", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "lockedUntil", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "receiveMoney", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawMoney", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "_to", | |
"type": "address" | |
} | |
], | |
"name": "withdrawMoneyTo", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/5_SendMoney.sol": "SendMoney" | |
}, | |
"evmVersion": "istanbul", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/5_SendMoney.sol": { | |
"keccak256": "0x8edf46f84be009d26ca15340c4dea40b4ee09b77fdc47a52cec0d0885e8b8769", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://d2b380ffdbfd2d7a8c31a3a08bd70d871190957b56e3cb7c7a06efb0d794147b", | |
"dweb:/ipfs/QmWJSfXoYEi33xWvdZ3YzUwgrFoHrX7XwZBQCbBn3b8Fye" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: MIT | |
pragma solidity ^0.7.0; | |
contract Owned { | |
address owner; | |
constructor() { | |
owner = msg.sender; | |
} | |
modifier onlyOwner() { | |
require(msg.sender == owner, "You are not the owner"); | |
_; | |
} | |
} |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment