Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vishalsg42/c2537164040491d86c34fd5dd3ca71fc to your computer and use it in GitHub Desktop.
Save vishalsg42/c2537164040491d86c34fd5dd3ca71fc 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.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol)
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 generally not needed starting with Solidity 0.8, since 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;
}
}
}
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.
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610133806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806306540f7e146037578063e492fd84146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60005481565b8060008190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220cce2ab59647bccb160c6fb32d567d6abd19da29a0e30dec12f2ca826dad71bc464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x133 DUP1 PUSH2 0x20 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 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCC 0xE2 0xAB MSIZE PUSH5 0x7BCCB160C6 0xFB ORIGIN 0xD5 PUSH8 0xD6ABD19DA29A0E30 0xDE 0xC1 0x2F 0x2C 0xA8 0x26 0xDA 0xD7 SHL 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:131:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@myUint_3": {
"entryPoint": 105,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@setMyUint_13": {
"entryPoint": 111,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 121,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 140,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 180,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 193,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 218,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 228,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 233,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1374: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_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"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": "218:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:1"
},
"nodeType": "YulFunctionCall",
"src": "266:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:119:1"
},
{
"nodeType": "YulBlock",
"src": "357:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "432:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "411:20:1"
},
"nodeType": "YulFunctionCall",
"src": "411:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "552:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "569:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "592:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "574:17:1"
},
"nodeType": "YulFunctionCall",
"src": "574:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "562:6:1"
},
"nodeType": "YulFunctionCall",
"src": "562:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "562:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "540:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "547:3:1",
"type": ""
}
],
"src": "487:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "709:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "719:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "731:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "742:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "727:3:1"
},
"nodeType": "YulFunctionCall",
"src": "727:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "719:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "799:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "812:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "823:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "808:3:1"
},
"nodeType": "YulFunctionCall",
"src": "808:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "755:43:1"
},
"nodeType": "YulFunctionCall",
"src": "755:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "755:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "681:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "693:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "704:4:1",
"type": ""
}
],
"src": "611:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "879:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "889:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "905:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "899:5:1"
},
"nodeType": "YulFunctionCall",
"src": "899:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "889:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "872:6:1",
"type": ""
}
],
"src": "839:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "965:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "975:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "986:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "975:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "947:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "957:7:1",
"type": ""
}
],
"src": "920:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1092:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1109:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1112:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1102:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1102:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1102:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1003:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1215:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1235:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1225:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1225:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1126:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1292:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1349:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1358:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1351:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1351:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1351:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1315:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1340:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1322:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1312:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1312:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1305:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1305:43:1"
},
"nodeType": "YulIf",
"src": "1302:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1285:5:1",
"type": ""
}
],
"src": "1249:122:1"
}
]
},
"contents": "{\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_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n 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": "6080604052348015600f57600080fd5b506004361060325760003560e01c806306540f7e146037578063e492fd84146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60005481565b8060008190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220cce2ab59647bccb160c6fb32d567d6abd19da29a0e30dec12f2ca826dad71bc464736f6c63430008070033",
"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 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCC 0xE2 0xAB MSIZE PUSH5 0x7BCCB160C6 0xFB ORIGIN 0xD5 PUSH8 0xD6ABD19DA29A0E30 0xDE 0xC1 0x2F 0x2C 0xA8 0x26 0xDA 0xD7 SHL 0xC4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;112:73;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;87:18;;;;:::o;112:73::-;171:7;162:6;:16;;;;112:73;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:222::-;704:4;742:2;731:9;727:18;719:26;;755:71;823:1;812:9;808:17;799:6;755:71;:::i;:::-;611:222;;;;:::o;920:77::-;957:7;986:5;975:16;;920:77;;;:::o;1126:117::-;1235:1;1232;1225:12;1249:122;1322:24;1340:5;1322:24;:::i;:::-;1315:5;1312:35;1302:63;;1361:1;1358;1351:12;1302:63;1249:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "61400",
"executionCost": "111",
"totalCost": "61511"
},
"external": {
"myUint()": "2407",
"setMyUint(uint256)": "22520"
}
},
"methodIdentifiers": {
"myUint()": "06540f7e",
"setMyUint(uint256)": "e492fd84"
}
},
"abi": [
{
"inputs": [],
"name": "myUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_myuint",
"type": "uint256"
}
],
"name": "setMyUint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "myUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_myuint",
"type": "uint256"
}
],
"name": "setMyUint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"DebuggerExample.sol": "DebuggerExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"DebuggerExample.sol": {
"keccak256": "0x5cd271187ae25776a0e0f774d783a5151d49e4a19cab1b1269daf4c74abd7fa6",
"license": "MIT",
"urls": [
"bzz-raw://9192d1b9544b1a8ab2560d025973b783e27673ebd87b110e520b5bacb63d28a0",
"dweb:/ipfs/QmUmsUPtyJP28yDMdUhf1F52dtLENgvgeNmDudGDzurWAL"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506101d8806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806316b9517614610030575b600080fd5b61004a600480360381019061004591906100a7565b61004c565b005b806000819055507f7dc59fe9b9ce8b9c28b17bf3212157db7d08ac9edc7dfb019847e4c06b07c87a3360014260405161008793929190610101565b60405180910390a150565b6000813590506100a18161018b565b92915050565b6000602082840312156100bd576100bc610186565b5b60006100cb84828501610092565b91505092915050565b6100dd81610138565b82525050565b6100ec81610174565b82525050565b6100fb8161016a565b82525050565b600060608201905061011660008301866100d4565b61012360208301856100e3565b61013060408301846100f2565b949350505050565b60006101438261014a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061017f8261016a565b9050919050565b600080fd5b6101948161016a565b811461019f57600080fd5b5056fea2646970667358221220895fa5cee5ca164966c099e431099d3ec2eab281e85565103cf6d9e26ab7e79d64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D8 DUP1 PUSH2 0x20 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x16B95176 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH32 0x7DC59FE9B9CE8B9C28B17BF3212157DB7D08AC9EDC7DFB019847E4C06B07C87A CALLER PUSH1 0x1 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x87 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x101 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA1 DUP2 PUSH2 0x18B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBD JUMPI PUSH2 0xBC PUSH2 0x186 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xCB DUP5 DUP3 DUP6 ADD PUSH2 0x92 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDD DUP2 PUSH2 0x138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xEC DUP2 PUSH2 0x174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFB DUP2 PUSH2 0x16A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x116 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xD4 JUMP JUMPDEST PUSH2 0x123 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xE3 JUMP JUMPDEST PUSH2 0x130 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xF2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143 DUP3 PUSH2 0x14A 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 PUSH1 0x0 PUSH2 0x17F DUP3 PUSH2 0x16A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x194 DUP2 PUSH2 0x16A JUMP JUMPDEST DUP2 EQ PUSH2 0x19F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP10 0x5F 0xA5 0xCE 0xE5 0xCA AND 0x49 PUSH7 0xC099E431099D3E 0xC2 0xEA 0xB2 DUP2 0xE8 SSTORE PUSH6 0x103CF6D9E26A 0xB7 0xE7 SWAP14 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:350:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@storeData_29": {
"entryPoint": 76,
"id": 29,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 146,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 167,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 212,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_rational_1_by_1_to_t_uint256_fromStack": {
"entryPoint": 227,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 242,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_rational_1_by_1_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 257,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 312,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 330,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 362,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_rational_1_by_1_to_t_uint256": {
"entryPoint": 372,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 390,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 395,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2248: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_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"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": "218:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:1"
},
"nodeType": "YulFunctionCall",
"src": "266:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:119:1"
},
{
"nodeType": "YulBlock",
"src": "357:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "432:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "411:20:1"
},
"nodeType": "YulFunctionCall",
"src": "411:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "552:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "569:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "592:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "574:17:1"
},
"nodeType": "YulFunctionCall",
"src": "574:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "562:6:1"
},
"nodeType": "YulFunctionCall",
"src": "562:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "562:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "540:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "547:3:1",
"type": ""
}
],
"src": "487:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "684:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "701:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "745:5:1"
}
],
"functionName": {
"name": "convert_t_rational_1_by_1_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "706:38:1"
},
"nodeType": "YulFunctionCall",
"src": "706:45:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "694:6:1"
},
"nodeType": "YulFunctionCall",
"src": "694:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "694:58:1"
}
]
},
"name": "abi_encode_t_rational_1_by_1_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "672:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "679:3:1",
"type": ""
}
],
"src": "611:147:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "829:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "846:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "869:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "851:17:1"
},
"nodeType": "YulFunctionCall",
"src": "851:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "839:6:1"
},
"nodeType": "YulFunctionCall",
"src": "839:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "839:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "817:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "824:3:1",
"type": ""
}
],
"src": "764:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1050:296:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1060:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1072:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1083:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1068:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1068:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1060:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1140:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1153:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1164:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1149:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1149:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1096:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1096:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1096:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1229:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1242:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1253:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1238:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1238:18:1"
}
],
"functionName": {
"name": "abi_encode_t_rational_1_by_1_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1177:51:1"
},
"nodeType": "YulFunctionCall",
"src": "1177:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "1177:80:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1311:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1324:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1335:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1320:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1320:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1267:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1267:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "1267:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_rational_1_by_1_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1006:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1018:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1026:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1034:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1045:4:1",
"type": ""
}
],
"src": "888:458:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1392:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1402:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1418:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1412:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1412:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1402:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1385:6:1",
"type": ""
}
],
"src": "1352:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1478:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1488:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1517:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1499:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1488:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1460:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1470:7:1",
"type": ""
}
],
"src": "1433:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1580:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1590:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1605:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1612:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1601:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1601:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1590:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1562:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1572:7:1",
"type": ""
}
],
"src": "1535:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1712:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1722:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1733:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1722:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1694:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1704:7:1",
"type": ""
}
],
"src": "1667:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1818:53:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1828:37:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1859:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1841:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1841:24:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1828:9:1"
}
]
}
]
},
"name": "convert_t_rational_1_by_1_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1798:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1808:9:1",
"type": ""
}
],
"src": "1750:121:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1966:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1983:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1986:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1976:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1976:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1976:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1877:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2089:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2106:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2109:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2099:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2099:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2099:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2000:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2166:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2223:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2232:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2235:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2225:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2225:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2189:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2214:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2196:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2196:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2186:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2186:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2179:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2179:43:1"
},
"nodeType": "YulIf",
"src": "2176:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2159:5:1",
"type": ""
}
],
"src": "2123:122:1"
}
]
},
"contents": "{\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_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_rational_1_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_1_by_1_to_t_uint256(value))\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_t_rational_1_by_1_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_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_rational_1_by_1_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 convert_t_rational_1_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(value)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n 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": "608060405234801561001057600080fd5b506004361061002b5760003560e01c806316b9517614610030575b600080fd5b61004a600480360381019061004591906100a7565b61004c565b005b806000819055507f7dc59fe9b9ce8b9c28b17bf3212157db7d08ac9edc7dfb019847e4c06b07c87a3360014260405161008793929190610101565b60405180910390a150565b6000813590506100a18161018b565b92915050565b6000602082840312156100bd576100bc610186565b5b60006100cb84828501610092565b91505092915050565b6100dd81610138565b82525050565b6100ec81610174565b82525050565b6100fb8161016a565b82525050565b600060608201905061011660008301866100d4565b61012360208301856100e3565b61013060408301846100f2565b949350505050565b60006101438261014a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061017f8261016a565b9050919050565b600080fd5b6101948161016a565b811461019f57600080fd5b5056fea2646970667358221220895fa5cee5ca164966c099e431099d3ec2eab281e85565103cf6d9e26ab7e79d64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x16B95176 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x4C JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH32 0x7DC59FE9B9CE8B9C28B17BF3212157DB7D08AC9EDC7DFB019847E4C06B07C87A CALLER PUSH1 0x1 TIMESTAMP PUSH1 0x40 MLOAD PUSH2 0x87 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x101 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA1 DUP2 PUSH2 0x18B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBD JUMPI PUSH2 0xBC PUSH2 0x186 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xCB DUP5 DUP3 DUP6 ADD PUSH2 0x92 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDD DUP2 PUSH2 0x138 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xEC DUP2 PUSH2 0x174 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xFB DUP2 PUSH2 0x16A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x116 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xD4 JUMP JUMPDEST PUSH2 0x123 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xE3 JUMP JUMPDEST PUSH2 0x130 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0xF2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143 DUP3 PUSH2 0x14A 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 PUSH1 0x0 PUSH2 0x17F DUP3 PUSH2 0x16A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x194 DUP2 PUSH2 0x16A JUMP JUMPDEST DUP2 EQ PUSH2 0x19F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP10 0x5F 0xA5 0xCE 0xE5 0xCA AND 0x49 PUSH7 0xC099E431099D3E 0xC2 0xEA 0xB2 DUP2 0xE8 SSTORE PUSH6 0x103CF6D9E26A 0xB7 0xE7 SWAP14 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:350:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;208:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;264:4;258:3;:10;;;;321:44;334:10;346:1;349:15;321:44;;;;;;;;:::i;:::-;;;;;;;;208:164;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:147::-;706:45;745:5;706:45;:::i;:::-;701:3;694:58;611:147;;:::o;764:118::-;851:24;869:5;851:24;:::i;:::-;846:3;839:37;764:118;;:::o;888:458::-;1045:4;1083:2;1072:9;1068:18;1060:26;;1096:71;1164:1;1153:9;1149:17;1140:6;1096:71;:::i;:::-;1177:80;1253:2;1242:9;1238:18;1229:6;1177:80;:::i;:::-;1267:72;1335:2;1324:9;1320:18;1311:6;1267:72;:::i;:::-;888:458;;;;;;:::o;1433:96::-;1470:7;1499:24;1517:5;1499:24;:::i;:::-;1488:35;;1433:96;;;:::o;1535:126::-;1572:7;1612:42;1605:5;1601:54;1590:65;;1535:126;;;:::o;1667:77::-;1704:7;1733:5;1722:16;;1667:77;;;:::o;1750:121::-;1808:9;1841:24;1859:5;1841:24;:::i;:::-;1828:37;;1750:121;;;:::o;2000:117::-;2109:1;2106;2099:12;2123:122;2196:24;2214:5;2196:24;:::i;:::-;2189:5;2186:35;2176:63;;2235:1;2232;2225:12;2176:63;2123:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "94400",
"executionCost": "141",
"totalCost": "94541"
},
"external": {
"storeData(uint256)": "infinite"
}
},
"methodIdentifiers": {
"storeData(uint256)": "16b95176"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "counter",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamps",
"type": "uint256"
}
],
"name": "storeAddress",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_val",
"type": "uint256"
}
],
"name": "storeData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "counter",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamps",
"type": "uint256"
}
],
"name": "storeAddress",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_val",
"type": "uint256"
}
],
"name": "storeData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Events.sol": "EventExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Events.sol": {
"keccak256": "0xfb505f174780b40cc13de61efed00fb80ba08cdb7659ed07bb7188e0b08b162a",
"license": "MIT",
"urls": [
"bzz-raw://c2836597cf02f99aa407789dd04b176caa745c0e03ceb49e0b8ea2da9e5a2865",
"dweb:/ipfs/QmW6pfd9dH1EKsfeU4taFZMbqQrpvzC3NqkUsJXd2cmnKj"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506105a9806100206000396000f3fe6080604052600436106100345760003560e01c80630ad19aeb14610039578063cca955a014610062578063d8d4f50d1461006c575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610349565b6100a9565b005b61006a61022d565b005b34801561007857600080fd5b50610093600480360381019061008e919061031c565b6102b6565b6040516100a091906103db565b60405180910390f35b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610610151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610148906103bb565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900467ffffffffffffffff166101b29190610445565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff166108fc8267ffffffffffffffff169081150290604051600060405180830381858888f19350505050158015610228573d6000803e3d6000fd5b505050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900467ffffffffffffffff1661028e9190610407565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550565b60006020528060005260406000206000915054906101000a900467ffffffffffffffff1681565b6000813590506102ec8161052e565b92915050565b60008135905061030181610545565b92915050565b6000813590506103168161055c565b92915050565b60006020828403121561033257610331610500565b5b6000610340848285016102dd565b91505092915050565b600080604083850312156103605761035f610500565b5b600061036e858286016102f2565b925050602061037f85828601610307565b9150509250929050565b60006103966012836103f6565b91506103a182610505565b602082019050919050565b6103b5816104bd565b82525050565b600060208201905081810360008301526103d481610389565b9050919050565b60006020820190506103f060008301846103ac565b92915050565b600082825260208201905092915050565b6000610412826104bd565b915061041d836104bd565b92508267ffffffffffffffff0382111561043a576104396104d1565b5b828201905092915050565b6000610450826104bd565b915061045b836104bd565b92508282101561046e5761046d6104d1565b5b828203905092915050565b60006104848261049d565b9050919050565b60006104968261049d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b61053781610479565b811461054257600080fd5b50565b61054e8161048b565b811461055957600080fd5b50565b610565816104bd565b811461057057600080fd5b5056fea2646970667358221220ba03102719f7cb1263459b5e63c1fdcec194bb8021b63c47c12124253be4664c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5A9 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAD19AEB EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xCCA955A0 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD8D4F50D EQ PUSH2 0x6C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x349 JUMP JUMPDEST PUSH2 0xA9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x22D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x93 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8E SWAP2 SWAP1 PUSH2 0x31C JUMP JUMPDEST PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN 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 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x151 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x148 SWAP1 PUSH2 0x3BB 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 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND 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 0x228 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP 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 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x407 JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2EC DUP2 PUSH2 0x52E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x301 DUP2 PUSH2 0x545 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x316 DUP2 PUSH2 0x55C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x332 JUMPI PUSH2 0x331 PUSH2 0x500 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x340 DUP5 DUP3 DUP6 ADD PUSH2 0x2DD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x360 JUMPI PUSH2 0x35F PUSH2 0x500 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x36E DUP6 DUP3 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x37F DUP6 DUP3 DUP7 ADD PUSH2 0x307 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x396 PUSH1 0x12 DUP4 PUSH2 0x3F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A1 DUP3 PUSH2 0x505 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3B5 DUP2 PUSH2 0x4BD 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 0x3D4 DUP2 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3F0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3AC 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 0x412 DUP3 PUSH2 0x4BD JUMP JUMPDEST SWAP2 POP PUSH2 0x41D DUP4 PUSH2 0x4BD JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x4D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x4BD JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x4BD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x4D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484 DUP3 PUSH2 0x49D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x496 DUP3 PUSH2 0x49D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x496E73756666696369656E742066756E64730000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x537 DUP2 PUSH2 0x479 JUMP JUMPDEST DUP2 EQ PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x54E DUP2 PUSH2 0x48B JUMP JUMPDEST DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x565 DUP2 PUSH2 0x4BD JUMP JUMPDEST DUP2 EQ PUSH2 0x570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA SUB LT 0x27 NOT 0xF7 0xCB SLT PUSH4 0x459B5E63 0xC1 REVERT 0xCE 0xC1 SWAP5 0xBB DUP1 0x21 0xB6 EXTCODECOPY SELFBALANCE 0xC1 0x21 0x24 0x25 EXTCODESIZE 0xE4 PUSH7 0x4C64736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:488:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@balanceRecieved_5": {
"entryPoint": 694,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@recieveMoney_20": {
"entryPoint": 557,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdrawMoney_51": {
"entryPoint": 169,
"id": 51,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 733,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 754,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint64": {
"entryPoint": 775,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 796,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint64": {
"entryPoint": 841,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 905,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint64_to_t_uint64_fromStack": {
"entryPoint": 940,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 955,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed": {
"entryPoint": 987,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1014,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint64": {
"entryPoint": 1031,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint64": {
"entryPoint": 1093,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1145,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 1163,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1181,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint64": {
"entryPoint": 1213,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1233,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1280,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d": {
"entryPoint": 1285,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1326,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 1349,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint64": {
"entryPoint": 1372,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4589: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": "364:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "374:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "396:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "383:12:1"
},
"nodeType": "YulFunctionCall",
"src": "383:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "374:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "438:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint64",
"nodeType": "YulIdentifier",
"src": "412:25:1"
},
"nodeType": "YulFunctionCall",
"src": "412:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "412:32:1"
}
]
},
"name": "abi_decode_t_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "342:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "350:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "358:5:1",
"type": ""
}
],
"src": "313:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "522:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "568:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "570:77:1"
},
"nodeType": "YulFunctionCall",
"src": "570:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "570:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "543:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "552:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "539:3:1"
},
"nodeType": "YulFunctionCall",
"src": "539:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "564:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "535:3:1"
},
"nodeType": "YulFunctionCall",
"src": "535:32:1"
},
"nodeType": "YulIf",
"src": "532:119:1"
},
{
"nodeType": "YulBlock",
"src": "661:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "676:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "690:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "680:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "705:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "740:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "751:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "736:3:1"
},
"nodeType": "YulFunctionCall",
"src": "736:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "760:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "715:20:1"
},
"nodeType": "YulFunctionCall",
"src": "715:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "705:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "492:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "515:6:1",
"type": ""
}
],
"src": "456:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "881:398:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "927:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "929:77:1"
},
"nodeType": "YulFunctionCall",
"src": "929:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "929:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "902:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "911:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "898:3:1"
},
"nodeType": "YulFunctionCall",
"src": "898:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "923:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "894:3:1"
},
"nodeType": "YulFunctionCall",
"src": "894:32:1"
},
"nodeType": "YulIf",
"src": "891:119:1"
},
{
"nodeType": "YulBlock",
"src": "1020:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1035:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1049:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1039:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1064:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1107:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1118:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1103:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1103:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1127:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1074:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1074:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1064:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1155:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1170:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1184:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1174:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1200:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1234:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1230:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1230:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1254:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint64",
"nodeType": "YulIdentifier",
"src": "1210:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1210:52:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1200:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "843:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "854:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "866:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "874:6:1",
"type": ""
}
],
"src": "791:488:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1431:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1441:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1507:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1512:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1448:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1448:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1441:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1613:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d",
"nodeType": "YulIdentifier",
"src": "1524:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1524:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1524:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1626:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1637:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1642:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1633:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1633:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1626:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1419:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1427:3:1",
"type": ""
}
],
"src": "1285:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1720:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1737:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1759:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "1742:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1742:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1730:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1730:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "1730:36:1"
}
]
},
"name": "abi_encode_t_uint64_to_t_uint64_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1708:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1715:3:1",
"type": ""
}
],
"src": "1657:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1949:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1959:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1971:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1982:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1967:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1959:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2006:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2017:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2002:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2002:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2025:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2031:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2021:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1995:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1995:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1995:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2051:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2185:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2059:124:1"
},
"nodeType": "YulFunctionCall",
"src": "2059:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2051:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1929:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1944:4:1",
"type": ""
}
],
"src": "1778:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2299:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2309:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2321:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2332:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2317:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2309:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2387:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2400:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2411:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2396:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint64_to_t_uint64_fromStack",
"nodeType": "YulIdentifier",
"src": "2345:41:1"
},
"nodeType": "YulFunctionCall",
"src": "2345:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "2345:69:1"
}
]
},
"name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2271:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2283:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2294:4:1",
"type": ""
}
],
"src": "2203:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2467:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2477:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2493:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2487:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2487:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2477:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2460:6:1",
"type": ""
}
],
"src": "2427:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2604:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2621:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2626:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2614:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2614:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2614:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2642:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2661:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2666:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2657:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2657:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2642:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2576:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2581:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2592:11:1",
"type": ""
}
],
"src": "2508:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2726:211:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2736:24:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2758:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "2741:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2741:19:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2736:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2769:24:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2791:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "2774:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2774:19:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2769:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2883:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2885:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2885:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2885:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2852:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2859:18:1",
"type": "",
"value": "0xffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2879:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2855:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2855:26:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2849:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2849:33:1"
},
"nodeType": "YulIf",
"src": "2846:59:1"
},
{
"nodeType": "YulAssignment",
"src": "2915:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2926:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2929:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2922:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2922:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "2915:3:1"
}
]
}
]
},
"name": "checked_add_t_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2713:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2716:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "2722:3:1",
"type": ""
}
],
"src": "2683:254:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2987:144:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2997:24:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3019:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "3002:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3002:19:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2997:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3030:24:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3052:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "3035:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3035:19:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3030:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3076:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3078:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3078:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3078:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3070:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3073:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3067:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3067:8:1"
},
"nodeType": "YulIf",
"src": "3064:34:1"
},
{
"nodeType": "YulAssignment",
"src": "3108:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3120:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3123:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3116:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3116:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "3108:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2973:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2976:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "2982:4:1",
"type": ""
}
],
"src": "2943:188:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3182:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3192:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3221:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3203:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3203:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3192:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3164:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3174:7:1",
"type": ""
}
],
"src": "3137:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3292:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3302:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3331:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3313:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3313:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3302:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3274:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3284:7:1",
"type": ""
}
],
"src": "3239:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3394:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3404:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3419:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3426:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3415:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3415:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3404:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3376:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3386:7:1",
"type": ""
}
],
"src": "3349:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3525:57:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3535:41:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3550:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3557:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3546:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3546:30:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3535:7:1"
}
]
}
]
},
"name": "cleanup_t_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3507:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3517:7:1",
"type": ""
}
],
"src": "3481:101:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3616:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3633:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3636:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3626:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3626:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3730:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3733:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3723:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3723:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3723:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3754:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3757:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3747:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3747:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3747:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3588:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3863:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3880:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3883:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3873:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3873:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3873:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3774:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3986:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4003:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4006:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3996:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3996:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3996:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3897:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4126:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4148:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4156:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:14:1"
},
{
"hexValue": "496e73756666696369656e742066756e6473",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4160:20:1",
"type": "",
"value": "Insufficient funds"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4137:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4137:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "4137:44:1"
}
]
},
"name": "store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4118:6:1",
"type": ""
}
],
"src": "4020:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4237:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4294:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4303:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4306:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4296:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4296:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4296:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4260:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4285:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4267:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4267:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4257:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4257:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4250:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4250:43:1"
},
"nodeType": "YulIf",
"src": "4247:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4230:5:1",
"type": ""
}
],
"src": "4194:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4373:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4438:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4447:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4450:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4440:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4440:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4440:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4396:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4429:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "4403:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4403:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4393:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4393:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4386:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4386:51:1"
},
"nodeType": "YulIf",
"src": "4383:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4366:5:1",
"type": ""
}
],
"src": "4322:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4508:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4564:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4573:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4566:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4566:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4566:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4531:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4555:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint64",
"nodeType": "YulIdentifier",
"src": "4538:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4538:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4528:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4528:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4521:42:1"
},
"nodeType": "YulIf",
"src": "4518:62:1"
}
]
},
"name": "validator_revert_t_uint64",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4501:5:1",
"type": ""
}
],
"src": "4466:120: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_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_uint64(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__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_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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_uint64(x, y) -> sum {\n x := cleanup_t_uint64(x)\n y := cleanup_t_uint64(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint64(x, y) -> diff {\n x := cleanup_t_uint64(x)\n y := cleanup_t_uint64(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_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient funds\")\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_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100345760003560e01c80630ad19aeb14610039578063cca955a014610062578063d8d4f50d1461006c575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610349565b6100a9565b005b61006a61022d565b005b34801561007857600080fd5b50610093600480360381019061008e919061031c565b6102b6565b6040516100a091906103db565b60405180910390f35b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610610151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610148906103bb565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900467ffffffffffffffff166101b29190610445565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff166108fc8267ffffffffffffffff169081150290604051600060405180830381858888f19350505050158015610228573d6000803e3d6000fd5b505050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282829054906101000a900467ffffffffffffffff1661028e9190610407565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550565b60006020528060005260406000206000915054906101000a900467ffffffffffffffff1681565b6000813590506102ec8161052e565b92915050565b60008135905061030181610545565b92915050565b6000813590506103168161055c565b92915050565b60006020828403121561033257610331610500565b5b6000610340848285016102dd565b91505092915050565b600080604083850312156103605761035f610500565b5b600061036e858286016102f2565b925050602061037f85828601610307565b9150509250929050565b60006103966012836103f6565b91506103a182610505565b602082019050919050565b6103b5816104bd565b82525050565b600060208201905081810360008301526103d481610389565b9050919050565b60006020820190506103f060008301846103ac565b92915050565b600082825260208201905092915050565b6000610412826104bd565b915061041d836104bd565b92508267ffffffffffffffff0382111561043a576104396104d1565b5b828201905092915050565b6000610450826104bd565b915061045b836104bd565b92508282101561046e5761046d6104d1565b5b828203905092915050565b60006104848261049d565b9050919050565b60006104968261049d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b61053781610479565b811461054257600080fd5b50565b61054e8161048b565b811461055957600080fd5b50565b610565816104bd565b811461057057600080fd5b5056fea2646970667358221220ba03102719f7cb1263459b5e63c1fdcec194bb8021b63c47c12124253be4664c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAD19AEB EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xCCA955A0 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xD8D4F50D EQ PUSH2 0x6C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x349 JUMP JUMPDEST PUSH2 0xA9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x22D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x93 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8E SWAP2 SWAP1 PUSH2 0x31C JUMP JUMPDEST PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x3DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN 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 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 PUSH8 0xFFFFFFFFFFFFFFFF AND LT PUSH2 0x151 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x148 SWAP1 PUSH2 0x3BB 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 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND 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 0x228 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP 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 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x407 JUMP JUMPDEST SWAP3 POP PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2EC DUP2 PUSH2 0x52E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x301 DUP2 PUSH2 0x545 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x316 DUP2 PUSH2 0x55C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x332 JUMPI PUSH2 0x331 PUSH2 0x500 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x340 DUP5 DUP3 DUP6 ADD PUSH2 0x2DD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x360 JUMPI PUSH2 0x35F PUSH2 0x500 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x36E DUP6 DUP3 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x37F DUP6 DUP3 DUP7 ADD PUSH2 0x307 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x396 PUSH1 0x12 DUP4 PUSH2 0x3F6 JUMP JUMPDEST SWAP2 POP PUSH2 0x3A1 DUP3 PUSH2 0x505 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3B5 DUP2 PUSH2 0x4BD 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 0x3D4 DUP2 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3F0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3AC 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 0x412 DUP3 PUSH2 0x4BD JUMP JUMPDEST SWAP2 POP PUSH2 0x41D DUP4 PUSH2 0x4BD JUMP JUMPDEST SWAP3 POP DUP3 PUSH8 0xFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x4D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x450 DUP3 PUSH2 0x4BD JUMP JUMPDEST SWAP2 POP PUSH2 0x45B DUP4 PUSH2 0x4BD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x4D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x484 DUP3 PUSH2 0x49D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x496 DUP3 PUSH2 0x49D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x496E73756666696369656E742066756E64730000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x537 DUP2 PUSH2 0x479 JUMP JUMPDEST DUP2 EQ PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x54E DUP2 PUSH2 0x48B JUMP JUMPDEST DUP2 EQ PUSH2 0x559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x565 DUP2 PUSH2 0x4BD JUMP JUMPDEST DUP2 EQ PUSH2 0x570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA SUB LT 0x27 NOT 0xF7 0xCB SLT PUSH4 0x459B5E63 0xC1 REVERT 0xCE 0xC1 SWAP5 0xBB DUP1 0x21 0xB6 EXTCODECOPY SELFBALANCE 0xC1 0x21 0x24 0x25 EXTCODESIZE 0xE4 PUSH7 0x4C64736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:488:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;200:104;;;:::i;:::-;;144:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;310:232;406:15;:27;422:10;406:27;;;;;;;;;;;;;;;;;;;;;;;;;396:37;;:7;:37;;;388:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;497:7;466:15;:27;482:10;466:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;514:3;:12;;:21;527:7;514:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:232;;:::o;200:104::-;287:9;249:15;:27;265:10;249:27;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;200:104::o;144:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:137::-;358:5;396:6;383:20;374:29;;412:32;438:5;412:32;:::i;:::-;313:137;;;;:::o;456:329::-;515:6;564:2;552:9;543:7;539:23;535:32;532:119;;;570:79;;:::i;:::-;532:119;690:1;715:53;760:7;751:6;740:9;736:22;715:53;:::i;:::-;705:63;;661:117;456:329;;;;:::o;791:488::-;866:6;874;923:2;911:9;902:7;898:23;894:32;891:119;;;929:79;;:::i;:::-;891:119;1049:1;1074:61;1127:7;1118:6;1107:9;1103:22;1074:61;:::i;:::-;1064:71;;1020:125;1184:2;1210:52;1254:7;1245:6;1234:9;1230:22;1210:52;:::i;:::-;1200:62;;1155:117;791:488;;;;;:::o;1285:366::-;1427:3;1448:67;1512:2;1507:3;1448:67;:::i;:::-;1441:74;;1524:93;1613:3;1524:93;:::i;:::-;1642:2;1637:3;1633:12;1626:19;;1285:366;;;:::o;1657:115::-;1742:23;1759:5;1742:23;:::i;:::-;1737:3;1730:36;1657:115;;:::o;1778:419::-;1944:4;1982:2;1971:9;1967:18;1959:26;;2031:9;2025:4;2021:20;2017:1;2006:9;2002:17;1995:47;2059:131;2185:4;2059:131;:::i;:::-;2051:139;;1778:419;;;:::o;2203:218::-;2294:4;2332:2;2321:9;2317:18;2309:26;;2345:69;2411:1;2400:9;2396:17;2387:6;2345:69;:::i;:::-;2203:218;;;;:::o;2508:169::-;2592:11;2626:6;2621:3;2614:19;2666:4;2661:3;2657:14;2642:29;;2508:169;;;;:::o;2683:254::-;2722:3;2741:19;2758:1;2741:19;:::i;:::-;2736:24;;2774:19;2791:1;2774:19;:::i;:::-;2769:24;;2879:1;2859:18;2855:26;2852:1;2849:33;2846:59;;;2885:18;;:::i;:::-;2846:59;2929:1;2926;2922:9;2915:16;;2683:254;;;;:::o;2943:188::-;2982:4;3002:19;3019:1;3002:19;:::i;:::-;2997:24;;3035:19;3052:1;3035:19;:::i;:::-;3030:24;;3073:1;3070;3067:8;3064:34;;;3078:18;;:::i;:::-;3064:34;3123:1;3120;3116:9;3108:17;;2943:188;;;;:::o;3137:96::-;3174:7;3203:24;3221:5;3203:24;:::i;:::-;3192:35;;3137:96;;;:::o;3239:104::-;3284:7;3313:24;3331:5;3313:24;:::i;:::-;3302:35;;3239:104;;;:::o;3349:126::-;3386:7;3426:42;3419:5;3415:54;3404:65;;3349:126;;;:::o;3481:101::-;3517:7;3557:18;3550:5;3546:30;3535:41;;3481:101;;;:::o;3588:180::-;3636:77;3633:1;3626:88;3733:4;3730:1;3723:15;3757:4;3754:1;3747:15;3897:117;4006:1;4003;3996:12;4020:168;4160:20;4156:1;4148:6;4144:14;4137:44;4020:168;:::o;4194:122::-;4267:24;4285:5;4267:24;:::i;:::-;4260:5;4257:35;4247:63;;4306:1;4303;4296:12;4247:63;4194:122;:::o;4322:138::-;4403:32;4429:5;4403:32;:::i;:::-;4396:5;4393:43;4383:71;;4450:1;4447;4440:12;4383:71;4322:138;:::o;4466:120::-;4538:23;4555:5;4538:23;:::i;:::-;4531:5;4528:34;4518:62;;4576:1;4573;4566:12;4518:62;4466:120;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "289800",
"executionCost": "331",
"totalCost": "290131"
},
"external": {
"balanceRecieved(address)": "2867",
"recieveMoney()": "infinite",
"withdrawMoney(address,uint64)": "infinite"
}
},
"methodIdentifiers": {
"balanceRecieved(address)": "d8d4f50d",
"recieveMoney()": "cca955a0",
"withdrawMoney(address,uint64)": "0ad19aeb"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceRecieved",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "recieveMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint64",
"name": "_amount",
"type": "uint64"
}
],
"name": "withdrawMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceRecieved",
"outputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "recieveMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint64",
"name": "_amount",
"type": "uint64"
}
],
"name": "withdrawMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"ExceptionExample.sol": "ExceptionExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"ExceptionExample.sol": {
"keccak256": "0x0beeef668cb48092c0805b79899a2e40f008136ddc0628159ec8c1155197064a",
"license": "MIT",
"urls": [
"bzz-raw://476cd15d61418b422631ffd602c67b31c94ee3d09cd279f507627922f2db86f6",
"dweb:/ipfs/QmUYbRoDYQwKjL8HB7KgNa4KDLSPqoTg93FwzvbsW6F1Ku"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {
"@_19": {
"entryPoint": null,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a44806100616000396000f3fe6080604052600436106100595760003560e01c8063395a6063146101575780636d26ec1814610194578063854747281461019e578063893d20e8146101b5578063a0de1508146101e0578063d8d4f50d146102095761014d565b3661014d576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546100e791906107dc565b10156100f6576100f56108e5565b5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461014491906107dc565b92505081905550005b610155610246565b005b34801561016357600080fd5b5061017e600480360381019061017991906106c4565b610335565b60405161018b91906107b0565b60405180910390f35b61019c610246565b005b3480156101aa57600080fd5b506101b3610352565b005b3480156101c157600080fd5b506101ca61041d565b6040516101d79190610755565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190610684565b610447565b005b34801561021557600080fd5b50610230600480360381019061022b9190610657565b610600565b60405161023d91906107b0565b60405180910390f35b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102cf91906107dc565b10156102de576102dd6108e5565b5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461032c91906107dc565b92505081905550565b6000670de0b6b3a76400008261034b9190610832565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610790565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156104c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bf90610770565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105129190610863565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105605761055f6108e5565b5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105ae9190610863565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105fb573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600081359050610627816109c9565b92915050565b60008135905061063c816109e0565b92915050565b600081359050610651816109f7565b92915050565b60006020828403121561066d5761066c610972565b5b600061067b84828501610618565b91505092915050565b6000806040838503121561069b5761069a610972565b5b60006106a98582860161062d565b92505060206106ba85828601610642565b9150509250929050565b6000602082840312156106da576106d9610972565b5b60006106e884828501610642565b91505092915050565b6106fa81610897565b82525050565b600061070d600d836107cb565b915061071882610977565b602082019050919050565b60006107306015836107cb565b915061073b826109a0565b602082019050919050565b61074f816108db565b82525050565b600060208201905061076a60008301846106f1565b92915050565b6000602082019050818103600083015261078981610700565b9050919050565b600060208201905081810360008301526107a981610723565b9050919050565b60006020820190506107c56000830184610746565b92915050565b600082825260208201905092915050565b60006107e7826108db565b91506107f2836108db565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561082757610826610914565b5b828201905092915050565b600061083d826108db565b9150610848836108db565b92508261085857610857610943565b5b828204905092915050565b600061086e826108db565b9150610879836108db565b92508282101561088c5761088b610914565b5b828203905092915050565b60006108a2826108bb565b9050919050565b60006108b4826108bb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f6e6f74206d7563682066756e6400000000000000000000000000000000000000600082015250565b7f796f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b6109d281610897565b81146109dd57600080fd5b50565b6109e9816108a9565b81146109f457600080fd5b50565b610a00816108db565b8114610a0b57600080fd5b5056fea26469706673582212206e6bc36988c0437163339a8354752e04b4a86c7f3b4a18f19f5d23a1a398bb3664736f6c63430008070033",
"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 0xA44 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 0x395A6063 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x85474728 EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA0DE1508 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xD8D4F50D EQ PUSH2 0x209 JUMPI PUSH2 0x14D JUMP JUMPDEST CALLDATASIZE PUSH2 0x14D JUMPI 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 PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST LT ISZERO PUSH2 0xF6 JUMPI PUSH2 0xF5 PUSH2 0x8E5 JUMP JUMPDEST 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 0x144 SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP STOP JUMPDEST PUSH2 0x155 PUSH2 0x246 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x179 SWAP2 SWAP1 PUSH2 0x6C4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x246 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B3 PUSH2 0x352 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CA PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x755 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x207 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x684 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x230 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22B SWAP2 SWAP1 PUSH2 0x657 JUMP JUMPDEST PUSH2 0x600 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN 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 PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST LT ISZERO PUSH2 0x2DE JUMPI PUSH2 0x2DD PUSH2 0x8E5 JUMP JUMPDEST 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 0x32C SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x832 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 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 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3D9 SWAP1 PUSH2 0x790 JUMP JUMPDEST 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 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 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BF SWAP1 PUSH2 0x770 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 SLOAD PUSH2 0x512 SWAP2 SWAP1 PUSH2 0x863 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 LT ISZERO PUSH2 0x560 JUMPI PUSH2 0x55F PUSH2 0x8E5 JUMP JUMPDEST 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 0x5AE SWAP2 SWAP1 PUSH2 0x863 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 0x5FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x627 DUP2 PUSH2 0x9C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x63C DUP2 PUSH2 0x9E0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x651 DUP2 PUSH2 0x9F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66D JUMPI PUSH2 0x66C PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x67B DUP5 DUP3 DUP6 ADD PUSH2 0x618 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x69B JUMPI PUSH2 0x69A PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6A9 DUP6 DUP3 DUP7 ADD PUSH2 0x62D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6BA DUP6 DUP3 DUP7 ADD PUSH2 0x642 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6DA JUMPI PUSH2 0x6D9 PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E8 DUP5 DUP3 DUP6 ADD PUSH2 0x642 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x897 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x70D PUSH1 0xD DUP4 PUSH2 0x7CB JUMP JUMPDEST SWAP2 POP PUSH2 0x718 DUP3 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x730 PUSH1 0x15 DUP4 PUSH2 0x7CB JUMP JUMPDEST SWAP2 POP PUSH2 0x73B DUP3 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x74F DUP2 PUSH2 0x8DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x76A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F1 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 0x789 DUP2 PUSH2 0x700 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 0x7A9 DUP2 PUSH2 0x723 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x746 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 0x7E7 DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x7F2 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x827 JUMPI PUSH2 0x826 PUSH2 0x914 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x83D DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x848 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x858 JUMPI PUSH2 0x857 PUSH2 0x943 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86E DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x879 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x88C JUMPI PUSH2 0x88B PUSH2 0x914 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A2 DUP3 PUSH2 0x8BB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B4 DUP3 PUSH2 0x8BB 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 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x6E6F74206D7563682066756E6400000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520617265206E6F7420746865206F776E65720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x9D2 DUP2 PUSH2 0x897 JUMP JUMPDEST DUP2 EQ PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x9E9 DUP2 PUSH2 0x8A9 JUMP JUMPDEST DUP2 EQ PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA00 DUP2 PUSH2 0x8DB JUMP JUMPDEST DUP2 EQ PUSH2 0xA0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH15 0x6BC36988C0437163339A8354752E04 0xB4 0xA8 PUSH13 0x7F3B4A18F19F5D23A1A398BB36 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:1406:0:-:0;;;169:58;;;;;;;;;;209:10;193:5;;:27;;;;;;;;;;;;;;;;;;56:1406;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_162": {
"entryPoint": null,
"id": 162,
"parameterSlots": 0,
"returnSlots": 0
},
"@_82": {
"entryPoint": null,
"id": 82,
"parameterSlots": 0,
"returnSlots": 0
},
"@balanceRecieved_5": {
"entryPoint": 1536,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@convertWeiToEther_39": {
"entryPoint": 821,
"id": 39,
"parameterSlots": 1,
"returnSlots": 1
},
"@destroySmartContract_55": {
"entryPoint": 850,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@getOwner_27": {
"entryPoint": 1053,
"id": 27,
"parameterSlots": 0,
"returnSlots": 1
},
"@receiveMoney_109": {
"entryPoint": 582,
"id": 109,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdrawAllMoney_155": {
"entryPoint": 1095,
"id": 155,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1560,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 1581,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1602,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1623,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 1668,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1732,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1777,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1792,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1827,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1862,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1877,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1936,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1968,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1995,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2012,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 2098,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2147,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2199,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 2217,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2235,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2267,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x01": {
"entryPoint": 2277,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 2324,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 2371,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2418,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541": {
"entryPoint": 2423,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f": {
"entryPoint": 2464,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2505,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 2528,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2551,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6851: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:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "572:77:1"
},
"nodeType": "YulFunctionCall",
"src": "572:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "572:79: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:119:1"
},
{
"nodeType": "YulBlock",
"src": "663:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "707:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "742:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "753:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "738:3:1"
},
"nodeType": "YulFunctionCall",
"src": "738:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "762:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "717:20:1"
},
"nodeType": "YulFunctionCall",
"src": "717:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "707: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:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "884:399:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "930:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "932:77:1"
},
"nodeType": "YulFunctionCall",
"src": "932:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "932:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "905:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "914:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "901:3:1"
},
"nodeType": "YulFunctionCall",
"src": "901:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "926:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "897:3:1"
},
"nodeType": "YulFunctionCall",
"src": "897:32:1"
},
"nodeType": "YulIf",
"src": "894:119:1"
},
{
"nodeType": "YulBlock",
"src": "1023:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1038:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1052:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1042:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1067:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1110:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1121:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1106:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1106:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1130:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1077:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1077:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1067:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1158:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1173:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1187:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1177:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1203:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1238:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1249:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1234:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1234:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1258:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1213:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1213:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1203:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "846:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "857:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "869:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "877:6:1",
"type": ""
}
],
"src": "793:490:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1355:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1401:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1403:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1403:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1403:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1376:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1385:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1372:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1397:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1368:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1368:32:1"
},
"nodeType": "YulIf",
"src": "1365:119:1"
},
{
"nodeType": "YulBlock",
"src": "1494:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1509:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1523:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1513:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1538:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1573:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1584:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1569:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1569:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1593:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1548:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1548:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1538:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1325:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1336:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1348:6:1",
"type": ""
}
],
"src": "1289:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1689:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1706:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1729:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1711:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1711:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1699:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1699:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1699:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1677:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1684:3:1",
"type": ""
}
],
"src": "1624:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1894:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1904:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1970:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1975:2:1",
"type": "",
"value": "13"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1911:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1911:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1904:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2076:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541",
"nodeType": "YulIdentifier",
"src": "1987:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1987:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1987:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2089:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2100:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2105:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2096:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2096:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2089:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1882:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1890:3:1",
"type": ""
}
],
"src": "1748:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2266:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2276:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2342:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2347:2:1",
"type": "",
"value": "21"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2283:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2283:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2276:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2448:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f",
"nodeType": "YulIdentifier",
"src": "2359:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2359:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2359:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2461:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2472:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2477:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2468:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2468:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2461:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2254:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2262:3:1",
"type": ""
}
],
"src": "2120:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2557:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2574:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2597:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2579:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2579:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2567:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2567:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2567:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2545:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2552:3:1",
"type": ""
}
],
"src": "2492:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2714:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2724:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2736:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2747:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2732:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2732:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2724:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2804:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2817:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2828:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2813:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2813:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2760:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2760:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2760:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2686:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2698:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2709:4:1",
"type": ""
}
],
"src": "2616:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3015:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3025:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3037:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3048:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3033:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3033:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3025:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3072:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3083:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3068:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3068:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3091:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3097:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3087:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3061:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3061:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3061:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3117:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3251:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3125:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3125:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3117:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2995:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3010:4:1",
"type": ""
}
],
"src": "2844:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3440:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3450:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3462:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3473:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3458:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3450:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3497:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3508:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3493:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3493:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3516:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3522:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3512:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3512:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3486:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3486:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3486:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3542:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3676:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3550:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3550:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3542:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3420:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3435:4:1",
"type": ""
}
],
"src": "3269:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3792:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3802:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3814:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3825:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3802:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3882:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3895:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3906:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3891:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3838:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3838:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3838:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3764:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3776:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3787:4:1",
"type": ""
}
],
"src": "3694:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3962:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3972:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3988:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3982:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3982:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3972:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3955:6:1",
"type": ""
}
],
"src": "3922:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4099:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4116:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4121:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4109:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4109:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4109:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4137:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4156:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4161:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4152:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4152:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4137:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4071:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4076:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4087:11:1",
"type": ""
}
],
"src": "4003:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4222:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4232:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4255:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4237:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4237:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4232:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4266:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4289:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4271:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4271:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4266:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4429:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4431:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4431:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4431:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4350:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4357:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4425:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4353:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4353:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4347:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4347:81:1"
},
"nodeType": "YulIf",
"src": "4344:107:1"
},
{
"nodeType": "YulAssignment",
"src": "4461:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4472:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4475:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4468:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4468:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "4461:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4209:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4212:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "4218:3:1",
"type": ""
}
],
"src": "4178:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4531:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4541:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4564:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4546:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4546:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4541:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4575:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4598:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4580:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4580:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4575:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4622:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "4624:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4624:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4624:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4619:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4612:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4612:9:1"
},
"nodeType": "YulIf",
"src": "4609:35:1"
},
{
"nodeType": "YulAssignment",
"src": "4654:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4663:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4666:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "4659:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4659:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "4654:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4520:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4523:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "4529:1:1",
"type": ""
}
],
"src": "4489:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4725:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4735:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4758:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4740:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4740:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4735:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4769:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4792:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4774:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4769:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4816:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4818:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4818:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4818:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4810:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4813:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4807:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4807:8:1"
},
"nodeType": "YulIf",
"src": "4804:34:1"
},
{
"nodeType": "YulAssignment",
"src": "4848:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4860:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4863:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4856:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4856:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "4848:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4711:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4714:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "4720:4:1",
"type": ""
}
],
"src": "4680:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4922:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4932:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4961:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "4943:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4943:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4932:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4904:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4914:7:1",
"type": ""
}
],
"src": "4877:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5032:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5042:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5071:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5053:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5053:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5042:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5014:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5024:7:1",
"type": ""
}
],
"src": "4979:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5134:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5144:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5159:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5166:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5155:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5155:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5144:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5116:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5126:7:1",
"type": ""
}
],
"src": "5089:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5266:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5276:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5287:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5276:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5248:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5258:7:1",
"type": ""
}
],
"src": "5221:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5332:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5349:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5352:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5342:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5342:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5342:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5446:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5449:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5439:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5439:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5439:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5470:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5473:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5463:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5463:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5463:15:1"
}
]
},
"name": "panic_error_0x01",
"nodeType": "YulFunctionDefinition",
"src": "5304:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5518:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5535:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5538:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5528:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5528:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5528:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5632:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5635:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5625:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5625:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5625:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5656:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5659:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5649:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5649:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5649:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5490:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5704:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5721:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5724:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5714:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5714:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5714:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5818:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5821:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5811:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5811:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5811:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5842:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5845:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5835:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5835:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5835:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "5676:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5951:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5968:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5971:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5961:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5961:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5961:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "5862:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6074:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6091:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6094:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6084:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6084:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6084:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "5985:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6214:57:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6236:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6244:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6232:14:1"
},
{
"hexValue": "6e6f74206d7563682066756e64",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6248:15:1",
"type": "",
"value": "not much fund"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6225:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "6225:39:1"
}
]
},
"name": "store_literal_in_memory_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6206:6:1",
"type": ""
}
],
"src": "6108:163:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6383:65:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6405:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6413:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6401:14:1"
},
{
"hexValue": "796f7520617265206e6f7420746865206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6417:23:1",
"type": "",
"value": "you are not the owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6394:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6394:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "6394:47:1"
}
]
},
"name": "store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6375:6:1",
"type": ""
}
],
"src": "6277:171:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6497:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6554:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6563:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6566:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6556:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6556:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6520:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6545:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "6527:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6527:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6517:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6517:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6510:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6510:43:1"
},
"nodeType": "YulIf",
"src": "6507:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6490:5:1",
"type": ""
}
],
"src": "6454:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6633:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6698:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6707:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6710:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6700:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6700:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6656:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6689:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "6663:25:1"
},
"nodeType": "YulFunctionCall",
"src": "6663:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6653:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6653:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6646:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6646:51:1"
},
"nodeType": "YulIf",
"src": "6643:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6626:5:1",
"type": ""
}
],
"src": "6582:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6769:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6826:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6835:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6838:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6828:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6828:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6828:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6792:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6817:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6799:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6799:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6789:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6789:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6782:43:1"
},
"nodeType": "YulIf",
"src": "6779:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6762:5:1",
"type": ""
}
],
"src": "6726: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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_stringliteral_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 13)\n store_literal_in_memory_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f(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_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541__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_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__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_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(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_0x01() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x01)\n revert(0, 0x24)\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_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_69003d799788761421b127a6d2c39b67af0607270ed1e9b63b0f8d8c3441c541(memPtr) {\n\n mstore(add(memPtr, 0), \"not much fund\")\n\n }\n\n function store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f(memPtr) {\n\n mstore(add(memPtr, 0), \"you are 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_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": "6080604052600436106100595760003560e01c8063395a6063146101575780636d26ec1814610194578063854747281461019e578063893d20e8146101b5578063a0de1508146101e0578063d8d4f50d146102095761014d565b3661014d576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546100e791906107dc565b10156100f6576100f56108e5565b5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461014491906107dc565b92505081905550005b610155610246565b005b34801561016357600080fd5b5061017e600480360381019061017991906106c4565b610335565b60405161018b91906107b0565b60405180910390f35b61019c610246565b005b3480156101aa57600080fd5b506101b3610352565b005b3480156101c157600080fd5b506101ca61041d565b6040516101d79190610755565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190610684565b610447565b005b34801561021557600080fd5b50610230600480360381019061022b9190610657565b610600565b60405161023d91906107b0565b60405180910390f35b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102cf91906107dc565b10156102de576102dd6108e5565b5b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461032c91906107dc565b92505081905550565b6000670de0b6b3a76400008261034b9190610832565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d990610790565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156104c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bf90610770565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105129190610863565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105605761055f6108e5565b5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105ae9190610863565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105fb573d6000803e3d6000fd5b505050565b60006020528060005260406000206000915090505481565b600081359050610627816109c9565b92915050565b60008135905061063c816109e0565b92915050565b600081359050610651816109f7565b92915050565b60006020828403121561066d5761066c610972565b5b600061067b84828501610618565b91505092915050565b6000806040838503121561069b5761069a610972565b5b60006106a98582860161062d565b92505060206106ba85828601610642565b9150509250929050565b6000602082840312156106da576106d9610972565b5b60006106e884828501610642565b91505092915050565b6106fa81610897565b82525050565b600061070d600d836107cb565b915061071882610977565b602082019050919050565b60006107306015836107cb565b915061073b826109a0565b602082019050919050565b61074f816108db565b82525050565b600060208201905061076a60008301846106f1565b92915050565b6000602082019050818103600083015261078981610700565b9050919050565b600060208201905081810360008301526107a981610723565b9050919050565b60006020820190506107c56000830184610746565b92915050565b600082825260208201905092915050565b60006107e7826108db565b91506107f2836108db565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561082757610826610914565b5b828201905092915050565b600061083d826108db565b9150610848836108db565b92508261085857610857610943565b5b828204905092915050565b600061086e826108db565b9150610879836108db565b92508282101561088c5761088b610914565b5b828203905092915050565b60006108a2826108bb565b9050919050565b60006108b4826108bb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f6e6f74206d7563682066756e6400000000000000000000000000000000000000600082015250565b7f796f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b6109d281610897565b81146109dd57600080fd5b50565b6109e9816108a9565b81146109f457600080fd5b50565b610a00816108db565b8114610a0b57600080fd5b5056fea26469706673582212206e6bc36988c0437163339a8354752e04b4a86c7f3b4a18f19f5d23a1a398bb3664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x59 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x395A6063 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x6D26EC18 EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x85474728 EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x893D20E8 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA0DE1508 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xD8D4F50D EQ PUSH2 0x209 JUMPI PUSH2 0x14D JUMP JUMPDEST CALLDATASIZE PUSH2 0x14D JUMPI 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 PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST LT ISZERO PUSH2 0xF6 JUMPI PUSH2 0xF5 PUSH2 0x8E5 JUMP JUMPDEST 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 0x144 SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP STOP JUMPDEST PUSH2 0x155 PUSH2 0x246 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x179 SWAP2 SWAP1 PUSH2 0x6C4 JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19C PUSH2 0x246 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B3 PUSH2 0x352 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CA PUSH2 0x41D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x755 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x207 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x684 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x230 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22B SWAP2 SWAP1 PUSH2 0x657 JUMP JUMPDEST PUSH2 0x600 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x7B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN 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 PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST LT ISZERO PUSH2 0x2DE JUMPI PUSH2 0x2DD PUSH2 0x8E5 JUMP JUMPDEST 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 0x32C SWAP2 SWAP1 PUSH2 0x7DC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP3 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x832 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 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 0x3E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3D9 SWAP1 PUSH2 0x790 JUMP JUMPDEST 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 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 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BF SWAP1 PUSH2 0x770 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 SLOAD PUSH2 0x512 SWAP2 SWAP1 PUSH2 0x863 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 LT ISZERO PUSH2 0x560 JUMPI PUSH2 0x55F PUSH2 0x8E5 JUMP JUMPDEST 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 0x5AE SWAP2 SWAP1 PUSH2 0x863 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 0x5FB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x627 DUP2 PUSH2 0x9C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x63C DUP2 PUSH2 0x9E0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x651 DUP2 PUSH2 0x9F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66D JUMPI PUSH2 0x66C PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x67B DUP5 DUP3 DUP6 ADD PUSH2 0x618 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x69B JUMPI PUSH2 0x69A PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6A9 DUP6 DUP3 DUP7 ADD PUSH2 0x62D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6BA DUP6 DUP3 DUP7 ADD PUSH2 0x642 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6DA JUMPI PUSH2 0x6D9 PUSH2 0x972 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E8 DUP5 DUP3 DUP6 ADD PUSH2 0x642 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x897 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x70D PUSH1 0xD DUP4 PUSH2 0x7CB JUMP JUMPDEST SWAP2 POP PUSH2 0x718 DUP3 PUSH2 0x977 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x730 PUSH1 0x15 DUP4 PUSH2 0x7CB JUMP JUMPDEST SWAP2 POP PUSH2 0x73B DUP3 PUSH2 0x9A0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x74F DUP2 PUSH2 0x8DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x76A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6F1 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 0x789 DUP2 PUSH2 0x700 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 0x7A9 DUP2 PUSH2 0x723 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x746 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 0x7E7 DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x7F2 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x827 JUMPI PUSH2 0x826 PUSH2 0x914 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x83D DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x848 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x858 JUMPI PUSH2 0x857 PUSH2 0x943 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86E DUP3 PUSH2 0x8DB JUMP JUMPDEST SWAP2 POP PUSH2 0x879 DUP4 PUSH2 0x8DB JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x88C JUMPI PUSH2 0x88B PUSH2 0x914 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A2 DUP3 PUSH2 0x8BB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B4 DUP3 PUSH2 0x8BB 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 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x6E6F74206D7563682066756E6400000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520617265206E6F7420746865206F776E65720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x9D2 DUP2 PUSH2 0x897 JUMP JUMPDEST DUP2 EQ PUSH2 0x9DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x9E9 DUP2 PUSH2 0x8A9 JUMP JUMPDEST DUP2 EQ PUSH2 0x9F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA00 DUP2 PUSH2 0x8DB JUMP JUMPDEST DUP2 EQ PUSH2 0xA0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH15 0x6BC36988C0437163339A8354752E04 0xB4 0xA8 PUSH13 0x7F3B4A18F19F5D23A1A398BB36 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:1406:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;767:15;:27;783:10;767:27;;;;;;;;;;;;;;;;754:9;724:15;:27;740:10;724:27;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;:70;;717:78;;;;:::i;:::-;;837:9;806:15;:27;822:10;806:27;;;;;;;;;;;;;;;;:40;;;;;;;:::i;:::-;;;;;;;;56:1406;;1438:14;:12;:14::i;:::-;56:1406;414:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;859:185;;;:::i;:::-;;536:138;;;;;;;;;;;;;:::i;:::-;;233:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1050:319;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;87:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;859:185;958:15;:27;974:10;958:27;;;;;;;;;;;;;;;;945:9;915:15;:27;931:10;915:27;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;:70;;908:78;;;;:::i;:::-;;1028:9;997:15;:27;1013:10;997:27;;;;;;;;;;;;;;;;:40;;;;;;;:::i;:::-;;;;;;;;859:185::o;414:116::-;480:4;516:7;503:12;:20;;;;:::i;:::-;496:27;;414:116;;;:::o;536:138::-;607:5;;;;;;;;;;;593:19;;:10;:19;;;585:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;661:5;;;;;;;;;;;648:19;;;233:78;273:7;299:5;;;;;;;;;;;292:12;;233:78;:::o;1050:319::-;1148:15;:27;1164:10;1148:27;;;;;;;;;;;;;;;;1137:7;:38;;1129:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1273:7;1243:15;:27;1259:10;1243:27;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;1210:15;:27;1226:10;1210:27;;;;;;;;;;;;;;;;:71;;1203:79;;;;:::i;:::-;;1324:7;1293:15;:27;1309:10;1293:27;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;1341:3;:12;;:21;1354:7;1341:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:319;;:::o;87:47::-;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:139::-;359:5;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;313:139;;;;:::o;458:329::-;517:6;566:2;554:9;545:7;541:23;537:32;534:119;;;572:79;;:::i;:::-;534:119;692:1;717:53;762:7;753:6;742:9;738:22;717:53;:::i;:::-;707:63;;663:117;458:329;;;;:::o;793:490::-;869:6;877;926:2;914:9;905:7;901:23;897:32;894:119;;;932:79;;:::i;:::-;894:119;1052:1;1077:61;1130:7;1121:6;1110:9;1106:22;1077:61;:::i;:::-;1067:71;;1023:125;1187:2;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1158:118;793:490;;;;;:::o;1289:329::-;1348:6;1397:2;1385:9;1376:7;1372:23;1368:32;1365:119;;;1403:79;;:::i;:::-;1365:119;1523:1;1548:53;1593:7;1584:6;1573:9;1569:22;1548:53;:::i;:::-;1538:63;;1494:117;1289:329;;;;:::o;1624:118::-;1711:24;1729:5;1711:24;:::i;:::-;1706:3;1699:37;1624:118;;:::o;1748:366::-;1890:3;1911:67;1975:2;1970:3;1911:67;:::i;:::-;1904:74;;1987:93;2076:3;1987:93;:::i;:::-;2105:2;2100:3;2096:12;2089:19;;1748:366;;;:::o;2120:::-;2262:3;2283:67;2347:2;2342:3;2283:67;:::i;:::-;2276:74;;2359:93;2448:3;2359:93;:::i;:::-;2477:2;2472:3;2468:12;2461:19;;2120:366;;;:::o;2492:118::-;2579:24;2597:5;2579:24;:::i;:::-;2574:3;2567:37;2492:118;;:::o;2616:222::-;2709:4;2747:2;2736:9;2732:18;2724:26;;2760:71;2828:1;2817:9;2813:17;2804:6;2760:71;:::i;:::-;2616:222;;;;:::o;2844:419::-;3010:4;3048:2;3037:9;3033:18;3025:26;;3097:9;3091:4;3087:20;3083:1;3072:9;3068:17;3061:47;3125:131;3251:4;3125:131;:::i;:::-;3117:139;;2844:419;;;:::o;3269:::-;3435:4;3473:2;3462:9;3458:18;3450:26;;3522:9;3516:4;3512:20;3508:1;3497:9;3493:17;3486:47;3550:131;3676:4;3550:131;:::i;:::-;3542:139;;3269:419;;;:::o;3694:222::-;3787:4;3825:2;3814:9;3810:18;3802:26;;3838:71;3906:1;3895:9;3891:17;3882:6;3838:71;:::i;:::-;3694:222;;;;:::o;4003:169::-;4087:11;4121:6;4116:3;4109:19;4161:4;4156:3;4152:14;4137:29;;4003:169;;;;:::o;4178:305::-;4218:3;4237:20;4255:1;4237:20;:::i;:::-;4232:25;;4271:20;4289:1;4271:20;:::i;:::-;4266:25;;4425:1;4357:66;4353:74;4350:1;4347:81;4344:107;;;4431:18;;:::i;:::-;4344:107;4475:1;4472;4468:9;4461:16;;4178:305;;;;:::o;4489:185::-;4529:1;4546:20;4564:1;4546:20;:::i;:::-;4541:25;;4580:20;4598:1;4580:20;:::i;:::-;4575:25;;4619:1;4609:35;;4624:18;;:::i;:::-;4609:35;4666:1;4663;4659:9;4654:14;;4489:185;;;;:::o;4680:191::-;4720:4;4740:20;4758:1;4740:20;:::i;:::-;4735:25;;4774:20;4792:1;4774:20;:::i;:::-;4769:25;;4813:1;4810;4807:8;4804:34;;;4818:18;;:::i;:::-;4804:34;4863:1;4860;4856:9;4848:17;;4680:191;;;;:::o;4877:96::-;4914:7;4943:24;4961:5;4943:24;:::i;:::-;4932:35;;4877:96;;;:::o;4979:104::-;5024:7;5053:24;5071:5;5053:24;:::i;:::-;5042:35;;4979:104;;;:::o;5089:126::-;5126:7;5166:42;5159:5;5155:54;5144:65;;5089:126;;;:::o;5221:77::-;5258:7;5287:5;5276:16;;5221:77;;;:::o;5304:180::-;5352:77;5349:1;5342:88;5449:4;5446:1;5439:15;5473:4;5470:1;5463:15;5490:180;5538:77;5535:1;5528:88;5635:4;5632:1;5625:15;5659:4;5656:1;5649:15;5676:180;5724:77;5721:1;5714:88;5821:4;5818:1;5811:15;5845:4;5842:1;5835:15;5985:117;6094:1;6091;6084:12;6108:163;6248:15;6244:1;6236:6;6232:14;6225:39;6108:163;:::o;6277:171::-;6417:23;6413:1;6405:6;6401:14;6394:47;6277:171;:::o;6454:122::-;6527:24;6545:5;6527:24;:::i;:::-;6520:5;6517:35;6507:63;;6566:1;6563;6556:12;6507:63;6454:122;:::o;6582:138::-;6663:32;6689:5;6663:32;:::i;:::-;6656:5;6653:43;6643:71;;6710:1;6707;6700:12;6643:71;6582:138;:::o;6726:122::-;6799:24;6817:5;6799:24;:::i;:::-;6792:5;6789:35;6779:63;;6838:1;6835;6828:12;6779:63;6726:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "525600",
"executionCost": "24828",
"totalCost": "550428"
},
"external": {
"": "infinite",
"balanceRecieved(address)": "2902",
"convertWeiToEther(uint256)": "infinite",
"destroySmartContract()": "32072",
"getOwner()": "2566",
"receiveMoney()": "infinite",
"withdrawAllMoney(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"balanceRecieved(address)": "d8d4f50d",
"convertWeiToEther(uint256)": "395a6063",
"destroySmartContract()": "85474728",
"getOwner()": "893d20e8",
"receiveMoney()": "6d26ec18",
"withdrawAllMoney(address,uint256)": "a0de1508"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceRecieved",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amountInWei",
"type": "uint256"
}
],
"name": "convertWeiToEther",
"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": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceRecieved",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amountInWei",
"type": "uint256"
}
],
"name": "convertWeiToEther",
"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": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"FunctionExample.sol": "FunctionExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"FunctionExample.sol": {
"keccak256": "0xae35a8a500e69845bfaa88b9b233bacd129c8e602a4ff7a93c0535e8263c25df",
"license": "MIT",
"urls": [
"bzz-raw://acc41b5e98cd80e2592fd379d43b8b01a389f4a30fd4f806dcc2c2e9047db54f",
"dweb:/ipfs/QmXBRRAPBFyW1K7aMcQroReFhzjvrtBnEH7mJpumpBcJhp"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {
"@_20": {
"entryPoint": null,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610462806100646000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461006b575b600080fd5b6100556004803603810190610050919061023b565b61009b565b6040516100629190610299565b60405180910390f35b6100856004803603810190610080919061020e565b6101a1565b60405161009291906102b4565b60405180910390f35b60006100ee826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546101b990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461013b9190610325565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461019091906102cf565b925050819055506001905092915050565b60006020528060005260406000206000915090505481565b600081836101c79190610325565b905092915050565b6000813590506101de816103e7565b92915050565b6000813590506101f3816103fe565b92915050565b60008135905061020881610415565b92915050565b600060208284031215610224576102236103e2565b5b6000610232848285016101cf565b91505092915050565b60008060408385031215610252576102516103e2565b5b6000610260858286016101e4565b9250506020610271858286016101f9565b9150509250929050565b6102848161037d565b82525050565b610293816103a9565b82525050565b60006020820190506102ae600083018461027b565b92915050565b60006020820190506102c9600083018461028a565b92915050565b60006102da826103a9565b91506102e5836103a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561031a576103196103b3565b5b828201905092915050565b6000610330826103a9565b915061033b836103a9565b92508282101561034e5761034d6103b3565b5b828203905092915050565b600061036482610389565b9050919050565b600061037682610389565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b6103f081610359565b81146103fb57600080fd5b50565b6104078161036b565b811461041257600080fd5b50565b61041e816103a9565b811461042957600080fd5b5056fea264697066735822122092ec866e5a4edcd8716e1d2ace1cdd96acce897216c8921c34281aa413e586ed64736f6c63430008070033",
"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 0x462 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 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x23B JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x299 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x20E JUMP JUMPDEST PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0xEE 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 0x1B9 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x13B SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST 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 PUSH2 0x190 SWAP2 SWAP1 PUSH2 0x2CF JUMP JUMPDEST SWAP3 POP POP 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 DUP2 DUP4 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DE DUP2 PUSH2 0x3E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1F3 DUP2 PUSH2 0x3FE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x208 DUP2 PUSH2 0x415 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x224 JUMPI PUSH2 0x223 PUSH2 0x3E2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x232 DUP5 DUP3 DUP6 ADD PUSH2 0x1CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x252 JUMPI PUSH2 0x251 PUSH2 0x3E2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x260 DUP6 DUP3 DUP7 ADD PUSH2 0x1E4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x271 DUP6 DUP3 DUP7 ADD PUSH2 0x1F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x284 DUP2 PUSH2 0x37D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x293 DUP2 PUSH2 0x3A9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DA DUP3 PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E5 DUP4 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x31A JUMPI PUSH2 0x319 PUSH2 0x3B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x330 DUP3 PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP PUSH2 0x33B DUP4 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x34E JUMPI PUSH2 0x34D PUSH2 0x3B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x364 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x376 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F0 DUP2 PUSH2 0x359 JUMP JUMPDEST DUP2 EQ PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x407 DUP2 PUSH2 0x36B JUMP JUMPDEST DUP2 EQ PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x41E DUP2 PUSH2 0x3A9 JUMP JUMPDEST DUP2 EQ PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xEC DUP7 PUSH15 0x5A4EDCD8716E1D2ACE1CDD96ACCE89 PUSH19 0x16C8921C34281AA413E586ED64736F6C634300 ADDMOD SMOD STOP CALLER ",
"sourceMap": "156:396:0:-:0;;;267:59;;;;;;;;;;318:1;291:12;:24;304:10;291:24;;;;;;;;;;;;;;;:28;;;;156:396;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@sendToken_51": {
"entryPoint": 155,
"id": 51,
"parameterSlots": 2,
"returnSlots": 1
},
"@sub_243": {
"entryPoint": 441,
"id": 243,
"parameterSlots": 2,
"returnSlots": 1
},
"@tokenBalance_6": {
"entryPoint": 417,
"id": 6,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 463,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 484,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 505,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 526,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 571,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 635,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 650,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 665,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 692,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 719,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 805,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 857,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 875,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 893,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 905,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 937,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 947,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 994,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 999,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 1022,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1045,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3913:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:2"
},
"nodeType": "YulFunctionCall",
"src": "78:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:2"
},
"nodeType": "YulFunctionCall",
"src": "107:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:2",
"type": ""
}
],
"src": "7:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:2"
},
"nodeType": "YulFunctionCall",
"src": "231:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:2"
},
"nodeType": "YulFunctionCall",
"src": "260:41:2"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:2"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:2",
"type": ""
}
],
"src": "152:155:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "365:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "375:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "397:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "384:12:2"
},
"nodeType": "YulFunctionCall",
"src": "384:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "375:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "440:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "413:26:2"
},
"nodeType": "YulFunctionCall",
"src": "413:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "413:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "343:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "351:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:2",
"type": ""
}
],
"src": "313:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "524:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "572:77:2"
},
"nodeType": "YulFunctionCall",
"src": "572:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "572:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "545:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "554:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "541:3:2"
},
"nodeType": "YulFunctionCall",
"src": "541:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "537:3:2"
},
"nodeType": "YulFunctionCall",
"src": "537:32:2"
},
"nodeType": "YulIf",
"src": "534:119:2"
},
{
"nodeType": "YulBlock",
"src": "663:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "707:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "742:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "753:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "738:3:2"
},
"nodeType": "YulFunctionCall",
"src": "738:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "762:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "717:20:2"
},
"nodeType": "YulFunctionCall",
"src": "717:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "707:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "494:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "505:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "517:6:2",
"type": ""
}
],
"src": "458:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "884:399:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "930:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "932:77:2"
},
"nodeType": "YulFunctionCall",
"src": "932:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "932:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "905:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "914:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "901:3:2"
},
"nodeType": "YulFunctionCall",
"src": "901:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "926:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "897:3:2"
},
"nodeType": "YulFunctionCall",
"src": "897:32:2"
},
"nodeType": "YulIf",
"src": "894:119:2"
},
{
"nodeType": "YulBlock",
"src": "1023:125:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1038:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1052:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1042:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1067:71:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1110:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1121:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1106:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1106:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1130:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1077:28:2"
},
"nodeType": "YulFunctionCall",
"src": "1077:61:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1067:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1158:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1173:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1187:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1177:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1203:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1238:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1249:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1234:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1234:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1258:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1213:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1213:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1203:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "846:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "857:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "869:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "877:6:2",
"type": ""
}
],
"src": "793:490:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1348:50:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1365:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1385:5:2"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1370:14:2"
},
"nodeType": "YulFunctionCall",
"src": "1370:21:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1358:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1358:34:2"
},
"nodeType": "YulExpressionStatement",
"src": "1358:34:2"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1336:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1343:3:2",
"type": ""
}
],
"src": "1289:109:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1469:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1486:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1509:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1491:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1491:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1479:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1479:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1479:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1457:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1464:3:2",
"type": ""
}
],
"src": "1404:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1620:118:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1630:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1642:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1653:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1638:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1638:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1630:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1704:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1717:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1728:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1713:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1713:17:2"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1666:37:2"
},
"nodeType": "YulFunctionCall",
"src": "1666:65:2"
},
"nodeType": "YulExpressionStatement",
"src": "1666:65:2"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1592:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1604:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1615:4:2",
"type": ""
}
],
"src": "1528:210:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1842:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1852:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1864:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1875:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1860:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1860:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1852:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1932:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1945:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1956:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1941:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1941:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1888:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1888:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1888:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1814:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1826:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1837:4:2",
"type": ""
}
],
"src": "1744:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2012:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2022:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2038:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2032:5:2"
},
"nodeType": "YulFunctionCall",
"src": "2032:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2022:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2005:6:2",
"type": ""
}
],
"src": "1972:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2097:261:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2107:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2130:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2112:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2112:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2107:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2141:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2164:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2146:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2146:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2141:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2304:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2306:16:2"
},
"nodeType": "YulFunctionCall",
"src": "2306:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "2306:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2225:1:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2232:66:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2300:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2228:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2228:74:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2222:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2222:81:2"
},
"nodeType": "YulIf",
"src": "2219:107:2"
},
{
"nodeType": "YulAssignment",
"src": "2336:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2347:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2350:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2343:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2343:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "2336:3:2"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2084:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2087:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "2093:3:2",
"type": ""
}
],
"src": "2053:305:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2409:146:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2419:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2442:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2424:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2424:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2419:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2453:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2476:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2458:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2458:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2453:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2500:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2502:16:2"
},
"nodeType": "YulFunctionCall",
"src": "2502:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "2502:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2494:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2497:1:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2491:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2491:8:2"
},
"nodeType": "YulIf",
"src": "2488:34:2"
},
{
"nodeType": "YulAssignment",
"src": "2532:17:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2544:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2547:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2540:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2540:9:2"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "2532:4:2"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2395:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2398:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "2404:4:2",
"type": ""
}
],
"src": "2364:191:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2606:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2616:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2645:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2627:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2627:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2616:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2588:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2598:7:2",
"type": ""
}
],
"src": "2561:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2716:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2726:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2755:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2737:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2737:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2726:7:2"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2698:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2708:7:2",
"type": ""
}
],
"src": "2663:104:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2815:48:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2825:32:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2850:5:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2843:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2843:13:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2836:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2836:21:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2825:7:2"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2797:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2807:7:2",
"type": ""
}
],
"src": "2773:90:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2914:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2924:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2939:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2946:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2935:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2935:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2924:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2896:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2906:7:2",
"type": ""
}
],
"src": "2869:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3046:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3056:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3067:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3056:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3028:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3038:7:2",
"type": ""
}
],
"src": "3001:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3112:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3129:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3132:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3122:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3122:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "3122:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3226:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3229:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3219:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3219:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "3219:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3250:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3253:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3243:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3243:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "3243:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3084:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3359:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3376:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3379:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3369:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3369:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "3369:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3270:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3482:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3499:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3502:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3492:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3492:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "3492:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3393:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3559:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3616:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3625:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3628:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3618:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3618:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "3618:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3582:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3607:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3589:17:2"
},
"nodeType": "YulFunctionCall",
"src": "3589:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3579:2:2"
},
"nodeType": "YulFunctionCall",
"src": "3579:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3572:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3572:43:2"
},
"nodeType": "YulIf",
"src": "3569:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3552:5:2",
"type": ""
}
],
"src": "3516:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3695:87:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3760:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3769:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3772:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3762:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3762:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "3762:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3718:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3751:5:2"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "3725:25:2"
},
"nodeType": "YulFunctionCall",
"src": "3725:32:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3715:2:2"
},
"nodeType": "YulFunctionCall",
"src": "3715:43:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3708:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3708:51:2"
},
"nodeType": "YulIf",
"src": "3705:71:2"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3688:5:2",
"type": ""
}
],
"src": "3644:138:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3831:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3888:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3897:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3900:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3890:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3890:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "3890:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3854:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3879:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3861:17:2"
},
"nodeType": "YulFunctionCall",
"src": "3861:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3851:2:2"
},
"nodeType": "YulFunctionCall",
"src": "3851:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3844:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3844:43:2"
},
"nodeType": "YulIf",
"src": "3841:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3824:5:2",
"type": ""
}
],
"src": "3788:122:2"
}
]
},
"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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\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_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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_bool(value) -> cleaned {\n cleaned := iszero(iszero(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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\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": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063412664ae1461003b578063eedc966a1461006b575b600080fd5b6100556004803603810190610050919061023b565b61009b565b6040516100629190610299565b60405180910390f35b6100856004803603810190610080919061020e565b6101a1565b60405161009291906102b4565b60405180910390f35b60006100ee826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546101b990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461013b9190610325565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461019091906102cf565b925050819055506001905092915050565b60006020528060005260406000206000915090505481565b600081836101c79190610325565b905092915050565b6000813590506101de816103e7565b92915050565b6000813590506101f3816103fe565b92915050565b60008135905061020881610415565b92915050565b600060208284031215610224576102236103e2565b5b6000610232848285016101cf565b91505092915050565b60008060408385031215610252576102516103e2565b5b6000610260858286016101e4565b9250506020610271858286016101f9565b9150509250929050565b6102848161037d565b82525050565b610293816103a9565b82525050565b60006020820190506102ae600083018461027b565b92915050565b60006020820190506102c9600083018461028a565b92915050565b60006102da826103a9565b91506102e5836103a9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561031a576103196103b3565b5b828201905092915050565b6000610330826103a9565b915061033b836103a9565b92508282101561034e5761034d6103b3565b5b828203905092915050565b600061036482610389565b9050919050565b600061037682610389565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b6103f081610359565b81146103fb57600080fd5b50565b6104078161036b565b811461041257600080fd5b50565b61041e816103a9565b811461042957600080fd5b5056fea264697066735822122092ec866e5a4edcd8716e1d2ace1cdd96acce897216c8921c34281aa413e586ed64736f6c63430008070033",
"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 0x6B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x23B JUMP JUMPDEST PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x62 SWAP2 SWAP1 PUSH2 0x299 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x20E JUMP JUMPDEST PUSH2 0x1A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0xEE 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 0x1B9 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x13B SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST 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 PUSH2 0x190 SWAP2 SWAP1 PUSH2 0x2CF JUMP JUMPDEST SWAP3 POP POP 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 DUP2 DUP4 PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x325 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DE DUP2 PUSH2 0x3E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1F3 DUP2 PUSH2 0x3FE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x208 DUP2 PUSH2 0x415 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x224 JUMPI PUSH2 0x223 PUSH2 0x3E2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x232 DUP5 DUP3 DUP6 ADD PUSH2 0x1CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x252 JUMPI PUSH2 0x251 PUSH2 0x3E2 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x260 DUP6 DUP3 DUP7 ADD PUSH2 0x1E4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x271 DUP6 DUP3 DUP7 ADD PUSH2 0x1F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x284 DUP2 PUSH2 0x37D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x293 DUP2 PUSH2 0x3A9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2AE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x27B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x28A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DA DUP3 PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E5 DUP4 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x31A JUMPI PUSH2 0x319 PUSH2 0x3B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x330 DUP3 PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP PUSH2 0x33B DUP4 PUSH2 0x3A9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x34E JUMPI PUSH2 0x34D PUSH2 0x3B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x364 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x376 DUP3 PUSH2 0x389 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F0 DUP2 PUSH2 0x359 JUMP JUMPDEST DUP2 EQ PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x407 DUP2 PUSH2 0x36B JUMP JUMPDEST DUP2 EQ PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x41E DUP2 PUSH2 0x3A9 JUMP JUMPDEST DUP2 EQ PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xEC DUP7 PUSH15 0x5A4EDCD8716E1D2ACE1CDD96ACCE89 PUSH19 0x16C8921C34281AA413E586ED64736F6C634300 ADDMOD SMOD STOP CALLER ",
"sourceMap": "156:396:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;332:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;186:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;332:216;401:4;445:37;474:7;445:12;:24;458:10;445:24;;;;;;;;;;;;;;;;:28;;:37;;;;:::i;:::-;417:12;:24;430:10;417:24;;;;;;;;;;;;;;;;:65;;;;;;;:::i;:::-;;;;;;;;513:7;492:12;:17;505:3;492:17;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;537:4;530:11;;332:216;;;;:::o;186:44::-;;;;;;;;;;;;;;;;;:::o;3108:96:1:-;3166:7;3196:1;3192;:5;;;;:::i;:::-;3185:12;;3108:96;;;;:::o;7:139:2:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:139::-;359:5;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;313:139;;;;:::o;458:329::-;517:6;566:2;554:9;545:7;541:23;537:32;534:119;;;572:79;;:::i;:::-;534:119;692:1;717:53;762:7;753:6;742:9;738:22;717:53;:::i;:::-;707:63;;663:117;458:329;;;;:::o;793:490::-;869:6;877;926:2;914:9;905:7;901:23;897:32;894:119;;;932:79;;:::i;:::-;894:119;1052:1;1077:61;1130:7;1121:6;1110:9;1106:22;1077:61;:::i;:::-;1067:71;;1023:125;1187:2;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1158:118;793:490;;;;;:::o;1289:109::-;1370:21;1385:5;1370:21;:::i;:::-;1365:3;1358:34;1289:109;;:::o;1404:118::-;1491:24;1509:5;1491:24;:::i;:::-;1486:3;1479:37;1404:118;;:::o;1528:210::-;1615:4;1653:2;1642:9;1638:18;1630:26;;1666:65;1728:1;1717:9;1713:17;1704:6;1666:65;:::i;:::-;1528:210;;;;:::o;1744:222::-;1837:4;1875:2;1864:9;1860:18;1852:26;;1888:71;1956:1;1945:9;1941:17;1932:6;1888:71;:::i;:::-;1744:222;;;;:::o;2053:305::-;2093:3;2112:20;2130:1;2112:20;:::i;:::-;2107:25;;2146:20;2164:1;2146:20;:::i;:::-;2141:25;;2300:1;2232:66;2228:74;2225:1;2222:81;2219:107;;;2306:18;;:::i;:::-;2219:107;2350:1;2347;2343:9;2336:16;;2053:305;;;;:::o;2364:191::-;2404:4;2424:20;2442:1;2424:20;:::i;:::-;2419:25;;2458:20;2476:1;2458:20;:::i;:::-;2453:25;;2497:1;2494;2491:8;2488:34;;;2502:18;;:::i;:::-;2488:34;2547:1;2544;2540:9;2532:17;;2364:191;;;;:::o;2561:96::-;2598:7;2627:24;2645:5;2627:24;:::i;:::-;2616:35;;2561:96;;;:::o;2663:104::-;2708:7;2737:24;2755:5;2737:24;:::i;:::-;2726:35;;2663:104;;;:::o;2773:90::-;2807:7;2850:5;2843:13;2836:21;2825:32;;2773:90;;;:::o;2869:126::-;2906:7;2946:42;2939:5;2935:54;2924:65;;2869:126;;;:::o;3001:77::-;3038:7;3067:5;3056:16;;3001:77;;;:::o;3084:180::-;3132:77;3129:1;3122:88;3229:4;3226:1;3219:15;3253:4;3250:1;3243:15;3393:117;3502:1;3499;3492:12;3516:122;3589:24;3607:5;3589:24;:::i;:::-;3582:5;3579:35;3569:63;;3628:1;3625;3618:12;3569:63;3516:122;:::o;3644:138::-;3725:32;3751:5;3725:32;:::i;:::-;3718:5;3715:43;3705:71;;3772:1;3769;3762:12;3705:71;3644:138;:::o;3788:122::-;3861:24;3879:5;3861:24;:::i;:::-;3854:5;3851:35;3841:63;;3900:1;3897;3890:12;3841:63;3788:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "224400",
"executionCost": "22472",
"totalCost": "246872"
},
"external": {
"sendToken(address,uint256)": "infinite",
"tokenBalance(address)": "2814"
}
},
"methodIdentifiers": {
"sendToken(address,uint256)": "412664ae",
"tokenBalance(address)": "eedc966a"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address payable",
"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"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address payable",
"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": {
"LibraryExample.sol": "LibraryExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"LibraryExample.sol": {
"keccak256": "0x3587ccea369fbd27ae6061fbeb85594bd1a06289d9b855878e0e9e37ace2c13b",
"license": "MIT",
"urls": [
"bzz-raw://61191d69c7f690adda46a8813f5b0c65c94261f763a6d0f997bdc321bd4c5eac",
"dweb:/ipfs/QmS84UtRea5DwfEzVCbzaG7XdpF2Sj2n8L63qQ9fR4YZsP"
]
},
"https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": {
"keccak256": "0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21",
"license": "MIT",
"urls": [
"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2",
"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a9558893f04cba97e1df4d88f524d623901aa92f099bbc76d9db1263b0f196e964736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA9 SSTORE DUP9 SWAP4 CREATE 0x4C 0xBA SWAP8 0xE1 0xDF 0x4D DUP9 CREATE2 0x24 0xD6 0x23 SWAP1 BYTE 0xA9 0x2F MULMOD SWAP12 0xBC PUSH23 0xD9DB1263B0F196E964736F6C6343000807003300000000 ",
"sourceMap": "56:31:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220a9558893f04cba97e1df4d88f524d623901aa92f099bbc76d9db1263b0f196e964736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA9 SSTORE DUP9 SWAP4 CREATE 0x4C 0xBA SWAP8 0xE1 0xDF 0x4D DUP9 CREATE2 0x24 0xD6 0x23 SWAP1 BYTE 0xA9 0x2F MULMOD SWAP12 0xBC PUSH23 0xD9DB1263B0F196E964736F6C6343000807003300000000 ",
"sourceMap": "56:31:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"MappingStruct.sol": "MappingStruct"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"MappingStruct.sol": {
"keccak256": "0xa727e32535b8c34c7f3365c1246e212327b6348c9e673bf53eec3b9a2cba387f",
"license": "MIT",
"urls": [
"bzz-raw://88928a14bdeab20690a0cb93ccef20bdd21ec8ae6daa805d9b013dc362eaa67a",
"dweb:/ipfs/QmYXDVXt2vDaaTYhKB9eoZFuEdNSakiXnXEichfghLUv5S"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506101e5806100206000396000f3fe6080604052600436106100345760003560e01c80630adec93c1461003957806312065fe014610062578063cbedbf5a1461008d575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610100565b610097565b005b34801561006e57600080fd5b506100776100e1565b604051610084919061013c565b60405180910390f35b6100956100e9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156100dd573d6000803e3d6000fd5b5050565b600047905090565b565b6000813590506100fa81610198565b92915050565b60006020828403121561011657610115610193565b5b6000610124848285016100eb565b91505092915050565b61013681610189565b82525050565b6000602082019050610151600083018461012d565b92915050565b600061016282610169565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6101a181610157565b81146101ac57600080fd5b5056fea2646970667358221220951b581fb8a623a2b94d6fe6a41f308478cc60882d0a31782f992b64ddb3ae6c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E5 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADEC93C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0x8D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH2 0x97 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77 PUSH2 0xE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x13C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x95 PUSH2 0xE9 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE 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 0xDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xFA DUP2 PUSH2 0x198 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x116 JUMPI PUSH2 0x115 PUSH2 0x193 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x124 DUP5 DUP3 DUP6 ADD PUSH2 0xEB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x136 DUP2 PUSH2 0x189 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x151 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x162 DUP3 PUSH2 0x169 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A1 DUP2 PUSH2 0x157 JUMP JUMPDEST DUP2 EQ PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 SHL PC 0x1F 0xB8 0xA6 0x23 LOG2 0xB9 0x4D PUSH16 0xE6A41F308478CC60882D0A31782F992B PUSH5 0xDDB3AE6C64 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "56:288:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getBalance_13": {
"entryPoint": 225,
"id": 13,
"parameterSlots": 0,
"returnSlots": 1
},
"@sendMoney_17": {
"entryPoint": 233,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdrawAllMoney_33": {
"entryPoint": 151,
"id": 33,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_payable": {
"entryPoint": 235,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 301,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 316,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 343,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 361,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 393,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 403,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 408,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1664: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": "242:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "288:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "290:77:1"
},
"nodeType": "YulFunctionCall",
"src": "290:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "290:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "263:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "272:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "259:3:1"
},
"nodeType": "YulFunctionCall",
"src": "259:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "284:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "255:3:1"
},
"nodeType": "YulFunctionCall",
"src": "255:32:1"
},
"nodeType": "YulIf",
"src": "252:119:1"
},
{
"nodeType": "YulBlock",
"src": "381:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "396:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "410:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "400:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "425:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "468:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "479:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "464:3:1"
},
"nodeType": "YulFunctionCall",
"src": "464:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "488:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "435:28:1"
},
"nodeType": "YulFunctionCall",
"src": "435:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "425:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "212:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "223:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "235:6:1",
"type": ""
}
],
"src": "168:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "584:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "601:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "624:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "606:17:1"
},
"nodeType": "YulFunctionCall",
"src": "606:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "594:6:1"
},
"nodeType": "YulFunctionCall",
"src": "594:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "594:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "572:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "579:3:1",
"type": ""
}
],
"src": "519:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "741:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "751:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "763:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "774:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "759:3:1"
},
"nodeType": "YulFunctionCall",
"src": "759:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "751:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "831:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "844:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "855:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "840:3:1"
},
"nodeType": "YulFunctionCall",
"src": "840:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "787:43:1"
},
"nodeType": "YulFunctionCall",
"src": "787:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "787:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "713:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "725:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "736:4:1",
"type": ""
}
],
"src": "643:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "911:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "921:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "937:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "931:5:1"
},
"nodeType": "YulFunctionCall",
"src": "931:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "921:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "904:6:1",
"type": ""
}
],
"src": "871:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1005:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1015:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1044:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1026:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1026:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1015:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "987:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "997:7:1",
"type": ""
}
],
"src": "952:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1107:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1117:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1132:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1139:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1117:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1089:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1099:7:1",
"type": ""
}
],
"src": "1062:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1239:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1249:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1260:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1249:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1221:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1231:7:1",
"type": ""
}
],
"src": "1194:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1366:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1383:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1386:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1376:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1376:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1376:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1277:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1489:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1506:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1509:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1499:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1400:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1574:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1639:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1648:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1651:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1641:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1641:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1641:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1597:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1630:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1604:25:1"
},
"nodeType": "YulFunctionCall",
"src": "1604:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1594:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1594:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1587:51:1"
},
"nodeType": "YulIf",
"src": "1584:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1567:5:1",
"type": ""
}
],
"src": "1523:138: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_tuple_t_address_payable(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100345760003560e01c80630adec93c1461003957806312065fe014610062578063cbedbf5a1461008d575b600080fd5b34801561004557600080fd5b50610060600480360381019061005b9190610100565b610097565b005b34801561006e57600080fd5b506100776100e1565b604051610084919061013c565b60405180910390f35b6100956100e9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156100dd573d6000803e3d6000fd5b5050565b600047905090565b565b6000813590506100fa81610198565b92915050565b60006020828403121561011657610115610193565b5b6000610124848285016100eb565b91505092915050565b61013681610189565b82525050565b6000602082019050610151600083018461012d565b92915050565b600061016282610169565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6101a181610157565b81146101ac57600080fd5b5056fea2646970667358221220951b581fb8a623a2b94d6fe6a41f308478cc60882d0a31782f992b64ddb3ae6c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADEC93C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0x8D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH2 0x97 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x77 PUSH2 0xE1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x13C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x95 PUSH2 0xE9 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE 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 0xDD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xFA DUP2 PUSH2 0x198 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x116 JUMPI PUSH2 0x115 PUSH2 0x193 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x124 DUP5 DUP3 DUP6 ADD PUSH2 0xEB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x136 DUP2 PUSH2 0x189 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x151 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x162 DUP3 PUSH2 0x169 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A1 DUP2 PUSH2 0x157 JUMP JUMPDEST DUP2 EQ PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 SHL PC 0x1F 0xB8 0xA6 0x23 LOG2 0xB9 0x4D PUSH16 0xE6A41F308478CC60882D0A31782F992B PUSH5 0xDDB3AE6C64 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "56:288:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;235:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;92:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;191:38;;;:::i;:::-;;235:107;300:3;:12;;:35;313:21;300:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;235:107;:::o;92:93::-;134:4;157:21;150:28;;92:93;:::o;191:38::-;:::o;7:155:1:-;61:5;99:6;86:20;77:29;;115:41;150:5;115:41;:::i;:::-;7:155;;;;:::o;168:345::-;235:6;284:2;272:9;263:7;259:23;255:32;252:119;;;290:79;;:::i;:::-;252:119;410:1;435:61;488:7;479:6;468:9;464:22;435:61;:::i;:::-;425:71;;381:125;168:345;;;;:::o;519:118::-;606:24;624:5;606:24;:::i;:::-;601:3;594:37;519:118;;:::o;643:222::-;736:4;774:2;763:9;759:18;751:26;;787:71;855:1;844:9;840:17;831:6;787:71;:::i;:::-;643:222;;;;:::o;952:104::-;997:7;1026:24;1044:5;1026:24;:::i;:::-;1015:35;;952:104;;;:::o;1062:126::-;1099:7;1139:42;1132:5;1128:54;1117:65;;1062:126;;;:::o;1194:77::-;1231:7;1260:5;1249:16;;1194:77;;;:::o;1400:117::-;1509:1;1506;1499:12;1523:138;1604:32;1630:5;1604:32;:::i;:::-;1597:5;1594:43;1584:71;;1651:1;1648;1641:12;1584:71;1523:138;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "97000",
"executionCost": "147",
"totalCost": "97147"
},
"external": {
"getBalance()": "339",
"sendMoney()": "142",
"withdrawAllMoney(address)": "infinite"
}
},
"methodIdentifiers": {
"getBalance()": "12065fe0",
"sendMoney()": "cbedbf5a",
"withdrawAllMoney(address)": "0adec93c"
}
},
"abi": [
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"MappingStructExample.sol": "MappingStructExample"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"MappingStructExample.sol": {
"keccak256": "0x7f877584bf6da2f381a4e342e83a0a1ef97fca56a6e731edab27f55270bf5130",
"license": "MIT",
"urls": [
"bzz-raw://22e241fa9304c990e75b3960c7cf17abc4af797569162606a8b1d929be97ad0e",
"dweb:/ipfs/QmNLqHFncPjvxaPibtpbeFkhtCkXZbvu1kvyTLDD4CDtUZ"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610771806100206000396000f3fe6080604052600436106100705760003560e01c80639639d0a21161004e5780639639d0a214610106578063c108f12414610143578063cbedbf5a1461016c578063f3aab3261461017657610070565b80630adec93c146100755780631277d7171461009e5780636f9fb98a146100db575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061052c565b61019f565b005b3480156100aa57600080fd5b506100c560048036038101906100c091906104ff565b6101e9565b6040516100d291906105eb565b60405180910390f35b3480156100e757600080fd5b506100f0610201565b6040516100fd91906105eb565b60405180910390f35b34801561011257600080fd5b5061012d600480360381019061012891906104ff565b610209565b60405161013a91906105eb565b60405180910390f35b34801561014f57600080fd5b5061016a6004803603810190610165919061052c565b610251565b005b610174610323565b005b34801561018257600080fd5b5061019d60048036038101906101989190610559565b610368565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156101e5573d6000803e3d6000fd5b5050565b60006020528060005260406000206000915090505481565b600047905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561031e573d6000803e3d6000fd5b505050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156103e15750806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b610420576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610417906105cb565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461046e9190610617565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156104bb573d6000803e3d6000fd5b505050565b6000813590506104cf816106f6565b92915050565b6000813590506104e48161070d565b92915050565b6000813590506104f981610724565b92915050565b600060208284031215610515576105146106c8565b5b6000610523848285016104c0565b91505092915050565b600060208284031215610542576105416106c8565b5b6000610550848285016104d5565b91505092915050565b600080604083850312156105705761056f6106c8565b5b600061057e858286016104d5565b925050602061058f858286016104ea565b9150509250929050565b60006105a6601883610606565b91506105b1826106cd565b602082019050919050565b6105c58161068f565b82525050565b600060208201905081810360008301526105e481610599565b9050919050565b600060208201905061060060008301846105bc565b92915050565b600082825260208201905092915050565b60006106228261068f565b915061062d8361068f565b9250828210156106405761063f610699565b5b828203905092915050565b60006106568261066f565b9050919050565b60006106688261066f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f556e617574686f72697a6564207472616e73616374696f6e0000000000000000600082015250565b6106ff8161064b565b811461070a57600080fd5b50565b6107168161065d565b811461072157600080fd5b50565b61072d8161068f565b811461073857600080fd5b5056fea2646970667358221220546dd6d9372af01d7c750ea699dedcfc36e38bd95b60e1d9a90c2daad2d70ad064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x771 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9639D0A2 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9639D0A2 EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xC108F124 EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xF3AAB326 EQ PUSH2 0x176 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0xADEC93C EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x1277D717 EQ PUSH2 0x9E JUMPI DUP1 PUSH4 0x6F9FB98A EQ PUSH2 0xDB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x52C JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x4FF JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF0 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFD SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x112 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x128 SWAP2 SWAP1 PUSH2 0x4FF JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13A SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x52C JUMP JUMPDEST PUSH2 0x251 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x174 PUSH2 0x323 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE 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 0x1E5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 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 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 0x31E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP 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 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x3E1 JUMPI POP DUP1 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 LT ISZERO JUMPDEST PUSH2 0x420 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x417 SWAP1 PUSH2 0x5CB 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 0x46E SWAP2 SWAP1 PUSH2 0x617 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 0x4BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4CF DUP2 PUSH2 0x6F6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E4 DUP2 PUSH2 0x70D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4F9 DUP2 PUSH2 0x724 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x515 JUMPI PUSH2 0x514 PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x523 DUP5 DUP3 DUP6 ADD PUSH2 0x4C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x542 JUMPI PUSH2 0x541 PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x550 DUP5 DUP3 DUP6 ADD PUSH2 0x4D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x570 JUMPI PUSH2 0x56F PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x57E DUP6 DUP3 DUP7 ADD PUSH2 0x4D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x58F DUP6 DUP3 DUP7 ADD PUSH2 0x4EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A6 PUSH1 0x18 DUP4 PUSH2 0x606 JUMP JUMPDEST SWAP2 POP PUSH2 0x5B1 DUP3 PUSH2 0x6CD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5C5 DUP2 PUSH2 0x68F 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 0x5E4 DUP2 PUSH2 0x599 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x600 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5BC 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 0x622 DUP3 PUSH2 0x68F JUMP JUMPDEST SWAP2 POP PUSH2 0x62D DUP4 PUSH2 0x68F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x640 JUMPI PUSH2 0x63F PUSH2 0x699 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x656 DUP3 PUSH2 0x66F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x668 DUP3 PUSH2 0x66F 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x556E617574686F72697A6564207472616E73616374696F6E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x6FF DUP2 PUSH2 0x64B JUMP JUMPDEST DUP2 EQ PUSH2 0x70A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x716 DUP2 PUSH2 0x65D JUMP JUMPDEST DUP2 EQ PUSH2 0x721 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x72D DUP2 PUSH2 0x68F JUMP JUMPDEST DUP2 EQ PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD PUSH14 0xD6D9372AF01D7C750EA699DEDCFC CALLDATASIZE 0xE3 DUP12 0xD9 JUMPDEST PUSH1 0xE1 0xD9 0xA9 0xC 0x2D 0xAA 0xD2 0xD7 EXP 0xD0 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:1378:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@accountHolders_5": {
"entryPoint": 489,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@getAccountholderBalance_29": {
"entryPoint": 521,
"id": 29,
"parameterSlots": 1,
"returnSlots": 1
},
"@getContractBalance_17": {
"entryPoint": 513,
"id": 17,
"parameterSlots": 0,
"returnSlots": 1
},
"@sendMoney_41": {
"entryPoint": 803,
"id": 41,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdrawAccountholder_102": {
"entryPoint": 593,
"id": 102,
"parameterSlots": 1,
"returnSlots": 0
},
"@withdrawAllMoney_118": {
"entryPoint": 415,
"id": 118,
"parameterSlots": 1,
"returnSlots": 0
},
"@withdrawPartialAccountholder_76": {
"entryPoint": 872,
"id": 76,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1216,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 1237,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1258,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1279,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 1324,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 1369,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_stringliteral_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1433,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1468,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_stringliteral_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1483,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1515,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1542,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 1559,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1611,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 1629,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1647,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1679,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1689,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1736,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d": {
"entryPoint": 1741,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1782,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 1805,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1828,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4678: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:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "572:77:1"
},
"nodeType": "YulFunctionCall",
"src": "572:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "572:79: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:119:1"
},
{
"nodeType": "YulBlock",
"src": "663:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "707:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "742:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "753:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "738:3:1"
},
"nodeType": "YulFunctionCall",
"src": "738:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "762:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "717:20:1"
},
"nodeType": "YulFunctionCall",
"src": "717:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "707: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:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "867:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "913:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "915:77:1"
},
"nodeType": "YulFunctionCall",
"src": "915:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "915:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "888:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "897:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "884:3:1"
},
"nodeType": "YulFunctionCall",
"src": "884:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "909:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "880:3:1"
},
"nodeType": "YulFunctionCall",
"src": "880:32:1"
},
"nodeType": "YulIf",
"src": "877:119:1"
},
{
"nodeType": "YulBlock",
"src": "1006:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1021:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1035:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1025:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1050:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1093:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1104:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1089:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1089:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1113:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1060:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1060:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1050:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "837:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "848:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "860:6:1",
"type": ""
}
],
"src": "793:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:399:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1281:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1283:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1283:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1283:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1256:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1265:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1252:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1277:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1248:32:1"
},
"nodeType": "YulIf",
"src": "1245:119:1"
},
{
"nodeType": "YulBlock",
"src": "1374:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1389:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1403:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1393:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1418:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1461:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1472:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1457:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1481:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1428:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1428:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1418:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1509:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1524:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1538:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1528:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1554:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1589:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1600:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1585:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1585:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1609:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1564:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1564:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1554:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1197:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1208:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1220:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1228:6:1",
"type": ""
}
],
"src": "1144:490:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1786:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1796:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1862:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1867:2:1",
"type": "",
"value": "24"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1803:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1803:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1796:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1968:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d",
"nodeType": "YulIdentifier",
"src": "1879:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1879:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1981:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1992:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1997:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1988:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1988:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1981:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1774:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1782:3:1",
"type": ""
}
],
"src": "1640:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2077:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2094:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2117:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2099:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2099:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2087:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2087:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2087:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2065:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2072:3:1",
"type": ""
}
],
"src": "2012:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2307:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2317:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2329:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2340:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2325:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2325:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2317:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2364:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2375:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2360:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2383:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2389:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2379:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2353:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2353:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2353:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2409:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2543:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2417:124:1"
},
"nodeType": "YulFunctionCall",
"src": "2417:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2409:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2287:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2302:4:1",
"type": ""
}
],
"src": "2136:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2659:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2669:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2681:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2692:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2677:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2669:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2749:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2762:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2773:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2758:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2758:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2705:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2705:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2705:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2631:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2643:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2654:4:1",
"type": ""
}
],
"src": "2561:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2829:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2839:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2855:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2849:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2849:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2839:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2822:6:1",
"type": ""
}
],
"src": "2789:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2966:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2983:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2988:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2976:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2976:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2976:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3004:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3023:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3028:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3004:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2938:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2943:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2954:11:1",
"type": ""
}
],
"src": "2870:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3090:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3100:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3123:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3105:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3105:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3100:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3134:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3157:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3139:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3139:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3134:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3181:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3183:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3183:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3183:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3175:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3178:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3172:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3172:8:1"
},
"nodeType": "YulIf",
"src": "3169:34:1"
},
{
"nodeType": "YulAssignment",
"src": "3213:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3225:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3228:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3221:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3221:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "3213:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "3076:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "3079:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "3085:4:1",
"type": ""
}
],
"src": "3045:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3287:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3297:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3326:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3308:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3308:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3297:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3269:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3279:7:1",
"type": ""
}
],
"src": "3242:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3397:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3407:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3436:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3418:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3418:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3407:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3379:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3389:7:1",
"type": ""
}
],
"src": "3344:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3499:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3509:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3524:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3531:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3520:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3520:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3509:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3481:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3491:7:1",
"type": ""
}
],
"src": "3454:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3631:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3641:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3652:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3641:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3613:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3623:7:1",
"type": ""
}
],
"src": "3586:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3697:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3714:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3717:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3707:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3707:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3707:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3811:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3804:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3804:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3804:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3835:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3838:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3828:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3828:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3828:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3669:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3944:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3961:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3964:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3954:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3954:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3954:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3855:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4067:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4084:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4087:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4077:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4077:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4077:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3978:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4207:68:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4229:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4237:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4225:14:1"
},
{
"hexValue": "556e617574686f72697a6564207472616e73616374696f6e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4241:26:1",
"type": "",
"value": "Unauthorized transaction"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4218:50:1"
},
"nodeType": "YulExpressionStatement",
"src": "4218:50:1"
}
]
},
"name": "store_literal_in_memory_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4199:6:1",
"type": ""
}
],
"src": "4101:174:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4324:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4381:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4390:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4393:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4383:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4383:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4383:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4347:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4372:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4354:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4354:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4344:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4344:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4337:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:43:1"
},
"nodeType": "YulIf",
"src": "4334:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4317:5:1",
"type": ""
}
],
"src": "4281:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4460:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4525:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4534:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4537:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4527:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4527:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4527:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4516:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "4490:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4490:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4480:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4473:51:1"
},
"nodeType": "YulIf",
"src": "4470:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4453:5:1",
"type": ""
}
],
"src": "4409:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4596:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4653:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4662:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4665:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4655:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4655:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4655:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4619:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4644:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4626:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4626:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4616:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4616:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4609:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4609:43:1"
},
"nodeType": "YulIf",
"src": "4606:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4589:5:1",
"type": ""
}
],
"src": "4553: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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_payable(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_address_payablet_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d(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_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d__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_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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_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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_52654a4fa6908cd765267942fb34f2e228c7915471d7d21d397f3ad2845dc46d(memPtr) {\n\n mstore(add(memPtr, 0), \"Unauthorized transaction\")\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": "6080604052600436106100705760003560e01c80639639d0a21161004e5780639639d0a214610106578063c108f12414610143578063cbedbf5a1461016c578063f3aab3261461017657610070565b80630adec93c146100755780631277d7171461009e5780636f9fb98a146100db575b600080fd5b34801561008157600080fd5b5061009c6004803603810190610097919061052c565b61019f565b005b3480156100aa57600080fd5b506100c560048036038101906100c091906104ff565b6101e9565b6040516100d291906105eb565b60405180910390f35b3480156100e757600080fd5b506100f0610201565b6040516100fd91906105eb565b60405180910390f35b34801561011257600080fd5b5061012d600480360381019061012891906104ff565b610209565b60405161013a91906105eb565b60405180910390f35b34801561014f57600080fd5b5061016a6004803603810190610165919061052c565b610251565b005b610174610323565b005b34801561018257600080fd5b5061019d60048036038101906101989190610559565b610368565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156101e5573d6000803e3d6000fd5b5050565b60006020528060005260406000206000915090505481565b600047905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561031e573d6000803e3d6000fd5b505050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156103e15750806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b610420576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610417906105cb565b60405180910390fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461046e9190610617565b925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156104bb573d6000803e3d6000fd5b505050565b6000813590506104cf816106f6565b92915050565b6000813590506104e48161070d565b92915050565b6000813590506104f981610724565b92915050565b600060208284031215610515576105146106c8565b5b6000610523848285016104c0565b91505092915050565b600060208284031215610542576105416106c8565b5b6000610550848285016104d5565b91505092915050565b600080604083850312156105705761056f6106c8565b5b600061057e858286016104d5565b925050602061058f858286016104ea565b9150509250929050565b60006105a6601883610606565b91506105b1826106cd565b602082019050919050565b6105c58161068f565b82525050565b600060208201905081810360008301526105e481610599565b9050919050565b600060208201905061060060008301846105bc565b92915050565b600082825260208201905092915050565b60006106228261068f565b915061062d8361068f565b9250828210156106405761063f610699565b5b828203905092915050565b60006106568261066f565b9050919050565b60006106688261066f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f556e617574686f72697a6564207472616e73616374696f6e0000000000000000600082015250565b6106ff8161064b565b811461070a57600080fd5b50565b6107168161065d565b811461072157600080fd5b50565b61072d8161068f565b811461073857600080fd5b5056fea2646970667358221220546dd6d9372af01d7c750ea699dedcfc36e38bd95b60e1d9a90c2daad2d70ad064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x70 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9639D0A2 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9639D0A2 EQ PUSH2 0x106 JUMPI DUP1 PUSH4 0xC108F124 EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xF3AAB326 EQ PUSH2 0x176 JUMPI PUSH2 0x70 JUMP JUMPDEST DUP1 PUSH4 0xADEC93C EQ PUSH2 0x75 JUMPI DUP1 PUSH4 0x1277D717 EQ PUSH2 0x9E JUMPI DUP1 PUSH4 0x6F9FB98A EQ PUSH2 0xDB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x52C JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x4FF JUMP JUMPDEST PUSH2 0x1E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF0 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFD SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x112 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x128 SWAP2 SWAP1 PUSH2 0x4FF JUMP JUMPDEST PUSH2 0x209 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13A SWAP2 SWAP1 PUSH2 0x5EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x52C JUMP JUMPDEST PUSH2 0x251 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x174 PUSH2 0x323 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x198 SWAP2 SWAP1 PUSH2 0x559 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE 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 0x1E5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST 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 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 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 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 0x31E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP 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 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x3E1 JUMPI POP DUP1 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 LT ISZERO JUMPDEST PUSH2 0x420 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x417 SWAP1 PUSH2 0x5CB 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 0x46E SWAP2 SWAP1 PUSH2 0x617 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 0x4BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4CF DUP2 PUSH2 0x6F6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4E4 DUP2 PUSH2 0x70D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4F9 DUP2 PUSH2 0x724 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x515 JUMPI PUSH2 0x514 PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x523 DUP5 DUP3 DUP6 ADD PUSH2 0x4C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x542 JUMPI PUSH2 0x541 PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x550 DUP5 DUP3 DUP6 ADD PUSH2 0x4D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x570 JUMPI PUSH2 0x56F PUSH2 0x6C8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x57E DUP6 DUP3 DUP7 ADD PUSH2 0x4D5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x58F DUP6 DUP3 DUP7 ADD PUSH2 0x4EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A6 PUSH1 0x18 DUP4 PUSH2 0x606 JUMP JUMPDEST SWAP2 POP PUSH2 0x5B1 DUP3 PUSH2 0x6CD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5C5 DUP2 PUSH2 0x68F 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 0x5E4 DUP2 PUSH2 0x599 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x600 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5BC 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 0x622 DUP3 PUSH2 0x68F JUMP JUMPDEST SWAP2 POP PUSH2 0x62D DUP4 PUSH2 0x68F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x640 JUMPI PUSH2 0x63F PUSH2 0x699 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x656 DUP3 PUSH2 0x66F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x668 DUP3 PUSH2 0x66F 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x556E617574686F72697A6564207472616E73616374696F6E0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x6FF DUP2 PUSH2 0x64B JUMP JUMPDEST DUP2 EQ PUSH2 0x70A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x716 DUP2 PUSH2 0x65D JUMP JUMPDEST DUP2 EQ PUSH2 0x721 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x72D DUP2 PUSH2 0x68F JUMP JUMPDEST DUP2 EQ PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD PUSH14 0xD6D9372AF01D7C750EA699DEDCFC CALLDATASIZE 0xE3 DUP12 0xD9 JUMPDEST PUSH1 0xE1 0xD9 0xA9 0xC 0x2D 0xAA 0xD2 0xD7 EXP 0xD0 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "56:1378:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1325:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;96:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;149:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;256:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:346;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;399:91;;;:::i;:::-;;496:471;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1325:107;1390:3;:12;;:35;1403:21;1390:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1325:107;:::o;96:46::-;;;;;;;;;;;;;;;;;:::o;149:101::-;199:4;222:21;215:28;;149:101;:::o;256:137::-;333:4;356:14;:30;371:14;356:30;;;;;;;;;;;;;;;;349:37;;256:137;;;:::o;973:346::-;1110:18;1132:14;:26;1147:10;1132:26;;;;;;;;;;;;;;;;1110:48;;1197:1;1168:14;:26;1183:10;1168:26;;;;;;;;;;;;;;;:30;;;;1276:3;:12;;:27;1289:13;1276:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1033:286;973:346;:::o;399:91::-;474:9;445:14;:26;460:10;445:26;;;;;;;;;;;;;;;:38;;;;399:91::o;496:471::-;609:3;595:17;;:10;:17;;;:51;;;;;639:7;616:14;:19;631:3;616:19;;;;;;;;;;;;;;;;:30;;595:51;587:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;845:7;815:14;:26;830:10;815:26;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;930:3;:12;;:21;943:7;930:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;496:471;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:139::-;359:5;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;313:139;;;;:::o;458:329::-;517:6;566:2;554:9;545:7;541:23;537:32;534:119;;;572:79;;:::i;:::-;534:119;692:1;717:53;762:7;753:6;742:9;738:22;717:53;:::i;:::-;707:63;;663:117;458:329;;;;:::o;793:345::-;860:6;909:2;897:9;888:7;884:23;880:32;877:119;;;915:79;;:::i;:::-;877:119;1035:1;1060:61;1113:7;1104:6;1093:9;1089:22;1060:61;:::i;:::-;1050:71;;1006:125;793:345;;;;:::o;1144:490::-;1220:6;1228;1277:2;1265:9;1256:7;1252:23;1248:32;1245:119;;;1283:79;;:::i;:::-;1245:119;1403:1;1428:61;1481:7;1472:6;1461:9;1457:22;1428:61;:::i;:::-;1418:71;;1374:125;1538:2;1564:53;1609:7;1600:6;1589:9;1585:22;1564:53;:::i;:::-;1554:63;;1509:118;1144:490;;;;;:::o;1640:366::-;1782:3;1803:67;1867:2;1862:3;1803:67;:::i;:::-;1796:74;;1879:93;1968:3;1879:93;:::i;:::-;1997:2;1992:3;1988:12;1981:19;;1640:366;;;:::o;2012:118::-;2099:24;2117:5;2099:24;:::i;:::-;2094:3;2087:37;2012:118;;:::o;2136:419::-;2302:4;2340:2;2329:9;2325:18;2317:26;;2389:9;2383:4;2379:20;2375:1;2364:9;2360:17;2353:47;2417:131;2543:4;2417:131;:::i;:::-;2409:139;;2136:419;;;:::o;2561:222::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2705:71;2773:1;2762:9;2758:17;2749:6;2705:71;:::i;:::-;2561:222;;;;:::o;2870:169::-;2954:11;2988:6;2983:3;2976:19;3028:4;3023:3;3019:14;3004:29;;2870:169;;;;:::o;3045:191::-;3085:4;3105:20;3123:1;3105:20;:::i;:::-;3100:25;;3139:20;3157:1;3139:20;:::i;:::-;3134:25;;3178:1;3175;3172:8;3169:34;;;3183:18;;:::i;:::-;3169:34;3228:1;3225;3221:9;3213:17;;3045:191;;;;:::o;3242:96::-;3279:7;3308:24;3326:5;3308:24;:::i;:::-;3297:35;;3242:96;;;:::o;3344:104::-;3389:7;3418:24;3436:5;3418:24;:::i;:::-;3407:35;;3344:104;;;:::o;3454:126::-;3491:7;3531:42;3524:5;3520:54;3509:65;;3454:126;;;:::o;3586:77::-;3623:7;3652:5;3641:16;;3586:77;;;:::o;3669:180::-;3717:77;3714:1;3707:88;3814:4;3811:1;3804:15;3838:4;3835:1;3828:15;3978:117;4087:1;4084;4077:12;4101:174;4241:26;4237:1;4229:6;4225:14;4218:50;4101:174;:::o;4281:122::-;4354:24;4372:5;4354:24;:::i;:::-;4347:5;4344:35;4334:63;;4393:1;4390;4383:12;4334:63;4281:122;:::o;4409:138::-;4490:32;4516:5;4490:32;:::i;:::-;4483:5;4480:43;4470:71;;4537:1;4534;4527:12;4470:71;4409:138;:::o;4553:122::-;4626:24;4644:5;4626:24;:::i;:::-;4619:5;4616:35;4606:63;;4665:1;4662;4655:12;4606:63;4553:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "381000",
"executionCost": "418",
"totalCost": "381418"
},
"external": {
"accountHolders(address)": "2837",
"getAccountholderBalance(address)": "2841",
"getContractBalance()": "384",
"sendMoney()": "22366",
"withdrawAccountholder(address)": "infinite",
"withdrawAllMoney(address)": "infinite",
"withdrawPartialAccountholder(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"accountHolders(address)": "1277d717",
"getAccountholderBalance(address)": "9639d0a2",
"getContractBalance()": "6f9fb98a",
"sendMoney()": "cbedbf5a",
"withdrawAccountholder(address)": "c108f124",
"withdrawAllMoney(address)": "0adec93c",
"withdrawPartialAccountholder(address,uint256)": "f3aab326"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "accountHolders",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_accountHolder",
"type": "address"
}
],
"name": "getAccountholderBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getContractBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAccountholder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdrawPartialAccountholder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "accountHolders",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_accountHolder",
"type": "address"
}
],
"name": "getAccountholderBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getContractBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sendMoney",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAccountholder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
}
],
"name": "withdrawAllMoney",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdrawPartialAccountholder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"MappingStructExample.sol": "MappingStructExampleLab"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"MappingStructExample.sol": {
"keccak256": "0x116122fd4c381cb68be872a4f08391d5805d0d63a7a7a5c80d5862bd12b11e9f",
"license": "MIT",
"urls": [
"bzz-raw://f431da1abc55691eed494b851b91dab1ab4323caef4b2b92c714183bb2adab8a",
"dweb:/ipfs/QmbCN4PZZnWYu8vtj1DLXahLk6tkJkvHfMSc6kgVLSao8j"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {
"@_171": {
"entryPoint": null,
"id": 171,
"parameterSlots": 0,
"returnSlots": 0
},
"@_29": {
"entryPoint": null,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052670de0b6b3a764000060025534801561001c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cc7806100d26000396000f3fe60806040526004361061004a5760003560e01c8063412664ae1461004f578063754fc38c1461007f578063a95c4d6214610096578063eedc966a146100a0578063faa0a264146100dd575b600080fd5b610069600480360381019061006491906107d0565b6100f4565b60405161007691906108c9565b60405180910390f35b34801561008b57600080fd5b5061009461039c565b005b61009e6104a2565b005b3480156100ac57600080fd5b506100c760048036038101906100c291906107a3565b610646565b6040516100d49190610924565b60405180910390f35b3480156100e957600080fd5b506100f261065e565b005b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016e906108e4565b60405180910390fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102029190610950565b101561021157610210610b68565b5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461029c9190610a31565b11156102ab576102aa610b68565b5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102fa9190610a31565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103509190610a31565b925050819055507f3ddb739c68dd901671f09fbe0bc2344c179ed55f8e8110a7c7a3c5665bd9518d33848460405161038a93929190610892565b60405180910390a16001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042190610904565b60405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061049b90610b1f565b9190505550565b600034600254600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461051391906109d7565b61051d91906109a6565b1161055d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610554906108e4565b60405180910390fd5b6002543461056b91906109a6565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105da9190610a31565b92505081905550600254346105ef91906109a6565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461063d9190610950565b92505081905550565b60016020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e390610904565b60405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061075d90610af5565b9190505550565b60008135905061077381610c4c565b92915050565b60008135905061078881610c63565b92915050565b60008135905061079d81610c7a565b92915050565b6000602082840312156107b9576107b8610bf5565b5b60006107c784828501610764565b91505092915050565b600080604083850312156107e7576107e6610bf5565b5b60006107f585828601610779565b92505060206108068582860161078e565b9150509250929050565b61081981610abf565b82525050565b61082881610a65565b82525050565b61083781610a89565b82525050565b600061084a60118361093f565b915061085582610bfa565b602082019050919050565b600061086d60158361093f565b915061087882610c23565b602082019050919050565b61088c81610ab5565b82525050565b60006060820190506108a7600083018661081f565b6108b46020830185610810565b6108c16040830184610883565b949350505050565b60006020820190506108de600083018461082e565b92915050565b600060208201905081810360008301526108fd8161083d565b9050919050565b6000602082019050818103600083015261091d81610860565b9050919050565b60006020820190506109396000830184610883565b92915050565b600082825260208201905092915050565b600061095b82610ab5565b915061096683610ab5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099b5761099a610b97565b5b828201905092915050565b60006109b182610ab5565b91506109bc83610ab5565b9250826109cc576109cb610bc6565b5b828204905092915050565b60006109e282610ab5565b91506109ed83610ab5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a2657610a25610b97565b5b828202905092915050565b6000610a3c82610ab5565b9150610a4783610ab5565b925082821015610a5a57610a59610b97565b5b828203905092915050565b6000610a7082610a95565b9050919050565b6000610a8282610a95565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610aca82610ad1565b9050919050565b6000610adc82610ae3565b9050919050565b6000610aee82610a95565b9050919050565b6000610b0082610ab5565b91506000821415610b1457610b13610b97565b5b600182039050919050565b6000610b2a82610ab5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610b5d57610b5c610b97565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b7f796f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b610c5581610a65565b8114610c6057600080fd5b50565b610c6c81610a77565b8114610c7757600080fd5b50565b610c8381610ab5565b8114610c8e57600080fd5b5056fea2646970667358221220d9d212d85d429dcac76284770820dfbebfdf8566d6d2a13b27fd818e748a918e64736f6c63430008070033",
"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 0xCC7 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 0x412664AE EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x754FC38C EQ PUSH2 0x7F JUMPI DUP1 PUSH4 0xA95C4D62 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xFAA0A264 EQ PUSH2 0xDD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x69 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x7D0 JUMP JUMPDEST PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x8C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x94 PUSH2 0x39C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x924 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2 PUSH2 0x65E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 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 GT PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16E SWAP1 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 SLOAD DUP3 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 PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x950 JUMP JUMPDEST LT ISZERO PUSH2 0x211 JUMPI PUSH2 0x210 PUSH2 0xB68 JUMP JUMPDEST 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 DUP3 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 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST GT ISZERO PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0xB68 JUMP JUMPDEST JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2FA SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x350 SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x3DDB739C68DD901671F09FBE0BC2344C179ED55F8E8110A7C7A3C5665BD9518D CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x38A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x42A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x421 SWAP1 PUSH2 0x904 JUMP JUMPDEST 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 PUSH2 0x49B SWAP1 PUSH2 0xB1F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP 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 PUSH2 0x513 SWAP2 SWAP1 PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0x51D SWAP2 SWAP1 PUSH2 0x9A6 JUMP JUMPDEST GT PUSH2 0x55D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x554 SWAP1 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE PUSH2 0x56B SWAP2 SWAP1 PUSH2 0x9A6 JUMP 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 DUP3 DUP3 SLOAD PUSH2 0x5DA SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x2 SLOAD CALLVALUE PUSH2 0x5EF SWAP2 SWAP1 PUSH2 0x9A6 JUMP 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x63D SWAP2 SWAP1 PUSH2 0x950 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 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 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6EC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E3 SWAP1 PUSH2 0x904 JUMP JUMPDEST 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 PUSH2 0x75D SWAP1 PUSH2 0xAF5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x773 DUP2 PUSH2 0xC4C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x788 DUP2 PUSH2 0xC63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x79D DUP2 PUSH2 0xC7A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0xBF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x7C7 DUP5 DUP3 DUP6 ADD PUSH2 0x764 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7E7 JUMPI PUSH2 0x7E6 PUSH2 0xBF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x7F5 DUP6 DUP3 DUP7 ADD PUSH2 0x779 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x806 DUP6 DUP3 DUP7 ADD PUSH2 0x78E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x819 DUP2 PUSH2 0xABF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x828 DUP2 PUSH2 0xA65 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x837 DUP2 PUSH2 0xA89 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x84A PUSH1 0x11 DUP4 PUSH2 0x93F JUMP JUMPDEST SWAP2 POP PUSH2 0x855 DUP3 PUSH2 0xBFA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86D PUSH1 0x15 DUP4 PUSH2 0x93F JUMP JUMPDEST SWAP2 POP PUSH2 0x878 DUP3 PUSH2 0xC23 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x88C DUP2 PUSH2 0xAB5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x8A7 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x81F JUMP JUMPDEST PUSH2 0x8B4 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x810 JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x883 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x82E 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 0x8FD DUP2 PUSH2 0x83D 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 0x91D DUP2 PUSH2 0x860 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x939 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x883 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 0x95B DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x966 DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x99B JUMPI PUSH2 0x99A PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9B1 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x9BC DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x9CC JUMPI PUSH2 0x9CB PUSH2 0xBC6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E2 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x9ED DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xA26 JUMPI PUSH2 0xA25 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA3C DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0xA47 DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xA5A JUMPI PUSH2 0xA59 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA70 DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA82 DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 PUSH2 0xACA DUP3 PUSH2 0xAD1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC DUP3 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAEE DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB00 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0xB14 JUMPI PUSH2 0xB13 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2A DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xB5D JUMPI PUSH2 0xB5C PUSH2 0xB97 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x6E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520617265206E6F7420746865206F776E65720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xC55 DUP2 PUSH2 0xA65 JUMP JUMPDEST DUP2 EQ PUSH2 0xC60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC6C DUP2 PUSH2 0xA77 JUMP JUMPDEST DUP2 EQ PUSH2 0xC77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC83 DUP2 PUSH2 0xAB5 JUMP JUMPDEST DUP2 EQ PUSH2 0xC8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 0xD2 SLT 0xD8 0x5D TIMESTAMP SWAP14 0xCA 0xC7 PUSH3 0x847708 KECCAK256 0xDF 0xBE 0xBF 0xDF DUP6 PUSH7 0xD6D2A13B27FD81 DUP15 PUSH21 0x8A918E64736F6C6343000807003300000000000000 ",
"sourceMap": "79:1547:0:-:0;;;186:7;168:25;;397:56;;;;;;;;;;128:10:1;120:5;;:18;;;;;;;;;;;;;;;;;;443:3:0;421:12;:19;434:5;;;;;;;;;;;421:19;;;;;;;;;;;;;;;:25;;;;79:1547;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@burnToken_51": {
"entryPoint": 1630,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"@createNewToken_40": {
"entryPoint": 924,
"id": 40,
"parameterSlots": 0,
"returnSlots": 0
},
"@purchaseToken_89": {
"entryPoint": 1186,
"id": 89,
"parameterSlots": 0,
"returnSlots": 0
},
"@sendToken_157": {
"entryPoint": 244,
"id": 157,
"parameterSlots": 2,
"returnSlots": 1
},
"@tokenBalance_8": {
"entryPoint": 1606,
"id": 8,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1892,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 1913,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1934,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1955,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 2000,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_payable_to_t_address_fromStack": {
"entryPoint": 2064,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2079,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2094,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2109,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2144,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2179,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2194,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2249,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2276,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2308,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2340,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2367,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2384,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 2470,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 2519,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2609,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2661,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 2679,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2697,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2709,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2741,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_address_payable_to_t_address": {
"entryPoint": 2751,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 2769,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 2787,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"decrement_t_uint256": {
"entryPoint": 2805,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 2847,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x01": {
"entryPoint": 2920,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 2967,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 3014,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3061,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a": {
"entryPoint": 3066,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f": {
"entryPoint": 3107,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3148,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 3171,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3194,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8497:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:2"
},
"nodeType": "YulFunctionCall",
"src": "78:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:2"
},
"nodeType": "YulFunctionCall",
"src": "107:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:2",
"type": ""
}
],
"src": "7:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:2"
},
"nodeType": "YulFunctionCall",
"src": "231:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:2"
},
"nodeType": "YulFunctionCall",
"src": "260:41:2"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:2"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:2",
"type": ""
}
],
"src": "152:155:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "365:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "375:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "397:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "384:12:2"
},
"nodeType": "YulFunctionCall",
"src": "384:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "375:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "440:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "413:26:2"
},
"nodeType": "YulFunctionCall",
"src": "413:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "413:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "343:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "351:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "359:5:2",
"type": ""
}
],
"src": "313:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "524:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "572:77:2"
},
"nodeType": "YulFunctionCall",
"src": "572:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "572:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "545:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "554:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "541:3:2"
},
"nodeType": "YulFunctionCall",
"src": "541:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "566:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "537:3:2"
},
"nodeType": "YulFunctionCall",
"src": "537:32:2"
},
"nodeType": "YulIf",
"src": "534:119:2"
},
{
"nodeType": "YulBlock",
"src": "663:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "707:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "742:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "753:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "738:3:2"
},
"nodeType": "YulFunctionCall",
"src": "738:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "762:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "717:20:2"
},
"nodeType": "YulFunctionCall",
"src": "717:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "707:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "494:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "505:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "517:6:2",
"type": ""
}
],
"src": "458:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "884:399:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "930:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "932:77:2"
},
"nodeType": "YulFunctionCall",
"src": "932:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "932:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "905:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "914:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "901:3:2"
},
"nodeType": "YulFunctionCall",
"src": "901:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "926:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "897:3:2"
},
"nodeType": "YulFunctionCall",
"src": "897:32:2"
},
"nodeType": "YulIf",
"src": "894:119:2"
},
{
"nodeType": "YulBlock",
"src": "1023:125:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1038:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1052:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1042:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1067:71:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1110:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1121:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1106:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1106:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1130:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1077:28:2"
},
"nodeType": "YulFunctionCall",
"src": "1077:61:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1067:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1158:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1173:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1187:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1177:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1203:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1238:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1249:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1234:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1234:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1258:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1213:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1213:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1203:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "846:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "857:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "869:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "877:6:2",
"type": ""
}
],
"src": "793:490:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1362:74:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1379:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1423:5:2"
}
],
"functionName": {
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulIdentifier",
"src": "1384:38:2"
},
"nodeType": "YulFunctionCall",
"src": "1384:45:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1372:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1372:58:2"
},
"nodeType": "YulExpressionStatement",
"src": "1372:58:2"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1350:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1357:3:2",
"type": ""
}
],
"src": "1289:147:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1507:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1524:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1547:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1529:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1529:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1517:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1517:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1517:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1495:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1502:3:2",
"type": ""
}
],
"src": "1442:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1625:50:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1642:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1662:5:2"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1647:14:2"
},
"nodeType": "YulFunctionCall",
"src": "1647:21:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1635:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1635:34:2"
},
"nodeType": "YulExpressionStatement",
"src": "1635:34:2"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1613:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1620:3:2",
"type": ""
}
],
"src": "1566:109:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1827:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1837:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1903:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1908:2:2",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1844:58:2"
},
"nodeType": "YulFunctionCall",
"src": "1844:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1837:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2009:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a",
"nodeType": "YulIdentifier",
"src": "1920:88:2"
},
"nodeType": "YulFunctionCall",
"src": "1920:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "1920:93:2"
},
{
"nodeType": "YulAssignment",
"src": "2022:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2033:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2038:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2029:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2029:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2022:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1815:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1823:3:2",
"type": ""
}
],
"src": "1681:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2199:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2209:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2275:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2280:2:2",
"type": "",
"value": "21"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2216:58:2"
},
"nodeType": "YulFunctionCall",
"src": "2216:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2209:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2381:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f",
"nodeType": "YulIdentifier",
"src": "2292:88:2"
},
"nodeType": "YulFunctionCall",
"src": "2292:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "2292:93:2"
},
{
"nodeType": "YulAssignment",
"src": "2394:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2405:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2410:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2401:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2401:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2394:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2187:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2195:3:2",
"type": ""
}
],
"src": "2053:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2490:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2507:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2530:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2512:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2512:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2500:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2500:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "2500:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2478:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2485:3:2",
"type": ""
}
],
"src": "2425:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2711:296:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2721:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2733:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2744:2:2",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2729:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2729:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2721:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2801:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2814:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2825:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2810:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2810:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2757:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2757:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "2757:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2890:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2903:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2914:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2899:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2899:18:2"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2838:51:2"
},
"nodeType": "YulFunctionCall",
"src": "2838:80:2"
},
"nodeType": "YulExpressionStatement",
"src": "2838:80:2"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2972:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2985:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2996:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2981:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2981:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2928:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2928:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "2928:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2667:9:2",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "2679:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2687:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2695:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2706:4:2",
"type": ""
}
],
"src": "2549:458:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3105:118:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3115:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3127:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3138:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3123:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3123:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3115:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3189:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3202:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3213:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3198:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3198:17:2"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "3151:37:2"
},
"nodeType": "YulFunctionCall",
"src": "3151:65:2"
},
"nodeType": "YulExpressionStatement",
"src": "3151:65:2"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3077:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3089:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3100:4:2",
"type": ""
}
],
"src": "3013:210:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3400:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3410:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3422:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3433:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3418:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3418:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3410:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3457:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3468:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3453:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3453:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3476:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3482:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3472:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3472:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3446:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3446:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "3446:47:2"
},
{
"nodeType": "YulAssignment",
"src": "3502:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3636:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3510:124:2"
},
"nodeType": "YulFunctionCall",
"src": "3510:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3502:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3380:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3395:4:2",
"type": ""
}
],
"src": "3229:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3825:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3835:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3847:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3858:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3843:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3843:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3835:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3882:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3893:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3878:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3878:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3901:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3907:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3897:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3897:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3871:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3871:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "3871:47:2"
},
{
"nodeType": "YulAssignment",
"src": "3927:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4061:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3935:124:2"
},
"nodeType": "YulFunctionCall",
"src": "3935:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3927:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3805:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3820:4:2",
"type": ""
}
],
"src": "3654:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4177:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4187:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4199:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4210:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4195:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4195:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4187:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4267:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4280:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4291:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4276:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4276:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4223:43:2"
},
"nodeType": "YulFunctionCall",
"src": "4223:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "4223:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4149:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4161:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4172:4:2",
"type": ""
}
],
"src": "4079:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4347:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4357:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4373:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4367:5:2"
},
"nodeType": "YulFunctionCall",
"src": "4367:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4357:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4340:6:2",
"type": ""
}
],
"src": "4307:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4484:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4501:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4506:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4494:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4494:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "4494:19:2"
},
{
"nodeType": "YulAssignment",
"src": "4522:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4541:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4546:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4537:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4537:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4522:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4456:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4461:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4472:11:2",
"type": ""
}
],
"src": "4388:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4607:261:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4617:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4640:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4622:17:2"
},
"nodeType": "YulFunctionCall",
"src": "4622:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4617:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4651:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4674:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4656:17:2"
},
"nodeType": "YulFunctionCall",
"src": "4656:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4651:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4814:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4816:16:2"
},
"nodeType": "YulFunctionCall",
"src": "4816:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "4816:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4735:1:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4742:66:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4810:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4738:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4738:74:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4732:2:2"
},
"nodeType": "YulFunctionCall",
"src": "4732:81:2"
},
"nodeType": "YulIf",
"src": "4729:107:2"
},
{
"nodeType": "YulAssignment",
"src": "4846:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4857:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4860:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4853:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4853:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "4846:3:2"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4594:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4597:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "4603:3:2",
"type": ""
}
],
"src": "4563:305:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4916:143:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4926:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4949:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4931:17:2"
},
"nodeType": "YulFunctionCall",
"src": "4931:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4926:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4960:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4983:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4965:17:2"
},
"nodeType": "YulFunctionCall",
"src": "4965:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4960:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5007:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "5009:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5009:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5009:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5004:1:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4997:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4997:9:2"
},
"nodeType": "YulIf",
"src": "4994:35:2"
},
{
"nodeType": "YulAssignment",
"src": "5039:14:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5048:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5051:1:2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5044:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5044:9:2"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "5039:1:2"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4905:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4908:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "4914:1:2",
"type": ""
}
],
"src": "4874:185:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5113:300:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5123:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5146:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5128:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5128:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5123:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5157:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5180:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5162:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5162:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5157:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5355:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5357:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5357:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5357:18:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5267:1:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5260:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5260:9:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5253:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5253:17:2"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5275:1:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5282:66:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5350:1:2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5278:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5278:74:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5272:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5272:81:2"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5249:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5249:105:2"
},
"nodeType": "YulIf",
"src": "5246:131:2"
},
{
"nodeType": "YulAssignment",
"src": "5387:20:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5402:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5405:1:2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "5398:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5398:9:2"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "5387:7:2"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5096:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5099:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "5105:7:2",
"type": ""
}
],
"src": "5065:348:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5464:146:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5474:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5497:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5479:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5479:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5474:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5508:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5531:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5513:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5513:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5508:1:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5555:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5557:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5557:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5557:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5549:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5552:1:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5546:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5546:8:2"
},
"nodeType": "YulIf",
"src": "5543:34:2"
},
{
"nodeType": "YulAssignment",
"src": "5587:17:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5599:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5602:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5595:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5595:9:2"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "5587:4:2"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5450:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5453:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "5459:4:2",
"type": ""
}
],
"src": "5419:191:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5661:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5671:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5700:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5682:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5682:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5671:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5643:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5653:7:2",
"type": ""
}
],
"src": "5616:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5771:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5781:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5810:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5792:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5792:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5781:7:2"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5753:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5763:7:2",
"type": ""
}
],
"src": "5718:104:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5870:48:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5880:32:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5905:5:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5898:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5898:13:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5891:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5891:21:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5880:7:2"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5852:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5862:7:2",
"type": ""
}
],
"src": "5828:90:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5969:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5979:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5994:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6001:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5990:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5990:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5979:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5951:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5961:7:2",
"type": ""
}
],
"src": "5924:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6101:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6111:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6122:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "6111:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6083:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "6093:7:2",
"type": ""
}
],
"src": "6056:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6207:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6217:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6261:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "6230:30:2"
},
"nodeType": "YulFunctionCall",
"src": "6230:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6217:9:2"
}
]
}
]
},
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6187:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6197:9:2",
"type": ""
}
],
"src": "6139:134:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6339:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6349:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6393:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "6362:30:2"
},
"nodeType": "YulFunctionCall",
"src": "6362:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6349:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6319:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6329:9:2",
"type": ""
}
],
"src": "6279:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6471:53:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6481:37:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6512:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "6494:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6494:24:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "6481:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6451:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "6461:9:2",
"type": ""
}
],
"src": "6411:113:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6573:128:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6583:33:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6610:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6592:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6592:24:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6583:5:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6644:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6646:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6646:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6646:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6631:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6638:4:2",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6628:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6628:15:2"
},
"nodeType": "YulIf",
"src": "6625:41:2"
},
{
"nodeType": "YulAssignment",
"src": "6675:20:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6686:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6693:1:2",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6682:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6682:13:2"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6675:3:2"
}
]
}
]
},
"name": "decrement_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6559:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6569:3:2",
"type": ""
}
],
"src": "6530:171:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6750:190:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6760:33:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6787:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6769:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6769:24:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6760:5:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6883:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6885:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6885:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6885:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6808:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6815:66:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6805:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6805:77:2"
},
"nodeType": "YulIf",
"src": "6802:103:2"
},
{
"nodeType": "YulAssignment",
"src": "6914:20:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6925:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6932:1:2",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6921:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6921:13:2"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6914:3:2"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6736:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6746:3:2",
"type": ""
}
],
"src": "6707:233:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6974:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6991:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6994:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6984:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6984:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "6984:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7088:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7091:4:2",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7081:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7081:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7081:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7112:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7115:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7105:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7105:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7105:15:2"
}
]
},
"name": "panic_error_0x01",
"nodeType": "YulFunctionDefinition",
"src": "6946:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7160:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7177:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7180:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7170:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7170:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "7170:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7274:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7277:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7267:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7267:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7267:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7298:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7301:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7291:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7291:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7291:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "7132:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7346:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7363:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7366:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7356:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7356:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "7356:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7460:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7463:4:2",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7453:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7453:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7453:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7484:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7487:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7477:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7477:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "7477:15:2"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "7318:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7593:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7610:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7613:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7603:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7603:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "7603:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7504:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7716:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7733:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7736:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7726:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7726:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "7726:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7627:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7856:61:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7878:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7886:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7874:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7874:14:2"
},
{
"hexValue": "6e6f7420656e6f75676820746f6b656e73",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7890:19:2",
"type": "",
"value": "not enough tokens"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7867:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7867:43:2"
},
"nodeType": "YulExpressionStatement",
"src": "7867:43:2"
}
]
},
"name": "store_literal_in_memory_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7848:6:2",
"type": ""
}
],
"src": "7750:167:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8029:65:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8051:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8059:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8047:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8047:14:2"
},
{
"hexValue": "796f7520617265206e6f7420746865206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8063:23:2",
"type": "",
"value": "you are not the owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8040:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8040:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "8040:47:2"
}
]
},
"name": "store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8021:6:2",
"type": ""
}
],
"src": "7923:171:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8143:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8200:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8209:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8212:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8202:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8202:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8202:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8166:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8191:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "8173:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8173:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8163:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8163:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8156:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8156:43:2"
},
"nodeType": "YulIf",
"src": "8153:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8136:5:2",
"type": ""
}
],
"src": "8100:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8279:87:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8344:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8353:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8356:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8346:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8346:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8346:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8302:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8335:5:2"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "8309:25:2"
},
"nodeType": "YulFunctionCall",
"src": "8309:32:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8299:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8299:43:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8292:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8292:51:2"
},
"nodeType": "YulIf",
"src": "8289:71:2"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8272:5:2",
"type": ""
}
],
"src": "8228:138:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8415:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8472:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8481:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8484:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8474:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8474:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "8474:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8438:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8463:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8445:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8445:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8435:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8435:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8428:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8428:43:2"
},
"nodeType": "YulIf",
"src": "8425:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8408:5:2",
"type": ""
}
],
"src": "8372:122:2"
}
]
},
"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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_address_payable_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_address_payable_to_t_address(value))\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_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f(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_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_payable_to_t_address_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_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a__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_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f__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_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\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_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(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_bool(value) -> cleaned {\n cleaned := iszero(iszero(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_address_payable_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\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_0x01() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x01)\n revert(0, 0x24)\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_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_73949bcdc07934e9395e82489bb22c4742e057960a2c090d38e53d68d3caf52a(memPtr) {\n\n mstore(add(memPtr, 0), \"not enough tokens\")\n\n }\n\n function store_literal_in_memory_89a3d2cdd8534687d72382851c0df038982c5ac6bd4b7d04f64810684712218f(memPtr) {\n\n mstore(add(memPtr, 0), \"you are 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_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": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061004a5760003560e01c8063412664ae1461004f578063754fc38c1461007f578063a95c4d6214610096578063eedc966a146100a0578063faa0a264146100dd575b600080fd5b610069600480360381019061006491906107d0565b6100f4565b60405161007691906108c9565b60405180910390f35b34801561008b57600080fd5b5061009461039c565b005b61009e6104a2565b005b3480156100ac57600080fd5b506100c760048036038101906100c291906107a3565b610646565b6040516100d49190610924565b60405180910390f35b3480156100e957600080fd5b506100f261065e565b005b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016e906108e4565b60405180910390fd5b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546102029190610950565b101561021157610210610b68565b5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461029c9190610a31565b11156102ab576102aa610b68565b5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102fa9190610a31565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103509190610a31565b925050819055507f3ddb739c68dd901671f09fbe0bc2344c179ed55f8e8110a7c7a3c5665bd9518d33848460405161038a93929190610892565b60405180910390a16001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461042a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042190610904565b60405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061049b90610b1f565b9190505550565b600034600254600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461051391906109d7565b61051d91906109a6565b1161055d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610554906108e4565b60405180910390fd5b6002543461056b91906109a6565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105da9190610a31565b92505081905550600254346105ef91906109a6565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461063d9190610950565b92505081905550565b60016020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e390610904565b60405180910390fd5b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061075d90610af5565b9190505550565b60008135905061077381610c4c565b92915050565b60008135905061078881610c63565b92915050565b60008135905061079d81610c7a565b92915050565b6000602082840312156107b9576107b8610bf5565b5b60006107c784828501610764565b91505092915050565b600080604083850312156107e7576107e6610bf5565b5b60006107f585828601610779565b92505060206108068582860161078e565b9150509250929050565b61081981610abf565b82525050565b61082881610a65565b82525050565b61083781610a89565b82525050565b600061084a60118361093f565b915061085582610bfa565b602082019050919050565b600061086d60158361093f565b915061087882610c23565b602082019050919050565b61088c81610ab5565b82525050565b60006060820190506108a7600083018661081f565b6108b46020830185610810565b6108c16040830184610883565b949350505050565b60006020820190506108de600083018461082e565b92915050565b600060208201905081810360008301526108fd8161083d565b9050919050565b6000602082019050818103600083015261091d81610860565b9050919050565b60006020820190506109396000830184610883565b92915050565b600082825260208201905092915050565b600061095b82610ab5565b915061096683610ab5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099b5761099a610b97565b5b828201905092915050565b60006109b182610ab5565b91506109bc83610ab5565b9250826109cc576109cb610bc6565b5b828204905092915050565b60006109e282610ab5565b91506109ed83610ab5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a2657610a25610b97565b5b828202905092915050565b6000610a3c82610ab5565b9150610a4783610ab5565b925082821015610a5a57610a59610b97565b5b828203905092915050565b6000610a7082610a95565b9050919050565b6000610a8282610a95565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610aca82610ad1565b9050919050565b6000610adc82610ae3565b9050919050565b6000610aee82610a95565b9050919050565b6000610b0082610ab5565b91506000821415610b1457610b13610b97565b5b600182039050919050565b6000610b2a82610ab5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610b5d57610b5c610b97565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b7f796f7520617265206e6f7420746865206f776e65720000000000000000000000600082015250565b610c5581610a65565b8114610c6057600080fd5b50565b610c6c81610a77565b8114610c7757600080fd5b50565b610c8381610ab5565b8114610c8e57600080fd5b5056fea2646970667358221220d9d212d85d429dcac76284770820dfbebfdf8566d6d2a13b27fd818e748a918e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x412664AE EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x754FC38C EQ PUSH2 0x7F JUMPI DUP1 PUSH4 0xA95C4D62 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xEEDC966A EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xFAA0A264 EQ PUSH2 0xDD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x69 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x7D0 JUMP JUMPDEST PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x8C9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x94 PUSH2 0x39C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x924 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2 PUSH2 0x65E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 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 GT PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x16E SWAP1 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 SLOAD DUP3 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 PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x950 JUMP JUMPDEST LT ISZERO PUSH2 0x211 JUMPI PUSH2 0x210 PUSH2 0xB68 JUMP JUMPDEST 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 DUP3 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 PUSH2 0x29C SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST GT ISZERO PUSH2 0x2AB JUMPI PUSH2 0x2AA PUSH2 0xB68 JUMP JUMPDEST JUMPDEST 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2FA SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x350 SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x3DDB739C68DD901671F09FBE0BC2344C179ED55F8E8110A7C7A3C5665BD9518D CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x38A SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x892 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x42A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x421 SWAP1 PUSH2 0x904 JUMP JUMPDEST 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 PUSH2 0x49B SWAP1 PUSH2 0xB1F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP 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 PUSH2 0x513 SWAP2 SWAP1 PUSH2 0x9D7 JUMP JUMPDEST PUSH2 0x51D SWAP2 SWAP1 PUSH2 0x9A6 JUMP JUMPDEST GT PUSH2 0x55D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x554 SWAP1 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE PUSH2 0x56B SWAP2 SWAP1 PUSH2 0x9A6 JUMP 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 DUP3 DUP3 SLOAD PUSH2 0x5DA SWAP2 SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x2 SLOAD CALLVALUE PUSH2 0x5EF SWAP2 SWAP1 PUSH2 0x9A6 JUMP 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 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x63D SWAP2 SWAP1 PUSH2 0x950 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 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 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x6EC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6E3 SWAP1 PUSH2 0x904 JUMP JUMPDEST 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 PUSH2 0x75D SWAP1 PUSH2 0xAF5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x773 DUP2 PUSH2 0xC4C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x788 DUP2 PUSH2 0xC63 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x79D DUP2 PUSH2 0xC7A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x7B8 PUSH2 0xBF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x7C7 DUP5 DUP3 DUP6 ADD PUSH2 0x764 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7E7 JUMPI PUSH2 0x7E6 PUSH2 0xBF5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x7F5 DUP6 DUP3 DUP7 ADD PUSH2 0x779 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x806 DUP6 DUP3 DUP7 ADD PUSH2 0x78E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x819 DUP2 PUSH2 0xABF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x828 DUP2 PUSH2 0xA65 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x837 DUP2 PUSH2 0xA89 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x84A PUSH1 0x11 DUP4 PUSH2 0x93F JUMP JUMPDEST SWAP2 POP PUSH2 0x855 DUP3 PUSH2 0xBFA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x86D PUSH1 0x15 DUP4 PUSH2 0x93F JUMP JUMPDEST SWAP2 POP PUSH2 0x878 DUP3 PUSH2 0xC23 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x88C DUP2 PUSH2 0xAB5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x8A7 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x81F JUMP JUMPDEST PUSH2 0x8B4 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x810 JUMP JUMPDEST PUSH2 0x8C1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x883 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8DE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x82E 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 0x8FD DUP2 PUSH2 0x83D 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 0x91D DUP2 PUSH2 0x860 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x939 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x883 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 0x95B DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x966 DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x99B JUMPI PUSH2 0x99A PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9B1 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x9BC DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x9CC JUMPI PUSH2 0x9CB PUSH2 0xBC6 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E2 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0x9ED DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0xA26 JUMPI PUSH2 0xA25 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA3C DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH2 0xA47 DUP4 PUSH2 0xAB5 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xA5A JUMPI PUSH2 0xA59 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA70 DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA82 DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 PUSH2 0xACA DUP3 PUSH2 0xAD1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xADC DUP3 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAEE DUP3 PUSH2 0xA95 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB00 DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0xB14 JUMPI PUSH2 0xB13 PUSH2 0xB97 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2A DUP3 PUSH2 0xAB5 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xB5D JUMPI PUSH2 0xB5C PUSH2 0xB97 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x6E6F7420656E6F75676820746F6B656E73000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520617265206E6F7420746865206F776E65720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xC55 DUP2 PUSH2 0xA65 JUMP JUMPDEST DUP2 EQ PUSH2 0xC60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC6C DUP2 PUSH2 0xA77 JUMP JUMPDEST DUP2 EQ PUSH2 0xC77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC83 DUP2 PUSH2 0xAB5 JUMP JUMPDEST DUP2 EQ PUSH2 0xC8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 0xD2 SLT 0xD8 0x5D TIMESTAMP SWAP14 0xCA 0xC7 PUSH3 0x847708 KECCAK256 0xDF 0xBE 0xBF 0xDF DUP6 PUSH7 0xD6D2A13B27FD81 DUP15 PUSH21 0x8A918E64736F6C6343000807003300000000000000 ",
"sourceMap": "79:1547:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:484;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;459:81;;;;;;;;;;;;;:::i;:::-;;628:506;;;:::i;:::-;;116:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;546:76;;;;;;;;;;;;;:::i;:::-;;1140:484;1216:4;1267:7;1240:12;:24;1253:10;1240:24;;;;;;;;;;;;;;;;:34;1232:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1345:12;:17;1358:3;1345:17;;;;;;;;;;;;;;;;1334:7;1314:12;:17;1327:3;1314:17;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;:48;;1307:56;;;;:::i;:::-;;1418:12;:24;1431:10;1418:24;;;;;;;;;;;;;;;;1407:7;1380:12;:24;1393:10;1380:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;:62;;1373:70;;;;:::i;:::-;;1481:7;1453:12;:24;1466:10;1453:24;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;1519:7;1498:12;:17;1511:3;1498:17;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;1542:34;1552:10;1563:3;1568:7;1542:34;;;;;;;;:::i;:::-;;;;;;;;1613:4;1606:11;;1140:484;;;;:::o;459:81::-;197:10:1;188:19;;:5;;;;;;;;;;:19;;;180:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;512:12:0::1;:19;525:5:::0;::::1;;;;;;;;;;512:19;;;;;;;;;;;;;;;;:21;;;;;;;;;:::i;:::-;;;;;;459:81::o:0;628:506::-;989:1;977:9;963:10;;941:12;:19;954:5;;;;;;;;;;;941:19;;;;;;;;;;;;;;;;:32;;;;:::i;:::-;940:46;;;;:::i;:::-;:50;932:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;1057:10;;1045:9;:22;;;;:::i;:::-;1022:12;:19;1035:5;;;;;;;;;;;1022:19;;;;;;;;;;;;;;;;:45;;;;;;;:::i;:::-;;;;;;;;1117:10;;1105:9;:22;;;;:::i;:::-;1077:12;:24;1090:10;1077:24;;;;;;;;;;;;;;;;:50;;;;;;;:::i;:::-;;;;;;;;628:506::o;116:44::-;;;;;;;;;;;;;;;;;:::o;546:76::-;197:10:1;188:19;;:5;;;;;;;;;;:19;;;180:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;594:12:0::1;:19;607:5:::0;::::1;;;;;;;;;;594:19;;;;;;;;;;;;;;;;:21;;;;;;;;;:::i;:::-;;;;;;546:76::o:0;7:139:2:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:139::-;359:5;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;313:139;;;;:::o;458:329::-;517:6;566:2;554:9;545:7;541:23;537:32;534:119;;;572:79;;:::i;:::-;534:119;692:1;717:53;762:7;753:6;742:9;738:22;717:53;:::i;:::-;707:63;;663:117;458:329;;;;:::o;793:490::-;869:6;877;926:2;914:9;905:7;901:23;897:32;894:119;;;932:79;;:::i;:::-;894:119;1052:1;1077:61;1130:7;1121:6;1110:9;1106:22;1077:61;:::i;:::-;1067:71;;1023:125;1187:2;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1158:118;793:490;;;;;:::o;1289:147::-;1384:45;1423:5;1384:45;:::i;:::-;1379:3;1372:58;1289:147;;:::o;1442:118::-;1529:24;1547:5;1529:24;:::i;:::-;1524:3;1517:37;1442:118;;:::o;1566:109::-;1647:21;1662:5;1647:21;:::i;:::-;1642:3;1635:34;1566:109;;:::o;1681:366::-;1823:3;1844:67;1908:2;1903:3;1844:67;:::i;:::-;1837:74;;1920:93;2009:3;1920:93;:::i;:::-;2038:2;2033:3;2029:12;2022:19;;1681:366;;;:::o;2053:::-;2195:3;2216:67;2280:2;2275:3;2216:67;:::i;:::-;2209:74;;2292:93;2381:3;2292:93;:::i;:::-;2410:2;2405:3;2401:12;2394:19;;2053:366;;;:::o;2425:118::-;2512:24;2530:5;2512:24;:::i;:::-;2507:3;2500:37;2425:118;;:::o;2549:458::-;2706:4;2744:2;2733:9;2729:18;2721:26;;2757:71;2825:1;2814:9;2810:17;2801:6;2757:71;:::i;:::-;2838:80;2914:2;2903:9;2899:18;2890:6;2838:80;:::i;:::-;2928:72;2996:2;2985:9;2981:18;2972:6;2928:72;:::i;:::-;2549:458;;;;;;:::o;3013:210::-;3100:4;3138:2;3127:9;3123:18;3115:26;;3151:65;3213:1;3202:9;3198:17;3189:6;3151:65;:::i;:::-;3013:210;;;;:::o;3229:419::-;3395:4;3433:2;3422:9;3418:18;3410:26;;3482:9;3476:4;3472:20;3468:1;3457:9;3453:17;3446:47;3510:131;3636:4;3510:131;:::i;:::-;3502:139;;3229:419;;;:::o;3654:::-;3820:4;3858:2;3847:9;3843:18;3835:26;;3907:9;3901:4;3897:20;3893:1;3882:9;3878:17;3871:47;3935:131;4061:4;3935:131;:::i;:::-;3927:139;;3654:419;;;:::o;4079:222::-;4172:4;4210:2;4199:9;4195:18;4187:26;;4223:71;4291:1;4280:9;4276:17;4267:6;4223:71;:::i;:::-;4079:222;;;;:::o;4388:169::-;4472:11;4506:6;4501:3;4494:19;4546:4;4541:3;4537:14;4522:29;;4388:169;;;;:::o;4563:305::-;4603:3;4622:20;4640:1;4622:20;:::i;:::-;4617:25;;4656:20;4674:1;4656:20;:::i;:::-;4651:25;;4810:1;4742:66;4738:74;4735:1;4732:81;4729:107;;;4816:18;;:::i;:::-;4729:107;4860:1;4857;4853:9;4846:16;;4563:305;;;;:::o;4874:185::-;4914:1;4931:20;4949:1;4931:20;:::i;:::-;4926:25;;4965:20;4983:1;4965:20;:::i;:::-;4960:25;;5004:1;4994:35;;5009:18;;:::i;:::-;4994:35;5051:1;5048;5044:9;5039:14;;4874:185;;;;:::o;5065:348::-;5105:7;5128:20;5146:1;5128:20;:::i;:::-;5123:25;;5162:20;5180:1;5162:20;:::i;:::-;5157:25;;5350:1;5282:66;5278:74;5275:1;5272:81;5267:1;5260:9;5253:17;5249:105;5246:131;;;5357:18;;:::i;:::-;5246:131;5405:1;5402;5398:9;5387:20;;5065:348;;;;:::o;5419:191::-;5459:4;5479:20;5497:1;5479:20;:::i;:::-;5474:25;;5513:20;5531:1;5513:20;:::i;:::-;5508:25;;5552:1;5549;5546:8;5543:34;;;5557:18;;:::i;:::-;5543:34;5602:1;5599;5595:9;5587:17;;5419:191;;;;:::o;5616:96::-;5653:7;5682:24;5700:5;5682:24;:::i;:::-;5671:35;;5616:96;;;:::o;5718:104::-;5763:7;5792:24;5810:5;5792:24;:::i;:::-;5781:35;;5718:104;;;:::o;5828:90::-;5862:7;5905:5;5898:13;5891:21;5880:32;;5828:90;;;:::o;5924:126::-;5961:7;6001:42;5994:5;5990:54;5979:65;;5924:126;;;:::o;6056:77::-;6093:7;6122:5;6111:16;;6056:77;;;:::o;6139:134::-;6197:9;6230:37;6261:5;6230:37;:::i;:::-;6217:50;;6139:134;;;:::o;6279:126::-;6329:9;6362:37;6393:5;6362:37;:::i;:::-;6349:50;;6279:126;;;:::o;6411:113::-;6461:9;6494:24;6512:5;6494:24;:::i;:::-;6481:37;;6411:113;;;:::o;6530:171::-;6569:3;6592:24;6610:5;6592:24;:::i;:::-;6583:33;;6638:4;6631:5;6628:15;6625:41;;;6646:18;;:::i;:::-;6625:41;6693:1;6686:5;6682:13;6675:20;;6530:171;;;:::o;6707:233::-;6746:3;6769:24;6787:5;6769:24;:::i;:::-;6760:33;;6815:66;6808:5;6805:77;6802:103;;;6885:18;;:::i;:::-;6802:103;6932:1;6925:5;6921:13;6914:20;;6707:233;;;:::o;6946:180::-;6994:77;6991:1;6984:88;7091:4;7088:1;7081:15;7115:4;7112:1;7105:15;7132:180;7180:77;7177:1;7170:88;7277:4;7274:1;7267:15;7301:4;7298:1;7291:15;7318:180;7366:77;7363:1;7356:88;7463:4;7460:1;7453:15;7487:4;7484:1;7477:15;7627:117;7736:1;7733;7726:12;7750:167;7890:19;7886:1;7878:6;7874:14;7867:43;7750:167;:::o;7923:171::-;8063:23;8059:1;8051:6;8047:14;8040:47;7923:171;:::o;8100:122::-;8173:24;8191:5;8173:24;:::i;:::-;8166:5;8163:35;8153:63;;8212:1;8209;8202:12;8153:63;8100:122;:::o;8228:138::-;8309:32;8335:5;8309:32;:::i;:::-;8302:5;8299:43;8289:71;;8356:1;8353;8346:12;8289:71;8228:138;:::o;8372:122::-;8445:24;8463:5;8445:24;:::i;:::-;8438:5;8435:35;8425:63;;8484:1;8481;8474:12;8425:63;8372:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "654200",
"executionCost": "71401",
"totalCost": "725601"
},
"external": {
"burnToken()": "28963",
"createNewToken()": "28897",
"purchaseToken()": "infinite",
"sendToken(address,uint256)": "infinite",
"tokenBalance(address)": "2858"
}
},
"methodIdentifiers": {
"burnToken()": "faa0a264",
"createNewToken()": "754fc38c",
"purchaseToken()": "a95c4d62",
"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": [],
"name": "burnToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "createNewToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "purchaseToken",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "sendToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "tokenBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"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": [],
"name": "burnToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "createNewToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "purchaseToken",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "sendToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "payable",
"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": {
"Modifier.sol": "ModifierSol"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Modifier.sol": {
"keccak256": "0xa9c1e4501fb2e49f264effe9b82583bdf5d48815a86b92bd247b2f5d6788b521",
"license": "MIT",
"urls": [
"bzz-raw://8d675b9069e68727a3273b2cce1b0eeb24553f630499ecc2bca5a6b1c2415b58",
"dweb:/ipfs/QmeQviXJv2Jo8t685DFGPPXZEfxdeDQVFW1rX4yFse4LLn"
]
},
"Owned.sol": {
"keccak256": "0xf2447054867ff6268e35364a336ede97eea8173f4696527043018d5238dbb84e",
"license": "MIT",
"urls": [
"bzz-raw://a35ffc54308e2afba249ff06b1ec351edc9c9499b374fe66c788a92232f72576",
"dweb:/ipfs/QmaMsSD2RTtkFAtRa38En8HmHF7ezwRDNawsv2Usbor82h"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {
"extract_byte_array_length": {
"entryPoint": 261,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 311,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:516:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "58:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "68:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "82:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "88:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "78:3:1"
},
"nodeType": "YulFunctionCall",
"src": "78:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "68:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "99:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "129:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "135:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "125:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "103:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "176:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "190:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "204:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "212:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "200:3:1"
},
"nodeType": "YulFunctionCall",
"src": "200:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "190:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "156:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "149:6:1"
},
"nodeType": "YulFunctionCall",
"src": "149:26:1"
},
"nodeType": "YulIf",
"src": "146:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "279:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "293:16:1"
},
"nodeType": "YulFunctionCall",
"src": "293:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "243:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "274:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "263:2:1"
},
"nodeType": "YulFunctionCall",
"src": "263:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "240:2:1"
},
"nodeType": "YulFunctionCall",
"src": "240:38:1"
},
"nodeType": "YulIf",
"src": "237:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "42:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "51:6:1",
"type": ""
}
],
"src": "7:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "361:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "378:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "381:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "371:6:1"
},
"nodeType": "YulFunctionCall",
"src": "371:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "371:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "475:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "478:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "468:6:1"
},
"nodeType": "YulFunctionCall",
"src": "468:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "468:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "499:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "502:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "492:6:1"
},
"nodeType": "YulFunctionCall",
"src": "492:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "492:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "333:180:1"
}
]
},
"contents": "{\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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600c81526020017f48656c6c6f20576f726c647300000000000000000000000000000000000000008152506000908051906020019061004f929190610062565b5034801561005c57600080fd5b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61022e806101756000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063492bfa1814610030575b600080fd5b61003861004e565b6040516100459190610115565b60405180910390f35b6000805461005b90610186565b80601f016020809104026020016040519081016040528092919081815260200182805461008790610186565b80156100d45780601f106100a9576101008083540402835291602001916100d4565b820191906000526020600020905b8154815290600101906020018083116100b757829003601f168201915b505050505081565b60006100e782610137565b6100f18185610142565b9350610101818560208601610153565b61010a816101e7565b840191505092915050565b6000602082019050818103600083015261012f81846100dc565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610171578082015181840152602081019050610156565b83811115610180576000848401525b50505050565b6000600282049050600182168061019e57607f821691505b602082108114156101b2576101b16101b8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea2646970667358221220706064a971085ecbe536a68f9c1c2ca65bd3990ff149069c59cdaa5a446c483f64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64730000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x4F SWAP3 SWAP2 SWAP1 PUSH2 0x62 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x166 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x6E SWAP1 PUSH2 0x105 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x90 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xD7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xA9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xD7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xD7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xD6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xE4 SWAP2 SWAP1 PUSH2 0xE8 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x101 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xE9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x11D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x131 JUMPI PUSH2 0x130 PUSH2 0x137 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x22E DUP1 PUSH2 0x175 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x492BFA18 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x5B SWAP1 PUSH2 0x186 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 PUSH2 0x87 SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD4 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 PUSH2 0xB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP3 PUSH2 0x137 JUMP JUMPDEST PUSH2 0xF1 DUP2 DUP6 PUSH2 0x142 JUMP JUMPDEST SWAP4 POP PUSH2 0x101 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x153 JUMP JUMPDEST PUSH2 0x10A DUP2 PUSH2 0x1E7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12F DUP2 DUP5 PUSH2 0xDC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x171 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x156 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x180 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 PUSH2 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1B2 JUMPI PUSH2 0x1B1 PUSH2 0x1B8 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0x6064A971085ECBE536A68F9C1C2CA65BD3 SWAP10 0xF CALL 0x49 MOD SWAP13 MSIZE 0xCD 0xAA GAS DIFFICULTY PUSH13 0x483F64736F6C63430008070033 ",
"sourceMap": "56:68:0:-:0;;;82:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;56:68;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;56:68:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@myString_4": {
"entryPoint": 78,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 277,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 311,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 322,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 339,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 390,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 440,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 487,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1906:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "99:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "109:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "156:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "123:32:1"
},
"nodeType": "YulFunctionCall",
"src": "123:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "113:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "171:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "242:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "178:58:1"
},
"nodeType": "YulFunctionCall",
"src": "178:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "171:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "284:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "291:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "280:3:1"
},
"nodeType": "YulFunctionCall",
"src": "280:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "298:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "303:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "258:21:1"
},
"nodeType": "YulFunctionCall",
"src": "258:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "258:52:1"
},
{
"nodeType": "YulAssignment",
"src": "319:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "357:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "335:21:1"
},
"nodeType": "YulFunctionCall",
"src": "335:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "326:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "319:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "80:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "87:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "95:3:1",
"type": ""
}
],
"src": "7:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "495:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "505:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "517:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "528:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "513:3:1"
},
"nodeType": "YulFunctionCall",
"src": "513:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "505:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "552:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "548:3:1"
},
"nodeType": "YulFunctionCall",
"src": "548:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "571:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "577:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "567:3:1"
},
"nodeType": "YulFunctionCall",
"src": "567:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "541:6:1"
},
"nodeType": "YulFunctionCall",
"src": "541:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "541:47:1"
},
{
"nodeType": "YulAssignment",
"src": "597:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "669:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "678:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "605:63:1"
},
"nodeType": "YulFunctionCall",
"src": "605:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "597:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "467:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "490:4:1",
"type": ""
}
],
"src": "377:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "755:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "766:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "782:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "776:5:1"
},
"nodeType": "YulFunctionCall",
"src": "776:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "766:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "738:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "748:6:1",
"type": ""
}
],
"src": "696:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "897:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "914:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "919:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "907:6:1"
},
"nodeType": "YulFunctionCall",
"src": "907:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "907:19:1"
},
{
"nodeType": "YulAssignment",
"src": "935:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "954:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "959:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "950:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "935:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "869:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "874:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "885:11:1",
"type": ""
}
],
"src": "801:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1025:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1035:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1044:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1039:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1129:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1134:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1148:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1153:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1144:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1138:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1138:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1118:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1118:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1118:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1065:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1068:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1062:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1062:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1076:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1078:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1087:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1083:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1083:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1078:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1058:3:1",
"statements": []
},
"src": "1054:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1201:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1251:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1256:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1247:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1247:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1265:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1240:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1240:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1182:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1185:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1179:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1179:13:1"
},
"nodeType": "YulIf",
"src": "1176:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1007:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1012:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
],
"src": "976:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1340:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1350:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1364:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1370:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1360:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1360:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1350:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1381:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1411:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1417:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1407:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "1385:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1458:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1472:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1486:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1494:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1482:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1482:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1472:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1438:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1431:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1431:26:1"
},
"nodeType": "YulIf",
"src": "1428:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1561:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "1575:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1575:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1575:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "1525:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1548:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1556:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1545:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1545:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1522:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1522:38:1"
},
"nodeType": "YulIf",
"src": "1519:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "1324:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1333:6:1",
"type": ""
}
],
"src": "1289:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1643:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1660:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1663:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1653:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1653:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1653:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1757:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1760:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1750:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1750:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1750:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1774:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1774:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1774:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "1615:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1849:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1859:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1877:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1884:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1873:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1873:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1893:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1889:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1889:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1869:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1869:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1859:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1832:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1842:6:1",
"type": ""
}
],
"src": "1801:102:1"
}
]
},
"contents": "{\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_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\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 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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063492bfa1814610030575b600080fd5b61003861004e565b6040516100459190610115565b60405180910390f35b6000805461005b90610186565b80601f016020809104026020016040519081016040528092919081815260200182805461008790610186565b80156100d45780601f106100a9576101008083540402835291602001916100d4565b820191906000526020600020905b8154815290600101906020018083116100b757829003601f168201915b505050505081565b60006100e782610137565b6100f18185610142565b9350610101818560208601610153565b61010a816101e7565b840191505092915050565b6000602082019050818103600083015261012f81846100dc565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610171578082015181840152602081019050610156565b83811115610180576000848401525b50505050565b6000600282049050600182168061019e57607f821691505b602082108114156101b2576101b16101b8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea2646970667358221220706064a971085ecbe536a68f9c1c2ca65bd3990ff149069c59cdaa5a446c483f64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x492BFA18 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x5B SWAP1 PUSH2 0x186 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 PUSH2 0x87 SWAP1 PUSH2 0x186 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xD4 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 PUSH2 0xB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE7 DUP3 PUSH2 0x137 JUMP JUMPDEST PUSH2 0xF1 DUP2 DUP6 PUSH2 0x142 JUMP JUMPDEST SWAP4 POP PUSH2 0x101 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x153 JUMP JUMPDEST PUSH2 0x10A DUP2 PUSH2 0x1E7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12F DUP2 DUP5 PUSH2 0xDC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x171 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x156 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x180 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 PUSH2 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1B2 JUMPI PUSH2 0x1B1 PUSH2 0x1B8 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0x6064A971085ECBE536A68F9C1C2CA65BD3 SWAP10 0xF CALL 0x49 MOD SWAP13 MSIZE 0xCD 0xAA GAS DIFFICULTY PUSH13 0x483F64736F6C63430008070033 ",
"sourceMap": "56:68:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:364:1:-;95:3;123:39;156:5;123:39;:::i;:::-;178:71;242:6;237:3;178:71;:::i;:::-;171:78;;258:52;303:6;298:3;291:4;284:5;280:16;258:52;:::i;:::-;335:29;357:6;335:29;:::i;:::-;330:3;326:39;319:46;;99:272;7:364;;;;:::o;377:313::-;490:4;528:2;517:9;513:18;505:26;;577:9;571:4;567:20;563:1;552:9;548:17;541:47;605:78;678:4;669:6;605:78;:::i;:::-;597:86;;377:313;;;;:::o;696:99::-;748:6;782:5;776:12;766:22;;696:99;;;:::o;801:169::-;885:11;919:6;914:3;907:19;959:4;954:3;950:14;935:29;;801:169;;;;:::o;976:307::-;1044:1;1054:113;1068:6;1065:1;1062:13;1054:113;;;1153:1;1148:3;1144:11;1138:18;1134:1;1129:3;1125:11;1118:39;1090:2;1087:1;1083:10;1078:15;;1054:113;;;1185:6;1182:1;1179:13;1176:101;;;1265:1;1256:6;1251:3;1247:16;1240:27;1176:101;1025:258;976:307;;;:::o;1289:320::-;1333:6;1370:1;1364:4;1360:12;1350:22;;1417:1;1411:4;1407:12;1438:18;1428:81;;1494:4;1486:6;1482:17;1472:27;;1428:81;1556:2;1548:6;1545:14;1525:18;1522:38;1519:84;;;1575:18;;:::i;:::-;1519:84;1340:269;1289:320;;;:::o;1615:180::-;1663:77;1660:1;1653:88;1760:4;1757:1;1750:15;1784:4;1781:1;1774:15;1801:102;1842:6;1893:2;1889:7;1884:2;1877:5;1873:14;1869:28;1859:38;;1801:102;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "111600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"myString()": "infinite"
}
},
"methodIdentifiers": {
"myString()": "492bfa18"
}
},
"abi": [
{
"inputs": [],
"name": "myString",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "myString",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"MyContract.sol": "MyContract"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"MyContract.sol": {
"keccak256": "0x0b95061e0bfc20162e3be35dcb218f667d960b0b36bf2080a1eee4554765890e",
"license": "MIT",
"urls": [
"bzz-raw://5c9c441d1a62ade91e43f910e5dbe972fa479d4c5a29f91f940338cef4eb7ff2",
"dweb:/ipfs/QmTjbM9WfH9Bw7jcKUd5nXFqx7pGWSYBHQs54SdKwbDsvw"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {
"@_12": {
"entryPoint": null,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603f80605d6000396000f3fe6080604052600080fdfea2646970667358221220e70400c261df0160705db09f3a231e92d598becbafcd5afafb1e7217f835484064736f6c63430008070033",
"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 0xE7 DIV STOP 0xC2 PUSH2 0xDF01 PUSH1 0x70 0x5D 0xB0 SWAP16 GASPRICE 0x23 0x1E SWAP3 0xD5 SWAP9 0xBE 0xCB 0xAF 0xCD GAS STATICCALL 0xFB 0x1E PUSH19 0x17F835484064736F6C63430008070033000000 ",
"sourceMap": "56:197:0:-:0;;;96:49;;;;;;;;;;128:10;120:5;;:18;;;;;;;;;;;;;;;;;;56:197;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220e70400c261df0160705db09f3a231e92d598becbafcd5afafb1e7217f835484064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE7 DIV STOP 0xC2 PUSH2 0xDF01 PUSH1 0x70 0x5D 0xB0 SWAP16 GASPRICE 0x23 0x1E SWAP3 0xD5 SWAP9 0xBE 0xCB 0xAF 0xCD GAS STATICCALL 0xFB 0x1E PUSH19 0x17F835484064736F6C63430008070033000000 ",
"sourceMap": "56:197:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "24332",
"totalCost": "36932"
}
},
"methodIdentifiers": {}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Owned.sol": "Owned"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Owned.sol": {
"keccak256": "0xf2447054867ff6268e35364a336ede97eea8173f4696527043018d5238dbb84e",
"license": "MIT",
"urls": [
"bzz-raw://a35ffc54308e2afba249ff06b1ec351edc9c9499b374fe66c788a92232f72576",
"dweb:/ipfs/QmaMsSD2RTtkFAtRa38En8HmHF7ezwRDNawsv2Usbor82h"
]
}
},
"version": 1
}
{
"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": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506102fd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063944ddb6714610051578063a03f7d8914610081578063d57511c61461008b578063e49974b9146100bb575b600080fd5b61006b600480360381019061006691906101c8565b6100d7565b6040516100789190610231565b60405180910390f35b6100896100f7565b005b6100a560048036038101906100a091906101f5565b610150565b6040516100b29190610231565b60405180910390f35b6100d560048036038101906100d091906101f5565b610170565b005b60016020528060005260406000206000915054906101000a900460ff1681565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60006020528060005260406000206000915054906101000a900460ff1681565b600160008083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813590506101ad81610299565b92915050565b6000813590506101c2816102b0565b92915050565b6000602082840312156101de576101dd610294565b5b60006101ec8482850161019e565b91505092915050565b60006020828403121561020b5761020a610294565b5b6000610219848285016101b3565b91505092915050565b61022b8161025e565b82525050565b60006020820190506102466000830184610222565b92915050565b60006102578261026a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6102a28161024c565b81146102ad57600080fd5b50565b6102b98161028a565b81146102c457600080fd5b5056fea2646970667358221220e9c9933172cb985350569867b949d6062ad37538030650f52fca2257fe0f77f664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FD DUP1 PUSH2 0x20 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x944DDB67 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA03F7D89 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xD57511C6 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xE49974B9 EQ PUSH2 0xBB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x231 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0xF7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x150 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x231 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x170 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD DUP2 PUSH2 0x299 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C2 DUP2 PUSH2 0x2B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DE JUMPI PUSH2 0x1DD PUSH2 0x294 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1EC DUP5 DUP3 DUP6 ADD PUSH2 0x19E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20B JUMPI PUSH2 0x20A PUSH2 0x294 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x219 DUP5 DUP3 DUP6 ADD PUSH2 0x1B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x22B DUP2 PUSH2 0x25E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x246 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x222 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x257 DUP3 PUSH2 0x26A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A2 DUP2 PUSH2 0x24C JUMP JUMPDEST DUP2 EQ PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2B9 DUP2 PUSH2 0x28A JUMP JUMPDEST DUP2 EQ PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0xC9 SWAP4 BALANCE PUSH19 0xCB985350569867B949D6062AD37538030650F5 0x2F 0xCA 0x22 JUMPI INVALID 0xF PUSH24 0xF664736F6C63430008070033000000000000000000000000 ",
"sourceMap": "56:331:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@myAddressMappings_9": {
"entryPoint": 215,
"id": 9,
"parameterSlots": 0,
"returnSlots": 0
},
"@myIndexMappings_5": {
"entryPoint": 336,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@setMyAddressMappings_32": {
"entryPoint": 247,
"id": 32,
"parameterSlots": 0,
"returnSlots": 0
},
"@setMyIndexMappings_21": {
"entryPoint": 368,
"id": 21,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 414,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 435,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 456,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 546,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 561,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 588,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 606,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 618,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 650,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 660,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 665,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 688,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2291: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": "204:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:1"
},
"nodeType": "YulFunctionCall",
"src": "223:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:1"
},
"nodeType": "YulFunctionCall",
"src": "252:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:1",
"type": ""
}
],
"src": "152:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "363:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "409:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "411:77:1"
},
"nodeType": "YulFunctionCall",
"src": "411:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "411:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "384:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "393:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "380:3:1"
},
"nodeType": "YulFunctionCall",
"src": "380:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "405:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "376:3:1"
},
"nodeType": "YulFunctionCall",
"src": "376:32:1"
},
"nodeType": "YulIf",
"src": "373:119:1"
},
{
"nodeType": "YulBlock",
"src": "502:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "517:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "521:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "333:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "344:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "356:6:1",
"type": ""
}
],
"src": "297:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "698:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "744:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "746:77:1"
},
"nodeType": "YulFunctionCall",
"src": "746:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "746:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "719:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "728:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "715:3:1"
},
"nodeType": "YulFunctionCall",
"src": "715:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "740:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "711:3:1"
},
"nodeType": "YulFunctionCall",
"src": "711:32:1"
},
"nodeType": "YulIf",
"src": "708:119:1"
},
{
"nodeType": "YulBlock",
"src": "837:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "852:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "866:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "856:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "881:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "916:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "927:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "912:3:1"
},
"nodeType": "YulFunctionCall",
"src": "912:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "936:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "891:20:1"
},
"nodeType": "YulFunctionCall",
"src": "891:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "881:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "668:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "679:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "691:6:1",
"type": ""
}
],
"src": "632:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1026:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1043:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1063:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1048:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1048:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1036:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1036:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1014:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1021:3:1",
"type": ""
}
],
"src": "967:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1174:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1184:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1196:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1207:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1192:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1192:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1184:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1258:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1271:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1282:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1267:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1267:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1220:37:1"
},
"nodeType": "YulFunctionCall",
"src": "1220:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1220:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1146:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1158:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1169:4:1",
"type": ""
}
],
"src": "1082:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1338:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1348:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1364:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1358:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1358:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1348:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1331:6:1",
"type": ""
}
],
"src": "1298:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1424:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1434:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1463:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1445:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1445:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1434:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1406:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1416:7:1",
"type": ""
}
],
"src": "1379:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1523:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1533:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1558:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1551:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1544:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1544:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1533:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1505:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1515:7:1",
"type": ""
}
],
"src": "1481:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1622:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1632:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1647:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1654:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1643:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1643:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1632:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1604:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1614:7:1",
"type": ""
}
],
"src": "1577:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1754:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1764:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1775:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1764:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1736:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1746:7:1",
"type": ""
}
],
"src": "1709:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1881:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1898:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1901:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1891:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1891:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1891:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1792:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2004:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2021:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2024:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2014:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2014:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2014:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1915:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2081:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2138:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2147:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2150:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2140:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2140:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2140:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2104:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2129:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2111:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2111:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2101:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2101:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2094:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2094:43:1"
},
"nodeType": "YulIf",
"src": "2091:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2074:5:1",
"type": ""
}
],
"src": "2038:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2209:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2266:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2275:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2278:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2268:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2268:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2268:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2232:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2257:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2239:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2239:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2229:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2229:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2222:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2222:43:1"
},
"nodeType": "YulIf",
"src": "2219:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2202:5:1",
"type": ""
}
],
"src": "2166: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_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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\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": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063944ddb6714610051578063a03f7d8914610081578063d57511c61461008b578063e49974b9146100bb575b600080fd5b61006b600480360381019061006691906101c8565b6100d7565b6040516100789190610231565b60405180910390f35b6100896100f7565b005b6100a560048036038101906100a091906101f5565b610150565b6040516100b29190610231565b60405180910390f35b6100d560048036038101906100d091906101f5565b610170565b005b60016020528060005260406000206000915054906101000a900460ff1681565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60006020528060005260406000206000915054906101000a900460ff1681565b600160008083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000813590506101ad81610299565b92915050565b6000813590506101c2816102b0565b92915050565b6000602082840312156101de576101dd610294565b5b60006101ec8482850161019e565b91505092915050565b60006020828403121561020b5761020a610294565b5b6000610219848285016101b3565b91505092915050565b61022b8161025e565b82525050565b60006020820190506102466000830184610222565b92915050565b60006102578261026a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6102a28161024c565b81146102ad57600080fd5b50565b6102b98161028a565b81146102c457600080fd5b5056fea2646970667358221220e9c9933172cb985350569867b949d6062ad37538030650f52fca2257fe0f77f664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x944DDB67 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA03F7D89 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xD57511C6 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xE49974B9 EQ PUSH2 0xBB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x1C8 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x231 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0xF7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x150 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB2 SWAP2 SWAP1 PUSH2 0x231 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x170 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1AD DUP2 PUSH2 0x299 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1C2 DUP2 PUSH2 0x2B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1DE JUMPI PUSH2 0x1DD PUSH2 0x294 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1EC DUP5 DUP3 DUP6 ADD PUSH2 0x19E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20B JUMPI PUSH2 0x20A PUSH2 0x294 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x219 DUP5 DUP3 DUP6 ADD PUSH2 0x1B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x22B DUP2 PUSH2 0x25E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x246 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x222 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x257 DUP3 PUSH2 0x26A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO 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 PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A2 DUP2 PUSH2 0x24C JUMP JUMPDEST DUP2 EQ PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x2B9 DUP2 PUSH2 0x28A JUMP JUMPDEST DUP2 EQ PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 0xC9 SWAP4 BALANCE PUSH19 0xCB985350569867B949D6062AD37538030650F5 0x2F 0xCA 0x22 JUMPI INVALID 0xF PUSH24 0xF664736F6C63430008070033000000000000000000000000 ",
"sourceMap": "56:331:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;136:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;293:92;;;:::i;:::-;;86:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;192:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;136:49;;;;;;;;;;;;;;;;;;;;;;:::o;293:92::-;374:4;342:17;:29;360:10;342:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;293:92::o;86:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;192:95::-;276:4;250:15;:23;266:6;250:23;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;192:95;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:::-;691:6;740:2;728:9;719:7;715:23;711:32;708:119;;;746:79;;:::i;:::-;708:119;866:1;891:53;936:7;927:6;916:9;912:22;891:53;:::i;:::-;881:63;;837:117;632:329;;;;:::o;967:109::-;1048:21;1063:5;1048:21;:::i;:::-;1043:3;1036:34;967:109;;:::o;1082:210::-;1169:4;1207:2;1196:9;1192:18;1184:26;;1220:65;1282:1;1271:9;1267:17;1258:6;1220:65;:::i;:::-;1082:210;;;;:::o;1379:96::-;1416:7;1445:24;1463:5;1445:24;:::i;:::-;1434:35;;1379:96;;;:::o;1481:90::-;1515:7;1558:5;1551:13;1544:21;1533:32;;1481:90;;;:::o;1577:126::-;1614:7;1654:42;1647:5;1643:54;1632:65;;1577:126;;;:::o;1709:77::-;1746:7;1775:5;1764:16;;1709:77;;;:::o;1915:117::-;2024:1;2021;2014:12;2038:122;2111:24;2129:5;2111:24;:::i;:::-;2104:5;2101:35;2091:63;;2150:1;2147;2140:12;2091:63;2038:122;:::o;2166:::-;2239:24;2257:5;2239:24;:::i;:::-;2232:5;2229:35;2219:63;;2278:1;2275;2268:12;2219:63;2166:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "153000",
"executionCost": "196",
"totalCost": "153196"
},
"external": {
"myAddressMappings(address)": "2823",
"myIndexMappings(uint256)": "2818",
"setMyAddressMappings()": "24500",
"setMyIndexMappings(uint256)": "24795"
}
},
"methodIdentifiers": {
"myAddressMappings(address)": "944ddb67",
"myIndexMappings(uint256)": "d57511c6",
"setMyAddressMappings()": "a03f7d89",
"setMyIndexMappings(uint256)": "e49974b9"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "myAddressMappings",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "myIndexMappings",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setMyAddressMappings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "setMyIndexMappings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "myAddressMappings",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "myIndexMappings",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setMyAddressMappings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "setMyIndexMappings",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"SimleMappings.sol": "SimpleMappings"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"SimleMappings.sol": {
"keccak256": "0x0d39c535335b8011f05c5f8f7b3321ca3b69f9dc8c236a6d129108b7e5fe59a7",
"license": "MIT",
"urls": [
"bzz-raw://64e6d6b313f9d6c723a57fbfdffdd2ff3ab9b55811b8143e4feea2b1e57af698",
"dweb:/ipfs/QmYEAiCDteZabnJbUP2uqWYhsbwmJuhfqZ4j2MvAecPSXA"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract DebuggerExample {
uint public myUint;
function setMyUint(uint _myuint) public {
myUint = _myuint;
}
}
// 0xe492fd840000000000000000000000000000000000000000000000000000000000000016
// 0xe492fd8400000000000000000000000000000000000000000000000000000000000004d2
// 0x06540f7e
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract EventExample {
// event EventDataStored(uint val);
event storeAddress(address owner, uint counter, uint timestamps);
uint val;
function storeData(uint _val) external {
val = _val;
// emit EventDataStored(val);
emit storeAddress(msg.sender, 1, block.timestamp);
}
// function storeAddress()
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract ExceptionExample {
// mapping(address => uint) public balanceRecieved;
mapping(address => uint64) public balanceRecieved;
function recieveMoney() public payable {
balanceRecieved[msg.sender] += uint64(msg.value);
}
function withdrawMoney( address payable _to ,uint64 _amount) public {
require(_amount < balanceRecieved[msg.sender], "Insufficient funds");
balanceRecieved[msg.sender] -= _amount;
_to.transfer(_amount);
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract FunctionExample {
mapping(address => uint) public balanceRecieved;
address payable owner;
constructor() {
owner = payable(msg.sender);
}
function getOwner() public view returns(address) {
return owner;
}
// TypeError: Different number of arguments in return statement than in returns declaration.
function convertWeiToEther(uint _amountInWei) public pure returns(uint) {
return _amountInWei/1 ether;
}
function destroySmartContract() public {
require(msg.sender == owner, "you are not the owner");
selfdestruct(owner);
}
receive() external payable {
assert(balanceRecieved[msg.sender] + msg.value >= balanceRecieved[msg.sender]);
balanceRecieved[msg.sender] += msg.value;
}
function receiveMoney() public payable {
assert(balanceRecieved[msg.sender] + msg.value >= balanceRecieved[msg.sender]);
balanceRecieved[msg.sender] += msg.value;
}
function withdrawAllMoney(address payable _to, uint _amount) public {
require(_amount <= balanceRecieved[msg.sender], "not much fund");
assert(balanceRecieved[msg.sender] >= (balanceRecieved[msg.sender] - _amount));
balanceRecieved[msg.sender] -= _amount;
_to.transfer(_amount);
}
// fallback function
fallback() external payable {
receiveMoney();
}
}
// Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
// ParserError: Expected a state variable declaration. If you intended this as a fallback function or a function
// to handle plain ether transactions, use the "fallback" keyword or the "receive" keyword instead.
// TypeError: "send" and "transfer" are only available for objects of type "address payable", not "address".
// TypeError: "send" and "transfer" are only available for objects of type "address payable", not "address".
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/contracts/utils/math/SafeMath.sol";
contract LibraryExample {
mapping(address => uint) public tokenBalance;
using SafeMath for uint;
constructor() {
tokenBalance[msg.sender] = 1;
}
function sendToken(address payable _to, uint _amount) public returns(bool) {
tokenBalance[msg.sender] -= tokenBalance[msg.sender].sub(_amount);
tokenBalance[_to] += _amount;
return true;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract MappingStructExample {
struct Payment {
uint amount;
uint timestamps;
}
struct Balance {
uint totalBalance;
uint numPayments;
mapping(uint => Payment) payments;
}
mapping(address => Balance) public balanceRecieved;
function getBalance() public view returns(uint) {
return address(this).balance;
}
function sendMoney() public payable {
balanceRecieved[msg.sender].totalBalance += msg.value;
Payment memory payment = Payment(msg.value, block.timestamp);
balanceRecieved[msg.sender].payments[balanceRecieved[msg.sender].numPayments] = payment;
balanceRecieved[msg.sender].numPayments++;
}
function withdrawParitally(address payable _to, uint _amount) public {
require(balanceRecieved[msg.sender].totalBalance >= _amount, "Insufficient funds");
balanceRecieved[_to] .totalBalance-= _amount;
_to.transfer(_amount);
}
function withdrawAllMoney(address payable _to) public {
uint balanceToSend = balanceRecieved[msg.sender].totalBalance;
balanceRecieved[msg.sender].totalBalance = 0;
_to.transfer(balanceToSend);
// require(balanceRecieved[msg.sender] >= _amount, "Insufficient funds");
// balanceRecieved[msg.sender] -= _amount;
// _to.transfer(_amount);
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract MappingStructExampleLab {
mapping(address => uint) public accountHolders;
function getContractBalance() public view returns(uint) {
return address(this).balance;
}
function getAccountholderBalance(address _accountHolder) public view returns(uint) {
return accountHolders[_accountHolder];
}
function sendMoney() public payable {
accountHolders[msg.sender] = msg.value;
}
function withdrawPartialAccountholder(address payable _to, uint _amount) public {
require(accountHolders[_to] <= _amount, "Unauthorized transaction");
// uint remainingAmount = accountHolders[msg.sender] - _amount;
// accountHolders[msg.sender] = remainingAmount;
accountHolders[msg.sender] -= _amount;
// address(this).balance = accountHolders[_to] - msg.value;
_to.transfer(_amount);
}
function withdrawAccountholder(address payable _to) public {
// require(msg.sender == _to, "Unauthorized transaction");
uint balanceToSend = accountHolders[msg.sender];
accountHolders[msg.sender] = 0;
// address(this).balance = accountHolders[_to] - msg.value;
_to.transfer(balanceToSend);
}
function withdrawAllMoney(address payable _to) public {
_to.transfer(address(this).balance);
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
import "./Owned.sol";
contract ModifierSol is Owned {
mapping(address => uint) public tokenBalance;
uint tokenPrice = 1 ether;
event TokenSent(address from,address to,uint amount);
// Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor() {
tokenBalance[owner] = 100;
}
function createNewToken() public onlyOwner {
tokenBalance[owner]++;
}
function burnToken() public onlyOwner {
tokenBalance[owner]--;
}
function purchaseToken() public payable {
// TypeError: Operator / not compatible with types uint256 and address
// TypeError: "msg.value" and "callvalue()" can only be used in payable public functions. Make the function "payable" or use an internal function to avoid this error.
require((tokenBalance[owner] * tokenPrice) / msg.value > 0, "not enough tokens");
tokenBalance[owner] -= msg.value / tokenPrice;
tokenBalance[msg.sender] += msg.value / tokenPrice;
}
function sendToken(address payable _to,uint _amount) public payable 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);
// assert()
return true;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract MyContract {
string public myString = "Hello Worlds";
}
// 492bfa18
// 0x492bfa18
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract Owned {
address owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner {
require(owner == msg.sender, "you are not the owner");
_;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract SimpleMappings {
mapping(uint => bool) public myIndexMappings;
mapping(address => bool) public myAddressMappings;
function setMyIndexMappings(uint _index) public {
myIndexMappings[_index] = true;
}
function setMyAddressMappings() public {
myAddressMappings[msg.sender] = true;
}
}
// this line is added to create a gist. Empty file is not allowed.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
contract SimpleMappingExampleLab {
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract StartStopUpdateExample {
address owner;
bool public paused;
constructor() {
owner = msg.sender;
}
function sendMoney() public payable {}
function setPause(bool _paused) public {
require(owner == msg.sender, "You're not the owner");
paused = _paused;
}
function withdrawAllMoney(address payable _to) public {
require(owner == msg.sender, "You're not allowed to send money");
require(!paused, "Contract is paused");
_to.transfer(address(this).balance);
}
}
This file has been truncated, but you can view the full file.
{
"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": {
"functionDebugData": {
"@_14": {
"entryPoint": null,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061055d806100606000396000f3fe60806040526004361061003f5760003560e01c80630adec93c146100445780635c975abb1461006d578063bedb86fb14610098578063cbedbf5a146100c1575b600080fd5b34801561005057600080fd5b5061006b600480360381019061006691906102dd565b6100cb565b005b34801561007957600080fd5b506100826101f3565b60405161008f91906103af565b60405180910390f35b3480156100a457600080fd5b506100bf60048036038101906100ba919061030a565b610206565b005b6100c96102b1565b005b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610150906103ca565b60405180910390fd5b600060149054906101000a900460ff16156101a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a09061040a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156101ef573d6000803e3d6000fd5b5050565b600060149054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028b906103ea565b60405180910390fd5b80600060146101000a81548160ff02191690831515021790555050565b565b6000813590506102c2816104f9565b92915050565b6000813590506102d781610510565b92915050565b6000602082840312156102f3576102f2610479565b5b6000610301848285016102b3565b91505092915050565b6000602082840312156103205761031f610479565b5b600061032e848285016102c8565b91505092915050565b6103408161044d565b82525050565b600061035360208361042a565b915061035e8261047e565b602082019050919050565b600061037660148361042a565b9150610381826104a7565b602082019050919050565b600061039960128361042a565b91506103a4826104d0565b602082019050919050565b60006020820190506103c46000830184610337565b92915050565b600060208201905081810360008301526103e381610346565b9050919050565b6000602082019050818103600083015261040381610369565b9050919050565b600060208201905081810360008301526104238161038c565b9050919050565b600082825260208201905092915050565b600061044682610459565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b7f596f75277265206e6f7420616c6c6f77656420746f2073656e64206d6f6e6579600082015250565b7f596f75277265206e6f7420746865206f776e6572000000000000000000000000600082015250565b7f436f6e7472616374206973207061757365640000000000000000000000000000600082015250565b6105028161043b565b811461050d57600080fd5b50565b6105198161044d565b811461052457600080fd5b5056fea264697066735822122028f435f177e3cd89d95379e83b35765a43bebcd7efcdd6a0866cf7545c7399c464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 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 PUSH2 0x55D DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xADEC93C EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xBEDB86FB EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xCBEDBF5A EQ PUSH2 0xC1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x2DD JUMP JUMPDEST PUSH2 0xCB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x82 PUSH2 0x1F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x3AF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBA SWAP2 SWAP1 PUSH2 0x30A JUMP JUMPDEST PUSH2 0x206 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC9 PUSH2 0x2B1 JUMP JUMPDEST STOP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x159 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150 SWAP1 PUSH2 0x3CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A0 SWAP1 PUSH2 0x40A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC SELFBALANCE 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 0x1EF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x294 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x28B SWAP1 PUSH2 0x3EA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2C2 DUP2 PUSH2 0x4F9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2D7 DUP2 PUSH2 0x510 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2F3 JUMPI PUSH2 0x2F2 PUSH2 0x479 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x301 DUP5 DUP3 DUP6 ADD PUSH2 0x2B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x320 JUMPI PUSH2 0x31F PUSH2 0x479 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32E DUP5 DUP3 DUP6 ADD PUSH2 0x2C8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x340 DUP2 PUSH2 0x44D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x353 PUSH1 0x20 DUP4 PUSH2 0x42A JUMP JUMPDEST SWAP2 POP PUSH2 0x35E DUP3 PUSH2 0x47E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x376 PUSH1 0x14 DUP4 PUSH2 0x42A JUMP JUMPDEST SWAP2 POP PUSH2 0x381 DUP3 PUSH2 0x4A7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x399 PUSH1 0x12 DUP4 PUSH2 0x42A JUMP JUMPDEST SWAP2 POP PUSH2 0x3A4 DUP3 PUSH2 0x4D0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3C4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x337 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 0x3E3 DUP2 PUSH2 0x346 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 0x403 DUP2 PUSH2 0x369 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 0x423 DUP2 PUSH2 0x38C JUMP JUMPDEST 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 PUSH2 0x446 DUP3 PUSH2 0x459 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x596F75277265206E6F7420616C6C6F77656420746F2073656E64206D6F6E6579 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F75277265206E6F7420746865206F776E6572000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E7472616374206973207061757365640000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x502 DUP2 PUSH2 0x43B JUMP JUMPDEST DUP2 EQ PUSH2 0x50D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x519 DUP2 PUSH2 0x44D JUMP JUMPDEST DUP2 EQ PUSH2 0x524 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 DELEGATECALL CALLDATALOAD CALL PUSH24 0xE3CD89D95379E83B35765A43BEBCD7EFCDD6A0866CF7545C PUSH20 0x99C464736F6C6343000807003300000000000000 ",
"sourceMap": "57:551:0:-:0;;;139:49;;;;;;;;;;171:10;163:5;;:18;;;;;;;;;;;;;;;;;;57:551;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@paused_5": {
"entryPoint": 499,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@sendMoney_18": {
"entryPoint": 689,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"@setPause_36": {
"entryPoint": 518,
"id": 36,
"parameterSlots": 1,
"returnSlots": 0
},
"@withdrawAllMoney_66": {
"entryPoint": 203,
"id": 66,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_payable": {
"entryPoint": 691,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool": {
"entryPoint": 712,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payable": {
"entryPoint": 733,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool": {
"entryPoint": 778,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 823,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4_to_t_string_memory_ptr_fromStack": {
"entryPoint": 838,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 873,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 908,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 943,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 970,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1002,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1034,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1066,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 1083,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1101,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1113,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1145,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4": {
"entryPoint": 1150,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5": {
"entryPoint": 1191,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d": {
"entryPoint": 1232,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 1273,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1296,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5350: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": "217:84:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "227:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "249:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "236:12:1"
},
"nodeType": "YulFunctionCall",
"src": "236:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "227:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "289:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "265:23:1"
},
"nodeType": "YulFunctionCall",
"src": "265:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "265:30:1"
}
]
},
"name": "abi_decode_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "195:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "203:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "211:5:1",
"type": ""
}
],
"src": "168:133:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "381:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "427:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "429:77:1"
},
"nodeType": "YulFunctionCall",
"src": "429:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "402:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "411:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "398:3:1"
},
"nodeType": "YulFunctionCall",
"src": "398:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "423:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:32:1"
},
"nodeType": "YulIf",
"src": "391:119:1"
},
{
"nodeType": "YulBlock",
"src": "520:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "535:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "539:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "564:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "607:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "618:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "603:3:1"
},
"nodeType": "YulFunctionCall",
"src": "603:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "627:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "574:28:1"
},
"nodeType": "YulFunctionCall",
"src": "574:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "564:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "351:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "362:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "374:6:1",
"type": ""
}
],
"src": "307:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "721:260:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "767:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "769:77:1"
},
"nodeType": "YulFunctionCall",
"src": "769:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "769:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "742:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "751:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "738:3:1"
},
"nodeType": "YulFunctionCall",
"src": "738:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "763:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "734:3:1"
},
"nodeType": "YulFunctionCall",
"src": "734:32:1"
},
"nodeType": "YulIf",
"src": "731:119:1"
},
{
"nodeType": "YulBlock",
"src": "860:114:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "875:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "889:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "879:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "904:60:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "936:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "947:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "932:3:1"
},
"nodeType": "YulFunctionCall",
"src": "932:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "956:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool",
"nodeType": "YulIdentifier",
"src": "914:17:1"
},
"nodeType": "YulFunctionCall",
"src": "914:50:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "904:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "691:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "702:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "714:6:1",
"type": ""
}
],
"src": "658:323:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1046:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1063:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1083:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1068:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1068:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1056:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1056:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1056:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1034:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1041:3:1",
"type": ""
}
],
"src": "987:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1248:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1258:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1324:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1329:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1265:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1258:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1430:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4",
"nodeType": "YulIdentifier",
"src": "1341:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1341:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1341:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1443:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1454:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1459:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1450:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1450:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1443:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1236:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1244:3:1",
"type": ""
}
],
"src": "1102:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1620:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1630:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1696:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1701:2:1",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1637:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1637:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1630:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1802:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5",
"nodeType": "YulIdentifier",
"src": "1713:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1713:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1713:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1815:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1826:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1831:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1822:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1815:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1608:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1616:3:1",
"type": ""
}
],
"src": "1474:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1992:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2002:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2068:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2073:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2009:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2009:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2002:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2174:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d",
"nodeType": "YulIdentifier",
"src": "2085:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2085:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2085:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2187:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2198:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2203:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2194:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2194:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2187:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_e55600974a468a5baf1f1454a24481ec68f787ee02cd9f1d97c35ce2a8d2093d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1980:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1988:3:1",
"type": ""
}
],
"src": "1846:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2310:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2320:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2332:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2343:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2328:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2328:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2320:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2394:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2407:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2418:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2403:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2403:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "2356:37:1"
},
"nodeType": "YulFunctionCall",
"src": "2356:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2356:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2282:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2294:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2305:4:1",
"type": ""
}
],
"src": "2218:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2605:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2615:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2627:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2638:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2623:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2623:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2615:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2662:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2673:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2658:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2658:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2681:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2687:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2677:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2651:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2651:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2651:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2707:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2841:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2715:124:1"
},
"nodeType": "YulFunctionCall",
"src": "2715:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2707:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_04df400e5f5a72af92d4fbf7e47da4cc2fe30d2212b70b9735ec24b0e7e6fcf4__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2585:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2600:4:1",
"type": ""
}
],
"src": "2434:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3030:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3040:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3052:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3063:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3048:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3048:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3040:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3087:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3098:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3083:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3083:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3106:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3112:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3102:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3102:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3076:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3076:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3076:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3132:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3266:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_dd877edd5e6fa1d3691e2f7afcfd78eeb4921b01a5bd60d24e4efa18128af2a5_to_t_string_memory_ptr_fromStack",
"no
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