Skip to content

Instantly share code, notes, and snippets.

@abdullahmujahidali
Created July 26, 2022 15:24
Show Gist options
  • Save abdullahmujahidali/63427ea7edb7e913bbad37992cc1eb4d to your computer and use it in GitHub Desktop.
Save abdullahmujahidali/63427ea7edb7e913bbad37992cc1eb4d 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=
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created
iii. There are no files existing in the File Explorer
This workspace 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 Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract
SCRIPTS
The 'scripts' folder contains two 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).
Also, there is a script containing some unit tests for Storage contract inside tests directory.
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.
Please note, 'require' statement is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE will be shown.'
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.5.0 <0.9.0;
contract DynamicArray
{
uint[] public arr;
function pushElement(uint item) public
{
arr.push(item);
}
function len() public view returns(uint)
{
return arr.length;
}
function popElement() public
{
arr.pop();
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.5.0 <0.9.0;
contract ArrayIntro
{
uint[4] public arr = [10,32,43,654];
function setter(uint index, uint value) public
{
arr[index]=value;
}
function length() public view returns(uint)
{
return arr.length;
}
}
{
"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": "60806040526040518060400160405280600381526020017f61626300000000000000000000000000000000000000000000000000000000008152506000908051906020019061004f929190610062565b5034801561005c57600080fd5b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610501806101756000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630317d5f3146100515780633a7d22bc1461005b578063be1c766b1461008b578063ee495002146100a9575b600080fd5b6100596100c7565b005b610075600480360381019061007091906102ad565b61018b565b6040516100829190610331565b60405180910390f35b6100936101f5565b6040516100a0919061036e565b60405180910390f35b6100b161020a565b6040516100be919061034c565b60405180910390f35b6000808054806100d69061040e565b80601f81146100e4576100fa565b83600052602060002060ff1984168155603f9350505b5060028201835560018101925050506001900381546001161561012c5790600052602060002090602091828204019190065b7f640000000000000000000000000000000000000000000000000000000000000090919091601f036101000a81548160ff021916907f010000000000000000000000000000000000000000000000000000000000000084040217905550565b60008082815461019a9061040e565b81106101a9576101a861046f565b5b8154600116156101c85790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000029050919050565b60008080546102039061040e565b9050905090565b600080546102179061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546102439061040e565b80156102905780601f1061026557610100808354040283529160200191610290565b820191906000526020600020905b81548152906001019060200180831161027357829003601f168201915b505050505081565b6000813590506102a7816104b4565b92915050565b6000602082840312156102c3576102c261049e565b5b60006102d184828501610298565b91505092915050565b6102e3816103a5565b82525050565b60006102f482610389565b6102fe8185610394565b935061030e8185602086016103db565b610317816104a3565b840191505092915050565b61032b816103d1565b82525050565b600060208201905061034660008301846102da565b92915050565b6000602082019050818103600083015261036681846102e9565b905092915050565b60006020820190506103836000830184610322565b92915050565b600081519050919050565b600082825260208201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60005b838110156103f95780820151818401526020810190506103de565b83811115610408576000848401525b50505050565b6000600282049050600182168061042657607f821691505b6020821081141561043a57610439610440565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b6104bd816103d1565b81146104c857600080fd5b5056fea2646970667358221220eee60ef793d826eebfc739a2e8123b430b705805df4b298b916c645cf225193264736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6162630000000000000000000000000000000000000000000000000000000000 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 0x501 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x317D5F3 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x3A7D22BC EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xBE1C766B EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xC7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x2AD JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x331 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x36E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH2 0x20A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD DUP1 PUSH2 0xD6 SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0xE4 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP PUSH1 0x1 SWAP1 SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x12C JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP2 SWAP1 SWAP2 PUSH1 0x1F SUB PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 DUP5 DIV MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD PUSH2 0x19A SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP2 LT PUSH2 0x1A9 JUMPI PUSH2 0x1A8 PUSH2 0x46F JUMP JUMPDEST JUMPDEST DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x1C8 JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 BYTE PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 MUL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0x203 SWAP1 PUSH2 0x40E JUMP JUMPDEST SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x217 SWAP1 PUSH2 0x40E 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 0x243 SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x290 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x265 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x290 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 0x273 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A7 DUP2 PUSH2 0x4B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C3 JUMPI PUSH2 0x2C2 PUSH2 0x49E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D1 DUP5 DUP3 DUP6 ADD PUSH2 0x298 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2E3 DUP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4 DUP3 PUSH2 0x389 JUMP JUMPDEST PUSH2 0x2FE DUP2 DUP6 PUSH2 0x394 JUMP JUMPDEST SWAP4 POP PUSH2 0x30E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3DB JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x4A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x32B DUP2 PUSH2 0x3D1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x346 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DA 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 0x366 DUP2 DUP5 PUSH2 0x2E9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x383 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x322 JUMP JUMPDEST 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 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x408 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 0x426 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x440 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4BD DUP2 PUSH2 0x3D1 JUMP JUMPDEST DUP2 EQ PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE 0xE6 0xE 0xF7 SWAP4 0xD8 0x26 0xEE 0xBF 0xC7 CODECOPY LOG2 0xE8 SLT EXTCODESIZE NUMBER SIGNEXTEND PUSH17 0x5805DF4B298B916C645CF225193264736F PUSH13 0x63430008070033000000000000 ",
"sourceMap": "70:300:0:-:0;;;91:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;70:300;;;;;;;;;;;;;;;;;;;:::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;70:300:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@b1_4": {
"entryPoint": 522,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@getElement_26": {
"entryPoint": 395,
"id": 26,
"parameterSlots": 1,
"returnSlots": 1
},
"@getLength_35": {
"entryPoint": 501,
"id": 35,
"parameterSlots": 0,
"returnSlots": 1
},
"@pushElement_14": {
"entryPoint": 199,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 664,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 685,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bytes1_to_t_bytes1_fromStack": {
"entryPoint": 730,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": {
"entryPoint": 745,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 802,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bytes1__to_t_bytes1__fromStack_reversed": {
"entryPoint": 817,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": {
"entryPoint": 844,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 878,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 905,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": {
"entryPoint": 916,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bytes1": {
"entryPoint": 933,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 977,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 987,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1038,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1088,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1135,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1182,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1187,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1204,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3952: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": "550:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "567:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "589:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes1",
"nodeType": "YulIdentifier",
"src": "572:16:1"
},
"nodeType": "YulFunctionCall",
"src": "572:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "560:6:1"
},
"nodeType": "YulFunctionCall",
"src": "560:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "560:36:1"
}
]
},
"name": "abi_encode_t_bytes1_to_t_bytes1_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "538:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "545:3:1",
"type": ""
}
],
"src": "487:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "698:270:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "708:52:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "754:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "722:31:1"
},
"nodeType": "YulFunctionCall",
"src": "722:38:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "712:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "769:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "834:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "839:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "776:57:1"
},
"nodeType": "YulFunctionCall",
"src": "776:70:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "881:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "888:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "877:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "895:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "900:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "855:21:1"
},
"nodeType": "YulFunctionCall",
"src": "855:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "855:52:1"
},
{
"nodeType": "YulAssignment",
"src": "916:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "927:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "954:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "932:21:1"
},
"nodeType": "YulFunctionCall",
"src": "932:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "923:3:1"
},
"nodeType": "YulFunctionCall",
"src": "923:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "916:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "679:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "686:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "694:3:1",
"type": ""
}
],
"src": "608:360:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1039:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1056:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1079:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1061:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1061:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1049:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1049:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1049:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1027:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1034:3:1",
"type": ""
}
],
"src": "974:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1194:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1204:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1216:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1227:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1212:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1212:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1204:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1282:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1295:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1306:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1291:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1291:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes1_to_t_bytes1_fromStack",
"nodeType": "YulIdentifier",
"src": "1240:41:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "1240:69:1"
}
]
},
"name": "abi_encode_tuple_t_bytes1__to_t_bytes1__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1166:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1178:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1189:4:1",
"type": ""
}
],
"src": "1098:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1438:193:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1448:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1460:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1471:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1456:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1448:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1495:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1506:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1491:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1491:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1514:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1520:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1510:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1510:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1484:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1484:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1484:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1540:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1610:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1619:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1548:61:1"
},
"nodeType": "YulFunctionCall",
"src": "1548:76:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1540:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1410:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1422:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1433:4:1",
"type": ""
}
],
"src": "1322:309:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1735:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1745:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1757:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1768:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1753:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1753:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1745:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1825:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1838:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1849:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1834:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1834:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1781:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1781:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1781:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1707:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1719:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1730:4:1",
"type": ""
}
],
"src": "1637:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1905:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1915:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1931:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1925:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1925:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1915:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1898:6:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2004:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2015:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2031:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2025:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2025:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2015:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1987:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1997:6:1",
"type": ""
}
],
"src": "1946:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2145:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2162:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2167:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2155:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2155:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2155:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2183:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2202:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2207:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2198:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2198:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2183:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2117:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2122:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2133:11:1",
"type": ""
}
],
"src": "2050:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2268:105:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2278:89:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2293:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2300:66:1",
"type": "",
"value": "0xff00000000000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2289:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2289:78:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2278:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2250:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2260:7:1",
"type": ""
}
],
"src": "2224:149:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2424:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2434:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2445:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2434:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2406:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2416:7:1",
"type": ""
}
],
"src": "2379:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2511:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2521:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2530:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2525:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2590:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2615:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2620:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2611:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2611:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2634:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2639:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2630:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2630:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2624:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2624:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2604:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2604:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2604:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2551:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2554:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2548:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2548:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2562:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2564:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2573:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2576:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2569:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2569:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2564:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2544:3:1",
"statements": []
},
"src": "2540:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2687:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2737:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2742:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2733:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2733:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2751:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2726:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2726:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2726:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2668:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2671:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2665:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2665:13:1"
},
"nodeType": "YulIf",
"src": "2662:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2493:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2498:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2503:6:1",
"type": ""
}
],
"src": "2462:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2826:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2836:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2850:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2856:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2846:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2846:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2836:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2867:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2897:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2903:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2893:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2893:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "2871:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2944:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2958:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2972:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2980:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2968:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2968:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2958:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2924:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2917:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2917:26:1"
},
"nodeType": "YulIf",
"src": "2914:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3047:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "3061:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3061:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3061:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3011:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3034:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3042:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3031:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3031:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3008:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3008:38:1"
},
"nodeType": "YulIf",
"src": "3005:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2810:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2819:6:1",
"type": ""
}
],
"src": "2775:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3129:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3146:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3149:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3139:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3139:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3139:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3243:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3246:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3236:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3236:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3236:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3267:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3270:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3260:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3260:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3260:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "3101:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3315:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3332:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3335:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3325:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3325:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3325:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3429:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3432:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3422:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3422:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3422:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3453:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3456:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3446:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3446:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3446:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3287:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3562:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3579:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3582:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3572:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3572:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3572:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3473:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3685:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3702:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3705:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3695:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3695:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3695:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3596:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3767:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3777:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3795:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3802:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3791:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3811:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3807:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3807:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3787:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3777:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3750:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3760:6:1",
"type": ""
}
],
"src": "3719:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3870:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3927:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3939:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3929:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3929:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3929:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3893:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3918:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3900:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3900:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3890:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3890:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3883:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3883:43:1"
},
"nodeType": "YulIf",
"src": "3880:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3863:5:1",
"type": ""
}
],
"src": "3827: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_bytes1_to_t_bytes1_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes1(value))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bytes1__to_t_bytes1__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes1_to_t_bytes1_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_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_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, 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_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_bytes1(value) -> cleaned {\n cleaned := and(value, 0xff00000000000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function 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 panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80630317d5f3146100515780633a7d22bc1461005b578063be1c766b1461008b578063ee495002146100a9575b600080fd5b6100596100c7565b005b610075600480360381019061007091906102ad565b61018b565b6040516100829190610331565b60405180910390f35b6100936101f5565b6040516100a0919061036e565b60405180910390f35b6100b161020a565b6040516100be919061034c565b60405180910390f35b6000808054806100d69061040e565b80601f81146100e4576100fa565b83600052602060002060ff1984168155603f9350505b5060028201835560018101925050506001900381546001161561012c5790600052602060002090602091828204019190065b7f640000000000000000000000000000000000000000000000000000000000000090919091601f036101000a81548160ff021916907f010000000000000000000000000000000000000000000000000000000000000084040217905550565b60008082815461019a9061040e565b81106101a9576101a861046f565b5b8154600116156101c85790600052602060002090602091828204019190065b9054901a7f0100000000000000000000000000000000000000000000000000000000000000029050919050565b60008080546102039061040e565b9050905090565b600080546102179061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546102439061040e565b80156102905780601f1061026557610100808354040283529160200191610290565b820191906000526020600020905b81548152906001019060200180831161027357829003601f168201915b505050505081565b6000813590506102a7816104b4565b92915050565b6000602082840312156102c3576102c261049e565b5b60006102d184828501610298565b91505092915050565b6102e3816103a5565b82525050565b60006102f482610389565b6102fe8185610394565b935061030e8185602086016103db565b610317816104a3565b840191505092915050565b61032b816103d1565b82525050565b600060208201905061034660008301846102da565b92915050565b6000602082019050818103600083015261036681846102e9565b905092915050565b60006020820190506103836000830184610322565b92915050565b600081519050919050565b600082825260208201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60005b838110156103f95780820151818401526020810190506103de565b83811115610408576000848401525b50505050565b6000600282049050600182168061042657607f821691505b6020821081141561043a57610439610440565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b6104bd816103d1565b81146104c857600080fd5b5056fea2646970667358221220eee60ef793d826eebfc739a2e8123b430b705805df4b298b916c645cf225193264736f6c63430008070033",
"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 0x317D5F3 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x3A7D22BC EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0xBE1C766B EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xEE495002 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xC7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x70 SWAP2 SWAP1 PUSH2 0x2AD JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x331 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x1F5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x36E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH2 0x20A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x34C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD DUP1 PUSH2 0xD6 SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP1 PUSH1 0x1F DUP2 EQ PUSH2 0xE4 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0xFF NOT DUP5 AND DUP2 SSTORE PUSH1 0x3F SWAP4 POP POP JUMPDEST POP PUSH1 0x2 DUP3 ADD DUP4 SSTORE PUSH1 0x1 DUP2 ADD SWAP3 POP POP POP PUSH1 0x1 SWAP1 SUB DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x12C JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST PUSH32 0x6400000000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP2 SWAP1 SWAP2 PUSH1 0x1F SUB PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 DUP5 DIV MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD PUSH2 0x19A SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP2 LT PUSH2 0x1A9 JUMPI PUSH2 0x1A8 PUSH2 0x46F JUMP JUMPDEST JUMPDEST DUP2 SLOAD PUSH1 0x1 AND ISZERO PUSH2 0x1C8 JUMPI SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD JUMPDEST SWAP1 SLOAD SWAP1 BYTE PUSH32 0x100000000000000000000000000000000000000000000000000000000000000 MUL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD PUSH2 0x203 SWAP1 PUSH2 0x40E JUMP JUMPDEST SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x217 SWAP1 PUSH2 0x40E 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 0x243 SWAP1 PUSH2 0x40E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x290 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x265 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x290 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 0x273 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A7 DUP2 PUSH2 0x4B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C3 JUMPI PUSH2 0x2C2 PUSH2 0x49E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D1 DUP5 DUP3 DUP6 ADD PUSH2 0x298 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2E3 DUP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2F4 DUP3 PUSH2 0x389 JUMP JUMPDEST PUSH2 0x2FE DUP2 DUP6 PUSH2 0x394 JUMP JUMPDEST SWAP4 POP PUSH2 0x30E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3DB JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x4A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x32B DUP2 PUSH2 0x3D1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x346 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DA 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 0x366 DUP2 DUP5 PUSH2 0x2E9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x383 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x322 JUMP JUMPDEST 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 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3DE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x408 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 0x426 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x440 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4BD DUP2 PUSH2 0x3D1 JUMP JUMPDEST DUP2 EQ PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEE 0xE6 0xE 0xF7 SWAP4 0xD8 0x26 0xEE 0xBF 0xC7 CODECOPY LOG2 0xE8 SLT EXTCODESIZE NUMBER SIGNEXTEND PUSH17 0x5805DF4B298B916C645CF225193264736F PUSH13 0x63430008070033000000000000 ",
"sourceMap": "70:300:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:63;;;:::i;:::-;;189:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;284:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;91:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;120:63;164:2;:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;120:63::o;189:89::-;237:6;266:2;269:1;266:5;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:12;;189:89;;;:::o;284:84::-;325:4;352:2;:9;;;;;:::i;:::-;;;345:16;;284:84;:::o;91:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:115::-;572:23;589:5;572:23;:::i;:::-;567:3;560:36;487:115;;:::o;608:360::-;694:3;722:38;754:5;722:38;:::i;:::-;776:70;839:6;834:3;776:70;:::i;:::-;769:77;;855:52;900:6;895:3;888:4;881:5;877:16;855:52;:::i;:::-;932:29;954:6;932:29;:::i;:::-;927:3;923:39;916:46;;698:270;608:360;;;;:::o;974:118::-;1061:24;1079:5;1061:24;:::i;:::-;1056:3;1049:37;974:118;;:::o;1098:218::-;1189:4;1227:2;1216:9;1212:18;1204:26;;1240:69;1306:1;1295:9;1291:17;1282:6;1240:69;:::i;:::-;1098:218;;;;:::o;1322:309::-;1433:4;1471:2;1460:9;1456:18;1448:26;;1520:9;1514:4;1510:20;1506:1;1495:9;1491:17;1484:47;1548:76;1619:4;1610:6;1548:76;:::i;:::-;1540:84;;1322:309;;;;:::o;1637:222::-;1730:4;1768:2;1757:9;1753:18;1745:26;;1781:71;1849:1;1838:9;1834:17;1825:6;1781:71;:::i;:::-;1637:222;;;;:::o;1946:98::-;1997:6;2031:5;2025:12;2015:22;;1946:98;;;:::o;2050:168::-;2133:11;2167:6;2162:3;2155:19;2207:4;2202:3;2198:14;2183:29;;2050:168;;;;:::o;2224:149::-;2260:7;2300:66;2293:5;2289:78;2278:89;;2224:149;;;:::o;2379:77::-;2416:7;2445:5;2434:16;;2379:77;;;:::o;2462:307::-;2530:1;2540:113;2554:6;2551:1;2548:13;2540:113;;;2639:1;2634:3;2630:11;2624:18;2620:1;2615:3;2611:11;2604:39;2576:2;2573:1;2569:10;2564:15;;2540:113;;;2671:6;2668:1;2665:13;2662:101;;;2751:1;2742:6;2737:3;2733:16;2726:27;2662:101;2511:258;2462:307;;;:::o;2775:320::-;2819:6;2856:1;2850:4;2846:12;2836:22;;2903:1;2897:4;2893:12;2924:18;2914:81;;2980:4;2972:6;2968:17;2958:27;;2914:81;3042:2;3034:6;3031:14;3011:18;3008:38;3005:84;;;3061:18;;:::i;:::-;3005:84;2826:269;2775:320;;;:::o;3101:180::-;3149:77;3146:1;3139:88;3246:4;3243:1;3236:15;3270:4;3267:1;3260:15;3287:180;3335:77;3332:1;3325:88;3432:4;3429:1;3422:15;3456:4;3453:1;3446:15;3596:117;3705:1;3702;3695:12;3719:102;3760:6;3811:2;3807:7;3802:2;3795:5;3791:14;3787:28;3777:38;;3719:102;;;:::o;3827:122::-;3900:24;3918:5;3900:24;:::i;:::-;3893:5;3890:35;3880:63;;3939:1;3936;3929:12;3880:63;3827:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "256200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"b1()": "infinite",
"getElement(uint256)": "7190",
"getLength()": "2595",
"pushElement()": "74798"
}
},
"methodIdentifiers": {
"b1()": "ee495002",
"getElement(uint256)": "3a7d22bc",
"getLength()": "be1c766b",
"pushElement()": "0317d5f3"
}
},
"abi": [
{
"inputs": [],
"name": "b1",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "getElement",
"outputs": [
{
"internalType": "bytes1",
"name": "",
"type": "bytes1"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "b1",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "getElement",
"outputs": [
{
"internalType": "bytes1",
"name": "",
"type": "bytes1"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"bytesArrayDynamic.sol": "Array"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"bytesArrayDynamic.sol": {
"keccak256": "0xf67c67e612986f9979348a47061fceb5553751c9cbf4f8c201e8711387135204",
"license": "GPL-3.0",
"urls": [
"bzz-raw://cf6f6c462092b545be80b2f04103c0ba0dcd0c7982c66f6d4ce6ab2fe0cc500d",
"dweb:/ipfs/QmZh2KhDfF63t8MEXbZ4ypRLkL5tjPPGvRM8j1WTVMDqJU"
]
}
},
"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": "60806040526040518060800160405280600a61ffff168152602001602061ffff168152602001602b61ffff16815260200161028e61ffff16815250600090600461004a92919061005d565b5034801561005757600080fd5b506100c0565b8260048101928215610092579160200282015b82811115610091578251829061ffff16905591602001919060010190610070565b5b50905061009f91906100a3565b5090565b5b808211156100bc5760008160009055506001016100a4565b5090565b610229806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f7b6d32146100465780635298f36d1461006457806371e5ee5f14610080575b600080fd5b61004e6100b0565b60405161005b9190610183565b60405180910390f35b61007e60048036038101906100799190610134565b6100b9565b005b61009a60048036038101906100959190610107565b6100d7565b6040516100a79190610183565b60405180910390f35b60006004905090565b80600083600481106100ce576100cd6101a8565b5b01819055505050565b600081600481106100e757600080fd5b016000915090505481565b600081359050610101816101dc565b92915050565b60006020828403121561011d5761011c6101d7565b5b600061012b848285016100f2565b91505092915050565b6000806040838503121561014b5761014a6101d7565b5b6000610159858286016100f2565b925050602061016a858286016100f2565b9150509250929050565b61017d8161019e565b82525050565b60006020820190506101986000830184610174565b92915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6101e58161019e565b81146101f057600080fd5b5056fea2646970667358221220a07bee2e4f32241b978bed6c28dda2cce58bec8a1305e73452cd5e2aa9db529764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA PUSH2 0xFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x20 PUSH2 0xFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2B PUSH2 0xFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x28E PUSH2 0xFFFF AND DUP2 MSTORE POP PUSH1 0x0 SWAP1 PUSH1 0x4 PUSH2 0x4A SWAP3 SWAP2 SWAP1 PUSH2 0x5D JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x57 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC0 JUMP JUMPDEST DUP3 PUSH1 0x4 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x92 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x91 JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH2 0xFFFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x70 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x9F SWAP2 SWAP1 PUSH2 0xA3 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xBC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xA4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x229 DUP1 PUSH2 0xCF 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x5298F36D EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x183 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x134 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x107 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x183 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP4 PUSH1 0x4 DUP2 LT PUSH2 0xCE JUMPI PUSH2 0xCD PUSH2 0x1A8 JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x101 DUP2 PUSH2 0x1DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11D JUMPI PUSH2 0x11C PUSH2 0x1D7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12B DUP5 DUP3 DUP6 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14B JUMPI PUSH2 0x14A PUSH2 0x1D7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x159 DUP6 DUP3 DUP7 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x16A DUP6 DUP3 DUP7 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x17D DUP2 PUSH2 0x19E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x198 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x174 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E5 DUP2 PUSH2 0x19E JUMP JUMPDEST DUP2 EQ PUSH2 0x1F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 PUSH28 0xEE2E4F32241B978BED6C28DDA2CCE58BEC8A1305E73452CD5E2AA9DB MSTORE SWAP8 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:246:0:-:0;;;96:35;;;;;;;;118:2;96:35;;;;;;121:2;96:35;;;;;;124:2;96:35;;;;;;127:3;96:35;;;;;;;;;;;;;:::i;:::-;;70:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@arr_10": {
"entryPoint": 215,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"@length_33": {
"entryPoint": 176,
"id": 33,
"parameterSlots": 0,
"returnSlots": 1
},
"@setter_24": {
"entryPoint": 185,
"id": 24,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 242,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 263,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 308,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 372,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 387,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 414,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x32": {
"entryPoint": 424,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 471,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 476,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2040: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": "570:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "616:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "618:77:1"
},
"nodeType": "YulFunctionCall",
"src": "618:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "618:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "591:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "600:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "587:3:1"
},
"nodeType": "YulFunctionCall",
"src": "587:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "583:3:1"
},
"nodeType": "YulFunctionCall",
"src": "583:32:1"
},
"nodeType": "YulIf",
"src": "580:119:1"
},
{
"nodeType": "YulBlock",
"src": "709:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "724:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "738:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "728:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "753:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "788:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "799:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "784:3:1"
},
"nodeType": "YulFunctionCall",
"src": "784:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "808:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "763:20:1"
},
"nodeType": "YulFunctionCall",
"src": "763:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "753:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "836:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "851:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "865:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "855: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": "value1",
"nodeType": "YulIdentifier",
"src": "881:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "532:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "543:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "555:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "563:6:1",
"type": ""
}
],
"src": "487:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1032:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1049:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1072:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1054:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1054:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1042:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1042:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1042:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1020:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1027:3:1",
"type": ""
}
],
"src": "967:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1189:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1199:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1211:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1222:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1207:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1207:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1199:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1279:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1292:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1303:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1288:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1235:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1235:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1235:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1161:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1173:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1184:4:1",
"type": ""
}
],
"src": "1091:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1359:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1369:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1385:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1379:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1379:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1369:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1352:6:1",
"type": ""
}
],
"src": "1319:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1445:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1455:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1466:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1455:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1427:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1437:7:1",
"type": ""
}
],
"src": "1400:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1511:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1528:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1531:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1521:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1521:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1625:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1628:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1618:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1618:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1649:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1652:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1642:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1642:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1642:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "1483:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1758:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1775:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1778:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1768:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1768:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1768:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1669:117: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_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1792:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1958:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2015:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2024:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2027:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2017:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2017:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1981:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2006:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1988:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1988:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1978:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1978:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1971:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1971:43:1"
},
"nodeType": "YulIf",
"src": "1968:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1951:5:1",
"type": ""
}
],
"src": "1915: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_decode_tuple_t_uint256t_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_uint256(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_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 panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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_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": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631f7b6d32146100465780635298f36d1461006457806371e5ee5f14610080575b600080fd5b61004e6100b0565b60405161005b9190610183565b60405180910390f35b61007e60048036038101906100799190610134565b6100b9565b005b61009a60048036038101906100959190610107565b6100d7565b6040516100a79190610183565b60405180910390f35b60006004905090565b80600083600481106100ce576100cd6101a8565b5b01819055505050565b600081600481106100e757600080fd5b016000915090505481565b600081359050610101816101dc565b92915050565b60006020828403121561011d5761011c6101d7565b5b600061012b848285016100f2565b91505092915050565b6000806040838503121561014b5761014a6101d7565b5b6000610159858286016100f2565b925050602061016a858286016100f2565b9150509250929050565b61017d8161019e565b82525050565b60006020820190506101986000830184610174565b92915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6101e58161019e565b81146101f057600080fd5b5056fea2646970667358221220a07bee2e4f32241b978bed6c28dda2cce58bec8a1305e73452cd5e2aa9db529764736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x5298F36D EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x183 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x134 JUMP JUMPDEST PUSH2 0xB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x107 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x183 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x4 SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP4 PUSH1 0x4 DUP2 LT PUSH2 0xCE JUMPI PUSH2 0xCD PUSH2 0x1A8 JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 LT PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x101 DUP2 PUSH2 0x1DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11D JUMPI PUSH2 0x11C PUSH2 0x1D7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12B DUP5 DUP3 DUP6 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14B JUMPI PUSH2 0x14A PUSH2 0x1D7 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x159 DUP6 DUP3 DUP7 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x16A DUP6 DUP3 DUP7 ADD PUSH2 0xF2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x17D DUP2 PUSH2 0x19E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x198 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x174 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E5 DUP2 PUSH2 0x19E JUMP JUMPDEST DUP2 EQ PUSH2 0x1F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 PUSH28 0xEE2E4F32241B978BED6C28DDA2CCE58BEC8A1305E73452CD5E2AA9DB MSTORE SWAP8 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:246:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;232:82;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;138:84;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;96:35;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;232:82;270:4;297:10;290:17;;232:82;:::o;138:84::-;210:5;199:3;203:5;199:10;;;;;;;:::i;:::-;;;:16;;;;138:84;;:::o;96:35::-;;;;;;;;;;;;;;;;;;;;:::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:474::-;555:6;563;612:2;600:9;591:7;587:23;583:32;580:119;;;618:79;;:::i;:::-;580:119;738:1;763:53;808:7;799:6;788:9;784:22;763:53;:::i;:::-;753:63;;709:117;865:2;891:53;936:7;927:6;916:9;912:22;891:53;:::i;:::-;881:63;;836:118;487:474;;;;;:::o;967:118::-;1054:24;1072:5;1054:24;:::i;:::-;1049:3;1042:37;967:118;;:::o;1091:222::-;1184:4;1222:2;1211:9;1207:18;1199:26;;1235:71;1303:1;1292:9;1288:17;1279:6;1235:71;:::i;:::-;1091:222;;;;:::o;1400:77::-;1437:7;1466:5;1455:16;;1400:77;;;:::o;1483:180::-;1531:77;1528:1;1521:88;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1792:117;1901:1;1898;1891:12;1915:122;1988:24;2006:5;1988:24;:::i;:::-;1981:5;1978:35;1968:63;;2027:1;2024;2017:12;1968:63;1915:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "110600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"arr(uint256)": "infinite",
"length()": "315",
"setter(uint256,uint256)": "infinite"
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f",
"length()": "1f7b6d32",
"setter(uint256,uint256)": "5298f36d"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "setter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "setter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"arrayIntro.sol": "ArrayIntro"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"arrayIntro.sol": {
"keccak256": "0xbcebe88a3ff2a27bff54074c795fd52c64b8a70f6de11e28f97a46611cd035bb",
"license": "GPL-3.0",
"urls": [
"bzz-raw://d1b213f2843e580bbf23157e4d2ff230bff384a250e67b605a065efd9246cca7",
"dweb:/ipfs/QmbZh4K8C9iTb4BDLdnV4H6XrFxnDyfSF17xbVmX7Lews7"
]
}
},
"version": 1
}
{
"id": "cebfb2351823b1c8055fd123bd7ae667",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"artifacts/getterSetter.sol": {
"content": ""
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> artifacts/getterSetter.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "artifacts/getterSetter.sol",
"start": -1
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "3420",
"formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.7;\"\n--> artifacts/getterSetter.sol\n\n",
"message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.7;\"",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "artifacts/getterSetter.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"artifacts/getterSetter.sol": {
"ast": {
"absolutePath": "artifacts/getterSetter.sol",
"exportedSymbols": {},
"id": 1,
"nodeType": "SourceUnit",
"nodes": [],
"src": "0:0:0"
},
"id": 0
}
}
}
}
{
"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": "608060405234801561001057600080fd5b506101c8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633fa4f2451461003b5780635f72f45014610059575b600080fd5b610043610089565b6040516100509190610145565b60405180910390f35b610073600480360381019061006e9190610109565b61009a565b6040516100809190610145565b60405180910390f35b60008054906101000a900460ff1681565b600060648211156100c45760016000806101000a81548160ff0219169083151502179055506100df565b60008060006101000a81548160ff0219169083151502179055505b60008054906101000a900460ff169050919050565b6000813590506101038161017b565b92915050565b60006020828403121561011f5761011e610176565b5b600061012d848285016100f4565b91505092915050565b61013f81610160565b82525050565b600060208201905061015a6000830184610136565b92915050565b60008115159050919050565b6000819050919050565b600080fd5b6101848161016c565b811461018f57600080fd5b5056fea26469706673582212202c364ab96b5433ca9f00f9df7a0e32164b470ea5c525686960d844ccdfa6a57f64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C8 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5F72F450 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xC4 JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0xDF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0x17B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0x176 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0x160 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 DUP2 PUSH2 0x16C JUMP JUMPDEST DUP2 EQ PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2C CALLDATASIZE 0x4A 0xB9 PUSH12 0x5433CA9F00F9DF7A0E32164B SELFBALANCE 0xE 0xA5 0xC5 0x25 PUSH9 0x6960D844CCDFA6A57F PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:255:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@check_27": {
"entryPoint": 154,
"id": 27,
"parameterSlots": 1,
"returnSlots": 1
},
"@value_3": {
"entryPoint": 137,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 265,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 310,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 325,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 352,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 364,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 374,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 379,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1449: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": "546:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "563:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "583:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "568:14:1"
},
"nodeType": "YulFunctionCall",
"src": "568:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nodeType": "YulFunctionCall",
"src": "556:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "556:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "534:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "541:3:1",
"type": ""
}
],
"src": "487:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "694:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "704:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "716:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "727:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "712:3:1"
},
"nodeType": "YulFunctionCall",
"src": "712:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "704:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "778:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "791:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "802:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "787:3:1"
},
"nodeType": "YulFunctionCall",
"src": "787:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "740:37:1"
},
"nodeType": "YulFunctionCall",
"src": "740:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "740:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "666:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "678:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "689:4:1",
"type": ""
}
],
"src": "602:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "858:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "868:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "884:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "878:5:1"
},
"nodeType": "YulFunctionCall",
"src": "878:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "868:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "851:6:1",
"type": ""
}
],
"src": "818:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "941:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "951:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "976:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "969:6:1"
},
"nodeType": "YulFunctionCall",
"src": "969:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "962:6:1"
},
"nodeType": "YulFunctionCall",
"src": "962:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "951:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "923:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "933:7:1",
"type": ""
}
],
"src": "899:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1040:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1050:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1061:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1050:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1022:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1032:7:1",
"type": ""
}
],
"src": "995:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1167:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1184:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1187:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1177:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1177:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1177:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1078:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1290:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1307:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1310:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1300:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1300:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1300:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1201:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1367:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1424:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1433:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1436:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1426:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1426:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1426:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1390:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1415:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1397:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1397:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1387:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1387:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1380:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1380:43:1"
},
"nodeType": "YulIf",
"src": "1377:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1360:5:1",
"type": ""
}
],
"src": "1324: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_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_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\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": "608060405234801561001057600080fd5b50600436106100365760003560e01c80633fa4f2451461003b5780635f72f45014610059575b600080fd5b610043610089565b6040516100509190610145565b60405180910390f35b610073600480360381019061006e9190610109565b61009a565b6040516100809190610145565b60405180910390f35b60008054906101000a900460ff1681565b600060648211156100c45760016000806101000a81548160ff0219169083151502179055506100df565b60008060006101000a81548160ff0219169083151502179055505b60008054906101000a900460ff169050919050565b6000813590506101038161017b565b92915050565b60006020828403121561011f5761011e610176565b5b600061012d848285016100f4565b91505092915050565b61013f81610160565b82525050565b600060208201905061015a6000830184610136565b92915050565b60008115159050919050565b6000819050919050565b600080fd5b6101848161016c565b811461018f57600080fd5b5056fea26469706673582212202c364ab96b5433ca9f00f9df7a0e32164b470ea5c525686960d844ccdfa6a57f64736f6c63430008070033",
"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 0x3FA4F245 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x5F72F450 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x9A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x80 SWAP2 SWAP1 PUSH2 0x145 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xC4 JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0xDF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x103 DUP2 PUSH2 0x17B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0x176 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x12D DUP5 DUP3 DUP6 ADD PUSH2 0xF4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x13F DUP2 PUSH2 0x160 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x136 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 DUP2 PUSH2 0x16C JUMP JUMPDEST DUP2 EQ PUSH2 0x18F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2C CALLDATASIZE 0x4A 0xB9 PUSH12 0x5433CA9F00F9DF7A0E32164B SELFBALANCE 0xE 0xA5 0xC5 0x25 PUSH9 0x6960D844CCDFA6A57F PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:255:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;101:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;101:17;;;;;;;;;;;;:::o;125:197::-;163:4;188:3;186:1;:5;183:111;;;221:4;215:5;;:10;;;;;;;;;;;;;;;;;;183:111;;;278:5;272;;:11;;;;;;;;;;;;;;;;;;183:111;310:5;;;;;;;;;;303:12;;125:197;;;:::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:109::-;568:21;583:5;568:21;:::i;:::-;563:3;556:34;487:109;;:::o;602:210::-;689:4;727:2;716:9;712:18;704:26;;740:65;802:1;791:9;787:17;778:6;740:65;:::i;:::-;602:210;;;;:::o;899:90::-;933:7;976:5;969:13;962:21;951:32;;899:90;;;:::o;995:77::-;1032:7;1061:5;1050:16;;995:77;;;:::o;1201:117::-;1310:1;1307;1300:12;1324:122;1397:24;1415:5;1397:24;:::i;:::-;1390:5;1387:35;1377:63;;1436:1;1433;1426:12;1377:63;1324:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "91200",
"executionCost": "141",
"totalCost": "91341"
},
"external": {
"check(uint256)": "27045",
"value()": "2446"
}
},
"methodIdentifiers": {
"check(uint256)": "5f72f450",
"value()": "3fa4f245"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
}
],
"name": "check",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "value",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
}
],
"name": "check",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "value",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"boolean.sol": "BooleanContract"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"boolean.sol": {
"keccak256": "0x28a9124c562d912eca94b97c4bf8638353946731ec449ae71cd43fdc7a45a13a",
"license": "GPL-3.0",
"urls": [
"bzz-raw://9a1ed5c1fc101855f3fe1f1bc937b859230427f9d73df3ef36e1607b65da725c",
"dweb:/ipfs/QmQXRUFdjm54iTezvaPz4A4EHWLiYpoxtQ4KkmC3HEEmWB"
]
}
},
"version": 1
}
{
"id": "0024296146c50767421fbf9174844929",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"local.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.5.0 <0.9.0;\n\ncontract Local {}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"local.sol": {
"Local": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"local.sol\":70:87 contract Local {} */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"local.sol\":70:87 contract Local {} */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122076670889ef56db2ab7fd75573c36db649f6543d335728d5a984dbd679c9e5b3364736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122076670889ef56db2ab7fd75573c36db649f6543d335728d5a984dbd679c9e5b3364736f6c63430008070033",
"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 PUSH23 0x670889EF56DB2AB7FD75573C36DB649F6543D335728D5A SWAP9 0x4D 0xBD PUSH8 0x9C9E5B3364736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "70:17:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122076670889ef56db2ab7fd75573c36db649f6543d335728d5a984dbd679c9e5b3364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0x670889EF56DB2AB7FD75573C36DB649F6543D335728D5A SWAP9 0x4D 0xBD PUSH8 0x9C9E5B3364736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "70:17:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 87,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 87,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 87,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 87,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 87,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 87,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 87,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122076670889ef56db2ab7fd75573c36db649f6543d335728d5a984dbd679c9e5b3364736f6c63430008070033",
".code": [
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 87,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 87,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 87,
"name": "REVERT",
"source": 0
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"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\":{\"local.sol\":\"Local\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"local.sol\":{\"keccak256\":\"0x0f4e70058ea7fec7da428af57b3211f3eeec8467726cde51b64dd918efafbae6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://edd12cde6d02c905a01db5d588ec21bd974618fe58bfcc110fdb9dc301c4a56e\",\"dweb:/ipfs/QmUSDV1UoteiG9ehYe5tLJzf4MsT7NERMu6cAK77FoXU2n\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"local.sol": {
"ast": {
"absolutePath": "local.sol",
"exportedSymbols": {
"Local": [
2
]
},
"id": 3,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.5",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "37:31:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2,
"linearizedBaseContracts": [
2
],
"name": "Local",
"nameLocation": "79:5:0",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 3,
"src": "70:17:0",
"usedErrors": []
}
],
"src": "37:50:0"
},
"id": 0
}
}
}
}
{
"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": "608060405234801561001057600080fd5b50610242806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806356d88e271461005157806371e5ee5f1461006f57806378321efb1461009f5780639a6fcbdd146100bb575b600080fd5b6100596100c5565b604051610066919061019c565b60405180910390f35b61008960048036038101906100849190610160565b6100d1565b604051610096919061019c565b60405180910390f35b6100b960048036038101906100b49190610160565b6100f5565b005b6100c3610121565b005b60008080549050905090565b600081815481106100e157600080fd5b906000526020600020016000915090505481565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000805480610133576101326101c1565b5b60019003818190600052602060002001600090559055565b60008135905061015a816101f5565b92915050565b600060208284031215610176576101756101f0565b5b60006101848482850161014b565b91505092915050565b610196816101b7565b82525050565b60006020820190506101b1600083018461018d565b92915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600080fd5b6101fe816101b7565b811461020957600080fd5b5056fea264697066735822122067f459d86a58691a3adaf3538f23fb277cb0513cd7df5f679b3d1d287e2a142564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x242 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 0x56D88E27 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x78321EFB EQ PUSH2 0x9F JUMPI DUP1 PUSH4 0x9A6FCBDD EQ PUSH2 0xBB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x19C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH2 0xD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x19C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC3 PUSH2 0x121 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x133 JUMPI PUSH2 0x132 PUSH2 0x1C1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x15A DUP2 PUSH2 0x1F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x176 JUMPI PUSH2 0x175 PUSH2 0x1F0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x196 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FE DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x209 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0xF459D86A58691A3A 0xDA RETURN MSTORE8 DUP16 0x23 0xFB 0x27 PUSH29 0xB0513CD7DF5F679B3D1D287E2A142564736F6C63430008070033000000 ",
"sourceMap": "70:278:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@arr_4": {
"entryPoint": 209,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@len_25": {
"entryPoint": 197,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"@popElement_34": {
"entryPoint": 289,
"id": 34,
"parameterSlots": 0,
"returnSlots": 0
},
"@pushElement_16": {
"entryPoint": 245,
"id": 16,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 331,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 352,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 397,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 412,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 439,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x31": {
"entryPoint": 449,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 496,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1560: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": "1031:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1048:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1051:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1041:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1041:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1041:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1145:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1148:4:1",
"type": "",
"value": "0x31"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1138:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1138:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1138:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1169:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1172:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1162:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1162:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1162:15:1"
}
]
},
"name": "panic_error_0x31",
"nodeType": "YulFunctionDefinition",
"src": "1003:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1278:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1295:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1298:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1288:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1288:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1288:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1189:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1401:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1418:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1421:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1411:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1411:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1411:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1312:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1478:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1535:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1544:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1547:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1537:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1537:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1537:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1501:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1526:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1508:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1508:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1498:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1498:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1491:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1491:43:1"
},
"nodeType": "YulIf",
"src": "1488:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1471:5:1",
"type": ""
}
],
"src": "1435: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 panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\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_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": "608060405234801561001057600080fd5b506004361061004c5760003560e01c806356d88e271461005157806371e5ee5f1461006f57806378321efb1461009f5780639a6fcbdd146100bb575b600080fd5b6100596100c5565b604051610066919061019c565b60405180910390f35b61008960048036038101906100849190610160565b6100d1565b604051610096919061019c565b60405180910390f35b6100b960048036038101906100b49190610160565b6100f5565b005b6100c3610121565b005b60008080549050905090565b600081815481106100e157600080fd5b906000526020600020016000915090505481565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000805480610133576101326101c1565b5b60019003818190600052602060002001600090559055565b60008135905061015a816101f5565b92915050565b600060208284031215610176576101756101f0565b5b60006101848482850161014b565b91505092915050565b610196816101b7565b82525050565b60006020820190506101b1600083018461018d565b92915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600080fd5b6101fe816101b7565b811461020957600080fd5b5056fea264697066735822122067f459d86a58691a3adaf3538f23fb277cb0513cd7df5f679b3d1d287e2a142564736f6c63430008070033",
"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 0x56D88E27 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x78321EFB EQ PUSH2 0x9F JUMPI DUP1 PUSH4 0x9A6FCBDD EQ PUSH2 0xBB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xC5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x19C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH2 0xD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x19C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC3 PUSH2 0x121 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x133 JUMPI PUSH2 0x132 PUSH2 0x1C1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x15A DUP2 PUSH2 0x1F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x176 JUMPI PUSH2 0x175 PUSH2 0x1F0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x184 DUP5 DUP3 DUP6 ADD PUSH2 0x14B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x196 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FE DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x209 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH8 0xF459D86A58691A3A 0xDA RETURN MSTORE8 DUP16 0x23 0xFB 0x27 PUSH29 0xB0513CD7DF5F679B3D1D287E2A142564736F6C63430008070033000000 ",
"sourceMap": "70:278:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;98:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;122:74;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;287:59;;;:::i;:::-;;202:79;237:4;264:3;:10;;;;257:17;;202:79;:::o;98:17::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;122:74::-;175:3;184:4;175:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;122:74;:::o;287:59::-;330:3;:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;287:59::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;1003:180::-;1051:77;1048:1;1041:88;1148:4;1145:1;1138:15;1172:4;1169:1;1162:15;1312:117;1421:1;1418;1411:12;1435:122;1508:24;1526:5;1508:24;:::i;:::-;1501:5;1498:35;1488:63;;1547:1;1544;1537:12;1488:63;1435:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "115600",
"executionCost": "165",
"totalCost": "115765"
},
"external": {
"arr(uint256)": "infinite",
"len()": "2423",
"popElement()": "29489",
"pushElement(uint256)": "46851"
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f",
"len()": "56d88e27",
"popElement()": "9a6fcbdd",
"pushElement(uint256)": "78321efb"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "len",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "popElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "item",
"type": "uint256"
}
],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "len",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "popElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "item",
"type": "uint256"
}
],
"name": "pushElement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"arrayDynamicIntro.sol": "DynamicArray"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"arrayDynamicIntro.sol": {
"keccak256": "0xdaaafa165d830df76d5a054ff717c496998162db550780635cc52bd650472b06",
"license": "GPL-3.0",
"urls": [
"bzz-raw://1728222b37933302ad74dad37f8c35df85cbf043423f868e46f800a1371e766b",
"dweb:/ipfs/QmTvV8Xtv5teoCFKQDaUdkSop1NudHTFhkEQTV79h3YH5R"
]
}
},
"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": {
"panic_error_0x21": {
"entryPoint": 70,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:190:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "35:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "52:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "55:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "45:6:1"
},
"nodeType": "YulFunctionCall",
"src": "45:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "45:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "149:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "152:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "142:6:1"
},
"nodeType": "YulFunctionCall",
"src": "142:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "142:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "173:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "176:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "166:6:1"
},
"nodeType": "YulFunctionCall",
"src": "166:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "166:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "7:180:1"
}
]
},
"contents": "{\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260008060006101000a81548160ff0219169083600281111561002957610028610046565b5b02179055506103e860015534801561004057600080fd5b50610075565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b610225806100846000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631aa356101461005157806362a094771461006f5780638da5cb5b14610079578063ba13a57214610083575b600080fd5b6100596100a1565b6040516100669190610147565b60405180910390f35b6100776100b2565b005b6100816100de565b005b61008b610123565b6040516100989190610162565b60405180910390f35b60008054906101000a900460ff1681565b60016000806101000a81548160ff021916908360028111156100d7576100d66101ac565b5b0217905550565b600060028111156100f2576100f16101ac565b5b60008054906101000a900460ff166002811115610112576101116101ac565b5b14156101215760326001819055505b565b60015481565b6101328161019a565b82525050565b61014181610190565b82525050565b600060208201905061015c6000830184610129565b92915050565b60006020820190506101776000830184610138565b92915050565b600081905061018b826101db565b919050565b6000819050919050565b60006101a58261017d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106101ec576101eb6101ac565b5b5056fea26469706673582212204024a643f2dae7b8b27fd6a9ead01ac13260f036ea06ed13cbc656860388c42e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x29 JUMPI PUSH2 0x28 PUSH2 0x46 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP PUSH2 0x3E8 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x75 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x225 DUP1 PUSH2 0x84 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 0x1AA35610 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x62A09477 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xBA13A572 EQ PUSH2 0x83 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xA1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x77 PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x81 PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8B PUSH2 0x123 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xD7 JUMPI PUSH2 0xD6 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xF2 JUMPI PUSH2 0xF1 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x112 JUMPI PUSH2 0x111 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x121 JUMPI PUSH1 0x32 PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x132 DUP2 PUSH2 0x19A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x190 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x129 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x177 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x18B DUP3 PUSH2 0x1DB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A5 DUP3 PUSH2 0x17D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1EC JUMPI PUSH2 0x1EB PUSH2 0x1AC JUMP JUMPDEST JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOCKHASH 0x24 0xA6 NUMBER CALLCODE 0xDA 0xE7 0xB8 0xB2 PUSH32 0xD6A9EAD01AC13260F036EA06ED13CBC656860388C42E64736F6C634300080700 CALLER ",
"sourceMap": "70:316:0:-:0;;;150:12;134:28;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;188:4;168:24;;70:316;;;;;;;;;;;;7:180:1;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;70:316:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@changeOwner_36": {
"entryPoint": 178,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@lottery_13": {
"entryPoint": 291,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_27": {
"entryPoint": 222,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@u1_10": {
"entryPoint": 161,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_enum$_user_$5_to_t_uint8_fromStack": {
"entryPoint": 297,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 312,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_enum$_user_$5__to_t_uint8__fromStack_reversed": {
"entryPoint": 327,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 354,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_enum$_user_$5": {
"entryPoint": 381,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 400,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_user_$5_to_t_uint8": {
"entryPoint": 410,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 428,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_assert_t_enum$_user_$5": {
"entryPoint": 475,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1381:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "76:70:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "93:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "133:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_user_$5_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "98:34:1"
},
"nodeType": "YulFunctionCall",
"src": "98:41:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "86:6:1"
},
"nodeType": "YulFunctionCall",
"src": "86:54:1"
},
"nodeType": "YulExpressionStatement",
"src": "86:54:1"
}
]
},
"name": "abi_encode_t_enum$_user_$5_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "71:3:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "217:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "234:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "257:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "239:17:1"
},
"nodeType": "YulFunctionCall",
"src": "239:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "227:6:1"
},
"nodeType": "YulFunctionCall",
"src": "227:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "227:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "205:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "212:3:1",
"type": ""
}
],
"src": "152:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "378:128:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "388:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "400:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "396:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "388:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "472:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_user_$5_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "424:47:1"
},
"nodeType": "YulFunctionCall",
"src": "424:75:1"
},
"nodeType": "YulExpressionStatement",
"src": "424:75:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_user_$5__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "350:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "362:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "373:4:1",
"type": ""
}
],
"src": "276:230:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "610:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "620:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "632:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "643:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "628:3:1"
},
"nodeType": "YulFunctionCall",
"src": "628:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "620:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "713:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "724:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "709:3:1"
},
"nodeType": "YulFunctionCall",
"src": "709:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "656:43:1"
},
"nodeType": "YulFunctionCall",
"src": "656:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "656:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "582:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "594:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "605:4:1",
"type": ""
}
],
"src": "512:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "791:72:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "801:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "812:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "801:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "851:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_user_$5",
"nodeType": "YulIdentifier",
"src": "818:32:1"
},
"nodeType": "YulFunctionCall",
"src": "818:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "818:39:1"
}
]
},
"name": "cleanup_t_enum$_user_$5",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "773:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "783:7:1",
"type": ""
}
],
"src": "740:123:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "914:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "924:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "935:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "924:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "896:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "906:7:1",
"type": ""
}
],
"src": "869:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1016:59:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1026:43:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1063:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_user_$5",
"nodeType": "YulIdentifier",
"src": "1039:23:1"
},
"nodeType": "YulFunctionCall",
"src": "1039:30:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1026:9:1"
}
]
}
]
},
"name": "convert_t_enum$_user_$5_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "996:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1006:9:1",
"type": ""
}
],
"src": "952:123:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1126:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1129:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1119:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1119:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1119:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1223:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1226:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1216:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1216:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1216:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1247:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1250:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1240:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1240:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "1081:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1316:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1350:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "1352:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1352:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1352:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1339:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1346:1:1",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1336:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1336:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1329:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:20:1"
},
"nodeType": "YulIf",
"src": "1326:46:1"
}
]
},
"name": "validator_assert_t_enum$_user_$5",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1309:5:1",
"type": ""
}
],
"src": "1267:111:1"
}
]
},
"contents": "{\n\n function abi_encode_t_enum$_user_$5_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_user_$5_to_t_uint8(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_enum$_user_$5__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_user_$5_to_t_uint8_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 cleanup_t_enum$_user_$5(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_user_$5(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_enum$_user_$5_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_user_$5(value)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_user_$5(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80631aa356101461005157806362a094771461006f5780638da5cb5b14610079578063ba13a57214610083575b600080fd5b6100596100a1565b6040516100669190610147565b60405180910390f35b6100776100b2565b005b6100816100de565b005b61008b610123565b6040516100989190610162565b60405180910390f35b60008054906101000a900460ff1681565b60016000806101000a81548160ff021916908360028111156100d7576100d66101ac565b5b0217905550565b600060028111156100f2576100f16101ac565b5b60008054906101000a900460ff166002811115610112576101116101ac565b5b14156101215760326001819055505b565b60015481565b6101328161019a565b82525050565b61014181610190565b82525050565b600060208201905061015c6000830184610129565b92915050565b60006020820190506101776000830184610138565b92915050565b600081905061018b826101db565b919050565b6000819050919050565b60006101a58261017d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106101ec576101eb6101ac565b5b5056fea26469706673582212204024a643f2dae7b8b27fd6a9ead01ac13260f036ea06ed13cbc656860388c42e64736f6c63430008070033",
"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 0x1AA35610 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x62A09477 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xBA13A572 EQ PUSH2 0x83 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xA1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x77 PUSH2 0xB2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x81 PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8B PUSH2 0x123 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x98 SWAP2 SWAP1 PUSH2 0x162 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xD7 JUMPI PUSH2 0xD6 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xF2 JUMPI PUSH2 0xF1 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x112 JUMPI PUSH2 0x111 PUSH2 0x1AC JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x121 JUMPI PUSH1 0x32 PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x132 DUP2 PUSH2 0x19A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x141 DUP2 PUSH2 0x190 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x129 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x177 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x138 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x18B DUP3 PUSH2 0x1DB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A5 DUP3 PUSH2 0x17D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1EC JUMPI PUSH2 0x1EB PUSH2 0x1AC JUMP JUMPDEST JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOCKHASH 0x24 0xA6 NUMBER CALLCODE 0xDA 0xE7 0xB8 0xB2 PUSH32 0xD6A9EAD01AC13260F036EA06ED13CBC656860388C42E64736F6C634300080700 CALLER ",
"sourceMap": "70:316:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;134:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;314:70;;;:::i;:::-;;199:109;;;:::i;:::-;;168:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;134:28;;;;;;;;;;;;:::o;314:70::-;361:16;358:2;;:19;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;314:70::o;199:109::-;245:12;241:16;;;;;;;;:::i;:::-;;:2;;;;;;;;;;:16;;;;;;;;:::i;:::-;;;238:64;;;289:2;281:7;:10;;;;238:64;199:109::o;168:24::-;;;;:::o;7:139:1:-;98:41;133:5;98:41;:::i;:::-;93:3;86:54;7:139;;:::o;152:118::-;239:24;257:5;239:24;:::i;:::-;234:3;227:37;152:118;;:::o;276:230::-;373:4;411:2;400:9;396:18;388:26;;424:75;496:1;485:9;481:17;472:6;424:75;:::i;:::-;276:230;;;;:::o;512:222::-;605:4;643:2;632:9;628:18;620:26;;656:71;724:1;713:9;709:17;700:6;656:71;:::i;:::-;512:222;;;;:::o;740:123::-;783:7;812:5;801:16;;818:39;851:5;818:39;:::i;:::-;740:123;;;:::o;869:77::-;906:7;935:5;924:16;;869:77;;;:::o;952:123::-;1006:9;1039:30;1063:5;1039:30;:::i;:::-;1026:43;;952:123;;;:::o;1081:180::-;1129:77;1126:1;1119:88;1226:4;1223:1;1216:15;1250:4;1247:1;1240:15;1267:111;1346:1;1339:5;1336:12;1326:46;;1352:18;;:::i;:::-;1326:46;1267:111;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "109800",
"executionCost": "46564",
"totalCost": "156364"
},
"external": {
"changeOwner()": "24431",
"lottery()": "2473",
"owner()": "24491",
"u1()": "2535"
}
},
"methodIdentifiers": {
"changeOwner()": "62a09477",
"lottery()": "ba13a572",
"owner()": "8da5cb5b",
"u1()": "1aa35610"
}
},
"abi": [
{
"inputs": [],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "lottery",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "u1",
"outputs": [
{
"internalType": "enum Enum.user",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "changeOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "lottery",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "u1",
"outputs": [
{
"internalType": "enum Enum.user",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"enum.sol": "Enum"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"enum.sol": {
"keccak256": "0x1389653963a13d2fc84ef0e59d64ff2587cb73f29038f849a09b36e8b772a0f3",
"license": "GPL-3.0",
"urls": [
"bzz-raw://061ff34c56d8a2932b4a3b8e5a953ae64341acbe868d6dbe75966221f65cb154",
"dweb:/ipfs/QmfXRyjeyphmoakueFETH2oVe7hsGjF8QNt9XMUEA38Vk4"
]
}
},
"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": {
"@_17": {
"entryPoint": null,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 269,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 319,
"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": "608060405234801561001057600080fd5b506040518060400160405280600881526020017f416264756c6c61680000000000000000000000000000000000000000000000008152506000908051906020019061005c92919061006a565b50601760018190555061016e565b8280546100769061010d565b90600052602060002090601f01602090048101928261009857600085556100df565b82601f106100b157805160ff19168380011785556100df565b828001600101855582156100df579182015b828111156100de5782518255916020019190600101906100c3565b5b5090506100ec91906100f0565b5090565b5b808211156101095760008160009055506001016100f1565b5090565b6000600282049050600182168061012557607f821691505b602082108114156101395761013861013f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6103498061017d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806317d7de7c14610046578063457676ee14610064578063967e6e651461006e575b600080fd5b61004e61008c565b60405161005b9190610186565b60405180910390f35b61006c61011e565b005b610076610134565b60405161008391906101a8565b60405180910390f35b60606000805461009b90610272565b80601f01602080910402602001604051908101604052809291908181526020018280546100c790610272565b80156101145780601f106100e957610100808354040283529160200191610114565b820191906000526020600020905b8154815290600101906020018083116100f757829003601f168201915b5050505050905090565b6001805461012c91906101df565b600181905550565b6000600154905090565b6000610149826101c3565b61015381856101ce565b935061016381856020860161023f565b61016c81610302565b840191505092915050565b61018081610235565b82525050565b600060208201905081810360008301526101a0818461013e565b905092915050565b60006020820190506101bd6000830184610177565b92915050565b600081519050919050565b600082825260208201905092915050565b60006101ea82610235565b91506101f583610235565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561022a576102296102a4565b5b828201905092915050565b6000819050919050565b60005b8381101561025d578082015181840152602081019050610242565b8381111561026c576000848401525b50505050565b6000600282049050600182168061028a57607f821691505b6020821081141561029e5761029d6102d3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea2646970667358221220c1d0f67706f0c9c09ebe17a239e3e2b638ecf50ca1394beb83d13a7800fdb4a664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416264756C6C6168000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5C SWAP3 SWAP2 SWAP1 PUSH2 0x6A JUMP JUMPDEST POP PUSH1 0x17 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH2 0x16E JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x76 SWAP1 PUSH2 0x10D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x98 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xDF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xB1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xDF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xDF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xDE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xC3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xEC SWAP2 SWAP1 PUSH2 0xF0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x109 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xF1 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x125 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x139 JUMPI PUSH2 0x138 PUSH2 0x13F 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 0x349 DUP1 PUSH2 0x17D 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x17D7DE7C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x457676EE EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x967E6E65 EQ PUSH2 0x6E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x8C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x186 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x11E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x76 PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x1A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x9B SWAP1 PUSH2 0x272 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 0xC7 SWAP1 PUSH2 0x272 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x114 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x114 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 0xF7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149 DUP3 PUSH2 0x1C3 JUMP JUMPDEST PUSH2 0x153 DUP2 DUP6 PUSH2 0x1CE JUMP JUMPDEST SWAP4 POP PUSH2 0x163 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x23F JUMP JUMPDEST PUSH2 0x16C DUP2 PUSH2 0x302 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x180 DUP2 PUSH2 0x235 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 0x1A0 DUP2 DUP5 PUSH2 0x13E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1BD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x177 JUMP JUMPDEST 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 PUSH2 0x1EA DUP3 PUSH2 0x235 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F5 DUP4 PUSH2 0x235 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x22A JUMPI PUSH2 0x229 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x25D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x242 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x26C 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 0x28A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x29E JUMPI PUSH2 0x29D PUSH2 0x2D3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 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 0xC1 0xD0 0xF6 PUSH24 0x6F0C9C09EBE17A239E3E2B638ECF50CA1394BEB83D13A78 STOP REVERT 0xB4 0xA6 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:364:0:-:0;;;126:67;;;;;;;;;;155:15;;;;;;;;;;;;;;;;;:4;:15;;;;;;;;;;;;:::i;:::-;;184:2;180:3;:6;;;;70:364;;;;;;;;;:::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;70:364:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getAge_33": {
"entryPoint": 308,
"id": 33,
"parameterSlots": 0,
"returnSlots": 1
},
"@getName_25": {
"entryPoint": 140,
"id": 25,
"parameterSlots": 0,
"returnSlots": 1
},
"@setAge_43": {
"entryPoint": 286,
"id": 43,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 318,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 375,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 390,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 424,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 462,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 479,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 565,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 575,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 626,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 676,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 723,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 770,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2838: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": "442:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "482:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "464:17:1"
},
"nodeType": "YulFunctionCall",
"src": "464:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "452:6:1"
},
"nodeType": "YulFunctionCall",
"src": "452:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "452:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "430:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "437:3:1",
"type": ""
}
],
"src": "377:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "619:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "629:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "641:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "652:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "637:3:1"
},
"nodeType": "YulFunctionCall",
"src": "637:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "629:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "676:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "687:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "695:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "701:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "691:3:1"
},
"nodeType": "YulFunctionCall",
"src": "691:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "665:6:1"
},
"nodeType": "YulFunctionCall",
"src": "665:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "665:47:1"
},
{
"nodeType": "YulAssignment",
"src": "721:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "793:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "802:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "729:63:1"
},
"nodeType": "YulFunctionCall",
"src": "729:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "721: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": "591:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "603:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "614:4:1",
"type": ""
}
],
"src": "501:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "918:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "928:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "940:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "951:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "936:3:1"
},
"nodeType": "YulFunctionCall",
"src": "936:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "928:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1008:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1021:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1032:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1017:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "964:43:1"
},
"nodeType": "YulFunctionCall",
"src": "964:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "964:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "890:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "902:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "913:4:1",
"type": ""
}
],
"src": "820:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1107:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1118:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1134:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1128:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1118:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1100:6:1",
"type": ""
}
],
"src": "1048:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1249:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1266:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1271:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1259:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1259:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1259:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1287:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1306:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1311:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1302:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1302:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1287:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1221:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1226:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1237:11:1",
"type": ""
}
],
"src": "1153:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1372:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1382:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1405:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1387:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1387:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1382:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1416:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1439:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1421:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1421:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1416:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1581:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1581:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1581:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1500:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1507:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1575:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1503:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1503:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1497:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:81:1"
},
"nodeType": "YulIf",
"src": "1494:107:1"
},
{
"nodeType": "YulAssignment",
"src": "1611:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1622:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1625:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1611:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1359:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1362:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1368:3:1",
"type": ""
}
],
"src": "1328:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1684:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1694:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1705:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1694:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1666:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1676:7:1",
"type": ""
}
],
"src": "1639:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1771:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1781:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1790:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1785:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1850:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1875:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1880:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1871:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1871:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1894:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1899:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1890:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1890:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1884:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1884:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1864:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1864:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1864:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1811:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1814:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1808:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1808:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1822:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1824:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1833:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1836:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1829:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1829:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1824:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1804:3:1",
"statements": []
},
"src": "1800:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1947:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1997:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2002:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1993:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1993:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2011:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1986:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1986:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1986:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1928:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1931:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1925:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1925:13:1"
},
"nodeType": "YulIf",
"src": "1922:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1753:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1758:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1763:6:1",
"type": ""
}
],
"src": "1722:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2086:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2096:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2110:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2116:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2106:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2106:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2096:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2127:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2157:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2163:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2153:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2153:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "2131:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2204:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2218:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2232:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2240:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2228:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2228:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2218:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2184:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2177:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2177:26:1"
},
"nodeType": "YulIf",
"src": "2174:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2307:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "2321:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2321:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2321:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2271:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2294:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2302:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2291:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2291:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2268:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2268:38:1"
},
"nodeType": "YulIf",
"src": "2265:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2070:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2079:6:1",
"type": ""
}
],
"src": "2035:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2389:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2406:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2409:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2399:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2399:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2399:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2503:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2506:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2496:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2496:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2496:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2527:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2530:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2520:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2520:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2520:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "2361:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2575:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2592:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2595:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2585:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2585:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2585:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2689:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2692:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2682:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2682:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2682:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2713:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2716:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2706:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2706:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2706:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "2547:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2781:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2791:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2809:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2816:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2805:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2805:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2825:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2821:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2821:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2801:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2801:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2791:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2764:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2774:6:1",
"type": ""
}
],
"src": "2733: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_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\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 abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function 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_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function 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": "608060405234801561001057600080fd5b50600436106100415760003560e01c806317d7de7c14610046578063457676ee14610064578063967e6e651461006e575b600080fd5b61004e61008c565b60405161005b9190610186565b60405180910390f35b61006c61011e565b005b610076610134565b60405161008391906101a8565b60405180910390f35b60606000805461009b90610272565b80601f01602080910402602001604051908101604052809291908181526020018280546100c790610272565b80156101145780601f106100e957610100808354040283529160200191610114565b820191906000526020600020905b8154815290600101906020018083116100f757829003601f168201915b5050505050905090565b6001805461012c91906101df565b600181905550565b6000600154905090565b6000610149826101c3565b61015381856101ce565b935061016381856020860161023f565b61016c81610302565b840191505092915050565b61018081610235565b82525050565b600060208201905081810360008301526101a0818461013e565b905092915050565b60006020820190506101bd6000830184610177565b92915050565b600081519050919050565b600082825260208201905092915050565b60006101ea82610235565b91506101f583610235565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561022a576102296102a4565b5b828201905092915050565b6000819050919050565b60005b8381101561025d578082015181840152602081019050610242565b8381111561026c576000848401525b50505050565b6000600282049050600182168061028a57607f821691505b6020821081141561029e5761029d6102d3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f830116905091905056fea2646970667358221220c1d0f67706f0c9c09ebe17a239e3e2b638ecf50ca1394beb83d13a7800fdb4a664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x17D7DE7C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x457676EE EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x967E6E65 EQ PUSH2 0x6E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x8C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x186 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x11E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x76 PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x1A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x9B SWAP1 PUSH2 0x272 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 0xC7 SWAP1 PUSH2 0x272 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x114 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x114 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 0xF7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x1DF JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x149 DUP3 PUSH2 0x1C3 JUMP JUMPDEST PUSH2 0x153 DUP2 DUP6 PUSH2 0x1CE JUMP JUMPDEST SWAP4 POP PUSH2 0x163 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x23F JUMP JUMPDEST PUSH2 0x16C DUP2 PUSH2 0x302 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x180 DUP2 PUSH2 0x235 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 0x1A0 DUP2 DUP5 PUSH2 0x13E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1BD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x177 JUMP JUMPDEST 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 PUSH2 0x1EA DUP3 PUSH2 0x235 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F5 DUP4 PUSH2 0x235 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x22A JUMPI PUSH2 0x229 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x25D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x242 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x26C 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 0x28A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x29E JUMPI PUSH2 0x29D PUSH2 0x2D3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 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 0xC1 0xD0 0xF6 PUSH24 0x6F0C9C09EBE17A239E3E2B638ECF50CA1394BEB83D13A78 STOP REVERT 0xB4 0xA6 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:364:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;376:55;;;:::i;:::-;;291:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;199:86;238:13;274:4;267:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:86;:::o;376:55::-;423:1;419:3;;:5;;;;:::i;:::-;415:3;:9;;;;376:55::o;291:75::-;329:4;356:3;;349:10;;291:75;:::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:118::-;464:24;482:5;464:24;:::i;:::-;459:3;452:37;377:118;;:::o;501:313::-;614:4;652:2;641:9;637:18;629:26;;701:9;695:4;691:20;687:1;676:9;672:17;665:47;729:78;802:4;793:6;729:78;:::i;:::-;721:86;;501:313;;;;:::o;820:222::-;913:4;951:2;940:9;936:18;928:26;;964:71;1032:1;1021:9;1017:17;1008:6;964:71;:::i;:::-;820:222;;;;:::o;1048:99::-;1100:6;1134:5;1128:12;1118:22;;1048:99;;;:::o;1153:169::-;1237:11;1271:6;1266:3;1259:19;1311:4;1306:3;1302:14;1287:29;;1153:169;;;;:::o;1328:305::-;1368:3;1387:20;1405:1;1387:20;:::i;:::-;1382:25;;1421:20;1439:1;1421:20;:::i;:::-;1416:25;;1575:1;1507:66;1503:74;1500:1;1497:81;1494:107;;;1581:18;;:::i;:::-;1494:107;1625:1;1622;1618:9;1611:16;;1328:305;;;;:::o;1639:77::-;1676:7;1705:5;1694:16;;1639:77;;;:::o;1722:307::-;1790:1;1800:113;1814:6;1811:1;1808:13;1800:113;;;1899:1;1894:3;1890:11;1884:18;1880:1;1875:3;1871:11;1864:39;1836:2;1833:1;1829:10;1824:15;;1800:113;;;1931:6;1928:1;1925:13;1922:101;;;2011:1;2002:6;1997:3;1993:16;1986:27;1922:101;1771:258;1722:307;;;:::o;2035:320::-;2079:6;2116:1;2110:4;2106:12;2096:22;;2163:1;2157:4;2153:12;2184:18;2174:81;;2240:4;2232:6;2228:17;2218:27;;2174:81;2302:2;2294:6;2291:14;2271:18;2268:38;2265:84;;;2321:18;;:::i;:::-;2265:84;2086:269;2035:320;;;:::o;2361:180::-;2409:77;2406:1;2399:88;2506:4;2503:1;2496:15;2530:4;2527:1;2520:15;2547:180;2595:77;2592:1;2585:88;2692:4;2689:1;2682:15;2716:4;2713:1;2706:15;2733:102;2774:6;2825:2;2821:7;2816:2;2809:5;2805:14;2801:28;2791:38;;2733:102;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "168200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"getAge()": "2459",
"getName()": "infinite",
"setAge()": "infinite"
}
},
"methodIdentifiers": {
"getAge()": "967e6e65",
"getName()": "17d7de7c",
"setAge()": "457676ee"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getAge",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setAge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getAge",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setAge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"identity.sol": "Identity"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"identity.sol": {
"keccak256": "0x5b81c7e904dabbc24ecb10cc3b7cc43fa1828c77ccf57e1a5eae6353c7d68954",
"license": "GPL-3.0",
"urls": [
"bzz-raw://4611319ea05591280dfb8e92d77d77d65b93e8585e1e31ba464b84ea0546e87a",
"dweb:/ipfs/QmTa74Zpu4XbLCvHq7MAqDYT4S8qymFP4cTwBcFSd5ynvu"
]
}
},
"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": "608060405234801561001057600080fd5b5061028b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639943d66914610030575b600080fd5b61004a60048036038101906100459190610147565b610060565b60405161005791906101ad565b60405180910390f35b60608060008313156100a9576040518060400160405280600e81526020017f47726561746572207468616e20300000000000000000000000000000000000008152509050610129565b60008314156100ef576040518060400160405280601381526020017f56616c756520697320657175616c20746f2030000000000000000000000000008152509050610128565b6040518060400160405280601481526020017f56616c7565206973206c657373207468616e203000000000000000000000000081525090505b5b80915050919050565b6000813590506101418161023e565b92915050565b60006020828403121561015d5761015c610228565b5b600061016b84828501610132565b91505092915050565b600061017f826101cf565b61018981856101da565b93506101998185602086016101f5565b6101a28161022d565b840191505092915050565b600060208201905081810360008301526101c78184610174565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b60005b838110156102135780820151818401526020810190506101f8565b83811115610222576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b610247816101eb565b811461025257600080fd5b5056fea2646970667358221220c760bb3e6ac4663b4514fd5fe3a75af13a6efad6a000ddf6cc20c6419cbfe42364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28B 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 0x9943D669 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 0x147 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP4 SGT ISZERO PUSH2 0xA9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x47726561746572207468616E2030000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x129 JUMP JUMPDEST PUSH1 0x0 DUP4 EQ ISZERO PUSH2 0xEF JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x13 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x56616C756520697320657175616C20746F203000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x56616C7565206973206C657373207468616E2030000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x141 DUP2 PUSH2 0x23E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15D JUMPI PUSH2 0x15C PUSH2 0x228 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16B DUP5 DUP3 DUP6 ADD PUSH2 0x132 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F DUP3 PUSH2 0x1CF JUMP JUMPDEST PUSH2 0x189 DUP2 DUP6 PUSH2 0x1DA JUMP JUMPDEST SWAP4 POP PUSH2 0x199 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x1A2 DUP2 PUSH2 0x22D 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 0x1C7 DUP2 DUP5 PUSH2 0x174 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 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x213 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1F8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x222 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x247 DUP2 PUSH2 0x1EB JUMP JUMPDEST DUP2 EQ PUSH2 0x252 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 PUSH1 0xBB RETURNDATACOPY PUSH11 0xC4663B4514FD5FE3A75AF1 GASPRICE PUSH15 0xFAD6A000DDF6CC20C6419CBFE42364 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "70:375:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@check_37": {
"entryPoint": 96,
"id": 37,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_int256": {
"entryPoint": 306,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_int256": {
"entryPoint": 327,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 372,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 429,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 463,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 474,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 491,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 501,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 552,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 557,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_int256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2405:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "58:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "68:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "90:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "77:12:1"
},
"nodeType": "YulFunctionCall",
"src": "77:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "68:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "132:5:1"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nodeType": "YulIdentifier",
"src": "106:25:1"
},
"nodeType": "YulFunctionCall",
"src": "106:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "106:32:1"
}
]
},
"name": "abi_decode_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "36:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "44:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "52:5:1",
"type": ""
}
],
"src": "7:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "215:262:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "261:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "263:77:1"
},
"nodeType": "YulFunctionCall",
"src": "263:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "263:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "236:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "245:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "232:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "228:3:1"
},
"nodeType": "YulFunctionCall",
"src": "228:32:1"
},
"nodeType": "YulIf",
"src": "225:119:1"
},
{
"nodeType": "YulBlock",
"src": "354:116:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "369:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "383:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "373:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "398:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "432:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "443:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "428:3:1"
},
"nodeType": "YulFunctionCall",
"src": "428:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "452:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "408:19:1"
},
"nodeType": "YulFunctionCall",
"src": "408:52:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "398:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "185:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "196:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "208:6:1",
"type": ""
}
],
"src": "150:327:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "575:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "585:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "632:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "599:32:1"
},
"nodeType": "YulFunctionCall",
"src": "599:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "589:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "647:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "713:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "718:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "654:58:1"
},
"nodeType": "YulFunctionCall",
"src": "654:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "647:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "760:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "767:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "756:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "774:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "779:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "734:21:1"
},
"nodeType": "YulFunctionCall",
"src": "734:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "734:52:1"
},
{
"nodeType": "YulAssignment",
"src": "795:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "806:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "833:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "811:21:1"
},
"nodeType": "YulFunctionCall",
"src": "811:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "802:3:1"
},
"nodeType": "YulFunctionCall",
"src": "802:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "795:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "556:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "563:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "571:3:1",
"type": ""
}
],
"src": "483:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "971:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "981:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "993:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1004:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "989:3:1"
},
"nodeType": "YulFunctionCall",
"src": "989:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "981:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1028:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1039:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1024:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1024:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1047:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1053:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1043:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1043:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1017:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1017:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1073:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1145:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1154:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1081:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1081:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1073: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": "943:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "955:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "966:4:1",
"type": ""
}
],
"src": "853:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1212:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1222:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1238:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1232:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1232:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1222:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1205:6:1",
"type": ""
}
],
"src": "1172:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1312:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1323:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1339:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1333:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1333:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1323:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1295:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1305:6:1",
"type": ""
}
],
"src": "1253:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1454:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1471:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1476:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1464:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1464:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1492:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1511:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1516:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1507:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1492:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1426:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1431:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1442:11:1",
"type": ""
}
],
"src": "1358:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1577:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1587:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1598:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1587:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1559:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1569:7:1",
"type": ""
}
],
"src": "1533:76:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1664:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1674:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1683:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1678:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1743:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1768:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1773:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1764:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1764:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1787:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1792:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1783:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1783:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1777:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1757:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1757:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1757:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1704:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1707:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1701:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1701:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1715:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1717:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1726:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1729:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1722:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1722:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1717:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1697:3:1",
"statements": []
},
"src": "1693:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1840:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1890:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1895:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1886:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1886:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1904:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1879:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1879:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1821:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1824:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1818:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:13:1"
},
"nodeType": "YulIf",
"src": "1815:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1646:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1651:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1656:6:1",
"type": ""
}
],
"src": "1615:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2017:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2034:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2037:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2027:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2027:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2027:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1928:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2140:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2160:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2150:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2150:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2051:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2222:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2232:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2250:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2257:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2246:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2246:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2266:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2262:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2262:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2242:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2242:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2232:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2205:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2215:6:1",
"type": ""
}
],
"src": "2174:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2324:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2380:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2389:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2382:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2382:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2382:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2347:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2371:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "2354:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2354:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2344:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2344:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2337:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2337:42:1"
},
"nodeType": "YulIf",
"src": "2334:62:1"
}
]
},
"name": "validator_revert_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2317:5:1",
"type": ""
}
],
"src": "2282:120:1"
}
]
},
"contents": "{\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n function abi_decode_tuple_t_int256(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_int256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80639943d66914610030575b600080fd5b61004a60048036038101906100459190610147565b610060565b60405161005791906101ad565b60405180910390f35b60608060008313156100a9576040518060400160405280600e81526020017f47726561746572207468616e20300000000000000000000000000000000000008152509050610129565b60008314156100ef576040518060400160405280601381526020017f56616c756520697320657175616c20746f2030000000000000000000000000008152509050610128565b6040518060400160405280601481526020017f56616c7565206973206c657373207468616e203000000000000000000000000081525090505b5b80915050919050565b6000813590506101418161023e565b92915050565b60006020828403121561015d5761015c610228565b5b600061016b84828501610132565b91505092915050565b600061017f826101cf565b61018981856101da565b93506101998185602086016101f5565b6101a28161022d565b840191505092915050565b600060208201905081810360008301526101c78184610174565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b60005b838110156102135780820151818401526020810190506101f8565b83811115610222576000848401525b50505050565b600080fd5b6000601f19601f8301169050919050565b610247816101eb565b811461025257600080fd5b5056fea2646970667358221220c760bb3e6ac4663b4514fd5fe3a75af13a6efad6a000ddf6cc20c6419cbfe42364736f6c63430008070033",
"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 0x9943D669 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 0x147 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x0 DUP4 SGT ISZERO PUSH2 0xA9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x47726561746572207468616E2030000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x129 JUMP JUMPDEST PUSH1 0x0 DUP4 EQ ISZERO PUSH2 0xEF JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x13 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x56616C756520697320657175616C20746F203000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x128 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x56616C7565206973206C657373207468616E2030000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST JUMPDEST DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x141 DUP2 PUSH2 0x23E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15D JUMPI PUSH2 0x15C PUSH2 0x228 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x16B DUP5 DUP3 DUP6 ADD PUSH2 0x132 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17F DUP3 PUSH2 0x1CF JUMP JUMPDEST PUSH2 0x189 DUP2 DUP6 PUSH2 0x1DA JUMP JUMPDEST SWAP4 POP PUSH2 0x199 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x1A2 DUP2 PUSH2 0x22D 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 0x1C7 DUP2 DUP5 PUSH2 0x174 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 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x213 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1F8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x222 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x247 DUP2 PUSH2 0x1EB JUMP JUMPDEST DUP2 EQ PUSH2 0x252 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 PUSH1 0xBB RETURNDATACOPY PUSH11 0xC4663B4514FD5FE3A75AF1 GASPRICE PUSH15 0xFAD6A000DDF6CC20C6419CBFE42364 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "70:375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;92:351;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;134:13;163:19;198:1;196;:3;193:222;;;223:22;;;;;;;;;;;;;;;;;;;193:222;;;276:1;273;:4;270:145;;;301:27;;;;;;;;;;;;;;;;;;;270:145;;;376:28;;;;;;;;;;;;;;;;;;;270:145;193:222;431:5;424:12;;;92:351;;;:::o;7:137:1:-;52:5;90:6;77:20;68:29;;106:32;132:5;106:32;:::i;:::-;7:137;;;;:::o;150:327::-;208:6;257:2;245:9;236:7;232:23;228:32;225:119;;;263:79;;:::i;:::-;225:119;383:1;408:52;452:7;443:6;432:9;428:22;408:52;:::i;:::-;398:62;;354:116;150:327;;;;:::o;483:364::-;571:3;599:39;632:5;599:39;:::i;:::-;654:71;718:6;713:3;654:71;:::i;:::-;647:78;;734:52;779:6;774:3;767:4;760:5;756:16;734:52;:::i;:::-;811:29;833:6;811:29;:::i;:::-;806:3;802:39;795:46;;575:272;483:364;;;;:::o;853:313::-;966:4;1004:2;993:9;989:18;981:26;;1053:9;1047:4;1043:20;1039:1;1028:9;1024:17;1017:47;1081:78;1154:4;1145:6;1081:78;:::i;:::-;1073:86;;853:313;;;;:::o;1253:99::-;1305:6;1339:5;1333:12;1323:22;;1253:99;;;:::o;1358:169::-;1442:11;1476:6;1471:3;1464:19;1516:4;1511:3;1507:14;1492:29;;1358:169;;;;:::o;1533:76::-;1569:7;1598:5;1587:16;;1533:76;;;:::o;1615:307::-;1683:1;1693:113;1707:6;1704:1;1701:13;1693:113;;;1792:1;1787:3;1783:11;1777:18;1773:1;1768:3;1764:11;1757:39;1729:2;1726:1;1722:10;1717:15;;1693:113;;;1824:6;1821:1;1818:13;1815:101;;;1904:1;1895:6;1890:3;1886:16;1879:27;1815:101;1664:258;1615:307;;;:::o;2051:117::-;2160:1;2157;2150:12;2174:102;2215:6;2266:2;2262:7;2257:2;2250:5;2246:14;2242:28;2232:38;;2174:102;;;:::o;2282:120::-;2354:23;2371:5;2354:23;:::i;:::-;2347:5;2344:34;2334:62;;2392:1;2389;2382:12;2334:62;2282:120;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "130200",
"executionCost": "177",
"totalCost": "130377"
},
"external": {
"check(int256)": "infinite"
}
},
"methodIdentifiers": {
"check(int256)": "9943d669"
}
},
"abi": [
{
"inputs": [
{
"internalType": "int256",
"name": "a",
"type": "int256"
}
],
"name": "check",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "int256",
"name": "a",
"type": "int256"
}
],
"name": "check",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"ifElse.sol": "IfElse"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"ifElse.sol": {
"keccak256": "0x54d3a7ef6b74650251042ffda7172439b9d3eb4e8e227fe9e358e790c2556cd3",
"license": "GPL-3.0",
"urls": [
"bzz-raw://e419ff87bd06d7d904e7cab6d18bc879f2909bef154df846498b87a10f05b764",
"dweb:/ipfs/QmSfubDxntCRH9j7p99WzNgkbAVxeMw9V6rAmdu4c8A45c"
]
}
},
"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": "608060405234801561001057600080fd5b5060f68061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063975057e714602d575b600080fd5b60336047565b604051603e9190609d565b60405180910390f35b6000806040518060400160405280600881526020017f616264756c6c61680000000000000000000000000000000000000000000000008152509050600060139050809250505090565b60978160b6565b82525050565b600060208201905060b060008301846090565b92915050565b600081905091905056fea264697066735822122054b6de1ab72fe88ed26a3a6f16d9c0046d430dceeac952d276c9d7b6aefc68f264736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xF6 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x975057E7 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x616264756C6C6168000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 PUSH1 0x13 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x97 DUP2 PUSH1 0xB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xB0 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xB6 0xDE BYTE 0xB7 0x2F 0xE8 DUP15 0xD2 PUSH11 0x3A6F16D9C0046D430DCEEA 0xC9 MSTORE 0xD2 PUSH23 0xC9D7B6AEFC68F264736F6C634300080700330000000000 ",
"sourceMap": "70:211:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@store_17": {
"entryPoint": 71,
"id": 17,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 144,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 157,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 182,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:439:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "72:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "89:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "94:17:1"
},
"nodeType": "YulFunctionCall",
"src": "94:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "82:6:1"
},
"nodeType": "YulFunctionCall",
"src": "82:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "82:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "60:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "67:3:1",
"type": ""
}
],
"src": "7:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "229:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "239:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "251:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "262:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "247:3:1"
},
"nodeType": "YulFunctionCall",
"src": "247:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "239:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "319:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "332:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "328:3:1"
},
"nodeType": "YulFunctionCall",
"src": "328:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "275:43:1"
},
"nodeType": "YulFunctionCall",
"src": "275:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "275:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "201:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "213:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "224:4:1",
"type": ""
}
],
"src": "131:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "404:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "414:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "425:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "414:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "386:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "396:7:1",
"type": ""
}
],
"src": "359:77:1"
}
]
},
"contents": "{\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060285760003560e01c8063975057e714602d575b600080fd5b60336047565b604051603e9190609d565b60405180910390f35b6000806040518060400160405280600881526020017f616264756c6c61680000000000000000000000000000000000000000000000008152509050600060139050809250505090565b60978160b6565b82525050565b600060208201905060b060008301846090565b92915050565b600081905091905056fea264697066735822122054b6de1ab72fe88ed26a3a6f16d9c0046d430dceeac952d276c9d7b6aefc68f264736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x975057E7 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x616264756C6C6168000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 PUSH1 0x13 SWAP1 POP DUP1 SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x97 DUP2 PUSH1 0xB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xB0 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xB6 0xDE BYTE 0xB7 0x2F 0xE8 DUP15 0xD2 PUSH11 0x3A6F16D9C0046D430DCEEA 0xC9 MSTORE 0xD2 PUSH23 0xC9D7B6AEFC68F264736F6C634300080700330000000000 ",
"sourceMap": "70:211:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;91:188;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;129:4;149:18;:29;;;;;;;;;;;;;;;;;;;241:8;250:2;241:11;;269:3;262:10;;;;91:188;:::o;7:118:1:-;94:24;112:5;94:24;:::i;:::-;89:3;82:37;7:118;;:::o;131:222::-;224:4;262:2;251:9;247:18;239:26;;275:71;343:1;332:9;328:17;319:6;275:71;:::i;:::-;131:222;;;;:::o;359:77::-;396:7;425:5;414:16;;359:77;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "49200",
"executionCost": "99",
"totalCost": "49299"
},
"external": {
"store()": "394"
}
},
"methodIdentifiers": {
"store()": "975057e7"
}
},
"abi": [
{
"inputs": [],
"name": "store",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "store",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"local.sol": "Local"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"local.sol": {
"keccak256": "0xcdda0ff903e22cfb6f65772bab1376c837700de7c12b0f54d8afcf13044c812f",
"license": "GPL-3.0",
"urls": [
"bzz-raw://e9a78ae1b1691300c0161fa50012989fb9c1acf677b17ccef54fd456c4468481",
"dweb:/ipfs/QmS4d8Pm7RXaQPUpN25bTm9HbQT7HoPesb1hFvGGVvcSFR"
]
}
},
"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": "608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806306661abd1461005c578063174c9c7e1461007a57806371e5ee5f14610084578063e7c898ef146100b4578063fc0e6008146100be575b600080fd5b6100646100c8565b6040516100719190610221565b60405180910390f35b6100826100ce565b005b61009e600480360381019061009991906101e5565b610110565b6040516100ab9190610221565b60405180910390f35b6100bc61012b565b005b6100c6610173565b005b60035481565b5b6003546000600354600381106100e8576100e76102be565b5b01819055506003600081548092919061010090610246565b919050555060038054106100cf57565b6000816003811061012057600080fd5b016000915090505481565b5b6003805410156101715760035460006003546003811061014f5761014e6102be565b5b01819055506003600081548092919061016790610246565b919050555061012c565b565b600060035490505b60038110156101cd5760035460006003546003811061019d5761019c6102be565b5b0181905550600360008154809291906101b590610246565b919050555080806101c590610246565b91505061017b565b50565b6000813590506101df816102f2565b92915050565b6000602082840312156101fb576101fa6102ed565b5b6000610209848285016101d0565b91505092915050565b61021b8161023c565b82525050565b60006020820190506102366000830184610212565b92915050565b6000819050919050565b60006102518261023c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156102845761028361028f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6102fb8161023c565b811461030657600080fd5b5056fea2646970667358221220bb6ef88e1cce9f342f328b665abcc3150bf4699c1c1520406581d3b9330c627464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33F 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 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x174C9C7E EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0xE7C898EF EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xFC0E6008 EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0xCE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH2 0x12B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH2 0x173 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0xE8 JUMPI PUSH2 0xE7 PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x100 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x3 DUP1 SLOAD LT PUSH2 0xCF JUMPI JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 DUP1 SLOAD LT ISZERO PUSH2 0x171 JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0x14F JUMPI PUSH2 0x14E PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x167 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x12C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP JUMPDEST PUSH1 0x3 DUP2 LT ISZERO PUSH2 0x1CD JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0x19D JUMPI PUSH2 0x19C PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1B5 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 DUP1 PUSH2 0x1C5 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x17B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DF DUP2 PUSH2 0x2F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FB JUMPI PUSH2 0x1FA PUSH2 0x2ED JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x209 DUP5 DUP3 DUP6 ADD PUSH2 0x1D0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x21B DUP2 PUSH2 0x23C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x236 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x212 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251 DUP3 PUSH2 0x23C JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x284 JUMPI PUSH2 0x283 PUSH2 0x28F JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FB DUP2 PUSH2 0x23C JUMP JUMPDEST DUP2 EQ PUSH2 0x306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB PUSH15 0xF88E1CCE9F342F328B665ABCC3150B DELEGATECALL PUSH10 0x9C1C1520406581D3B933 0xC PUSH3 0x746473 PUSH16 0x6C634300080700330000000000000000 ",
"sourceMap": "70:525:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@arr_5": {
"entryPoint": 272,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@count_7": {
"entryPoint": 200,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@doWhileLoop_26": {
"entryPoint": 206,
"id": 26,
"parameterSlots": 0,
"returnSlots": 0
},
"@forLoop_52": {
"entryPoint": 371,
"id": 52,
"parameterSlots": 0,
"returnSlots": 0
},
"@whileLoop_71": {
"entryPoint": 299,
"id": 71,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 464,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 485,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 530,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 545,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 572,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 582,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 655,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 702,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 749,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 754,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1985: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": "1046:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1056:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1083:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1065:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1065:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1056:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1179:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1181:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1181:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1181:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1104:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1111:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1101:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1101:77:1"
},
"nodeType": "YulIf",
"src": "1098:103:1"
},
{
"nodeType": "YulAssignment",
"src": "1210:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1221:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1228:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1217:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1217:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1210:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1032:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1042:3:1",
"type": ""
}
],
"src": "1003:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1270:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1287:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1290:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1280:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1280:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1280:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1384:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1387:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1377:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1377:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1377:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1408:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1411:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1401:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1401:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1401:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1242:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1456:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1473:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1476:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1466:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1466:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1466:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1570:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1573:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1563:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1563:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1563:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1594:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1597:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1587:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1587:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "1428:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1703:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1720:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1723:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1713:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1713:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1614:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1826:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1843:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1846:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1836:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1836:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1836:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1737:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1903:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1960:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1969:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1972:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1962:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1962:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1962:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1926:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1951:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1933:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1933:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1923:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1923:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1916:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1916:43:1"
},
"nodeType": "YulIf",
"src": "1913:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1896:5:1",
"type": ""
}
],
"src": "1860: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 increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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_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": "608060405234801561001057600080fd5b50600436106100575760003560e01c806306661abd1461005c578063174c9c7e1461007a57806371e5ee5f14610084578063e7c898ef146100b4578063fc0e6008146100be575b600080fd5b6100646100c8565b6040516100719190610221565b60405180910390f35b6100826100ce565b005b61009e600480360381019061009991906101e5565b610110565b6040516100ab9190610221565b60405180910390f35b6100bc61012b565b005b6100c6610173565b005b60035481565b5b6003546000600354600381106100e8576100e76102be565b5b01819055506003600081548092919061010090610246565b919050555060038054106100cf57565b6000816003811061012057600080fd5b016000915090505481565b5b6003805410156101715760035460006003546003811061014f5761014e6102be565b5b01819055506003600081548092919061016790610246565b919050555061012c565b565b600060035490505b60038110156101cd5760035460006003546003811061019d5761019c6102be565b5b0181905550600360008154809291906101b590610246565b919050555080806101c590610246565b91505061017b565b50565b6000813590506101df816102f2565b92915050565b6000602082840312156101fb576101fa6102ed565b5b6000610209848285016101d0565b91505092915050565b61021b8161023c565b82525050565b60006020820190506102366000830184610212565b92915050565b6000819050919050565b60006102518261023c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156102845761028361028f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6102fb8161023c565b811461030657600080fd5b5056fea2646970667358221220bb6ef88e1cce9f342f328b665abcc3150bf4699c1c1520406581d3b9330c627464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x174C9C7E EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0xE7C898EF EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xFC0E6008 EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0xCE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH2 0x12B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH2 0x173 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0xE8 JUMPI PUSH2 0xE7 PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x100 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x3 DUP1 SLOAD LT PUSH2 0xCF JUMPI JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 DUP1 SLOAD LT ISZERO PUSH2 0x171 JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0x14F JUMPI PUSH2 0x14E PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x167 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x12C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SLOAD SWAP1 POP JUMPDEST PUSH1 0x3 DUP2 LT ISZERO PUSH2 0x1CD JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0x19D JUMPI PUSH2 0x19C PUSH2 0x2BE JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1B5 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 DUP1 PUSH2 0x1C5 SWAP1 PUSH2 0x246 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x17B JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1DF DUP2 PUSH2 0x2F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FB JUMPI PUSH2 0x1FA PUSH2 0x2ED JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x209 DUP5 DUP3 DUP6 ADD PUSH2 0x1D0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x21B DUP2 PUSH2 0x23C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x236 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x212 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x251 DUP3 PUSH2 0x23C JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x284 JUMPI PUSH2 0x283 PUSH2 0x28F JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FB DUP2 PUSH2 0x23C JUMP JUMPDEST DUP2 EQ PUSH2 0x306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB PUSH15 0xF88E1CCE9F342F328B665ABCC3150B DELEGATECALL PUSH10 0x9C1C1520406581D3B933 0xC PUSH3 0x746473 PUSH16 0x6C634300080700330000000000000000 ",
"sourceMap": "70:525:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;114:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;138:146;;;:::i;:::-;;90:18;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;449:144;;;:::i;:::-;;290:153;;;:::i;:::-;;114:17;;;;:::o;138:146::-;178:100;208:5;;195:3;199:5;;195:10;;;;;;;:::i;:::-;;;:18;;;;227:5;;:7;;;;;;;;;:::i;:::-;;;;;;266:10;260:5;;:16;178:100;;138:146::o;90:18::-;;;;;;;;;;;;;;;;;;;;:::o;449:144::-;491:96;503:10;497:5;;:16;491:96;;;550:5;;537:3;541:5;;537:10;;;;;;;:::i;:::-;;;:18;;;;569:5;;:7;;;;;;;;;:::i;:::-;;;;;;491:96;;;449:144::o;290:153::-;334:6;341:5;;334:12;;330:107;349:10;347:1;:12;330:107;;;400:5;;387:3;391:5;;387:10;;;;;;;:::i;:::-;;;:18;;;;419:5;;:7;;;;;;;;;:::i;:::-;;;;;;360:3;;;;;:::i;:::-;;;;330:107;;;;290:153::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;1003:233::-;1042:3;1065:24;1083:5;1065:24;:::i;:::-;1056:33;;1111:66;1104:5;1101:77;1098:103;;;1181:18;;:::i;:::-;1098:103;1228:1;1221:5;1217:13;1210:20;;1003:233;;;:::o;1242:180::-;1290:77;1287:1;1280:88;1387:4;1384:1;1377:15;1411:4;1408:1;1401:15;1428:180;1476:77;1473:1;1466:88;1573:4;1570:1;1563:15;1597:4;1594:1;1587:15;1737:117;1846:1;1843;1836:12;1860:122;1933:24;1951:5;1933:24;:::i;:::-;1926:5;1923:35;1913:63;;1972:1;1969;1962:12;1913:63;1860:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "166200",
"executionCost": "208",
"totalCost": "166408"
},
"external": {
"arr(uint256)": "infinite",
"count()": "2407",
"doWhileLoop()": "infinite",
"forLoop()": "infinite",
"whileLoop()": "infinite"
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f",
"count()": "06661abd",
"doWhileLoop()": "174c9c7e",
"forLoop()": "fc0e6008",
"whileLoop()": "e7c898ef"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "doWhileLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "forLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whileLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "doWhileLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "forLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "whileLoop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"loops.sol": "Loop"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"loops.sol": {
"keccak256": "0xfb74ae49383acd5537a1704c63caf0ae534afbf02c6ded64ea15a7df934c4ceb",
"license": "GPL-3.0",
"urls": [
"bzz-raw://0e127d665a0369c9835dbe2039b682eecf44a76a1328c8313aaf7cb447b65deb",
"dweb:/ipfs/QmNhLJZPAWDpEo2WeWMwfTWFFzxrp5NVvFGjB7NdBAA7yz"
]
}
},
"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": "608060405234801561001057600080fd5b506105b7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630c22cf411461003b578063f0ba844014610057575b600080fd5b610055600480360381019061005091906102df565b610088565b005b610071600480360381019061006c91906102b2565b6100de565b60405161007f929190610396565b60405180910390f35b60405180604001604052808381526020018281525060008085815260200190815260200160002060008201518160000190805190602001906100cb92919061018a565b5060208201518160010155905050505050565b600060205280600052604060002060009150905080600001805461010190610484565b80601f016020809104026020016040519081016040528092919081815260200182805461012d90610484565b801561017a5780601f1061014f5761010080835404028352916020019161017a565b820191906000526020600020905b81548152906001019060200180831161015d57829003601f168201915b5050505050908060010154905082565b82805461019690610484565b90600052602060002090601f0160209004810192826101b857600085556101ff565b82601f106101d157805160ff19168380011785556101ff565b828001600101855582156101ff579182015b828111156101fe5782518255916020019190600101906101e3565b5b50905061020c9190610210565b5090565b5b80821115610229576000816000905550600101610211565b5090565b600061024061023b846103eb565b6103c6565b90508281526020810184848401111561025c5761025b61054a565b5b610267848285610442565b509392505050565b600082601f83011261028457610283610545565b5b813561029484826020860161022d565b91505092915050565b6000813590506102ac8161056a565b92915050565b6000602082840312156102c8576102c7610554565b5b60006102d68482850161029d565b91505092915050565b6000806000606084860312156102f8576102f7610554565b5b60006103068682870161029d565b935050602084013567ffffffffffffffff8111156103275761032661054f565b5b6103338682870161026f565b92505060406103448682870161029d565b9150509250925092565b60006103598261041c565b6103638185610427565b9350610373818560208601610451565b61037c81610559565b840191505092915050565b61039081610438565b82525050565b600060408201905081810360008301526103b0818561034e565b90506103bf6020830184610387565b9392505050565b60006103d06103e1565b90506103dc82826104b6565b919050565b6000604051905090565b600067ffffffffffffffff82111561040657610405610516565b5b61040f82610559565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561046f578082015181840152602081019050610454565b8381111561047e576000848401525b50505050565b6000600282049050600182168061049c57607f821691505b602082108114156104b0576104af6104e7565b5b50919050565b6104bf82610559565b810181811067ffffffffffffffff821117156104de576104dd610516565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61057381610438565b811461057e57600080fd5b5056fea264697066735822122055bed1af97aeaa6698b837c5548b4691344c5d5989694b6c1d7be2bad6f819ce64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B7 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC22CF41 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xF0BA8440 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2DF JUMP JUMPDEST PUSH2 0x88 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x71 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x2B2 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP3 SWAP2 SWAP1 PUSH2 0x396 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xCB SWAP3 SWAP2 SWAP1 PUSH2 0x18A JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x101 SWAP1 PUSH2 0x484 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 0x12D SWAP1 PUSH2 0x484 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x17A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x14F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x17A 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 0x15D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x196 SWAP1 PUSH2 0x484 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1FF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1D1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1FF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1FF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1FE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x211 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x240 PUSH2 0x23B DUP5 PUSH2 0x3EB JUMP JUMPDEST PUSH2 0x3C6 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x25C JUMPI PUSH2 0x25B PUSH2 0x54A JUMP JUMPDEST JUMPDEST PUSH2 0x267 DUP5 DUP3 DUP6 PUSH2 0x442 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x284 JUMPI PUSH2 0x283 PUSH2 0x545 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x294 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x22D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2AC DUP2 PUSH2 0x56A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C8 JUMPI PUSH2 0x2C7 PUSH2 0x554 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D6 DUP5 DUP3 DUP6 ADD PUSH2 0x29D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x554 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x306 DUP7 DUP3 DUP8 ADD PUSH2 0x29D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x54F JUMP JUMPDEST JUMPDEST PUSH2 0x333 DUP7 DUP3 DUP8 ADD PUSH2 0x26F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x344 DUP7 DUP3 DUP8 ADD PUSH2 0x29D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x363 DUP2 DUP6 PUSH2 0x427 JUMP JUMPDEST SWAP4 POP PUSH2 0x373 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x451 JUMP JUMPDEST PUSH2 0x37C DUP2 PUSH2 0x559 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x390 DUP2 PUSH2 0x438 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B0 DUP2 DUP6 PUSH2 0x34E JUMP JUMPDEST SWAP1 POP PUSH2 0x3BF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x387 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D0 PUSH2 0x3E1 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DC DUP3 DUP3 PUSH2 0x4B6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x406 JUMPI PUSH2 0x405 PUSH2 0x516 JUMP JUMPDEST JUMPDEST PUSH2 0x40F DUP3 PUSH2 0x559 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x46F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x454 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x47E 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 0x49C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4B0 JUMPI PUSH2 0x4AF PUSH2 0x4E7 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4BF DUP3 PUSH2 0x559 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x516 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x573 DUP2 PUSH2 0x438 JUMP JUMPDEST DUP2 EQ PUSH2 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SSTORE 0xBE 0xD1 0xAF SWAP8 0xAE 0xAA PUSH7 0x98B837C5548B46 SWAP2 CALLVALUE 0x4C 0x5D MSIZE DUP10 PUSH10 0x4B6C1D7BE2BAD6F819CE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:259:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@data_11": {
"entryPoint": 222,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"@setter_30": {
"entryPoint": 136,
"id": 30,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 557,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 623,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 669,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 690,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_string_memory_ptrt_uint256": {
"entryPoint": 735,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 846,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 903,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 918,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 966,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 993,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1003,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1063,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1080,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1090,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1105,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1156,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1206,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1255,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1302,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1349,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1354,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1359,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1364,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1369,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1386,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6069:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "550:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "552:77:1"
},
"nodeType": "YulFunctionCall",
"src": "552:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "552:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "529:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "537:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "544:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "521:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "514:35:1"
},
"nodeType": "YulIf",
"src": "511:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "642:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "669:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "656:12:1"
},
"nodeType": "YulFunctionCall",
"src": "656:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "685:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "746:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "754:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "742:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "761:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "694:47:1"
},
"nodeType": "YulFunctionCall",
"src": "694:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "685:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "487:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "495:5:1",
"type": ""
}
],
"src": "439:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "837:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "847:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "869:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "856:12:1"
},
"nodeType": "YulFunctionCall",
"src": "856:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "847:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "912:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "885:26:1"
},
"nodeType": "YulFunctionCall",
"src": "885:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "885:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "823:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "831:5:1",
"type": ""
}
],
"src": "785:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "996:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1042:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1044:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1044:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1044:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1017:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1026:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1013:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1013:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1038:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1009:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1009:32:1"
},
"nodeType": "YulIf",
"src": "1006:119:1"
},
{
"nodeType": "YulBlock",
"src": "1135:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1150:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1164:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1154:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1179:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1214:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1225:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1210:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1210:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1234:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1189:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1189:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1179:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "966:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "977:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "989:6:1",
"type": ""
}
],
"src": "930:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1375:689:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1421:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1423:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1423:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1423:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1396:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1405:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1392:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1392:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1417:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1388:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1388:32:1"
},
"nodeType": "YulIf",
"src": "1385:119:1"
},
{
"nodeType": "YulBlock",
"src": "1514:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1529:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1533:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1558:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1593:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1604:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1613:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1568:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1568:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1558:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1641:288:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1656:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1687:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1698:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1683:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1683:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1670:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1660:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1749:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1751:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1751:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1751:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1721:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1729:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1718:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1718:30:1"
},
"nodeType": "YulIf",
"src": "1715:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1846:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1891:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1902:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1887:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1887:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1911:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1856:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1856:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1846:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1939:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1954:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1968:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1958:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1984:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2019:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2030:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2015:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2039:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1994:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1994:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1984:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_string_memory_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1329:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1340:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1352:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1360:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1368:6:1",
"type": ""
}
],
"src": "1265:799:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2162:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2172:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2219:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2186:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2186:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2176:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2234:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2300:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2305:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2241:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2241:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2234:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2347:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2354:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2343:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2343:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2361:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2366:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2321:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2321:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2321:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2382:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2393:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2420:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2398:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2398:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2389:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2382:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2150:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2158:3:1",
"type": ""
}
],
"src": "2070:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2505:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2522:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2545:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2527:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2527:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2515:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2515:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2515:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2493:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2500:3:1",
"type": ""
}
],
"src": "2440:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2710:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2720:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2732:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2743:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2728:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2720:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2767:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2778:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2763:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2786:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2792:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2782:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2782:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2756:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2756:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2756:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2812:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2884:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2893:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2820:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2820:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2812:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2952:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2965:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2976:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2961:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2961:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2908:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2908:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "2908:72:1"
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2674:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2686:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2694:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2705:4:1",
"type": ""
}
],
"src": "2564:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3034:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3044:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "3054:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3054:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3044:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3103:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3111:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "3083:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3083:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3083:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3018:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3027:6:1",
"type": ""
}
],
"src": "2993:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3168:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3178:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3194:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3188:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3188:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3178:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3161:6:1",
"type": ""
}
],
"src": "3128:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3276:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3381:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3383:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3383:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3383:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3353:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3361:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3350:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3350:30:1"
},
"nodeType": "YulIf",
"src": "3347:56:1"
},
{
"nodeType": "YulAssignment",
"src": "3413:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3443:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3421:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3421:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3413:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3487:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3499:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3505:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3495:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3495:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3487:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3260:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3271:4:1",
"type": ""
}
],
"src": "3209:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3582:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3593:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3609:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3603:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3603:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3593:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3565:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3575:6:1",
"type": ""
}
],
"src": "3523:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3724:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3741:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3746:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3734:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3734:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3734:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3762:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3781:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3786:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3777:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3762:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3696:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3701:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3712:11:1",
"type": ""
}
],
"src": "3628:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3848:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3858:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3869:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3858:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3830:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3840:7:1",
"type": ""
}
],
"src": "3803:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3937:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3960:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3965:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3970:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "3947:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3947:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "3947:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4018:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4023:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4014:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4014:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4032:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4007:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4007:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "4007:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3919:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3924:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3929:6:1",
"type": ""
}
],
"src": "3886:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4095:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4105:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4114:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4109:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4174:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4199:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4204:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4195:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4195:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4218:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4223:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4214:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4208:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4208:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4188:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4188:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "4188:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4135:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4138:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4132:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4132:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4146:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4148:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4157:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4160:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4153:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4153:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4148:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4128:3:1",
"statements": []
},
"src": "4124:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4271:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4321:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4326:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4317:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4335:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4310:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "4310:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4252:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4249:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4249:13:1"
},
"nodeType": "YulIf",
"src": "4246:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "4077:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4082:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4087:6:1",
"type": ""
}
],
"src": "4046:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4410:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4420:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4434:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4440:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "4430:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4430:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4420:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4451:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4481:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4487:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4477:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4477:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "4455:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4528:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4542:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4556:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4564:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4552:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4552:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4542:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4508:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4501:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4501:26:1"
},
"nodeType": "YulIf",
"src": "4498:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4631:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "4645:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4645:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4645:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4595:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4618:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4626:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4615:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4615:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4592:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4592:38:1"
},
"nodeType": "YulIf",
"src": "4589:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "4394:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4403:6:1",
"type": ""
}
],
"src": "4359:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4728:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4738:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4790:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4768:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4768:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4756:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "4742:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4907:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4909:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4909:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4909:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4850:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4862:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4847:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4847:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4886:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4898:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4883:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4883:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "4844:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4844:62:1"
},
"nodeType": "YulIf",
"src": "4841:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4945:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4949:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4938:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4938:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "4938:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4714:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4722:4:1",
"type": ""
}
],
"src": "4685:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5017:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5020:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5010:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5010:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5010:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5114:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5117:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5107:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5107:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5107:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5138:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5141:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4972:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5186:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5203:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5206:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5196:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5196:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5196:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5300:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5303:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5293:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5293:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5293:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5324:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5327:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5317:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5317:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5317:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5158:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5433:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5450:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5453:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5443:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5443:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5443:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "5344:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5556:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5573:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5566:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5566:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5566:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "5467:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5679:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5696:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5699:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5689:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5689:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5689:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "5590:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5802:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5819:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5822:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5812:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5812:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5812:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "5713:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5884:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5894:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5912:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5919:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5908:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5908:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5928:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "5924:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5924:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5904:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5904:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "5894:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5867:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "5877:6:1",
"type": ""
}
],
"src": "5836:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5987:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6044:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6053:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6056:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6046:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6046:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6046:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6010:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6035:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6017:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6017:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6007:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6007:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6000:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6000:43:1"
},
"nodeType": "YulIf",
"src": "5997:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5980:5:1",
"type": ""
}
],
"src": "5944:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_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_decode_tuple_t_uint256t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { 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 let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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": "608060405234801561001057600080fd5b50600436106100365760003560e01c80630c22cf411461003b578063f0ba844014610057575b600080fd5b610055600480360381019061005091906102df565b610088565b005b610071600480360381019061006c91906102b2565b6100de565b60405161007f929190610396565b60405180910390f35b60405180604001604052808381526020018281525060008085815260200190815260200160002060008201518160000190805190602001906100cb92919061018a565b5060208201518160010155905050505050565b600060205280600052604060002060009150905080600001805461010190610484565b80601f016020809104026020016040519081016040528092919081815260200182805461012d90610484565b801561017a5780601f1061014f5761010080835404028352916020019161017a565b820191906000526020600020905b81548152906001019060200180831161015d57829003601f168201915b5050505050908060010154905082565b82805461019690610484565b90600052602060002090601f0160209004810192826101b857600085556101ff565b82601f106101d157805160ff19168380011785556101ff565b828001600101855582156101ff579182015b828111156101fe5782518255916020019190600101906101e3565b5b50905061020c9190610210565b5090565b5b80821115610229576000816000905550600101610211565b5090565b600061024061023b846103eb565b6103c6565b90508281526020810184848401111561025c5761025b61054a565b5b610267848285610442565b509392505050565b600082601f83011261028457610283610545565b5b813561029484826020860161022d565b91505092915050565b6000813590506102ac8161056a565b92915050565b6000602082840312156102c8576102c7610554565b5b60006102d68482850161029d565b91505092915050565b6000806000606084860312156102f8576102f7610554565b5b60006103068682870161029d565b935050602084013567ffffffffffffffff8111156103275761032661054f565b5b6103338682870161026f565b92505060406103448682870161029d565b9150509250925092565b60006103598261041c565b6103638185610427565b9350610373818560208601610451565b61037c81610559565b840191505092915050565b61039081610438565b82525050565b600060408201905081810360008301526103b0818561034e565b90506103bf6020830184610387565b9392505050565b60006103d06103e1565b90506103dc82826104b6565b919050565b6000604051905090565b600067ffffffffffffffff82111561040657610405610516565b5b61040f82610559565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561046f578082015181840152602081019050610454565b8381111561047e576000848401525b50505050565b6000600282049050600182168061049c57607f821691505b602082108114156104b0576104af6104e7565b5b50919050565b6104bf82610559565b810181811067ffffffffffffffff821117156104de576104dd610516565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61057381610438565b811461057e57600080fd5b5056fea264697066735822122055bed1af97aeaa6698b837c5548b4691344c5d5989694b6c1d7be2bad6f819ce64736f6c63430008070033",
"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 0xC22CF41 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xF0BA8440 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x2DF JUMP JUMPDEST PUSH2 0x88 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x71 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x2B2 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP3 SWAP2 SWAP1 PUSH2 0x396 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xCB SWAP3 SWAP2 SWAP1 PUSH2 0x18A JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x101 SWAP1 PUSH2 0x484 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 0x12D SWAP1 PUSH2 0x484 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x17A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x14F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x17A 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 0x15D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x196 SWAP1 PUSH2 0x484 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1FF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1D1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1FF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1FF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1FE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x20C SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x211 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x240 PUSH2 0x23B DUP5 PUSH2 0x3EB JUMP JUMPDEST PUSH2 0x3C6 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x25C JUMPI PUSH2 0x25B PUSH2 0x54A JUMP JUMPDEST JUMPDEST PUSH2 0x267 DUP5 DUP3 DUP6 PUSH2 0x442 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x284 JUMPI PUSH2 0x283 PUSH2 0x545 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x294 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x22D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2AC DUP2 PUSH2 0x56A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C8 JUMPI PUSH2 0x2C7 PUSH2 0x554 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D6 DUP5 DUP3 DUP6 ADD PUSH2 0x29D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x554 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x306 DUP7 DUP3 DUP8 ADD PUSH2 0x29D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x54F JUMP JUMPDEST JUMPDEST PUSH2 0x333 DUP7 DUP3 DUP8 ADD PUSH2 0x26F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x344 DUP7 DUP3 DUP8 ADD PUSH2 0x29D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x363 DUP2 DUP6 PUSH2 0x427 JUMP JUMPDEST SWAP4 POP PUSH2 0x373 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x451 JUMP JUMPDEST PUSH2 0x37C DUP2 PUSH2 0x559 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x390 DUP2 PUSH2 0x438 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3B0 DUP2 DUP6 PUSH2 0x34E JUMP JUMPDEST SWAP1 POP PUSH2 0x3BF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x387 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D0 PUSH2 0x3E1 JUMP JUMPDEST SWAP1 POP PUSH2 0x3DC DUP3 DUP3 PUSH2 0x4B6 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x406 JUMPI PUSH2 0x405 PUSH2 0x516 JUMP JUMPDEST JUMPDEST PUSH2 0x40F DUP3 PUSH2 0x559 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x46F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x454 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x47E 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 0x49C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4B0 JUMPI PUSH2 0x4AF PUSH2 0x4E7 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4BF DUP3 PUSH2 0x559 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x516 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x573 DUP2 PUSH2 0x438 JUMP JUMPDEST DUP2 EQ PUSH2 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SSTORE 0xBE 0xD1 0xAF SWAP8 0xAE 0xAA PUSH7 0x98B837C5548B46 SWAP2 CALLVALUE 0x4C 0x5D MSIZE DUP10 PUSH10 0x4B6C1D7BE2BAD6F819CE PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;160:34;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;201:126;297:22;;;;;;;;305:5;297:22;;;;312:6;297:22;;;284:4;:11;289:5;284:11;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;201:126;;;:::o;160:34::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;785:139;;;;:::o;930:329::-;989:6;1038:2;1026:9;1017:7;1013:23;1009:32;1006:119;;;1044:79;;:::i;:::-;1006:119;1164:1;1189:53;1234:7;1225:6;1214:9;1210:22;1189:53;:::i;:::-;1179:63;;1135:117;930:329;;;;:::o;1265:799::-;1352:6;1360;1368;1417:2;1405:9;1396:7;1392:23;1388:32;1385:119;;;1423:79;;:::i;:::-;1385:119;1543:1;1568:53;1613:7;1604:6;1593:9;1589:22;1568:53;:::i;:::-;1558:63;;1514:117;1698:2;1687:9;1683:18;1670:32;1729:18;1721:6;1718:30;1715:117;;;1751:79;;:::i;:::-;1715:117;1856:63;1911:7;1902:6;1891:9;1887:22;1856:63;:::i;:::-;1846:73;;1641:288;1968:2;1994:53;2039:7;2030:6;2019:9;2015:22;1994:53;:::i;:::-;1984:63;;1939:118;1265:799;;;;;:::o;2070:364::-;2158:3;2186:39;2219:5;2186:39;:::i;:::-;2241:71;2305:6;2300:3;2241:71;:::i;:::-;2234:78;;2321:52;2366:6;2361:3;2354:4;2347:5;2343:16;2321:52;:::i;:::-;2398:29;2420:6;2398:29;:::i;:::-;2393:3;2389:39;2382:46;;2162:272;2070:364;;;;:::o;2440:118::-;2527:24;2545:5;2527:24;:::i;:::-;2522:3;2515:37;2440:118;;:::o;2564:423::-;2705:4;2743:2;2732:9;2728:18;2720:26;;2792:9;2786:4;2782:20;2778:1;2767:9;2763:17;2756:47;2820:78;2893:4;2884:6;2820:78;:::i;:::-;2812:86;;2908:72;2976:2;2965:9;2961:18;2952:6;2908:72;:::i;:::-;2564:423;;;;;:::o;2993:129::-;3027:6;3054:20;;:::i;:::-;3044:30;;3083:33;3111:4;3103:6;3083:33;:::i;:::-;2993:129;;;:::o;3128:75::-;3161:6;3194:2;3188:9;3178:19;;3128:75;:::o;3209:308::-;3271:4;3361:18;3353:6;3350:30;3347:56;;;3383:18;;:::i;:::-;3347:56;3421:29;3443:6;3421:29;:::i;:::-;3413:37;;3505:4;3499;3495:15;3487:23;;3209:308;;;:::o;3523:99::-;3575:6;3609:5;3603:12;3593:22;;3523:99;;;:::o;3628:169::-;3712:11;3746:6;3741:3;3734:19;3786:4;3781:3;3777:14;3762:29;;3628:169;;;;:::o;3803:77::-;3840:7;3869:5;3858:16;;3803:77;;;:::o;3886:154::-;3970:6;3965:3;3960;3947:30;4032:1;4023:6;4018:3;4014:16;4007:27;3886:154;;;:::o;4046:307::-;4114:1;4124:113;4138:6;4135:1;4132:13;4124:113;;;4223:1;4218:3;4214:11;4208:18;4204:1;4199:3;4195:11;4188:39;4160:2;4157:1;4153:10;4148:15;;4124:113;;;4255:6;4252:1;4249:13;4246:101;;;4335:1;4326:6;4321:3;4317:16;4310:27;4246:101;4095:258;4046:307;;;:::o;4359:320::-;4403:6;4440:1;4434:4;4430:12;4420:22;;4487:1;4481:4;4477:12;4508:18;4498:81;;4564:4;4556:6;4552:17;4542:27;;4498:81;4626:2;4618:6;4615:14;4595:18;4592:38;4589:84;;;4645:18;;:::i;:::-;4589:84;4410:269;4359:320;;;:::o;4685:281::-;4768:27;4790:4;4768:27;:::i;:::-;4760:6;4756:40;4898:6;4886:10;4883:22;4862:18;4850:10;4847:34;4844:62;4841:88;;;4909:18;;:::i;:::-;4841:88;4949:10;4945:2;4938:22;4728:238;4685:281;;:::o;4972:180::-;5020:77;5017:1;5010:88;5117:4;5114:1;5107:15;5141:4;5138:1;5131:15;5158:180;5206:77;5203:1;5196:88;5303:4;5300:1;5293:15;5327:4;5324:1;5317:15;5344:117;5453:1;5450;5443:12;5467:117;5576:1;5573;5566:12;5590:117;5699:1;5696;5689:12;5713:117;5822:1;5819;5812:12;5836:102;5877:6;5928:2;5924:7;5919:2;5912:5;5908:14;5904:28;5894:38;;5836:102;;;:::o;5944:122::-;6017:24;6035:5;6017:24;:::i;:::-;6010:5;6007:35;5997:63;;6056:1;6053;6046:12;5997:63;5944:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "292600",
"executionCost": "331",
"totalCost": "292931"
},
"external": {
"data(uint256)": "infinite",
"setter(uint256,string,uint256)": "infinite"
}
},
"methodIdentifiers": {
"data(uint256)": "f0ba8440",
"setter(uint256,string,uint256)": "0c22cf41"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "data",
"outputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "class",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_class",
"type": "uint256"
}
],
"name": "setter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "data",
"outputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "class",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_class",
"type": "uint256"
}
],
"name": "setter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"mappingStruct.sol": "Mapping"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"mappingStruct.sol": {
"keccak256": "0xa7fe4aad2f30b3da04d4abb3929ff3d5680244f31d1e7054bbc34739604538db",
"license": "GPL-3.0",
"urls": [
"bzz-raw://e98aae6065b34f8997f5465a86c7c6a58613ffd2da8e644a07157be676546ed0",
"dweb:/ipfs/QmTZJAVKsgpULNKNrGwYM9G6sXXFeHet8m2aTB9vtzfQeQ"
]
}
},
"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": "608060405234801561001057600080fd5b5060cf8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063262a9dff146037578063457676ee146051575b600080fd5b603d6059565b604051604891906076565b60405180910390f35b6057605f565b005b60005481565b600a600081905550565b607081608f565b82525050565b6000602082019050608960008301846069565b92915050565b600081905091905056fea26469706673582212204425b725828b7249836bfe1ba11a5db21fed3456084ae64fa7d30a44eab681ad64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xCF DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x262A9DFF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x457676EE EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x59 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0x76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x5F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x70 DUP2 PUSH1 0x8F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x89 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x69 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIFFICULTY 0x25 0xB7 0x25 DUP3 DUP12 PUSH19 0x49836BFE1BA11A5DB21FED3456084AE64FA7D3 EXP DIFFICULTY 0xEA 0xB6 DUP2 0xAD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:103:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@age_3": {
"entryPoint": 89,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@setAge_11": {
"entryPoint": 95,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 105,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 118,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 143,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:439:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "72:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "89:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "94:17:1"
},
"nodeType": "YulFunctionCall",
"src": "94:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "82:6:1"
},
"nodeType": "YulFunctionCall",
"src": "82:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "82:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "60:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "67:3:1",
"type": ""
}
],
"src": "7:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "229:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "239:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "251:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "262:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "247:3:1"
},
"nodeType": "YulFunctionCall",
"src": "247:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "239:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "319:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "332:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "328:3:1"
},
"nodeType": "YulFunctionCall",
"src": "328:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "275:43:1"
},
"nodeType": "YulFunctionCall",
"src": "275:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "275:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "201:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "213:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "224:4:1",
"type": ""
}
],
"src": "131:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "404:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "414:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "425:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "414:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "386:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "396:7:1",
"type": ""
}
],
"src": "359:77:1"
}
]
},
"contents": "{\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060325760003560e01c8063262a9dff146037578063457676ee146051575b600080fd5b603d6059565b604051604891906076565b60405180910390f35b6057605f565b005b60005481565b600a600081905550565b607081608f565b82525050565b6000602082019050608960008301846069565b92915050565b600081905091905056fea26469706673582212204425b725828b7249836bfe1ba11a5db21fed3456084ae64fa7d30a44eab681ad64736f6c63430008070033",
"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 0x262A9DFF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x457676EE EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x59 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0x76 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x5F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x70 DUP2 PUSH1 0x8F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x89 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x69 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIFFICULTY 0x25 0xB7 0x25 DUP3 DUP12 PUSH19 0x49836BFE1BA11A5DB21FED3456084AE64FA7D3 EXP DIFFICULTY 0xEA 0xB6 DUP2 0xAD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "70:103:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;91:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;118:53;;;:::i;:::-;;91:15;;;;:::o;118:53::-;162:2;158:3;:6;;;;118:53::o;7:118:1:-;94:24;112:5;94:24;:::i;:::-;89:3;82:37;7:118;;:::o;131:222::-;224:4;262:2;251:9;247:18;239:26;;275:71;343:1;332:9;328:17;319:6;275:71;:::i;:::-;131:222;;;;:::o;359:77::-;396:7;425:5;414:16;;359:77;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "41400",
"executionCost": "93",
"totalCost": "41493"
},
"external": {
"age()": "2407",
"setAge()": "22258"
}
},
"methodIdentifiers": {
"age()": "262a9dff",
"setAge()": "457676ee"
}
},
"abi": [
{
"inputs": [],
"name": "age",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setAge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "age",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "setAge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"state.sol": "State"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"state.sol": {
"keccak256": "0xea5307117ec6e8e768bfcc044e44aaa4449b4026b628b9d8b49cf1f8d1532111",
"license": "GPL-3.0",
"urls": [
"bzz-raw://2016e14eb510545d65041ad30faf353a3d6e008bdc3508cf10bf624fa7aca0ae",
"dweb:/ipfs/QmPw86VmtaTTXxbu5Sc33BsK7mXY9Z6sqHdkKHQuVVppF2"
]
}
},
"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": {
"@_29": {
"entryPoint": null,
"id": 29,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 276,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 351,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 402,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory": {
"entryPoint": 425,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"allocate_memory": {
"entryPoint": 527,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 558,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 568,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 622,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 632,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 686,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 740,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 794,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 841,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 888,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 893,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 898,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 903,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 908,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 925,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4280:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "102:326:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "112:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "179:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "137:41:1"
},
"nodeType": "YulFunctionCall",
"src": "137:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "121:15:1"
},
"nodeType": "YulFunctionCall",
"src": "121:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "203:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "210:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "196:6:1"
},
"nodeType": "YulFunctionCall",
"src": "196:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "196:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "226:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "241:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "248:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
"nodeType": "YulFunctionCall",
"src": "237:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "230:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "291:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "293:77:1"
},
"nodeType": "YulFunctionCall",
"src": "293:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "272:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "277:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "268:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "286:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "265:2:1"
},
"nodeType": "YulFunctionCall",
"src": "265:25:1"
},
"nodeType": "YulIf",
"src": "262:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "405:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "410:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "415:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "383:21:1"
},
"nodeType": "YulFunctionCall",
"src": "383:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "383:39:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "75:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "80:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "88:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "96:5:1",
"type": ""
}
],
"src": "7:421:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "521:282:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "572:77:1"
},
"nodeType": "YulFunctionCall",
"src": "572:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "572:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "549:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "557:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "564:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "541:3:1"
},
"nodeType": "YulFunctionCall",
"src": "541:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "534:6:1"
},
"nodeType": "YulFunctionCall",
"src": "534:35:1"
},
"nodeType": "YulIf",
"src": "531:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "662:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "682:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
"nodeType": "YulFunctionCall",
"src": "676:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "666:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "698:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "770:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "778:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "766:3:1"
},
"nodeType": "YulFunctionCall",
"src": "766:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "785:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "793:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "707:58:1"
},
"nodeType": "YulFunctionCall",
"src": "707:90:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "698:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "499:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "507:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "515:5:1",
"type": ""
}
],
"src": "448:355:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "872:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "882:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "897:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "891:5:1"
},
"nodeType": "YulFunctionCall",
"src": "891:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "882:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "940:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "913:26:1"
},
"nodeType": "YulFunctionCall",
"src": "913:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "913:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "850:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "858:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "866:5:1",
"type": ""
}
],
"src": "809:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1062:576:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1108:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1110:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1110:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1110:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1083:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1092:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1079:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1079:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1104:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1075:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1075:32:1"
},
"nodeType": "YulIf",
"src": "1072:119:1"
},
{
"nodeType": "YulBlock",
"src": "1201:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1216:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1230:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1220:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1245:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1291:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1302:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1287:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1287:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1311:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "1255:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1255:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1339:292:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1354:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1378:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1374:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1374:18:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1368:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1368:25:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1358:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1440:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1442:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1442:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1442:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1412:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1420:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1409:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1409:30:1"
},
"nodeType": "YulIf",
"src": "1406:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1537:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1593:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1604:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1613:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "1547:41:1"
},
"nodeType": "YulFunctionCall",
"src": "1547:74:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1537:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1024:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1035:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1047:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1055:6:1",
"type": ""
}
],
"src": "958:680:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1685:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1695:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1705:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1705:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1695:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1754:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1762:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1734:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1734:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1734:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1669:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1678:6:1",
"type": ""
}
],
"src": "1644:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1819:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1829:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1845:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1839:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1839:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1829:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1812:6:1",
"type": ""
}
],
"src": "1779:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1927:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2032:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2034:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2034:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2034:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2004:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2012:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2001:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2001:30:1"
},
"nodeType": "YulIf",
"src": "1998:56:1"
},
{
"nodeType": "YulAssignment",
"src": "2064:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2094:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2072:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2072:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2064:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2138:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2150:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2156:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2146:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2146:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2138:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1911:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1922:4:1",
"type": ""
}
],
"src": "1860:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2219:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2229:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2240:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2229:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2201:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2211:7:1",
"type": ""
}
],
"src": "2174:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2306:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2316:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2325:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2320:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2385:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2410:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2415:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2406:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2429:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2434:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2425:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2419:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2419:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2399:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2399:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2399:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2346:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2349:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2343:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2357:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2359:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2368:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2371:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2364:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2364:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2359:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2339:3:1",
"statements": []
},
"src": "2335:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2482:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2532:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2537:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2528:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2546:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2521:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2521:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2463:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2466:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2460:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2460:13:1"
},
"nodeType": "YulIf",
"src": "2457:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2288:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2293:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2298:6:1",
"type": ""
}
],
"src": "2257:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2621:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2631:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2645:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2651:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2641:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2641:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2631:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2662:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2692:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2698:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2688:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "2666:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2739:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2753:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2767:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2775:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2763:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2753:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2719:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2712:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2712:26:1"
},
"nodeType": "YulIf",
"src": "2709:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2842:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "2856:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2856:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2856:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2806:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2829:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2837:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2826:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2826:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2803:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2803:38:1"
},
"nodeType": "YulIf",
"src": "2800:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2605:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2614:6:1",
"type": ""
}
],
"src": "2570:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2939:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2949:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2971:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3001:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2979:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2979:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2967:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "2953:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3118:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3120:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3120:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3120:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3061:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3073:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3058:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3097:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3109:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3094:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3094:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3055:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3055:62:1"
},
"nodeType": "YulIf",
"src": "3052:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3156:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3160:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3149:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3149:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "3149:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2925:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2933:4:1",
"type": ""
}
],
"src": "2896:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3211:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3228:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3231:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3221:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3221:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3221:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3325:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3328:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3318:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3318:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3318:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3349:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3352:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3342:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3342:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3342:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "3183:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3397:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3414:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3417:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3407:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3407:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3407:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3511:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3514:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3504:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3504:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3504:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3535:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3538:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3528:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3528:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3528:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "3369:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3644:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3661:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3664:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3654:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3654:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3654:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3555:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3767:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3784:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3787:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3777:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3777:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3777:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "3678:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3890:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3907:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3910:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3900:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3900:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3900:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3801:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4013:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4030:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4033:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4023:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4023:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4023:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3924:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4095:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4105:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4123:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4130:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4119:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4119:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4139:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4135:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4135:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4115:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "4105:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4078:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "4088:6:1",
"type": ""
}
],
"src": "4047:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4198:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4255:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4264:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4267:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4257:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4257:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4257:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4221:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4246:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4228:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4228:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4218:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4218:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4211:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4211:43:1"
},
"nodeType": "YulIf",
"src": "4208:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4191:5:1",
"type": ""
}
],
"src": "4155:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory(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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040523480156200001157600080fd5b506040516200090e3803806200090e8339818101604052810190620000379190620001a9565b81600080018190555080600060010190805190602001906200005b92919062000064565b505050620003b7565b8280546200007290620002ae565b90600052602060002090601f016020900481019282620000965760008555620000e2565b82601f10620000b157805160ff1916838001178555620000e2565b82800160010185558215620000e2579182015b82811115620000e1578251825591602001919060010190620000c4565b5b509050620000f19190620000f5565b5090565b5b8082111562000110576000816000905550600101620000f6565b5090565b60006200012b620001258462000238565b6200020f565b9050828152602081018484840111156200014a57620001496200037d565b5b6200015784828562000278565b509392505050565b600082601f83011262000177576200017662000378565b5b81516200018984826020860162000114565b91505092915050565b600081519050620001a3816200039d565b92915050565b60008060408385031215620001c357620001c262000387565b5b6000620001d38582860162000192565b925050602083015167ffffffffffffffff811115620001f757620001f662000382565b5b62000205858286016200015f565b9150509250929050565b60006200021b6200022e565b9050620002298282620002e4565b919050565b6000604051905090565b600067ffffffffffffffff82111562000256576200025562000349565b5b62000261826200038c565b9050602081019050919050565b6000819050919050565b60005b83811015620002985780820151818401526020810190506200027b565b83811115620002a8576000848401525b50505050565b60006002820490506001821680620002c757607f821691505b60208210811415620002de57620002dd6200031a565b5b50919050565b620002ef826200038c565b810181811067ffffffffffffffff8211171562000311576200031062000349565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620003a8816200026e565b8114620003b457600080fd5b50565b61054780620003c76000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636cc014de1461003b578063c75226ec1461005a575b600080fd5b610043610076565b604051610051929190610326565b60405180910390f35b610074600480360381019061006f9190610282565b610110565b005b600080600001549080600101805461008d90610414565b80601f01602080910402602001604051908101604052809291908181526020018280546100b990610414565b80156101065780601f106100db57610100808354040283529160200191610106565b820191906000526020600020905b8154815290600101906020018083116100e957829003601f168201915b5050505050905082565b60006040518060400160405280848152602001838152509050806000808201518160000155602082015181600101908051906020019061015192919061015a565b50905050505050565b82805461016690610414565b90600052602060002090601f01602090048101928261018857600085556101cf565b82601f106101a157805160ff19168380011785556101cf565b828001600101855582156101cf579182015b828111156101ce5782518255916020019190600101906101b3565b5b5090506101dc91906101e0565b5090565b5b808211156101f95760008160009055506001016101e1565b5090565b600061021061020b8461037b565b610356565b90508281526020810184848401111561022c5761022b6104da565b5b6102378482856103d2565b509392505050565b600082601f830112610254576102536104d5565b5b81356102648482602086016101fd565b91505092915050565b60008135905061027c816104fa565b92915050565b60008060408385031215610299576102986104e4565b5b60006102a78582860161026d565b925050602083013567ffffffffffffffff8111156102c8576102c76104df565b5b6102d48582860161023f565b9150509250929050565b60006102e9826103ac565b6102f381856103b7565b93506103038185602086016103e1565b61030c816104e9565b840191505092915050565b610320816103c8565b82525050565b600060408201905061033b6000830185610317565b818103602083015261034d81846102de565b90509392505050565b6000610360610371565b905061036c8282610446565b919050565b6000604051905090565b600067ffffffffffffffff821115610396576103956104a6565b5b61039f826104e9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156103ff5780820151818401526020810190506103e4565b8381111561040e576000848401525b50505050565b6000600282049050600182168061042c57607f821691505b602082108114156104405761043f610477565b5b50919050565b61044f826104e9565b810181811067ffffffffffffffff8211171561046e5761046d6104a6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610503816103c8565b811461050e57600080fd5b5056fea2646970667358221220b784d188afd4c852dd1d28b34e7cdc45a7ac27ade6a86d3395e971bf18e8706664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x90E CODESIZE SUB DUP1 PUSH3 0x90E DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x1A9 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x5B SWAP3 SWAP2 SWAP1 PUSH3 0x64 JUMP JUMPDEST POP POP POP PUSH3 0x3B7 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x72 SWAP1 PUSH3 0x2AE JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x96 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xE2 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xB1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xE2 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xE2 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xE1 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xC4 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0xF1 SWAP2 SWAP1 PUSH3 0xF5 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x110 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0xF6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x12B PUSH3 0x125 DUP5 PUSH3 0x238 JUMP JUMPDEST PUSH3 0x20F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x14A JUMPI PUSH3 0x149 PUSH3 0x37D JUMP JUMPDEST JUMPDEST PUSH3 0x157 DUP5 DUP3 DUP6 PUSH3 0x278 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x177 JUMPI PUSH3 0x176 PUSH3 0x378 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x189 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x114 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x1A3 DUP2 PUSH3 0x39D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1C3 JUMPI PUSH3 0x1C2 PUSH3 0x387 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x1D3 DUP6 DUP3 DUP7 ADD PUSH3 0x192 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x1F7 JUMPI PUSH3 0x1F6 PUSH3 0x382 JUMP JUMPDEST JUMPDEST PUSH3 0x205 DUP6 DUP3 DUP7 ADD PUSH3 0x15F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x21B PUSH3 0x22E JUMP JUMPDEST SWAP1 POP PUSH3 0x229 DUP3 DUP3 PUSH3 0x2E4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x256 JUMPI PUSH3 0x255 PUSH3 0x349 JUMP JUMPDEST JUMPDEST PUSH3 0x261 DUP3 PUSH3 0x38C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x298 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x27B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x2A8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x2C7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x2DE JUMPI PUSH3 0x2DD PUSH3 0x31A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2EF DUP3 PUSH3 0x38C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x311 JUMPI PUSH3 0x310 PUSH3 0x349 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3A8 DUP2 PUSH3 0x26E JUMP JUMPDEST DUP2 EQ PUSH3 0x3B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x547 DUP1 PUSH3 0x3C7 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 0x6CC014DE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xC75226EC EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x51 SWAP3 SWAP2 SWAP1 PUSH2 0x326 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x74 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6F SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x8D SWAP1 PUSH2 0x414 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 0xB9 SWAP1 PUSH2 0x414 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x106 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x106 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 0xE9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP1 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x151 SWAP3 SWAP2 SWAP1 PUSH2 0x15A JUMP JUMPDEST POP SWAP1 POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x188 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1CF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1CF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1CF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1CE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1E1 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x210 PUSH2 0x20B DUP5 PUSH2 0x37B JUMP JUMPDEST PUSH2 0x356 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x22C JUMPI PUSH2 0x22B PUSH2 0x4DA JUMP JUMPDEST JUMPDEST PUSH2 0x237 DUP5 DUP3 DUP6 PUSH2 0x3D2 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x254 JUMPI PUSH2 0x253 PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x264 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27C DUP2 PUSH2 0x4FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x299 JUMPI PUSH2 0x298 PUSH2 0x4E4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2A7 DUP6 DUP3 DUP7 ADD PUSH2 0x26D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C8 JUMPI PUSH2 0x2C7 PUSH2 0x4DF JUMP JUMPDEST JUMPDEST PUSH2 0x2D4 DUP6 DUP3 DUP7 ADD PUSH2 0x23F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E9 DUP3 PUSH2 0x3AC JUMP JUMPDEST PUSH2 0x2F3 DUP2 DUP6 PUSH2 0x3B7 JUMP JUMPDEST SWAP4 POP PUSH2 0x303 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3E1 JUMP JUMPDEST PUSH2 0x30C DUP2 PUSH2 0x4E9 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x320 DUP2 PUSH2 0x3C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x317 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x34D DUP2 DUP5 PUSH2 0x2DE JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x360 PUSH2 0x371 JUMP JUMPDEST SWAP1 POP PUSH2 0x36C DUP3 DUP3 PUSH2 0x446 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x396 JUMPI PUSH2 0x395 PUSH2 0x4A6 JUMP JUMPDEST JUMPDEST PUSH2 0x39F DUP3 PUSH2 0x4E9 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3FF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E4 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x40E 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 0x42C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x440 JUMPI PUSH2 0x43F PUSH2 0x477 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44F DUP3 PUSH2 0x4E9 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x4A6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH2 0x3C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB7 DUP5 0xD1 DUP9 0xAF 0xD4 0xC8 MSTORE 0xDD SAR 0x28 0xB3 0x4E PUSH29 0xDC45A7AC27ADE6A86D3395E971BF18E8706664736F6C63430008070033 ",
"sourceMap": "122:367:0:-:0;;;179:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;246:5;238:2;:7;;:13;;;;269:5;261:2;:7;;:13;;;;;;;;;;;;:::i;:::-;;179:102;;122:367;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:421:1:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:112;;;293:79;;:::i;:::-;262:112;383:39;415:6;410:3;405;383:39;:::i;:::-;102:326;7:421;;;;;:::o;448:355::-;515:5;564:3;557:4;549:6;545:17;541:27;531:122;;572:79;;:::i;:::-;531:122;682:6;676:13;707:90;793:3;785:6;778:4;770:6;766:17;707:90;:::i;:::-;698:99;;521:282;448:355;;;;:::o;809:143::-;866:5;897:6;891:13;882:22;;913:33;940:5;913:33;:::i;:::-;809:143;;;;:::o;958:680::-;1047:6;1055;1104:2;1092:9;1083:7;1079:23;1075:32;1072:119;;;1110:79;;:::i;:::-;1072:119;1230:1;1255:64;1311:7;1302:6;1291:9;1287:22;1255:64;:::i;:::-;1245:74;;1201:128;1389:2;1378:9;1374:18;1368:25;1420:18;1412:6;1409:30;1406:117;;;1442:79;;:::i;:::-;1406:117;1547:74;1613:7;1604:6;1593:9;1589:22;1547:74;:::i;:::-;1537:84;;1339:292;958:680;;;;;:::o;1644:129::-;1678:6;1705:20;;:::i;:::-;1695:30;;1734:33;1762:4;1754:6;1734:33;:::i;:::-;1644:129;;;:::o;1779:75::-;1812:6;1845:2;1839:9;1829:19;;1779:75;:::o;1860:308::-;1922:4;2012:18;2004:6;2001:30;1998:56;;;2034:18;;:::i;:::-;1998:56;2072:29;2094:6;2072:29;:::i;:::-;2064:37;;2156:4;2150;2146:15;2138:23;;1860:308;;;:::o;2174:77::-;2211:7;2240:5;2229:16;;2174:77;;;:::o;2257:307::-;2325:1;2335:113;2349:6;2346:1;2343:13;2335:113;;;2434:1;2429:3;2425:11;2419:18;2415:1;2410:3;2406:11;2399:39;2371:2;2368:1;2364:10;2359:15;;2335:113;;;2466:6;2463:1;2460:13;2457:101;;;2546:1;2537:6;2532:3;2528:16;2521:27;2457:101;2306:258;2257:307;;;:::o;2570:320::-;2614:6;2651:1;2645:4;2641:12;2631:22;;2698:1;2692:4;2688:12;2719:18;2709:81;;2775:4;2767:6;2763:17;2753:27;;2709:81;2837:2;2829:6;2826:14;2806:18;2803:38;2800:84;;;2856:18;;:::i;:::-;2800:84;2621:269;2570:320;;;:::o;2896:281::-;2979:27;3001:4;2979:27;:::i;:::-;2971:6;2967:40;3109:6;3097:10;3094:22;3073:18;3061:10;3058:34;3055:62;3052:88;;;3120:18;;:::i;:::-;3052:88;3160:10;3156:2;3149:22;2939:238;2896:281;;:::o;3183:180::-;3231:77;3228:1;3221:88;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3369:180;3417:77;3414:1;3407:88;3514:4;3511:1;3504:15;3538:4;3535:1;3528:15;3555:117;3664:1;3661;3654:12;3678:117;3787:1;3784;3777:12;3801:117;3910:1;3907;3900:12;3924:117;4033:1;4030;4023:12;4047:102;4088:6;4139:2;4135:7;4130:2;4123:5;4119:14;4115:28;4105:38;;4047:102;;;:::o;4155:122::-;4228:24;4246:5;4228:24;:::i;:::-;4221:5;4218:35;4208:63;;4267:1;4264;4257:12;4208:63;4155:122;:::o;122:367:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@change_49": {
"entryPoint": 272,
"id": 49,
"parameterSlots": 2,
"returnSlots": 0
},
"@s1_9": {
"entryPoint": 118,
"id": 9,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 509,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 575,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 621,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_string_memory_ptr": {
"entryPoint": 642,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 734,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 791,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 806,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 854,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 881,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 891,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 940,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 951,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 968,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 978,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 993,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1044,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1094,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1143,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1190,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1237,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1242,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1247,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1252,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1257,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1274,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5589:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "550:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "552:77:1"
},
"nodeType": "YulFunctionCall",
"src": "552:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "552:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "529:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "537:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "544:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "521:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "514:35:1"
},
"nodeType": "YulIf",
"src": "511:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "642:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "669:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "656:12:1"
},
"nodeType": "YulFunctionCall",
"src": "656:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "685:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "746:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "754:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "742:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "761:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "694:47:1"
},
"nodeType": "YulFunctionCall",
"src": "694:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "685:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "487:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "495:5:1",
"type": ""
}
],
"src": "439:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "837:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "847:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "869:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "856:12:1"
},
"nodeType": "YulFunctionCall",
"src": "856:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "847:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "912:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "885:26:1"
},
"nodeType": "YulFunctionCall",
"src": "885:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "885:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "823:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "831:5:1",
"type": ""
}
],
"src": "785:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1023:561:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1069:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1071:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1071:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1071:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1044:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1053:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1040:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1040:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1065:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1036:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:32:1"
},
"nodeType": "YulIf",
"src": "1033:119:1"
},
{
"nodeType": "YulBlock",
"src": "1162:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1177:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1191:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1181:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1206:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1241:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1252:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1237:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1237:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1261:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1216:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1216:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1206:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1289:288:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1304:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1335:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1346:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1331:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1331:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1318:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1318:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1308:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1397:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1399:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1399:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1399:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1369:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1377:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1366:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1366:30:1"
},
"nodeType": "YulIf",
"src": "1363:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1494:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1539:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1550:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1535:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1535:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1559:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1504:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1504:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1494:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "985:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "996:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1008:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1016:6:1",
"type": ""
}
],
"src": "930:654:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1682:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1692:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1739:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1706:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1706:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1696:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1754:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1820:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1825:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1761:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1761:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1754:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1867:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1874:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1863:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1863:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1881:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1886:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "1841:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1841:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "1841:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1902:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1913:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1940:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1918:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1918:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1909:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1909:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1902:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1663:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1670:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1678:3:1",
"type": ""
}
],
"src": "1590:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2025:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2042:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2065:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2047:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2047:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2035:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2035:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2035:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2013:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2020:3:1",
"type": ""
}
],
"src": "1960:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2230:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2240:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2252:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2263:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2248:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2240:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2320:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2333:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2344:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2329:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2329:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2276:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2276:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2276:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2368:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2379:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2364:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2364:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2388:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2394:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2384:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2384:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2357:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2357:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2357:48:1"
},
{
"nodeType": "YulAssignment",
"src": "2414:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2486:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2495:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2422:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2422:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2414:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2194:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2206:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2214:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2225:4:1",
"type": ""
}
],
"src": "2084:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2554:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2564:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "2574:18:1"
},
"nodeType": "YulFunctionCall",
"src": "2574:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2564:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2623:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2631:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "2603:19:1"
},
"nodeType": "YulFunctionCall",
"src": "2603:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2603:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2538:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2547:6:1",
"type": ""
}
],
"src": "2513:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2688:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2698:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2714:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2708:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2708:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2698:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2681:6:1",
"type": ""
}
],
"src": "2648:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2796:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2901:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2903:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2903:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2903:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2873:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2881:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2870:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2870:30:1"
},
"nodeType": "YulIf",
"src": "2867:56:1"
},
{
"nodeType": "YulAssignment",
"src": "2933:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2963:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2941:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2941:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2933:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3007:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3019:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3025:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3015:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3007:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2780:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2791:4:1",
"type": ""
}
],
"src": "2729:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3102:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3113:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3129:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3123:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3123:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3113:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3085:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3095:6:1",
"type": ""
}
],
"src": "3043:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3244:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3266:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3254:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3254:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3254:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3282:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3301:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3306:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3297:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3297:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3282:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3216:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3221:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3232:11:1",
"type": ""
}
],
"src": "3148:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3368:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3378:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3389:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3378:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3350:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3360:7:1",
"type": ""
}
],
"src": "3323:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3457:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3485:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3490:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "3467:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3467:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "3467:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3538:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3543:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3534:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3534:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3552:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3527:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3527:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3527:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3439:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3444:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3449:6:1",
"type": ""
}
],
"src": "3406:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3615:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3625:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3634:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "3629:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3694:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3719:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3724:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3715:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3715:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3738:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3743:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3734:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3734:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3728:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3728:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3708:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3708:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3708:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3655:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3658:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3652:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3652:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3666:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3668:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3677:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3680:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3673:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3673:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3668:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "3648:3:1",
"statements": []
},
"src": "3644:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3791:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3841:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3846:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3837:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3855:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3830:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3830:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3830:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3772:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3775:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3769:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3769:13:1"
},
"nodeType": "YulIf",
"src": "3766:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3597:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3602:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3607:6:1",
"type": ""
}
],
"src": "3566:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3930:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3940:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3954:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3960:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "3950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3940:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "3971:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4001:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4007:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3997:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "3975:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4048:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4062:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4076:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4084:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4072:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4072:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4062:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4028:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4021:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4021:26:1"
},
"nodeType": "YulIf",
"src": "4018:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4151:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "4165:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4165:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4165:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4115:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4138:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4146:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4135:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4135:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4112:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4112:38:1"
},
"nodeType": "YulIf",
"src": "4109:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3923:6:1",
"type": ""
}
],
"src": "3879:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4248:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4258:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4280:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4310:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4288:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4288:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4276:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "4262:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4427:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4429:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4429:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4429:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4370:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4382:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4367:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4367:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4406:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4418:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4403:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4403:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "4364:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4364:62:1"
},
"nodeType": "YulIf",
"src": "4361:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4465:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4469:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4458:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4458:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "4458:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4234:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4242:4:1",
"type": ""
}
],
"src": "4205:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4520:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4537:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4540:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4530:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4530:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4530:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4634:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4637:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4627:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4627:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4627:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4658:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4661:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4651:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4651:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4651:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4492:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4706:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4723:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4726:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4716:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4716:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4716:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4820:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4823:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4813:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4813:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4813:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4844:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4847:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4837:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4837:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4837:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "4678:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4953:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4973:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4963:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4963:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4963:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "4864:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5076:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5093:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5096:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5086:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5086:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5086:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "4987:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5199:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5216:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5219:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5209:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5209:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5209:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "5110:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5322:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5339:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5342:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5332:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5332:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5332:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "5233:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5404:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5414:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5432:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5439:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5428:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5428:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5448:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "5444:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5444:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5424:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5424:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "5414:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5387:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "5397:6:1",
"type": ""
}
],
"src": "5356:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5507:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5564:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5573:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5566:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5566:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5566:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5530:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5555:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5537:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5537:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5527:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5527:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5520:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5520:43:1"
},
"nodeType": "YulIf",
"src": "5517:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5500:5:1",
"type": ""
}
],
"src": "5464:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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": "608060405234801561001057600080fd5b50600436106100365760003560e01c80636cc014de1461003b578063c75226ec1461005a575b600080fd5b610043610076565b604051610051929190610326565b60405180910390f35b610074600480360381019061006f9190610282565b610110565b005b600080600001549080600101805461008d90610414565b80601f01602080910402602001604051908101604052809291908181526020018280546100b990610414565b80156101065780601f106100db57610100808354040283529160200191610106565b820191906000526020600020905b8154815290600101906020018083116100e957829003601f168201915b5050505050905082565b60006040518060400160405280848152602001838152509050806000808201518160000155602082015181600101908051906020019061015192919061015a565b50905050505050565b82805461016690610414565b90600052602060002090601f01602090048101928261018857600085556101cf565b82601f106101a157805160ff19168380011785556101cf565b828001600101855582156101cf579182015b828111156101ce5782518255916020019190600101906101b3565b5b5090506101dc91906101e0565b5090565b5b808211156101f95760008160009055506001016101e1565b5090565b600061021061020b8461037b565b610356565b90508281526020810184848401111561022c5761022b6104da565b5b6102378482856103d2565b509392505050565b600082601f830112610254576102536104d5565b5b81356102648482602086016101fd565b91505092915050565b60008135905061027c816104fa565b92915050565b60008060408385031215610299576102986104e4565b5b60006102a78582860161026d565b925050602083013567ffffffffffffffff8111156102c8576102c76104df565b5b6102d48582860161023f565b9150509250929050565b60006102e9826103ac565b6102f381856103b7565b93506103038185602086016103e1565b61030c816104e9565b840191505092915050565b610320816103c8565b82525050565b600060408201905061033b6000830185610317565b818103602083015261034d81846102de565b90509392505050565b6000610360610371565b905061036c8282610446565b919050565b6000604051905090565b600067ffffffffffffffff821115610396576103956104a6565b5b61039f826104e9565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b838110156103ff5780820151818401526020810190506103e4565b8381111561040e576000848401525b50505050565b6000600282049050600182168061042c57607f821691505b602082108114156104405761043f610477565b5b50919050565b61044f826104e9565b810181811067ffffffffffffffff8211171561046e5761046d6104a6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610503816103c8565b811461050e57600080fd5b5056fea2646970667358221220b784d188afd4c852dd1d28b34e7cdc45a7ac27ade6a86d3395e971bf18e8706664736f6c63430008070033",
"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 0x6CC014DE EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xC75226EC EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x76 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x51 SWAP3 SWAP2 SWAP1 PUSH2 0x326 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x74 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6F SWAP2 SWAP1 PUSH2 0x282 JUMP JUMPDEST PUSH2 0x110 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x8D SWAP1 PUSH2 0x414 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 0xB9 SWAP1 PUSH2 0x414 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x106 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x106 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 0xE9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP1 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x151 SWAP3 SWAP2 SWAP1 PUSH2 0x15A JUMP JUMPDEST POP SWAP1 POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x188 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x1CF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x1A1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1CF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1CF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1CE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1DC SWAP2 SWAP1 PUSH2 0x1E0 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1E1 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x210 PUSH2 0x20B DUP5 PUSH2 0x37B JUMP JUMPDEST PUSH2 0x356 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x22C JUMPI PUSH2 0x22B PUSH2 0x4DA JUMP JUMPDEST JUMPDEST PUSH2 0x237 DUP5 DUP3 DUP6 PUSH2 0x3D2 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x254 JUMPI PUSH2 0x253 PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x264 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1FD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27C DUP2 PUSH2 0x4FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x299 JUMPI PUSH2 0x298 PUSH2 0x4E4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2A7 DUP6 DUP3 DUP7 ADD PUSH2 0x26D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C8 JUMPI PUSH2 0x2C7 PUSH2 0x4DF JUMP JUMPDEST JUMPDEST PUSH2 0x2D4 DUP6 DUP3 DUP7 ADD PUSH2 0x23F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E9 DUP3 PUSH2 0x3AC JUMP JUMPDEST PUSH2 0x2F3 DUP2 DUP6 PUSH2 0x3B7 JUMP JUMPDEST SWAP4 POP PUSH2 0x303 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3E1 JUMP JUMPDEST PUSH2 0x30C DUP2 PUSH2 0x4E9 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x320 DUP2 PUSH2 0x3C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x317 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x34D DUP2 DUP5 PUSH2 0x2DE JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x360 PUSH2 0x371 JUMP JUMPDEST SWAP1 POP PUSH2 0x36C DUP3 DUP3 PUSH2 0x446 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x396 JUMPI PUSH2 0x395 PUSH2 0x4A6 JUMP JUMPDEST JUMPDEST PUSH2 0x39F DUP3 PUSH2 0x4E9 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3FF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x3E4 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x40E 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 0x42C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x440 JUMPI PUSH2 0x43F PUSH2 0x477 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44F DUP3 PUSH2 0x4E9 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x46E JUMPI PUSH2 0x46D PUSH2 0x4A6 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH2 0x3C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x50E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB7 DUP5 0xD1 DUP9 0xAF 0xD4 0xC8 MSTORE 0xDD SAR 0x28 0xB3 0x4E PUSH29 0xDC45A7AC27ADE6A86D3395E971BF18E8706664736F6C63430008070033 ",
"sourceMap": "122:367:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;155:17;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;287:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;155:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;287:200::-;357:26;386:69;;;;;;;;414:5;386:69;;;;439:5;386:69;;;357:98;;469:11;466:2;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;347:140;287:200;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;785:139;;;;:::o;930:654::-;1008:6;1016;1065:2;1053:9;1044:7;1040:23;1036:32;1033:119;;;1071:79;;:::i;:::-;1033:119;1191:1;1216:53;1261:7;1252:6;1241:9;1237:22;1216:53;:::i;:::-;1206:63;;1162:117;1346:2;1335:9;1331:18;1318:32;1377:18;1369:6;1366:30;1363:117;;;1399:79;;:::i;:::-;1363:117;1504:63;1559:7;1550:6;1539:9;1535:22;1504:63;:::i;:::-;1494:73;;1289:288;930:654;;;;;:::o;1590:364::-;1678:3;1706:39;1739:5;1706:39;:::i;:::-;1761:71;1825:6;1820:3;1761:71;:::i;:::-;1754:78;;1841:52;1886:6;1881:3;1874:4;1867:5;1863:16;1841:52;:::i;:::-;1918:29;1940:6;1918:29;:::i;:::-;1913:3;1909:39;1902:46;;1682:272;1590:364;;;;:::o;1960:118::-;2047:24;2065:5;2047:24;:::i;:::-;2042:3;2035:37;1960:118;;:::o;2084:423::-;2225:4;2263:2;2252:9;2248:18;2240:26;;2276:71;2344:1;2333:9;2329:17;2320:6;2276:71;:::i;:::-;2394:9;2388:4;2384:20;2379:2;2368:9;2364:18;2357:48;2422:78;2495:4;2486:6;2422:78;:::i;:::-;2414:86;;2084:423;;;;;:::o;2513:129::-;2547:6;2574:20;;:::i;:::-;2564:30;;2603:33;2631:4;2623:6;2603:33;:::i;:::-;2513:129;;;:::o;2648:75::-;2681:6;2714:2;2708:9;2698:19;;2648:75;:::o;2729:308::-;2791:4;2881:18;2873:6;2870:30;2867:56;;;2903:18;;:::i;:::-;2867:56;2941:29;2963:6;2941:29;:::i;:::-;2933:37;;3025:4;3019;3015:15;3007:23;;2729:308;;;:::o;3043:99::-;3095:6;3129:5;3123:12;3113:22;;3043:99;;;:::o;3148:169::-;3232:11;3266:6;3261:3;3254:19;3306:4;3301:3;3297:14;3282:29;;3148:169;;;;:::o;3323:77::-;3360:7;3389:5;3378:16;;3323:77;;;:::o;3406:154::-;3490:6;3485:3;3480;3467:30;3552:1;3543:6;3538:3;3534:16;3527:27;3406:154;;;:::o;3566:307::-;3634:1;3644:113;3658:6;3655:1;3652:13;3644:113;;;3743:1;3738:3;3734:11;3728:18;3724:1;3719:3;3715:11;3708:39;3680:2;3677:1;3673:10;3668:15;;3644:113;;;3775:6;3772:1;3769:13;3766:101;;;3855:1;3846:6;3841:3;3837:16;3830:27;3766:101;3615:258;3566:307;;;:::o;3879:320::-;3923:6;3960:1;3954:4;3950:12;3940:22;;4007:1;4001:4;3997:12;4028:18;4018:81;;4084:4;4076:6;4072:17;4062:27;;4018:81;4146:2;4138:6;4135:14;4115:18;4112:38;4109:84;;;4165:18;;:::i;:::-;4109:84;3930:269;3879:320;;;:::o;4205:281::-;4288:27;4310:4;4288:27;:::i;:::-;4280:6;4276:40;4418:6;4406:10;4403:22;4382:18;4370:10;4367:34;4364:62;4361:88;;;4429:18;;:::i;:::-;4361:88;4469:10;4465:2;4458:22;4248:238;4205:281;;:::o;4492:180::-;4540:77;4537:1;4530:88;4637:4;4634:1;4627:15;4661:4;4658:1;4651:15;4678:180;4726:77;4723:1;4716:88;4823:4;4820:1;4813:15;4847:4;4844:1;4837:15;4864:117;4973:1;4970;4963:12;4987:117;5096:1;5093;5086:12;5110:117;5219:1;5216;5209:12;5233:117;5342:1;5339;5332:12;5356:102;5397:6;5448:2;5444:7;5439:2;5432:5;5428:14;5424:28;5414:38;;5356:102;;;:::o;5464:122::-;5537:24;5555:5;5537:24;:::i;:::-;5530:5;5527:35;5517:63;;5576:1;5573;5566:12;5517:63;5464:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "270200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"change(uint256,string)": "infinite",
"s1()": "infinite"
}
},
"methodIdentifiers": {
"change(uint256,string)": "c75226ec",
"s1()": "6cc014de"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "change",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "s1",
"outputs": [
{
"internalType": "uint256",
"name": "roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "change",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "s1",
"outputs": [
{
"internalType": "uint256",
"name": "roll",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"structure.sol": "StructureContract"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"structure.sol": {
"keccak256": "0x589b4ca808232c38516a6b1f1dd7016338b5a5ae2253ce7538cef243fa737711",
"license": "GPL-3.0",
"urls": [
"bzz-raw://43ecd183168b1f4bc23078c84c3e0eaf034ff96d1f810b425bc6226b144eeaad",
"dweb:/ipfs/QmfUr17ztihZxZd5s5ksmuDHgve7PKeeYHinb3ggvSbyAH"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "0109780b6a427509dc4a878418171ba6",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"loops.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.5.0 <0.9.0;\n\ncontract Loop\n{\n uint[3] public arr;\n uint public count;\n\n function loop() public {\n while(count<arr.length)\n {\n arr[count] = count;\n count = count + 1;\n }\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"loops.sol": {
"Loop": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "loop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"loops.sol\":70:285 contract Loop... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"loops.sol\":70:285 contract Loop... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x06661abd\n eq\n tag_3\n jumpi\n dup1\n 0x71e5ee5f\n eq\n tag_4\n jumpi\n dup1\n 0xa92100cb\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"loops.sol\":114:131 uint public count */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"loops.sol\":90:108 uint[3] public arr */\n tag_4:\n tag_10\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n tag_13\n jump\t// in\n tag_10:\n mload(0x40)\n tag_14\n swap2\n swap1\n tag_9\n jump\t// in\n tag_14:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"loops.sol\":138:283 function loop() public {... */\n tag_5:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n stop\n /* \"loops.sol\":114:131 uint public count */\n tag_7:\n sload(0x03)\n dup2\n jump\t// out\n /* \"loops.sol\":90:108 uint[3] public arr */\n tag_13:\n 0x00\n dup2\n 0x03\n dup2\n lt\n tag_17\n jumpi\n 0x00\n dup1\n revert\n tag_17:\n add\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"loops.sol\":138:283 function loop() public {... */\n tag_16:\n /* \"loops.sol\":171:277 while(count<arr.length)... */\n tag_20:\n /* \"loops.sol\":183:193 arr.length */\n 0x03\n /* \"loops.sol\":177:182 count */\n dup1\n sload\n /* \"loops.sol\":177:193 count<arr.length */\n lt\n /* \"loops.sol\":171:277 while(count<arr.length)... */\n iszero\n tag_21\n jumpi\n /* \"loops.sol\":230:235 count */\n sload(0x03)\n /* \"loops.sol\":217:220 arr */\n 0x00\n /* \"loops.sol\":221:226 count */\n sload(0x03)\n /* \"loops.sol\":217:227 arr[count] */\n 0x03\n dup2\n lt\n tag_22\n jumpi\n tag_23\n tag_24\n jump\t// in\n tag_23:\n tag_22:\n add\n /* \"loops.sol\":217:235 arr[count] = count */\n dup2\n swap1\n sstore\n pop\n /* \"loops.sol\":265:266 1 */\n 0x01\n /* \"loops.sol\":257:262 count */\n sload(0x03)\n /* \"loops.sol\":257:266 count + 1 */\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n /* \"loops.sol\":249:254 count */\n 0x03\n /* \"loops.sol\":249:266 count = count + 1 */\n dup2\n swap1\n sstore\n pop\n /* \"loops.sol\":171:277 while(count<arr.length)... */\n jump(tag_20)\n tag_21:\n /* \"loops.sol\":138:283 function loop() public {... */\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_29:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_31\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_32\n jump\t// in\n tag_31:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:481 */\n tag_12:\n /* \"#utility.yul\":211:217 */\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:347 */\n iszero\n tag_34\n jumpi\n /* \"#utility.yul\":266:345 */\n tag_35\n tag_36\n jump\t// in\n tag_35:\n /* \"#utility.yul\":228:347 */\n tag_34:\n /* \"#utility.yul\":386:387 */\n 0x00\n /* \"#utility.yul\":411:464 */\n tag_37\n /* \"#utility.yul\":456:463 */\n dup5\n /* \"#utility.yul\":447:453 */\n dup3\n /* \"#utility.yul\":436:445 */\n dup6\n /* \"#utility.yul\":432:454 */\n add\n /* \"#utility.yul\":411:464 */\n tag_29\n jump\t// in\n tag_37:\n /* \"#utility.yul\":401:464 */\n swap2\n pop\n /* \"#utility.yul\":357:474 */\n pop\n /* \"#utility.yul\":152:481 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":487:605 */\n tag_38:\n /* \"#utility.yul\":574:598 */\n tag_40\n /* \"#utility.yul\":592:597 */\n dup2\n /* \"#utility.yul\":574:598 */\n tag_41\n jump\t// in\n tag_40:\n /* \"#utility.yul\":569:572 */\n dup3\n /* \"#utility.yul\":562:599 */\n mstore\n /* \"#utility.yul\":487:605 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":611:833 */\n tag_9:\n /* \"#utility.yul\":704:708 */\n 0x00\n /* \"#utility.yul\":742:744 */\n 0x20\n /* \"#utility.yul\":731:740 */\n dup3\n /* \"#utility.yul\":727:745 */\n add\n /* \"#utility.yul\":719:745 */\n swap1\n pop\n /* \"#utility.yul\":755:826 */\n tag_43\n /* \"#utility.yul\":823:824 */\n 0x00\n /* \"#utility.yul\":812:821 */\n dup4\n /* \"#utility.yul\":808:825 */\n add\n /* \"#utility.yul\":799:805 */\n dup5\n /* \"#utility.yul\":755:826 */\n tag_38\n jump\t// in\n tag_43:\n /* \"#utility.yul\":611:833 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":920:1225 */\n tag_27:\n /* \"#utility.yul\":960:963 */\n 0x00\n /* \"#utility.yul\":979:999 */\n tag_47\n /* \"#utility.yul\":997:998 */\n dup3\n /* \"#utility.yul\":979:999 */\n tag_41\n jump\t// in\n tag_47:\n /* \"#utility.yul\":974:999 */\n swap2\n pop\n /* \"#utility.yul\":1013:1033 */\n tag_48\n /* \"#utility.yul\":1031:1032 */\n dup4\n /* \"#utility.yul\":1013:1033 */\n tag_41\n jump\t// in\n tag_48:\n /* \"#utility.yul\":1008:1033 */\n swap3\n pop\n /* \"#utility.yul\":1167:1168 */\n dup3\n /* \"#utility.yul\":1099:1165 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1095:1169 */\n sub\n /* \"#utility.yul\":1092:1093 */\n dup3\n /* \"#utility.yul\":1089:1170 */\n gt\n /* \"#utility.yul\":1086:1193 */\n iszero\n tag_49\n jumpi\n /* \"#utility.yul\":1173:1191 */\n tag_50\n tag_51\n jump\t// in\n tag_50:\n /* \"#utility.yul\":1086:1193 */\n tag_49:\n /* \"#utility.yul\":1217:1218 */\n dup3\n /* \"#utility.yul\":1214:1215 */\n dup3\n /* \"#utility.yul\":1210:1219 */\n add\n /* \"#utility.yul\":1203:1219 */\n swap1\n pop\n /* \"#utility.yul\":920:1225 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1231:1308 */\n tag_41:\n /* \"#utility.yul\":1268:1275 */\n 0x00\n /* \"#utility.yul\":1297:1302 */\n dup2\n /* \"#utility.yul\":1286:1302 */\n swap1\n pop\n /* \"#utility.yul\":1231:1308 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1314:1494 */\n tag_51:\n /* \"#utility.yul\":1362:1439 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1359:1360 */\n 0x00\n /* \"#utility.yul\":1352:1440 */\n mstore\n /* \"#utility.yul\":1459:1463 */\n 0x11\n /* \"#utility.yul\":1456:1457 */\n 0x04\n /* \"#utility.yul\":1449:1464 */\n mstore\n /* \"#utility.yul\":1483:1487 */\n 0x24\n /* \"#utility.yul\":1480:1481 */\n 0x00\n /* \"#utility.yul\":1473:1488 */\n revert\n /* \"#utility.yul\":1500:1680 */\n tag_24:\n /* \"#utility.yul\":1548:1625 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1545:1546 */\n 0x00\n /* \"#utility.yul\":1538:1626 */\n mstore\n /* \"#utility.yul\":1645:1649 */\n 0x32\n /* \"#utility.yul\":1642:1643 */\n 0x04\n /* \"#utility.yul\":1635:1650 */\n mstore\n /* \"#utility.yul\":1669:1673 */\n 0x24\n /* \"#utility.yul\":1666:1667 */\n 0x00\n /* \"#utility.yul\":1659:1674 */\n revert\n /* \"#utility.yul\":1809:1926 */\n tag_36:\n /* \"#utility.yul\":1918:1919 */\n 0x00\n /* \"#utility.yul\":1915:1916 */\n dup1\n /* \"#utility.yul\":1908:1920 */\n revert\n /* \"#utility.yul\":1932:2054 */\n tag_32:\n /* \"#utility.yul\":2005:2029 */\n tag_59\n /* \"#utility.yul\":2023:2028 */\n dup2\n /* \"#utility.yul\":2005:2029 */\n tag_41\n jump\t// in\n tag_59:\n /* \"#utility.yul\":1998:2003 */\n dup2\n /* \"#utility.yul\":1995:2030 */\n eq\n /* \"#utility.yul\":1985:2048 */\n tag_60\n jumpi\n /* \"#utility.yul\":2044:2045 */\n 0x00\n /* \"#utility.yul\":2041:2042 */\n dup1\n /* \"#utility.yul\":2034:2046 */\n revert\n /* \"#utility.yul\":1985:2048 */\n tag_60:\n /* \"#utility.yul\":1932:2054 */\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212208c82c031aaaa9c46fe054d7b5328dca3fac96771d7b1835b888bc2034461e10c64736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610280806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806306661abd1461004657806371e5ee5f14610064578063a92100cb14610094575b600080fd5b61004e61009e565b60405161005b9190610155565b60405180910390f35b61007e60048036038101906100799190610119565b6100a4565b60405161008b9190610155565b60405180910390f35b61009c6100bf565b005b60035481565b600081600381106100b457600080fd5b016000915090505481565b5b600380541015610102576003546000600354600381106100e3576100e26101ff565b5b018190555060016003546100f79190610170565b6003819055506100c0565b565b60008135905061011381610233565b92915050565b60006020828403121561012f5761012e61022e565b5b600061013d84828501610104565b91505092915050565b61014f816101c6565b82525050565b600060208201905061016a6000830184610146565b92915050565b600061017b826101c6565b9150610186836101c6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156101bb576101ba6101d0565b5b828201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b61023c816101c6565b811461024757600080fd5b5056fea26469706673582212208c82c031aaaa9c46fe054d7b5328dca3fac96771d7b1835b888bc2034461e10c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xA92100CB EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x119 JUMP JUMPDEST PUSH2 0xA4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH2 0xBF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0xB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 DUP1 SLOAD LT ISZERO PUSH2 0x102 JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0xE3 JUMPI PUSH2 0xE2 PUSH2 0x1FF JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x170 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH2 0xC0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x113 DUP2 PUSH2 0x233 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12F JUMPI PUSH2 0x12E PUSH2 0x22E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13D DUP5 DUP3 DUP6 ADD PUSH2 0x104 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14F DUP2 PUSH2 0x1C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x146 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B DUP3 PUSH2 0x1C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x186 DUP4 PUSH2 0x1C6 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1BB JUMPI PUSH2 0x1BA PUSH2 0x1D0 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23C DUP2 PUSH2 0x1C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 DUP3 0xC0 BALANCE 0xAA 0xAA SWAP13 CHAINID INVALID SDIV 0x4D PUSH28 0x5328DCA3FAC96771D7B1835B888BC2034461E10C64736F6C63430008 SMOD STOP CALLER ",
"sourceMap": "70:215:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@arr_5": {
"entryPoint": 164,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@count_7": {
"entryPoint": 158,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@loop_29": {
"entryPoint": 191,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 260,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 281,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 326,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 341,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 368,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 464,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 511,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 558,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 563,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2057: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": "964:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "974:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "997:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "979:17:1"
},
"nodeType": "YulFunctionCall",
"src": "979:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "974:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1008:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1031:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1013:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1013:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1008:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1171:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1173:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1173:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1173:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1092:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1099:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1167:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1095:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1095:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1089:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1089:81:1"
},
"nodeType": "YulIf",
"src": "1086:107:1"
},
{
"nodeType": "YulAssignment",
"src": "1203:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1214:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1217:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1210:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1210:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1203:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "951:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "954:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "960:3:1",
"type": ""
}
],
"src": "920:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1276:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1286:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1297:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1286:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1258:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1268:7:1",
"type": ""
}
],
"src": "1231:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1342:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1359:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1362:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1352:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1352:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1352:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1456:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1459:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1449:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1449:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1449:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1480:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1483:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1473:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1473:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1314:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1528:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1545:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1548:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1538:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1538:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1538:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1642:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1645:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1635:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1635:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1635:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1666:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1669:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1659:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1659:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1659:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "1500:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1775:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1792:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1795:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1785:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1785:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1785:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1686:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1898:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1915:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1918:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1908:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1908:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1908:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1809:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1975:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2032:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2041:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2044:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2034:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2034:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2034:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1998:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2023:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2005:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2005:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1995:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1995:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1988:43:1"
},
"nodeType": "YulIf",
"src": "1985:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1968:5:1",
"type": ""
}
],
"src": "1932: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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\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_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": "608060405234801561001057600080fd5b50600436106100415760003560e01c806306661abd1461004657806371e5ee5f14610064578063a92100cb14610094575b600080fd5b61004e61009e565b60405161005b9190610155565b60405180910390f35b61007e60048036038101906100799190610119565b6100a4565b60405161008b9190610155565b60405180910390f35b61009c6100bf565b005b60035481565b600081600381106100b457600080fd5b016000915090505481565b5b600380541015610102576003546000600354600381106100e3576100e26101ff565b5b018190555060016003546100f79190610170565b6003819055506100c0565b565b60008135905061011381610233565b92915050565b60006020828403121561012f5761012e61022e565b5b600061013d84828501610104565b91505092915050565b61014f816101c6565b82525050565b600060208201905061016a6000830184610146565b92915050565b600061017b826101c6565b9150610186836101c6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156101bb576101ba6101d0565b5b828201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b61023c816101c6565b811461024757600080fd5b5056fea26469706673582212208c82c031aaaa9c46fe054d7b5328dca3fac96771d7b1835b888bc2034461e10c64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xA92100CB EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x119 JUMP JUMPDEST PUSH2 0xA4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x155 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH2 0xBF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0xB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST JUMPDEST PUSH1 0x3 DUP1 SLOAD LT ISZERO PUSH2 0x102 JUMPI PUSH1 0x3 SLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH1 0x3 DUP2 LT PUSH2 0xE3 JUMPI PUSH2 0xE2 PUSH2 0x1FF JUMP JUMPDEST JUMPDEST ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x170 JUMP JUMPDEST PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH2 0xC0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x113 DUP2 PUSH2 0x233 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12F JUMPI PUSH2 0x12E PUSH2 0x22E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13D DUP5 DUP3 DUP6 ADD PUSH2 0x104 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14F DUP2 PUSH2 0x1C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x146 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17B DUP3 PUSH2 0x1C6 JUMP JUMPDEST SWAP2 POP PUSH2 0x186 DUP4 PUSH2 0x1C6 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1BB JUMPI PUSH2 0x1BA PUSH2 0x1D0 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23C DUP2 PUSH2 0x1C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 DUP3 0xC0 BALANCE 0xAA 0xAA SWAP13 CHAINID INVALID SDIV 0x4D PUSH28 0x5328DCA3FAC96771D7B1835B888BC2034461E10C64736F6C63430008 SMOD STOP CALLER ",
"sourceMap": "70:215:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;114:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:18;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;138:145;;;:::i;:::-;;114:17;;;;:::o;90:18::-;;;;;;;;;;;;;;;;;;;;:::o;138:145::-;171:106;183:10;177:5;;:16;171:106;;;230:5;;217:3;221:5;;217:10;;;;;;;:::i;:::-;;;:18;;;;265:1;257:5;;:9;;;;:::i;:::-;249:5;:17;;;;171:106;;;138:145::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:305::-;960:3;979:20;997:1;979:20;:::i;:::-;974:25;;1013:20;1031:1;1013:20;:::i;:::-;1008:25;;1167:1;1099:66;1095:74;1092:1;1089:81;1086:107;;;1173:18;;:::i;:::-;1086:107;1217:1;1214;1210:9;1203:16;;920:305;;;;:::o;1231:77::-;1268:7;1297:5;1286:16;;1231:77;;;:::o;1314:180::-;1362:77;1359:1;1352:88;1459:4;1456:1;1449:15;1483:4;1480:1;1473:15;1500:180;1548:77;1545:1;1538:88;1645:4;1642:1;1635:15;1669:4;1666:1;1659:15;1809:117;1918:1;1915;1908:12;1932:122;2005:24;2023:5;2005:24;:::i;:::-;1998:5;1995:35;1985:63;;2044:1;2041;2034:12;1985:63;1932:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "128000",
"executionCost": "171",
"totalCost": "128171"
},
"external": {
"arr(uint256)": "infinite",
"count()": "2407",
"loop()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 285,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 285,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "CODECOPY",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212208c82c031aaaa9c46fe054d7b5328dca3fac96771d7b1835b888bc2034461e10c64736f6c63430008070033",
".code": [
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 70,
"end": 285,
"name": "MSTORE",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "ISZERO",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "REVERT",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 70,
"end": 285,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "POP",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 285,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "LT",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 70,
"end": 285,
"name": "SHR",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "6661ABD"
},
{
"begin": 70,
"end": 285,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "71E5EE5F"
},
{
"begin": 70,
"end": 285,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "A92100CB"
},
{
"begin": 70,
"end": 285,
"name": "EQ",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 70,
"end": 285,
"name": "JUMPI",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 70,
"end": 285,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 70,
"end": 285,
"name": "DUP1",
"source": 0
},
{
"begin": 70,
"end": 285,
"name": "REVERT",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 114,
"end": 131,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 114,
"end": 131,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 114,
"end": 131,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 114,
"end": 131,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 114,
"end": 131,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 114,
"end": 131,
"name": "MLOAD",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 114,
"end": 131,
"name": "SWAP2",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "SWAP1",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 114,
"end": 131,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 114,
"end": 131,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 114,
"end": 131,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 114,
"end": 131,
"name": "MLOAD",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "DUP1",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "SWAP2",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "SUB",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "SWAP1",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "RETURN",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 108,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "ADD",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 108,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 90,
"end": 108,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 90,
"end": 108,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 108,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 90,
"end": 108,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 90,
"end": 108,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 108,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "RETURN",
"source": 0
},
{
"begin": 138,
"end": 283,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 138,
"end": 283,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 138,
"end": 283,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 138,
"end": 283,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 138,
"end": 283,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 138,
"end": 283,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 138,
"end": 283,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 138,
"end": 283,
"name": "STOP",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 114,
"end": 131,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 114,
"end": 131,
"name": "SLOAD",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "DUP2",
"source": 0
},
{
"begin": 114,
"end": 131,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 90,
"end": 108,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 90,
"end": 108,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "LT",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 90,
"end": 108,
"name": "JUMPI",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 90,
"end": 108,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "REVERT",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 90,
"end": 108,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "ADD",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 90,
"end": 108,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "POP",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "POP",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "SLOAD",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 108,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 138,
"end": 283,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 138,
"end": 283,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 171,
"end": 277,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 171,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 183,
"end": 193,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 177,
"end": 182,
"name": "DUP1",
"source": 0
},
{
"begin": 177,
"end": 182,
"name": "SLOAD",
"source": 0
},
{
"begin": 177,
"end": 193,
"name": "LT",
"source": 0
},
{
"begin": 171,
"end": 277,
"name": "ISZERO",
"source": 0
},
{
"begin": 171,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 171,
"end": 277,
"name": "JUMPI",
"source": 0
},
{
"begin": 230,
"end": 235,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 230,
"end": 235,
"name": "SLOAD",
"source": 0
},
{
"begin": 217,
"end": 220,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 221,
"end": 226,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 221,
"end": 226,
"name": "SLOAD",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 217,
"end": 227,
"name": "DUP2",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "LT",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 217,
"end": 227,
"name": "JUMPI",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 217,
"end": 227,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 217,
"end": 227,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 217,
"end": 227,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 217,
"end": 227,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 217,
"end": 227,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 217,
"end": 227,
"name": "ADD",
"source": 0
},
{
"begin": 217,
"end": 235,
"name": "DUP2",
"source": 0
},
{
"begin": 217,
"end": 235,
"name": "SWAP1",
"source": 0
},
{
"begin": 217,
"end": 235,
"name": "SSTORE",
"source": 0
},
{
"begin": 217,
"end": 235,
"name": "POP",
"source": 0
},
{
"begin": 265,
"end": 266,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 257,
"end": 262,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 257,
"end": 262,
"name": "SLOAD",
"source": 0
},
{
"begin": 257,
"end": 266,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 257,
"end": 266,
"name": "SWAP2",
"source": 0
},
{
"begin": 257,
"end": 266,
"name": "SWAP1",
"source": 0
},
{
"begin": 257,
"end": 266,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 257,
"end": 266,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 257,
"end": 266,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 257,
"end": 266,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 249,
"end": 254,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 249,
"end": 266,
"name": "DUP2",
"source": 0
},
{
"begin": 249,
"end": 266,
"name": "SWAP1",
"source": 0
},
{
"begin": 249,
"end": 266,
"name": "SSTORE",
"source": 0
},
{
"begin": 249,
"end": 266,
"name": "POP",
"source": 0
},
{
"begin": 171,
"end": 277,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 171,
"end": 277,
"name": "JUMP",
"source": 0
},
{
"begin": 171,
"end": 277,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 171,
"end": 277,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 138,
"end": 283,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 53,
"end": 58,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 1
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 152,
"end": 481,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 152,
"end": 481,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 211,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 260,
"end": 262,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 248,
"end": 257,
"name": "DUP3",
"source": 1
},
{
"begin": 239,
"end": 246,
"name": "DUP5",
"source": 1
},
{
"begin": 235,
"end": 258,
"name": "SUB",
"source": 1
},
{
"begin": 231,
"end": 263,
"name": "SLT",
"source": 1
},
{
"begin": 228,
"end": 347,
"name": "ISZERO",
"source": 1
},
{
"begin": 228,
"end": 347,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 228,
"end": 347,
"name": "JUMPI",
"source": 1
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 266,
"end": 345,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 266,
"end": 345,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 266,
"end": 345,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 228,
"end": 347,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 228,
"end": 347,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 386,
"end": 387,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 456,
"end": 463,
"name": "DUP5",
"source": 1
},
{
"begin": 447,
"end": 453,
"name": "DUP3",
"source": 1
},
{
"begin": 436,
"end": 445,
"name": "DUP6",
"source": 1
},
{
"begin": 432,
"end": 454,
"name": "ADD",
"source": 1
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 411,
"end": 464,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 411,
"end": 464,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 411,
"end": 464,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 401,
"end": 464,
"name": "SWAP2",
"source": 1
},
{
"begin": 401,
"end": 464,
"name": "POP",
"source": 1
},
{
"begin": 357,
"end": 474,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 481,
"name": "SWAP3",
"source": 1
},
{
"begin": 152,
"end": 481,
"name": "SWAP2",
"source": 1
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 481,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 487,
"end": 605,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 487,
"end": 605,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 592,
"end": 597,
"name": "DUP2",
"source": 1
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 574,
"end": 598,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 574,
"end": 598,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 574,
"end": 598,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 569,
"end": 572,
"name": "DUP3",
"source": 1
},
{
"begin": 562,
"end": 599,
"name": "MSTORE",
"source": 1
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 1
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 1
},
{
"begin": 487,
"end": 605,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 611,
"end": 833,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 611,
"end": 833,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 704,
"end": 708,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 742,
"end": 744,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 731,
"end": 740,
"name": "DUP3",
"source": 1
},
{
"begin": 727,
"end": 745,
"name": "ADD",
"source": 1
},
{
"begin": 719,
"end": 745,
"name": "SWAP1",
"source": 1
},
{
"begin": 719,
"end": 745,
"name": "POP",
"source": 1
},
{
"begin": 755,
"end": 826,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 823,
"end": 824,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 812,
"end": 821,
"name": "DUP4",
"source": 1
},
{
"begin": 808,
"end": 825,
"name": "ADD",
"source": 1
},
{
"begin": 799,
"end": 805,
"name": "DUP5",
"source": 1
},
{
"begin": 755,
"end": 826,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 755,
"end": 826,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 755,
"end": 826,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 755,
"end": 826,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 611,
"end": 833,
"name": "SWAP3",
"source": 1
},
{
"begin": 611,
"end": 833,
"name": "SWAP2",
"source": 1
},
{
"begin": 611,
"end": 833,
"name": "POP",
"source": 1
},
{
"begin": 611,
"end": 833,
"name": "POP",
"source": 1
},
{
"begin": 611,
"end": 833,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 920,
"end": 1225,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 920,
"end": 1225,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 960,
"end": 963,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 979,
"end": 999,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 997,
"end": 998,
"name": "DUP3",
"source": 1
},
{
"begin": 979,
"end": 999,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 979,
"end": 999,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 979,
"end": 999,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 979,
"end": 999,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 974,
"end": 999,
"name": "SWAP2",
"source": 1
},
{
"begin": 974,
"end": 999,
"name": "POP",
"source": 1
},
{
"begin": 1013,
"end": 1033,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 1031,
"end": 1032,
"name": "DUP4",
"source": 1
},
{
"begin": 1013,
"end": 1033,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1013,
"end": 1033,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1013,
"end": 1033,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 1013,
"end": 1033,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1008,
"end": 1033,
"name": "SWAP3",
"source": 1
},
{
"begin": 1008,
"end": 1033,
"name": "POP",
"source": 1
},
{
"begin": 1167,
"end": 1168,
"name": "DUP3",
"source": 1
},
{
"begin": 1099,
"end": 1165,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1095,
"end": 1169,
"name": "SUB",
"source": 1
},
{
"begin": 1092,
"end": 1093,
"name": "DUP3",
"source": 1
},
{
"begin": 1089,
"end": 1170,
"name": "GT",
"source": 1
},
{
"begin": 1086,
"end": 1193,
"name": "ISZERO",
"source": 1
},
{
"begin": 1086,
"end": 1193,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 1086,
"end": 1193,
"name": "JUMPI",
"source": 1
},
{
"begin": 1173,
"end": 1191,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1173,
"end": 1191,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1173,
"end": 1191,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1173,
"end": 1191,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1173,
"end": 1191,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1086,
"end": 1193,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1086,
"end": 1193,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1217,
"end": 1218,
"name": "DUP3",
"source": 1
},
{
"begin": 1214,
"end": 1215,
"name": "DUP3",
"source": 1
},
{
"begin": 1210,
"end": 1219,
"name": "ADD",
"source": 1
},
{
"begin": 1203,
"end": 1219,
"name": "SWAP1",
"source": 1
},
{
"begin": 1203,
"end": 1219,
"name": "POP",
"source": 1
},
{
"begin": 920,
"end": 1225,
"name": "SWAP3",
"source": 1
},
{
"begin": 920,
"end": 1225,
"name": "SWAP2",
"source": 1
},
{
"begin": 920,
"end": 1225,
"name": "POP",
"source": 1
},
{
"begin": 920,
"end": 1225,
"name": "POP",
"source": 1
},
{
"begin": 920,
"end": 1225,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1231,
"end": 1308,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1231,
"end": 1308,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1268,
"end": 1275,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1297,
"end": 1302,
"name": "DUP2",
"source": 1
},
{
"begin": 1286,
"end": 1302,
"name": "SWAP1",
"source": 1
},
{
"begin": 1286,
"end": 1302,
"name": "POP",
"source": 1
},
{
"begin": 1231,
"end": 1308,
"name": "SWAP2",
"source": 1
},
{
"begin": 1231,
"end": 1308,
"name": "SWAP1",
"source": 1
},
{
"begin": 1231,
"end": 1308,
"name": "POP",
"source": 1
},
{
"begin": 1231,
"end": 1308,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1314,
"end": 1494,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1314,
"end": 1494,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1362,
"end": 1439,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1359,
"end": 1360,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1352,
"end": 1440,
"name": "MSTORE",
"source": 1
},
{
"begin": 1459,
"end": 1463,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 1456,
"end": 1457,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1449,
"end": 1464,
"name": "MSTORE",
"source": 1
},
{
"begin": 1483,
"end": 1487,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1480,
"end": 1481,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1473,
"end": 1488,
"name": "REVERT",
"source": 1
},
{
"begin": 1500,
"end": 1680,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 1500,
"end": 1680,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1548,
"end": 1625,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1545,
"end": 1546,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1538,
"end": 1626,
"name": "MSTORE",
"source": 1
},
{
"begin": 1645,
"end": 1649,
"name": "PUSH",
"source": 1,
"value": "32"
},
{
"begin": 1642,
"end": 1643,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1635,
"end": 1650,
"name": "MSTORE",
"source": 1
},
{
"begin": 1669,
"end": 1673,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1666,
"end": 1667,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1659,
"end": 1674,
"name": "REVERT",
"source": 1
},
{
"begin": 1809,
"end": 1926,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 1809,
"end": 1926,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1918,
"end": 1919,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1915,
"end": 1916,
"name": "DUP1",
"source": 1
},
{
"begin": 1908,
"end": 1920,
"name": "REVERT",
"source": 1
},
{
"begin": 1932,
"end": 2054,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 1932,
"end": 2054,
"name": "JUMPDEST",
"source
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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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.)

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