Skip to content

Instantly share code, notes, and snippets.

@Saurabgami977
Created June 27, 2021 12:14
Show Gist options
  • Save Saurabgami977/31fb2d3bfdf4f5a5e4796643bcefea2f to your computer and use it in GitHub Desktop.
Save Saurabgami977/31fb2d3bfdf4f5a5e4796643bcefea2f 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.6.12+commit.27d51765.js&optimize=false&runs=200&gist=
pragma solidity ^0.8.5;
contract Array {
uint[] public ids;
function addToArray (uint _id) public {
ids.push(_id);
}
function readArray (uint _position) view public returns(uint){
return ids[_position];
}
function readAll() view public returns(uint[] memory){
return ids;
}
function readSize() view public returns(uint){
return ids.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": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506103c6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d56aa4f1461005c57806341f654f71461007a5780638737606114610098578063d15ec851146100c8578063fac333ac146100e4575b600080fd5b610064610114565b60405161007191906102e7565b60405180910390f35b610082610120565b60405161008f91906102c5565b60405180910390f35b6100b260048036038101906100ad9190610204565b610178565b6040516100bf91906102e7565b60405180910390f35b6100e260048036038101906100dd9190610204565b61019f565b005b6100fe60048036038101906100f99190610204565b6101cb565b60405161010b91906102e7565b60405180910390f35b60008080549050905090565b6060600080548060200260200160405190810160405280929190818152602001828054801561016e57602002820191906000526020600020905b81548152602001906001019080831161015a575b5050505050905090565b600080828154811061018d5761018c610345565b5b90600052602060002001549050919050565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b600081815481106101db57600080fd5b906000526020600020016000915090505481565b6000813590506101fe81610379565b92915050565b60006020828403121561021a57610219610374565b5b6000610228848285016101ef565b91505092915050565b600061023d83836102a7565b60208301905092915050565b600061025482610312565b61025e818561032a565b935061026983610302565b8060005b8381101561029a5781516102818882610231565b975061028c8361031d565b92505060018101905061026d565b5085935050505092915050565b6102b08161033b565b82525050565b6102bf8161033b565b82525050565b600060208201905081810360008301526102df8184610249565b905092915050565b60006020820190506102fc60008301846102b6565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6103828161033b565b811461038d57600080fd5b5056fea2646970667358221220b89e77bb19235b6db49c6ac57569793feb7bda89051626c89a38d58b4d6965b564736f6c63430008050033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C6 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 0xD56AA4F EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x41F654F7 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x87376061 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xD15EC851 EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0xFAC333AC EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x114 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x120 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF9 SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10B SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x16E JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x15A JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x18D JUMPI PUSH2 0x18C PUSH2 0x345 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP 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 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1DB 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 CALLDATALOAD SWAP1 POP PUSH2 0x1FE DUP2 PUSH2 0x379 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21A JUMPI PUSH2 0x219 PUSH2 0x374 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x228 DUP5 DUP3 DUP6 ADD PUSH2 0x1EF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23D DUP4 DUP4 PUSH2 0x2A7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x254 DUP3 PUSH2 0x312 JUMP JUMPDEST PUSH2 0x25E DUP2 DUP6 PUSH2 0x32A JUMP JUMPDEST SWAP4 POP PUSH2 0x269 DUP4 PUSH2 0x302 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x29A JUMPI DUP2 MLOAD PUSH2 0x281 DUP9 DUP3 PUSH2 0x231 JUMP JUMPDEST SWAP8 POP PUSH2 0x28C DUP4 PUSH2 0x31D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x26D JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2B0 DUP2 PUSH2 0x33B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BF DUP2 PUSH2 0x33B 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 0x2DF DUP2 DUP5 PUSH2 0x249 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2B6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x382 DUP2 PUSH2 0x33B JUMP JUMPDEST DUP2 EQ PUSH2 0x38D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 SWAP15 PUSH24 0xBB19235B6DB49C6AC57569793FEB7BDA89051626C89A38D5 DUP12 0x4D PUSH10 0x65B564736F6C63430008 SDIV STOP CALLER ",
"sourceMap": "25:412:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addToArray_16": {
"entryPoint": 415,
"id": 16,
"parameterSlots": 1,
"returnSlots": 0
},
"@ids_4": {
"entryPoint": 459,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@readAll_37": {
"entryPoint": 288,
"id": 37,
"parameterSlots": 0,
"returnSlots": 1
},
"@readArray_28": {
"entryPoint": 376,
"id": 28,
"parameterSlots": 1,
"returnSlots": 1
},
"@readSize_46": {
"entryPoint": 276,
"id": 46,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 495,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 516,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": {
"entryPoint": 561,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 585,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 679,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 694,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 709,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 743,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 770,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 786,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 797,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 810,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 827,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x32": {
"entryPoint": 837,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 884,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 889,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3573: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:2: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": "567:99:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "611:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "619:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "577:33:1"
},
"nodeType": "YulFunctionCall",
"src": "577:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:46:1"
},
{
"nodeType": "YulAssignment",
"src": "632:28:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "650:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "655:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "646:3:1"
},
"nodeType": "YulFunctionCall",
"src": "646:14:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "632:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "540:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "548:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "556:10:1",
"type": ""
}
],
"src": "487:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "826:608:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "836:68:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "898:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "850:47:1"
},
"nodeType": "YulFunctionCall",
"src": "850:54:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "840:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "913:93:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "994:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "999:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "920:73:1"
},
"nodeType": "YulFunctionCall",
"src": "920:86:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "913:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1015:71:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1080:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1030:49:1"
},
"nodeType": "YulFunctionCall",
"src": "1030:56:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "1019:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1095:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "1109:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "1099:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1185:224:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1199:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "1226:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1220:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1220:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "1203:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1246:70:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "1297:13:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1312:3:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "1253:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1253:63:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1246:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1329:70:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "1392:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1339:52:1"
},
"nodeType": "YulFunctionCall",
"src": "1339:60:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "1329:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1147:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1150:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1144:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1144:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1158:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1160:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1169:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1172:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1165:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1165:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1160:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1129:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1131:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1140:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1135:1:1",
"type": ""
}
]
}
]
},
"src": "1125:284:1"
},
{
"nodeType": "YulAssignment",
"src": "1418:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1425:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1418:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "812:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "821:3:1",
"type": ""
}
],
"src": "702:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1495:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1512:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1535:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1517:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1517:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1505:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1505:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1505:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1483:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1490:3:1",
"type": ""
}
],
"src": "1440:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1619:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1636:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1659:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1641:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1629:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1629:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1629:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1607:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1614:3:1",
"type": ""
}
],
"src": "1554:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1826:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1836:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1848:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1859:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1844:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1836:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1883:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1894:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1902:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1908:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1898:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1898:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1872:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1872:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1872:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1928:116:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2030:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2039:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1936:93:1"
},
"nodeType": "YulFunctionCall",
"src": "1936:108:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1928:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1798:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1810:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1821:4:1",
"type": ""
}
],
"src": "1678:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2155:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2165:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2177:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2188:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2173:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2173:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2165:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2245:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2258:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2269:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2254:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2254:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2201:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2201:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2201:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2127:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2139:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2150:4:1",
"type": ""
}
],
"src": "2057:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2325:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2335:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2351:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2345:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2345:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2335:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2318:6:1",
"type": ""
}
],
"src": "2285:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2438:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2448:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2456:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2448:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2469:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2481:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2486:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2477:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2477:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2469:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "2425:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2433:4:1",
"type": ""
}
],
"src": "2366:132:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2578:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2589:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2605:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2599:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2599:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2589:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2561:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2571:6:1",
"type": ""
}
],
"src": "2504:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2699:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2709:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2721:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2726:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2717:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2717:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "2709:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "2686:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "2694:4:1",
"type": ""
}
],
"src": "2624:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2854:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2871:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2876:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2864:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2864:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2864:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2892:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2911:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2916:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2907:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2907:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2892:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2826:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2831:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2842:11:1",
"type": ""
}
],
"src": "2743:184:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2978:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2988:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2999:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2988:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2960:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2970:7:1",
"type": ""
}
],
"src": "2933:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3044:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3061:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3064:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3054:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3054:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3054:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3158:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3161:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3151:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3151:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3151:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3182:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3185:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3175:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3175:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3016:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3291:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3308:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3311:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3301:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3301:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3301:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3202:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3414:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3434:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3424:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3424:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3424:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3325:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3491:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3548:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3557:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3560:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3550:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3550:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3550:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3514:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3539:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3521:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3521:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3511:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3511:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3504:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3504:43:1"
},
"nodeType": "YulIf",
"src": "3501:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3484:5:1",
"type": ""
}
],
"src": "3448: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_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_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_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_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 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": "608060405234801561001057600080fd5b50600436106100575760003560e01c80630d56aa4f1461005c57806341f654f71461007a5780638737606114610098578063d15ec851146100c8578063fac333ac146100e4575b600080fd5b610064610114565b60405161007191906102e7565b60405180910390f35b610082610120565b60405161008f91906102c5565b60405180910390f35b6100b260048036038101906100ad9190610204565b610178565b6040516100bf91906102e7565b60405180910390f35b6100e260048036038101906100dd9190610204565b61019f565b005b6100fe60048036038101906100f99190610204565b6101cb565b60405161010b91906102e7565b60405180910390f35b60008080549050905090565b6060600080548060200260200160405190810160405280929190818152602001828054801561016e57602002820191906000526020600020905b81548152602001906001019080831161015a575b5050505050905090565b600080828154811061018d5761018c610345565b5b90600052602060002001549050919050565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b600081815481106101db57600080fd5b906000526020600020016000915090505481565b6000813590506101fe81610379565b92915050565b60006020828403121561021a57610219610374565b5b6000610228848285016101ef565b91505092915050565b600061023d83836102a7565b60208301905092915050565b600061025482610312565b61025e818561032a565b935061026983610302565b8060005b8381101561029a5781516102818882610231565b975061028c8361031d565b92505060018101905061026d565b5085935050505092915050565b6102b08161033b565b82525050565b6102bf8161033b565b82525050565b600060208201905081810360008301526102df8184610249565b905092915050565b60006020820190506102fc60008301846102b6565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6103828161033b565b811461038d57600080fd5b5056fea2646970667358221220b89e77bb19235b6db49c6ac57569793feb7bda89051626c89a38d58b4d6965b564736f6c63430008050033",
"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 0xD56AA4F EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x41F654F7 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x87376061 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0xD15EC851 EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0xFAC333AC EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x114 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x120 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x2C5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF9 SWAP2 SWAP1 PUSH2 0x204 JUMP JUMPDEST PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10B SWAP2 SWAP1 PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 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 DUP1 ISZERO PUSH2 0x16E JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x15A JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x18D JUMPI PUSH2 0x18C PUSH2 0x345 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP 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 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1DB 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 CALLDATALOAD SWAP1 POP PUSH2 0x1FE DUP2 PUSH2 0x379 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21A JUMPI PUSH2 0x219 PUSH2 0x374 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x228 DUP5 DUP3 DUP6 ADD PUSH2 0x1EF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23D DUP4 DUP4 PUSH2 0x2A7 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x254 DUP3 PUSH2 0x312 JUMP JUMPDEST PUSH2 0x25E DUP2 DUP6 PUSH2 0x32A JUMP JUMPDEST SWAP4 POP PUSH2 0x269 DUP4 PUSH2 0x302 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x29A JUMPI DUP2 MLOAD PUSH2 0x281 DUP9 DUP3 PUSH2 0x231 JUMP JUMPDEST SWAP8 POP PUSH2 0x28C DUP4 PUSH2 0x31D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x26D JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2B0 DUP2 PUSH2 0x33B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BF DUP2 PUSH2 0x33B 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 0x2DF DUP2 DUP5 PUSH2 0x249 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2B6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x382 DUP2 PUSH2 0x33B JUMP JUMPDEST DUP2 EQ PUSH2 0x38D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 SWAP15 PUSH24 0xBB19235B6DB49C6AC57569793FEB7BDA89051626C89A38D5 DUP12 0x4D PUSH10 0x65B564736F6C63430008 SDIV STOP CALLER ",
"sourceMap": "25:412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;351:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;261:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;74:68;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;46:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;351:79;391:4;413:3;:10;;;;406:17;;351:79;:::o;261:80::-;300:13;331:3;324:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;261:80;:::o;152:99::-;208:4;230:3;234:9;230:14;;;;;;;;:::i;:::-;;;;;;;;;;223:21;;152:99;;;:::o;74:68::-;122:3;131;122:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;74:68;:::o;46:17::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:2;;;266:79;;:::i;:::-;228:2;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;218:263;;;;:::o;487:179::-;556:10;577:46;619:3;611:6;577:46;:::i;:::-;655:4;650:3;646:14;632:28;;567:99;;;;:::o;702:732::-;821:3;850:54;898:5;850:54;:::i;:::-;920:86;999:6;994:3;920:86;:::i;:::-;913:93;;1030:56;1080:5;1030:56;:::i;:::-;1109:7;1140:1;1125:284;1150:6;1147:1;1144:13;1125:284;;;1226:6;1220:13;1253:63;1312:3;1297:13;1253:63;:::i;:::-;1246:70;;1339:60;1392:6;1339:60;:::i;:::-;1329:70;;1185:224;1172:1;1169;1165:9;1160:14;;1125:284;;;1129:14;1425:3;1418:10;;826:608;;;;;;;:::o;1440:108::-;1517:24;1535:5;1517:24;:::i;:::-;1512:3;1505:37;1495:53;;:::o;1554:118::-;1641:24;1659:5;1641:24;:::i;:::-;1636:3;1629:37;1619:53;;:::o;1678:373::-;1821:4;1859:2;1848:9;1844:18;1836:26;;1908:9;1902:4;1898:20;1894:1;1883:9;1879:17;1872:47;1936:108;2039:4;2030:6;1936:108;:::i;:::-;1928:116;;1826:225;;;;:::o;2057:222::-;2150:4;2188:2;2177:9;2173:18;2165:26;;2201:71;2269:1;2258:9;2254:17;2245:6;2201:71;:::i;:::-;2155:124;;;;:::o;2366:132::-;2433:4;2456:3;2448:11;;2486:4;2481:3;2477:14;2469:22;;2438:60;;;:::o;2504:114::-;2571:6;2605:5;2599:12;2589:22;;2578:40;;;:::o;2624:113::-;2694:4;2726;2721:3;2717:14;2709:22;;2699:38;;;:::o;2743:184::-;2842:11;2876:6;2871:3;2864:19;2916:4;2911:3;2907:14;2892:29;;2854:73;;;;:::o;2933:77::-;2970:7;2999:5;2988:16;;2978:32;;;:::o;3016:180::-;3064:77;3061:1;3054:88;3161:4;3158:1;3151:15;3185:4;3182:1;3175:15;3325:117;3434:1;3431;3424:12;3448:122;3521:24;3539:5;3521:24;:::i;:::-;3514:5;3511:35;3501:2;;3560:1;3557;3550:12;3501:2;3491:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "193200",
"executionCost": "238",
"totalCost": "193438"
},
"external": {
"addToArray(uint256)": "46873",
"ids(uint256)": "infinite",
"readAll()": "infinite",
"readArray(uint256)": "infinite",
"readSize()": "2423"
}
},
"methodIdentifiers": {
"addToArray(uint256)": "d15ec851",
"ids(uint256)": "fac333ac",
"readAll()": "41f654f7",
"readArray(uint256)": "87376061",
"readSize()": "0d56aa4f"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "addToArray",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "ids",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "readAll",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_position",
"type": "uint256"
}
],
"name": "readArray",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "readSize",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.5+commit.a4f2e591"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "addToArray",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "ids",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "readAll",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_position",
"type": "uint256"
}
],
"name": "readArray",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "readSize",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"array.sol": "Array"
},
"evmVersion": "berlin",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"array.sol": {
"keccak256": "0x0ba3b3204581b5ba844424518218121293c3812aafe53eba4728ea3310ee1129",
"urls": [
"bzz-raw://e88c357e420a7daeaec5a6eb5751730b08a2d9eccc72d7a6be70ff6414c82a90",
"dweb:/ipfs/QmVcHVWiXonJ31VCtJcRkwjvMTkA5Sf96NtrTi49tSv3eR"
]
}
},
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610174806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631003e2d21461005c5780631dc05f171461008a578063a87d942c146100b8578063d732d955146100d6578063e8927fbc146100e0575b600080fd5b6100886004803603602081101561007257600080fd5b81019080803590602001909291905050506100ea565b005b6100b6600480360360208110156100a057600080fd5b81019080803590602001909291905050506100fc565b005b6100c061010e565b6040518082815260200191505060405180910390f35b6100de610117565b005b6100e861012b565b005b80600080828254019250508190555050565b80600080828254039250508190555050565b60008054905090565b600080815480929190600190039190505550565b600080815480929190600101919050555056fea2646970667358221220c7773d425235e75ee4bece901cde80d49422b55cd334614ea1f8c47ddd44a71564736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x174 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 0x1003E2D2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x1DC05F17 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0xA87D942C EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xD732D955 EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0xE8927FBC EQ PUSH2 0xE0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x88 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xEA JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xFC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC0 PUSH2 0x10E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDE PUSH2 0x117 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE8 PUSH2 0x12B JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 SWAP1 SUB SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 PUSH24 0x3D425235E75EE4BECE901CDE80D49422B55CD334614EA1F8 0xC4 PUSH30 0xDD44A71564736F6C63430006000033000000000000000000000000000000 ",
"sourceMap": "25:387:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25:387:0;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c80631003e2d21461005c5780631dc05f171461008a578063a87d942c146100b8578063d732d955146100d6578063e8927fbc146100e0575b600080fd5b6100886004803603602081101561007257600080fd5b81019080803590602001909291905050506100ea565b005b6100b6600480360360208110156100a057600080fd5b81019080803590602001909291905050506100fc565b005b6100c061010e565b6040518082815260200191505060405180910390f35b6100de610117565b005b6100e861012b565b005b80600080828254019250508190555050565b80600080828254039250508190555050565b60008054905090565b600080815480929190600190039190505550565b600080815480929190600101919050555056fea2646970667358221220c7773d425235e75ee4bece901cde80d49422b55cd334614ea1f8c47ddd44a71564736f6c63430006000033",
"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 0x1003E2D2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x1DC05F17 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0xA87D942C EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xD732D955 EQ PUSH2 0xD6 JUMPI DUP1 PUSH4 0xE8927FBC EQ PUSH2 0xE0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x88 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xEA JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xFC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC0 PUSH2 0x10E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDE PUSH2 0x117 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE8 PUSH2 0x12B JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 SWAP1 SUB SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 PUSH24 0x3D425235E75EE4BECE901CDE80D49422B55CD334614EA1F8 0xC4 PUSH30 0xDD44A71564736F6C63430006000033000000000000000000000000000000 ",
"sourceMap": "25:387:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25:387:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275:60;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;275:60:0;;;;;;;;;;;;;;;;;:::i;:::-;;345:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;345:65:0;;;;;;;;;;;;;;;;;:::i;:::-;;69:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;215:50;;;:::i;:::-;;153;;;:::i;:::-;;275:60;324:4;315:5;;:13;;;;;;;;;;;275:60;:::o;345:65::-;399:4;390:5;;:13;;;;;;;;;;;345:65;:::o;69:74::-;109:4;131:5;;124:12;;69:74;:::o;215:50::-;251:5;;:7;;;;;;;;;;;;;;215:50::o;153:::-;189:5;;:7;;;;;;;;;;;;;153:50::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "74400",
"executionCost": "123",
"totalCost": "74523"
},
"external": {
"add(uint256)": "21039",
"decrease()": "21028",
"getCount()": "1035",
"increase()": "21047",
"subtract(uint256)": "21061"
}
},
"methodIdentifiers": {
"add(uint256)": "1003e2d2",
"decrease()": "d732d955",
"getCount()": "a87d942c",
"increase()": "e8927fbc",
"subtract(uint256)": "1dc05f17"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decrease",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increase",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "subtract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.0+commit.26b70077"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decrease",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increase",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_num",
"type": "uint256"
}
],
"name": "subtract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"Counter.sol": "Counter"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Counter.sol": {
"keccak256": "0x0f7f25fc42590177b5c64527747ab6ac1537f9fc1ec4028f615587d09ff93710",
"urls": [
"bzz-raw://51894ee9450c5e1f06f3767ecc68c8bca1a6d940f3e4581ddd6575e97f1eb2f1",
"dweb:/ipfs/QmbBjkpzemPdVJNxsQpVSUu8kmoovLpJ9h61wFhSK6vh5F"
]
}
},
"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": "60806040526001805534801561001457600080fd5b50610aa2806100246000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063365b98b21461005c57806346f81a871461008e5780639d118770146100aa578063ed2e5a97146100c6578063f745630f146100f8575b600080fd5b6100766004803603810190610071919061068f565b610114565b604051610085939291906107a3565b60405180910390f35b6100a860048036038101906100a39190610633565b6101d6565b005b6100c460048036038101906100bf919061068f565b61026d565b005b6100e060048036038101906100db919061068f565b6102c3565b6040516100ef939291906107a3565b60405180910390f35b610112600480360381019061010d91906106bc565b6103e0565b005b6000818154811061012457600080fd5b906000526020600020906003020160009150905080600001549080600101805461014d9061089f565b80601f01602080910402602001604051908101604052809291908181526020018280546101799061089f565b80156101c65780601f1061019b576101008083540402835291602001916101c6565b820191906000526020600020905b8154815290600101906020018083116101a957829003601f168201915b5050505050908060020154905083565b6000604051806060016040528060015481526020018481526020018381525090806001815401808255809150506001900390600052602060002090600302016000909190919091506000820151816000015560208201518160010190805190602001906102449291906104cb565b506040820151816002015550506001600081548092919061026490610902565b91905055505050565b60006102788261042c565b90506000818154811061028e5761028d6109a9565b5b90600052602060002090600302016000808201600090556001820160006102b59190610551565b600282016000905550505050565b600060606000806102d38561042c565b9050600081815481106102e9576102e86109a9565b5b9060005260206000209060030201600001546000828154811061030f5761030e6109a9565b5b906000526020600020906003020160010160008381548110610334576103336109a9565b5b9060005260206000209060030201600201548180546103529061089f565b80601f016020809104026020016040519081016040528092919081815260200182805461037e9061089f565b80156103cb5780601f106103a0576101008083540402835291602001916103cb565b820191906000526020600020905b8154815290600101906020018083116103ae57829003601f168201915b50505050509150935093509350509193909250565b60006103eb8361042c565b90508160008281548110610402576104016109a9565b5b906000526020600020906003020160010190805190602001906104269291906104cb565b50505050565b600080600090505b60008054905081101561048a578260008281548110610456576104556109a9565b5b906000526020600020906003020160000154141561047757809150506104c6565b808061048290610902565b915050610434565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90610783565b60405180910390fd5b919050565b8280546104d79061089f565b90600052602060002090601f0160209004810192826104f95760008555610540565b82601f1061051257805160ff1916838001178555610540565b82800160010185558215610540579182015b8281111561053f578251825591602001919060010190610524565b5b50905061054d9190610591565b5090565b50805461055d9061089f565b6000825580601f1061056f575061058e565b601f01602090049060005260206000209081019061058d9190610591565b5b50565b5b808211156105aa576000816000905550600101610592565b5090565b60006105c16105bc84610806565b6107e1565b9050828152602081018484840111156105dd576105dc610a0c565b5b6105e884828561085d565b509392505050565b600082601f83011261060557610604610a07565b5b81356106158482602086016105ae565b91505092915050565b60008135905061062d81610a55565b92915050565b6000806040838503121561064a57610649610a16565b5b600083013567ffffffffffffffff81111561066857610667610a11565b5b610674858286016105f0565b92505060206106858582860161061e565b9150509250929050565b6000602082840312156106a5576106a4610a16565b5b60006106b38482850161061e565b91505092915050565b600080604083850312156106d3576106d2610a16565b5b60006106e18582860161061e565b925050602083013567ffffffffffffffff81111561070257610701610a11565b5b61070e858286016105f0565b9150509250929050565b600061072382610837565b61072d8185610842565b935061073d81856020860161086c565b61074681610a1b565b840191505092915050565b600061075e601283610842565b915061076982610a2c565b602082019050919050565b61077d81610853565b82525050565b6000602082019050818103600083015261079c81610751565b9050919050565b60006060820190506107b86000830186610774565b81810360208301526107ca8185610718565b90506107d96040830184610774565b949350505050565b60006107eb6107fc565b90506107f782826108d1565b919050565b6000604051905090565b600067ffffffffffffffff821115610821576108206109d8565b5b61082a82610a1b565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561088a57808201518184015260208101905061086f565b83811115610899576000848401525b50505050565b600060028204905060018216806108b757607f821691505b602082108114156108cb576108ca61097a565b5b50919050565b6108da82610a1b565b810181811067ffffffffffffffff821117156108f9576108f86109d8565b5b80604052505050565b600061090d82610853565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156109405761093f61094b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5573657220646f65736e27742065786973740000000000000000000000000000600082015250565b610a5e81610853565b8114610a6957600080fd5b5056fea26469706673582212205056e816d8f077518975ff1da8cd2e9792cdcdcce1e77b8404660562cdafdbff64736f6c63430008060033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 DUP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAA2 DUP1 PUSH2 0x24 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 0x365B98B2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x46F81A87 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0x9D118770 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0xED2E5A97 EQ PUSH2 0xC6 JUMPI DUP1 PUSH4 0xF745630F EQ PUSH2 0xF8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x114 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x85 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA3 SWAP2 SWAP1 PUSH2 0x633 JUMP JUMPDEST PUSH2 0x1D6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x26D JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDB SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x2C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10D SWAP2 SWAP1 PUSH2 0x6BC JUMP JUMPDEST PUSH2 0x3E0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x14D SWAP1 PUSH2 0x89F 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 0x179 SWAP1 PUSH2 0x89F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C6 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 0x1A9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP 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 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 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 0x244 SWAP3 SWAP2 SWAP1 PUSH2 0x4CB JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x264 SWAP1 PUSH2 0x902 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x278 DUP3 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x28E JUMPI PUSH2 0x28D PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x551 JUMP JUMPDEST PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x2D3 DUP6 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2E9 JUMPI PUSH2 0x2E8 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x334 JUMPI PUSH2 0x333 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP2 DUP1 SLOAD PUSH2 0x352 SWAP1 PUSH2 0x89F 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 0x37E SWAP1 PUSH2 0x89F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3A0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3CB 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 0x3AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP SWAP4 POP SWAP4 POP SWAP4 POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EB DUP4 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x402 JUMPI PUSH2 0x401 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x426 SWAP3 SWAP2 SWAP1 PUSH2 0x4CB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x48A JUMPI DUP3 PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x456 JUMPI PUSH2 0x455 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x477 JUMPI DUP1 SWAP2 POP POP PUSH2 0x4C6 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x482 SWAP1 PUSH2 0x902 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x434 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BD SWAP1 PUSH2 0x783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4D7 SWAP1 PUSH2 0x89F JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x540 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x512 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x540 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x540 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x53F JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x524 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x54D SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x55D SWAP1 PUSH2 0x89F JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x56F JUMPI POP PUSH2 0x58E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x58D SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x592 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C1 PUSH2 0x5BC DUP5 PUSH2 0x806 JUMP JUMPDEST PUSH2 0x7E1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0xA0C JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP5 DUP3 DUP6 PUSH2 0x85D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x605 JUMPI PUSH2 0x604 PUSH2 0xA07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x615 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x5AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x62D DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x64A JUMPI PUSH2 0x649 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x668 JUMPI PUSH2 0x667 PUSH2 0xA11 JUMP JUMPDEST JUMPDEST PUSH2 0x674 DUP6 DUP3 DUP7 ADD PUSH2 0x5F0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x685 DUP6 DUP3 DUP7 ADD PUSH2 0x61E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A5 JUMPI PUSH2 0x6A4 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6B3 DUP5 DUP3 DUP6 ADD PUSH2 0x61E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6D3 JUMPI PUSH2 0x6D2 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP6 DUP3 DUP7 ADD PUSH2 0x61E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x702 JUMPI PUSH2 0x701 PUSH2 0xA11 JUMP JUMPDEST JUMPDEST PUSH2 0x70E DUP6 DUP3 DUP7 ADD PUSH2 0x5F0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x723 DUP3 PUSH2 0x837 JUMP JUMPDEST PUSH2 0x72D DUP2 DUP6 PUSH2 0x842 JUMP JUMPDEST SWAP4 POP PUSH2 0x73D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x86C JUMP JUMPDEST PUSH2 0x746 DUP2 PUSH2 0xA1B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75E PUSH1 0x12 DUP4 PUSH2 0x842 JUMP JUMPDEST SWAP2 POP PUSH2 0x769 DUP3 PUSH2 0xA2C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x77D DUP2 PUSH2 0x853 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 0x79C DUP2 PUSH2 0x751 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x7B8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x774 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x7CA DUP2 DUP6 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP PUSH2 0x7D9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x774 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7EB PUSH2 0x7FC JUMP JUMPDEST SWAP1 POP PUSH2 0x7F7 DUP3 DUP3 PUSH2 0x8D1 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 0x821 JUMPI PUSH2 0x820 PUSH2 0x9D8 JUMP JUMPDEST JUMPDEST PUSH2 0x82A DUP3 PUSH2 0xA1B 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 0x88A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x86F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x899 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 0x8B7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x8CB JUMPI PUSH2 0x8CA PUSH2 0x97A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8DA DUP3 PUSH2 0xA1B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8F9 JUMPI PUSH2 0x8F8 PUSH2 0x9D8 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x90D DUP3 PUSH2 0x853 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x940 JUMPI PUSH2 0x93F PUSH2 0x94B 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 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 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 PUSH32 0x5573657220646F65736E27742065786973740000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0x853 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP JUMP 0xE8 AND 0xD8 CREATE PUSH24 0x518975FF1DA8CD2E9792CDCDCCE1E77B8404660562CDAFDB SELFDESTRUCT PUSH5 0x736F6C6343 STOP ADDMOD MOD STOP CALLER ",
"sourceMap": "25:966:0:-:0;;;170:1;156:15;;25:966;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@create_36": {
"entryPoint": 470,
"id": 36,
"parameterSlots": 2,
"returnSlots": 0
},
"@destroy_106": {
"entryPoint": 621,
"id": 106,
"parameterSlots": 1,
"returnSlots": 0
},
"@find_141": {
"entryPoint": 1068,
"id": 141,
"parameterSlots": 1,
"returnSlots": 1
},
"@read_68": {
"entryPoint": 707,
"id": 68,
"parameterSlots": 1,
"returnSlots": 3
},
"@update_89": {
"entryPoint": 992,
"id": 89,
"parameterSlots": 2,
"returnSlots": 0
},
"@users_12": {
"entryPoint": 276,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1454,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1520,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1566,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_uint256": {
"entryPoint": 1587,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1679,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_string_memory_ptr": {
"entryPoint": 1724,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1816,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1873,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1908,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1923,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256__to_t_uint256_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1955,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 2017,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 2044,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 2054,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2103,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2114,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2131,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 2141,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 2156,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 2207,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 2257,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 2306,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 2379,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2426,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 2473,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 2520,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 2567,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 2572,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2577,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2582,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2587,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9": {
"entryPoint": 2604,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2645,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8276: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:2: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:2: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:2:1"
},
{
"nodeType": "YulBlock",
"src": "1162:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1177:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1208:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1219:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1204:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1204:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1191:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1191:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1181:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1269:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1271:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1271:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1271:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1241:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1249:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1238:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1238:30:1"
},
"nodeType": "YulIf",
"src": "1235:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1366:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1411:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1422:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1407:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1431:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1376:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1376:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1366:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1459:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1474:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1488:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1478:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1504:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1539:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1550:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1535:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1535:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1559:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1514:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1514:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1504:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256",
"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": "1656:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1702:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1704:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1704:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1704:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1677:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1686:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1673:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1673:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1698:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1669:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1669:32:1"
},
"nodeType": "YulIf",
"src": "1666:2:1"
},
{
"nodeType": "YulBlock",
"src": "1795:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1810:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1824:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1839:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1874:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1885:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1870:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1870:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1894:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1849:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1849:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1839:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1626:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1637:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1649:6:1",
"type": ""
}
],
"src": "1590:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2018:561:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2064:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2066:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2066:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2066:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2039:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2048:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2035:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2035:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2060:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2031:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2031:32:1"
},
"nodeType": "YulIf",
"src": "2028:2:1"
},
{
"nodeType": "YulBlock",
"src": "2157:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2172:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2186:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2176:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2201:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2236:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2247:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2232:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2232:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2256:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2211:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2211:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2201:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2284:288:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2299:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2341:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2326:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2326:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2313:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2313:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2303:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2392:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "2394:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2394:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2394:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2364:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2372:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2361:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2361:30:1"
},
"nodeType": "YulIf",
"src": "2358:2:1"
},
{
"nodeType": "YulAssignment",
"src": "2489:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2534:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2545:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2530:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2530:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2554:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2499:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2499:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2489:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1980:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1991:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2003:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2011:6:1",
"type": ""
}
],
"src": "1925:654:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2677:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2687:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2734:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2701:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2701:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2691:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2749:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2815:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2820:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2756:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2756:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2749:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2862:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2869:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2858:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2876:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2881:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2836:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2836:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2836:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2897:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2908:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2935:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2913:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2913:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2904:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2904:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2897:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2658:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2665:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2673:3:1",
"type": ""
}
],
"src": "2585:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3101:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3111:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3177:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3182:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3118:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3118:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3111:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3283:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9",
"nodeType": "YulIdentifier",
"src": "3194:88:1"
},
"nodeType": "YulFunctionCall",
"src": "3194:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "3194:93:1"
},
{
"nodeType": "YulAssignment",
"src": "3296:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3307:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3312:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3303:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3303:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3296:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3089:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3097:3:1",
"type": ""
}
],
"src": "2955:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3392:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3409:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3432:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3414:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3414:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3402:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3402:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3402:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3380:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3387:3:1",
"type": ""
}
],
"src": "3327:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3622:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3632:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3644:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3655:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3640:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3640:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3632:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3679:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3690:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3675:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3675:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3698:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3704:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3694:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3694:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3668:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3668:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3668:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3724:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3858:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3732:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3732:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3724:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3602:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3617:4:1",
"type": ""
}
],
"src": "3451:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4050:359:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4060:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4072:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4083:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4068:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4068:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4060:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4140:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4153:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4164:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4149:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4149:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4096:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4096:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4096:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4188:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4199:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4184:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4208:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4214:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4204:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4204:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4177:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4177:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "4177:48:1"
},
{
"nodeType": "YulAssignment",
"src": "4234:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4306:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4315:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4242:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4242:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4234:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4374:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4387:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4398:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4383:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4383:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4330:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4330:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "4330:72:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256__to_t_uint256_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4006:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4018:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4026:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4034:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4045:4:1",
"type": ""
}
],
"src": "3876:533:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4456:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4466:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4476:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4476:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4466:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4525:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4533:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4505:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4505:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4505:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4440:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4449:6:1",
"type": ""
}
],
"src": "4415:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4590:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4600:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4616:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4610:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4610:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4600:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4583:6:1",
"type": ""
}
],
"src": "4550:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4698:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4803:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4805:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4805:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4805:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4775:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4783:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4772:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4772:30:1"
},
"nodeType": "YulIf",
"src": "4769:2:1"
},
{
"nodeType": "YulAssignment",
"src": "4835:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4865:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4843:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4843:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4835:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4909:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4921:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4927:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4917:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4909:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4682:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4693:4:1",
"type": ""
}
],
"src": "4631:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5004:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5015:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5031:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5025:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5025:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5015:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4987:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4997:6:1",
"type": ""
}
],
"src": "4945:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5146:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5163:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5168:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5156:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5156:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5156:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5184:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5203:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5208:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5199:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5199:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5184:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5118:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5123:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5134:11:1",
"type": ""
}
],
"src": "5050:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5270:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5280:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5291:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5280:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5252:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5262:7:1",
"type": ""
}
],
"src": "5225:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5359:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5382:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5387:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5392:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5369:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5369:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5369:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5440:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5445:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5436:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5454:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5429:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5429:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5341:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5346:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5351:6:1",
"type": ""
}
],
"src": "5308:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5517:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5527:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5536:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5531:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5596:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5621:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5626:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5617:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5617:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5640:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5645:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5636:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5636:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5630:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5630:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5610:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5610:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "5610:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5557:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5560:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5554:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5554:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5568:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5570:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5579:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5582:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5575:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5575:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5570:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5550:3:1",
"statements": []
},
"src": "5546:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5693:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5743:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5748:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5739:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5739:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5757:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5732:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5732:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5732:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5674:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5677:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5671:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5671:13:1"
},
"nodeType": "YulIf",
"src": "5668:2:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5499:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5504:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5509:6:1",
"type": ""
}
],
"src": "5468:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5832:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5842:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5856:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5862:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5852:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5852:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5842:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5873:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5903:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5909:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5899:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5899:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5877:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5950:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5964:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5978:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5986:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5974:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5974:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5964:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5930:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5923:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5923:26:1"
},
"nodeType": "YulIf",
"src": "5920:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6053:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6067:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6067:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6067:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6017:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6040:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6048:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6037:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6037:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6014:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6014:38:1"
},
"nodeType": "YulIf",
"src": "6011:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5816:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5825:6:1",
"type": ""
}
],
"src": "5781:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6150:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6160:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6182:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6212:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6190:21:1"
},
"nodeType": "YulFunctionCall",
"src": "6190:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6178:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6178:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "6164:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6329:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6331:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6331:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6331:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6272:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6284:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6269:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6269:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6308:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6320:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6305:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6305:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6266:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6266:62:1"
},
"nodeType": "YulIf",
"src": "6263:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6367:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6371:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6360:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6360:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "6360:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6136:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6144:4:1",
"type": ""
}
],
"src": "6107:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6437:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6447:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6474:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6456:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6456:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6447:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6570:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6572:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6572:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6572:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6495:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6502:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6492:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6492:77:1"
},
"nodeType": "YulIf",
"src": "6489:2:1"
},
{
"nodeType": "YulAssignment",
"src": "6601:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6612:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6619:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6608:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6601:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6423:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6433:3:1",
"type": ""
}
],
"src": "6394:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6661:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6678:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6681:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6671:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6671:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6671:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6775:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6778:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6768:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6768:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6768:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6799:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6802:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6792:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6792:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6792:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6633:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6847:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6864:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6867:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6857:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6857:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6857:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6961:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6964:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6954:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6954:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6954:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6985:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6988:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6978:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6978:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6978:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6819:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7033:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7050:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7053:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7043:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7043:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7043:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7147:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7150:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7140:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7140:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7140:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7171:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7174:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7164:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7164:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7164:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "7005:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7219:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7236:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7239:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7229:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7229:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7229:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7333:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7336:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7326:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7326:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7326:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7357:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7360:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7350:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7350:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7350:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "7191:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7466:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7483:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7486:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7476:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7476:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7476:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "7377:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7589:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7606:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7609:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7599:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7599:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7599:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "7500:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7712:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7729:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7732:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7722:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7722:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7722:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7623:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7835:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7852:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7855:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7845:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7845:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7845:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7746:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7917:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7927:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7945:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7952:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7941:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7941:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7961:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7957:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7957:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7937:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7937:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7927:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7900:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7910:6:1",
"type": ""
}
],
"src": "7869:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8083:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8105:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8113:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8101:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8101:14:1"
},
{
"hexValue": "5573657220646f65736e2774206578697374",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8117:20:1",
"type": "",
"value": "User doesn't exist"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8094:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8094:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "8094:44:1"
}
]
},
"name": "store_literal_in_memory_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8075:6:1",
"type": ""
}
],
"src": "7977:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8194:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8251:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8260:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8263:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8253:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8253:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8253:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8217:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8242:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8224:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8224:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8214:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8214:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8207:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8207:43:1"
},
"nodeType": "YulIf",
"src": "8204:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8187:5:1",
"type": ""
}
],
"src": "8151: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_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_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_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_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256__to_t_uint256_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\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 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_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 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 store_literal_in_memory_ca59ec674b9aba88d8dc100798860e267fba6f2d26f2efd0dda0be5ee0d979b9(memPtr) {\n\n mstore(add(memPtr, 0), \"User doesn't exist\")\n\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": "608060405234801561001057600080fd5b50600436106100575760003560e01c8063365b98b21461005c57806346f81a871461008e5780639d118770146100aa578063ed2e5a97146100c6578063f745630f146100f8575b600080fd5b6100766004803603810190610071919061068f565b610114565b604051610085939291906107a3565b60405180910390f35b6100a860048036038101906100a39190610633565b6101d6565b005b6100c460048036038101906100bf919061068f565b61026d565b005b6100e060048036038101906100db919061068f565b6102c3565b6040516100ef939291906107a3565b60405180910390f35b610112600480360381019061010d91906106bc565b6103e0565b005b6000818154811061012457600080fd5b906000526020600020906003020160009150905080600001549080600101805461014d9061089f565b80601f01602080910402602001604051908101604052809291908181526020018280546101799061089f565b80156101c65780601f1061019b576101008083540402835291602001916101c6565b820191906000526020600020905b8154815290600101906020018083116101a957829003601f168201915b5050505050908060020154905083565b6000604051806060016040528060015481526020018481526020018381525090806001815401808255809150506001900390600052602060002090600302016000909190919091506000820151816000015560208201518160010190805190602001906102449291906104cb565b506040820151816002015550506001600081548092919061026490610902565b91905055505050565b60006102788261042c565b90506000818154811061028e5761028d6109a9565b5b90600052602060002090600302016000808201600090556001820160006102b59190610551565b600282016000905550505050565b600060606000806102d38561042c565b9050600081815481106102e9576102e86109a9565b5b9060005260206000209060030201600001546000828154811061030f5761030e6109a9565b5b906000526020600020906003020160010160008381548110610334576103336109a9565b5b9060005260206000209060030201600201548180546103529061089f565b80601f016020809104026020016040519081016040528092919081815260200182805461037e9061089f565b80156103cb5780601f106103a0576101008083540402835291602001916103cb565b820191906000526020600020905b8154815290600101906020018083116103ae57829003601f168201915b50505050509150935093509350509193909250565b60006103eb8361042c565b90508160008281548110610402576104016109a9565b5b906000526020600020906003020160010190805190602001906104269291906104cb565b50505050565b600080600090505b60008054905081101561048a578260008281548110610456576104556109a9565b5b906000526020600020906003020160000154141561047757809150506104c6565b808061048290610902565b915050610434565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90610783565b60405180910390fd5b919050565b8280546104d79061089f565b90600052602060002090601f0160209004810192826104f95760008555610540565b82601f1061051257805160ff1916838001178555610540565b82800160010185558215610540579182015b8281111561053f578251825591602001919060010190610524565b5b50905061054d9190610591565b5090565b50805461055d9061089f565b6000825580601f1061056f575061058e565b601f01602090049060005260206000209081019061058d9190610591565b5b50565b5b808211156105aa576000816000905550600101610592565b5090565b60006105c16105bc84610806565b6107e1565b9050828152602081018484840111156105dd576105dc610a0c565b5b6105e884828561085d565b509392505050565b600082601f83011261060557610604610a07565b5b81356106158482602086016105ae565b91505092915050565b60008135905061062d81610a55565b92915050565b6000806040838503121561064a57610649610a16565b5b600083013567ffffffffffffffff81111561066857610667610a11565b5b610674858286016105f0565b92505060206106858582860161061e565b9150509250929050565b6000602082840312156106a5576106a4610a16565b5b60006106b38482850161061e565b91505092915050565b600080604083850312156106d3576106d2610a16565b5b60006106e18582860161061e565b925050602083013567ffffffffffffffff81111561070257610701610a11565b5b61070e858286016105f0565b9150509250929050565b600061072382610837565b61072d8185610842565b935061073d81856020860161086c565b61074681610a1b565b840191505092915050565b600061075e601283610842565b915061076982610a2c565b602082019050919050565b61077d81610853565b82525050565b6000602082019050818103600083015261079c81610751565b9050919050565b60006060820190506107b86000830186610774565b81810360208301526107ca8185610718565b90506107d96040830184610774565b949350505050565b60006107eb6107fc565b90506107f782826108d1565b919050565b6000604051905090565b600067ffffffffffffffff821115610821576108206109d8565b5b61082a82610a1b565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561088a57808201518184015260208101905061086f565b83811115610899576000848401525b50505050565b600060028204905060018216806108b757607f821691505b602082108114156108cb576108ca61097a565b5b50919050565b6108da82610a1b565b810181811067ffffffffffffffff821117156108f9576108f86109d8565b5b80604052505050565b600061090d82610853565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156109405761093f61094b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5573657220646f65736e27742065786973740000000000000000000000000000600082015250565b610a5e81610853565b8114610a6957600080fd5b5056fea26469706673582212205056e816d8f077518975ff1da8cd2e9792cdcdcce1e77b8404660562cdafdbff64736f6c63430008060033",
"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 0x365B98B2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x46F81A87 EQ PUSH2 0x8E JUMPI DUP1 PUSH4 0x9D118770 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0xED2E5A97 EQ PUSH2 0xC6 JUMPI DUP1 PUSH4 0xF745630F EQ PUSH2 0xF8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x114 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x85 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA3 SWAP2 SWAP1 PUSH2 0x633 JUMP JUMPDEST PUSH2 0x1D6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x26D JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDB SWAP2 SWAP1 PUSH2 0x68F JUMP JUMPDEST PUSH2 0x2C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x7A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x112 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10D SWAP2 SWAP1 PUSH2 0x6BC JUMP JUMPDEST PUSH2 0x3E0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x124 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x14D SWAP1 PUSH2 0x89F 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 0x179 SWAP1 PUSH2 0x89F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C6 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 0x1A9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP 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 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 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 0x244 SWAP3 SWAP2 SWAP1 PUSH2 0x4CB JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x264 SWAP1 PUSH2 0x902 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x278 DUP3 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x28E JUMPI PUSH2 0x28D PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x2B5 SWAP2 SWAP1 PUSH2 0x551 JUMP JUMPDEST PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x2D3 DUP6 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2E9 JUMPI PUSH2 0x2E8 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x30F JUMPI PUSH2 0x30E PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x334 JUMPI PUSH2 0x333 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP2 DUP1 SLOAD PUSH2 0x352 SWAP1 PUSH2 0x89F 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 0x37E SWAP1 PUSH2 0x89F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3A0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3CB 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 0x3AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP2 POP SWAP4 POP SWAP4 POP SWAP4 POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3EB DUP4 PUSH2 0x42C JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x402 JUMPI PUSH2 0x401 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x426 SWAP3 SWAP2 SWAP1 PUSH2 0x4CB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x48A JUMPI DUP3 PUSH1 0x0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x456 JUMPI PUSH2 0x455 PUSH2 0x9A9 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x477 JUMPI DUP1 SWAP2 POP POP PUSH2 0x4C6 JUMP JUMPDEST DUP1 DUP1 PUSH2 0x482 SWAP1 PUSH2 0x902 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x434 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4BD SWAP1 PUSH2 0x783 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4D7 SWAP1 PUSH2 0x89F JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x4F9 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x540 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x512 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x540 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x540 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x53F JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x524 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x54D SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x55D SWAP1 PUSH2 0x89F JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x56F JUMPI POP PUSH2 0x58E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x58D SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x592 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C1 PUSH2 0x5BC DUP5 PUSH2 0x806 JUMP JUMPDEST PUSH2 0x7E1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0xA0C JUMP JUMPDEST JUMPDEST PUSH2 0x5E8 DUP5 DUP3 DUP6 PUSH2 0x85D JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x605 JUMPI PUSH2 0x604 PUSH2 0xA07 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x615 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x5AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x62D DUP2 PUSH2 0xA55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x64A JUMPI PUSH2 0x649 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x668 JUMPI PUSH2 0x667 PUSH2 0xA11 JUMP JUMPDEST JUMPDEST PUSH2 0x674 DUP6 DUP3 DUP7 ADD PUSH2 0x5F0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x685 DUP6 DUP3 DUP7 ADD PUSH2 0x61E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A5 JUMPI PUSH2 0x6A4 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6B3 DUP5 DUP3 DUP6 ADD PUSH2 0x61E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6D3 JUMPI PUSH2 0x6D2 PUSH2 0xA16 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP6 DUP3 DUP7 ADD PUSH2 0x61E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x702 JUMPI PUSH2 0x701 PUSH2 0xA11 JUMP JUMPDEST JUMPDEST PUSH2 0x70E DUP6 DUP3 DUP7 ADD PUSH2 0x5F0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x723 DUP3 PUSH2 0x837 JUMP JUMPDEST PUSH2 0x72D DUP2 DUP6 PUSH2 0x842 JUMP JUMPDEST SWAP4 POP PUSH2 0x73D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x86C JUMP JUMPDEST PUSH2 0x746 DUP2 PUSH2 0xA1B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75E PUSH1 0x12 DUP4 PUSH2 0x842 JUMP JUMPDEST SWAP2 POP PUSH2 0x769 DUP3 PUSH2 0xA2C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x77D DUP2 PUSH2 0x853 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 0x79C DUP2 PUSH2 0x751 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x7B8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x774 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x7CA DUP2 DUP6 PUSH2 0x718 JUMP JUMPDEST SWAP1 POP PUSH2 0x7D9 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x774 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7EB PUSH2 0x7FC JUMP JUMPDEST SWAP1 POP PUSH2 0x7F7 DUP3 DUP3 PUSH2 0x8D1 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 0x821 JUMPI PUSH2 0x820 PUSH2 0x9D8 JUMP JUMPDEST JUMPDEST PUSH2 0x82A DUP3 PUSH2 0xA1B 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 0x88A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x86F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x899 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 0x8B7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x8CB JUMPI PUSH2 0x8CA PUSH2 0x97A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8DA DUP3 PUSH2 0xA1B JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x8F9 JUMPI PUSH2 0x8F8 PUSH2 0x9D8 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x90D DUP3 PUSH2 0x853 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x940 JUMPI PUSH2 0x93F PUSH2 0x94B 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 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 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 PUSH32 0x5573657220646F65736E27742065786973740000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA5E DUP2 PUSH2 0x853 JUMP JUMPDEST DUP2 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 POP JUMP 0xE8 AND 0xD8 CREATE PUSH24 0x518975FF1DA8CD2E9792CDCDCCE1E77B8404660562CDAFDB SELFDESTRUCT PUSH5 0x736F6C6343 STOP ADDMOD MOD STOP CALLER ",
"sourceMap": "25:966:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;131:19;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;182:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;655:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;323:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;520:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;131:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;182:131::-;249:5;260:27;;;;;;;;265:6;;260:27;;;;273:5;260:27;;;;280:6;260:27;;;249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;298:6;;:8;;;;;;;;;:::i;:::-;;;;;;182:131;;:::o;655:94::-;699:6;708:9;713:3;708:4;:9::i;:::-;699:18;;734:5;740:1;734:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;727:15;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;689:60;655:94;:::o;323:182::-;367:4;373:13;388:4;403:6;412:9;417:3;412:4;:9::i;:::-;403:18;;438:5;444:1;438:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:11;;;451:5;457:1;451:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:13;;466:5;472:1;466:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:14;;;431:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;323:182;;;;;:::o;520:120::-;584:6;593:9;598:3;593:4;:9::i;:::-;584:18;;628:5;612;618:1;612:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:13;;:21;;;;;;;;;;;;:::i;:::-;;574:66;520:120;;:::o;759:230::-;805:7;827:6;834:1;827:8;;823:121;839:5;:12;;;;837:1;:14;823:121;;;889:3;874:5;880:1;874:8;;;;;;;;:::i;:::-;;;;;;;;;;;;:11;;;:18;871:63;;;918:1;911:8;;;;;871:63;853:3;;;;;:::i;:::-;;;;823:121;;;;953:29;;;;;;;;;;:::i;:::-;;;;;;;;759:230;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::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:2;;;282:79;;:::i;:::-;251:2;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:2;;552:79;;:::i;:::-;511:2;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;837:87;;;;:::o;930:654::-;1008:6;1016;1065:2;1053:9;1044:7;1040:23;1036:32;1033:2;;;1071:79;;:::i;:::-;1033:2;1219:1;1208:9;1204:17;1191:31;1249:18;1241:6;1238:30;1235:2;;;1271:79;;:::i;:::-;1235:2;1376:63;1431:7;1422:6;1411:9;1407:22;1376:63;:::i;:::-;1366:73;;1162:287;1488:2;1514:53;1559:7;1550:6;1539:9;1535:22;1514:53;:::i;:::-;1504:63;;1459:118;1023:561;;;;;:::o;1590:329::-;1649:6;1698:2;1686:9;1677:7;1673:23;1669:32;1666:2;;;1704:79;;:::i;:::-;1666:2;1824:1;1849:53;1894:7;1885:6;1874:9;1870:22;1849:53;:::i;:::-;1839:63;;1795:117;1656:263;;;;:::o;1925:654::-;2003:6;2011;2060:2;2048:9;2039:7;2035:23;2031:32;2028:2;;;2066:79;;:::i;:::-;2028:2;2186:1;2211:53;2256:7;2247:6;2236:9;2232:22;2211:53;:::i;:::-;2201:63;;2157:117;2341:2;2330:9;2326:18;2313:32;2372:18;2364:6;2361:30;2358:2;;;2394:79;;:::i;:::-;2358:2;2499:63;2554:7;2545:6;2534:9;2530:22;2499:63;:::i;:::-;2489:73;;2284:288;2018:561;;;;;:::o;2585:364::-;2673:3;2701:39;2734:5;2701:39;:::i;:::-;2756:71;2820:6;2815:3;2756:71;:::i;:::-;2749:78;;2836:52;2881:6;2876:3;2869:4;2862:5;2858:16;2836:52;:::i;:::-;2913:29;2935:6;2913:29;:::i;:::-;2908:3;2904:39;2897:46;;2677:272;;;;;:::o;2955:366::-;3097:3;3118:67;3182:2;3177:3;3118:67;:::i;:::-;3111:74;;3194:93;3283:3;3194:93;:::i;:::-;3312:2;3307:3;3303:12;3296:19;;3101:220;;;:::o;3327:118::-;3414:24;3432:5;3414:24;:::i;:::-;3409:3;3402:37;3392:53;;:::o;3451:419::-;3617:4;3655:2;3644:9;3640:18;3632:26;;3704:9;3698:4;3694:20;3690:1;3679:9;3675:17;3668:47;3732:131;3858:4;3732:131;:::i;:::-;3724:139;;3622:248;;;:::o;3876:533::-;4045:4;4083:2;4072:9;4068:18;4060:26;;4096:71;4164:1;4153:9;4149:17;4140:6;4096:71;:::i;:::-;4214:9;4208:4;4204:20;4199:2;4188:9;4184:18;4177:48;4242:78;4315:4;4306:6;4242:78;:::i;:::-;4234:86;;4330:72;4398:2;4387:9;4383:18;4374:6;4330:72;:::i;:::-;4050:359;;;;;;:::o;4415:129::-;4449:6;4476:20;;:::i;:::-;4466:30;;4505:33;4533:4;4525:6;4505:33;:::i;:::-;4456:88;;;:::o;4550:75::-;4583:6;4616:2;4610:9;4600:19;;4590:35;:::o;4631:308::-;4693:4;4783:18;4775:6;4772:30;4769:2;;;4805:18;;:::i;:::-;4769:2;4843:29;4865:6;4843:29;:::i;:::-;4835:37;;4927:4;4921;4917:15;4909:23;;4698:241;;;:::o;4945:99::-;4997:6;5031:5;5025:12;5015:22;;5004:40;;;:::o;5050:169::-;5134:11;5168:6;5163:3;5156:19;5208:4;5203:3;5199:14;5184:29;;5146:73;;;;:::o;5225:77::-;5262:7;5291:5;5280:16;;5270:32;;;:::o;5308:154::-;5392:6;5387:3;5382;5369:30;5454:1;5445:6;5440:3;5436:16;5429:27;5359:103;;;:::o;5468:307::-;5536:1;5546:113;5560:6;5557:1;5554:13;5546:113;;;5645:1;5640:3;5636:11;5630:18;5626:1;5621:3;5617:11;5610:39;5582:2;5579:1;5575:10;5570:15;;5546:113;;;5677:6;5674:1;5671:13;5668:2;;;5757:1;5748:6;5743:3;5739:16;5732:27;5668:2;5517:258;;;;:::o;5781:320::-;5825:6;5862:1;5856:4;5852:12;5842:22;;5909:1;5903:4;5899:12;5930:18;5920:2;;5986:4;5978:6;5974:17;5964:27;;5920:2;6048;6040:6;6037:14;6017:18;6014:38;6011:2;;;6067:18;;:::i;:::-;6011:2;5832:269;;;;:::o;6107:281::-;6190:27;6212:4;6190:27;:::i;:::-;6182:6;6178:40;6320:6;6308:10;6305:22;6284:18;6272:10;6269:34;6266:62;6263:2;;;6331:18;;:::i;:::-;6263:2;6371:10;6367:2;6360:22;6150:238;;;:::o;6394:233::-;6433:3;6456:24;6474:5;6456:24;:::i;:::-;6447:33;;6502:66;6495:5;6492:77;6489:2;;;6572:18;;:::i;:::-;6489:2;6619:1;6612:5;6608:13;6601:20;;6437:190;;;:::o;6633:180::-;6681:77;6678:1;6671:88;6778:4;6775:1;6768:15;6802:4;6799:1;6792:15;6819:180;6867:77;6864:1;6857:88;6964:4;6961:1;6954:15;6988:4;6985:1;6978:15;7005:180;7053:77;7050:1;7043:88;7150:4;7147:1;7140:15;7174:4;7171:1;7164:15;7191:180;7239:77;7236:1;7229:88;7336:4;7333:1;7326:15;7360:4;7357:1;7350:15;7377:117;7486:1;7483;7476:12;7500:117;7609:1;7606;7599:12;7623:117;7732:1;7729;7722:12;7746:117;7855:1;7852;7845:12;7869:102;7910:6;7961:2;7957:7;7952:2;7945:5;7941:14;7937:28;7927:38;;7917:54;;;:::o;7977:168::-;8117:20;8113:1;8105:6;8101:14;8094:44;8083:62;:::o;8151:122::-;8224:24;8242:5;8224:24;:::i;:::-;8217:5;8214:35;8204:2;;8263:1;8260;8253:12;8204:2;8194:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "544400",
"executionCost": "22687",
"totalCost": "567087"
},
"external": {
"create(string,uint256)": "infinite",
"destroy(uint256)": "infinite",
"read(uint256)": "infinite",
"update(uint256,string)": "infinite",
"users(uint256)": "infinite"
},
"internal": {
"find(uint256)": "infinite"
}
},
"methodIdentifiers": {
"create(string,uint256)": "46f81a87",
"destroy(uint256)": "9d118770",
"read(uint256)": "ed2e5a97",
"update(uint256,string)": "f745630f",
"users(uint256)": "365b98b2"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_grade",
"type": "uint256"
}
],
"name": "create",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "destroy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "read",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "update",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "users",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "grade",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.6+commit.11564f7e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_grade",
"type": "uint256"
}
],
"name": "create",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "destroy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "read",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "string",
"name": "",
"type": "string"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
}
],
"name": "update",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "users",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "grade",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"CRUD.sol": "CRUD"
},
"evmVersion": "berlin",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"CRUD.sol": {
"keccak256": "0xe9f32217d8235e7c55a6d2471f7f950ad556d8482213aebf074ecde89bcb1453",
"urls": [
"bzz-raw://d271734be0ef6406a4a348570badc686f819c1e53fc72a6f5e8bdfeeeadc1c74",
"dweb:/ipfs/QmXDLF1uCJpp1qtLBkCP6noP7ujtRDWrVTkmvrNUdRBTHn"
]
}
},
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548160ff0219169083600181111561007057fe5b02179055506102d4806100846000396000f3fe6080604052600436106100225760003560e01c80638da5cb5b1461020b57610206565b36610206576000600181111561003457fe5b60008054906101000a900460ff16600181111561004d57fe5b146100c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c7265616479204f636375706965640000000000000000000000000000000081525060200191505060405180910390fd5b671bc16d674ec8000080341015610122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610273602c913960400191505060405180910390fd5b60016000806101000a81548160ff0219169083600181111561014057fe5b0217905550600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156101ad573d6000803e3d6000fd5b507fba951166d42eb077151bdecb7cf6027562f04f0143b0c141b1bb0a33eef5d6933334604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150005b600080fd5b34801561021757600080fd5b5061022061024c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe4e6f7420656e6f7567682045746865722050726f76696465642c2053686f756c642062652032204574686572a2646970667358221220dc932692794533bbe4d1088020c47547f6c63a81ec7c12bcb7548ae503f87eb964736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x70 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP PUSH2 0x2D4 DUP1 PUSH2 0x84 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x22 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x20B JUMPI PUSH2 0x206 JUMP JUMPDEST CALLDATASIZE PUSH2 0x206 JUMPI PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x34 JUMPI INVALID JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D JUMPI INVALID JUMPDEST EQ PUSH2 0xC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x10 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C7265616479204F6363757069656400000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH8 0x1BC16D674EC80000 DUP1 CALLVALUE LT ISZERO PUSH2 0x122 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x273 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x140 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0xBA951166D42EB077151BDECB7CF6027562F04F0143B0C141B1BB0A33EEF5D693 CALLER CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x220 PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP INVALID 0x4E PUSH16 0x7420656E6F7567682045746865722050 PUSH19 0x6F76696465642C2053686F756C642062652032 KECCAK256 GASLIMIT PUSH21 0x686572A2646970667358221220DC932692794533BB 0xE4 0xD1 ADDMOD DUP1 KECCAK256 0xC4 PUSH22 0x47F6C63A81EC7C12BCB7548AE503F87EB964736F6C63 NUMBER STOP MOD 0xC STOP CALLER ",
"sourceMap": "25:927:0:-:0;;;329:97;;;;;;;;;;367:10;359:5;;:18;;;;;;;;;;;;;;;;;;403:16;387:13;;:32;;;;;;;;;;;;;;;;;;;;;;;;25:927;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100225760003560e01c80638da5cb5b1461020b57610206565b36610206576000600181111561003457fe5b60008054906101000a900460ff16600181111561004d57fe5b146100c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c7265616479204f636375706965640000000000000000000000000000000081525060200191505060405180910390fd5b671bc16d674ec8000080341015610122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180610273602c913960400191505060405180910390fd5b60016000806101000a81548160ff0219169083600181111561014057fe5b0217905550600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156101ad573d6000803e3d6000fd5b507fba951166d42eb077151bdecb7cf6027562f04f0143b0c141b1bb0a33eef5d6933334604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150005b600080fd5b34801561021757600080fd5b5061022061024c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fe4e6f7420656e6f7567682045746865722050726f76696465642c2053686f756c642062652032204574686572a2646970667358221220dc932692794533bbe4d1088020c47547f6c63a81ec7c12bcb7548ae503f87eb964736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x22 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x20B JUMPI PUSH2 0x206 JUMP JUMPDEST CALLDATASIZE PUSH2 0x206 JUMPI PUSH1 0x0 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x34 JUMPI INVALID JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x4D JUMPI INVALID JUMPDEST EQ PUSH2 0xC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x10 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C7265616479204F6363757069656400000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH8 0x1BC16D674EC80000 DUP1 CALLVALUE LT ISZERO PUSH2 0x122 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x273 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x140 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH32 0xBA951166D42EB077151BDECB7CF6027562F04F0143B0C141B1BB0A33EEF5D693 CALLER CALLVALUE PUSH1 0x40 MLOAD DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x220 PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP INVALID 0x4E PUSH16 0x7420656E6F7567682045746865722050 PUSH19 0x6F76696465642C2053686F756C642062652032 KECCAK256 GASLIMIT PUSH21 0x686572A2646970667358221220DC932692794533BB 0xE4 0xD1 ADDMOD DUP1 KECCAK256 0xC4 PUSH22 0x47F6C63A81EC7C12BCB7548AE503F87EB964736F6C63 NUMBER STOP MOD 0xC STOP CALLER ",
"sourceMap": "25:927:0:-:0;;;;;;;;;;;;;;;;;;;;;;;517:16;500:33;;;;;;;;:13;;;;;;;;;;:33;;;;;;;;;492:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;808:7:::1;672;659:9;:20;;651:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;842:17:::2;826:13;::::0;:33:::2;;;;;;;;;;;;;;;;;;;;;;;;869:5;;;;;;;;;;;:14;;:25;884:9;869:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;909:29;916:10;928:9;909:29;;;;;;;;;;;;;;;;;;;;;;;;;;564:1:::1;25:927:::0;;;;;290:28;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "144800",
"executionCost": "41993",
"totalCost": "186793"
},
"external": {
"owner()": "1075"
}
},
"methodIdentifiers": {
"owner()": "8da5cb5b"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_occupants",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Occupy",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.6.12+commit.27d51765"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_occupants",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Occupy",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"HotelRoom.sol": "HotelRoom"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"HotelRoom.sol": {
"keccak256": "0xf91ef95e878bc9151649bd0a8e2530cf4f2be3f8db47843954b1b054149c8089",
"urls": [
"bzz-raw://45e3388e06f84f092a71a94e8e0643628a2202027d1ee8ac457c9b1b552138ec",
"dweb:/ipfs/QmYxaSLwoHWwSu1iPtaKNUEhjd3qY8e3cYXd32hD7A9K66"
]
}
},
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516108893803806108898339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b50604052505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160405161013d90610213565b8080602001828103825283818151815260200191508051906020019080838360005b8381101561017a57808201518184015260208101905061015f565b50505050905090810190601f1680156101a75780820380516001836020036101000a031916815260200191505b5092505050604051809103906000f0801580156101c8573d6000803e3d6000fd5b50905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610220565b6103428061054783390190565b6103188061022f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635b9fdc3014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4d757374206265206f776e65720000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16635b9fdc306040518163ffffffff1660e01b815260040160006040518083038186803b1580156101e357600080fd5b505afa1580156101f7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561022157600080fd5b810190808051604051939291908464010000000082111561024157600080fd5b8382019150602082018581111561025757600080fd5b825186600182028301116401000000008211171561027457600080fd5b8083526020830192505050908051906020019080838360005b838110156102a857808201518184015260208101905061028d565b50505050905090810190601f1680156102d55780820380516001836020036101000a031916815260200191505b506040525050509150509056fea2646970667358221220cde4741cb19fe371e7a94e33746a7f8d09e4df2e163666c45bc42843d01dcb4564736f6c634300060c0033608060405234801561001057600080fd5b506040516103423803806103428339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b50604052505050806000908051906020019061010492919061010b565b50506101a8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014c57805160ff191683800117855561017a565b8280016001018555821561017a579182015b8281111561017957825182559160200191906001019061015e565b5b509050610187919061018b565b5090565b5b808211156101a457600081600090555060010161018c565b5090565b61018b806101b76000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635b9fdc3014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea2646970667358221220785352e3afffa465543c59bd66b6dc2ab2ebcf13455c2f9408ab24b0261963e964736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x889 CODESIZE SUB DUP1 PUSH2 0x889 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x9F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xE7 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x40 MLOAD PUSH2 0x13D SWAP1 PUSH2 0x213 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x17A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x15F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1A7 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x1C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x220 JUMP JUMPDEST PUSH2 0x342 DUP1 PUSH2 0x547 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x318 DUP1 PUSH2 0x22F 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 0x5B9FDC30 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x78 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xA5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xD DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D757374206265206F776E657200000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5B9FDC30 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x257 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x274 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2A8 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x28D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x2D5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP SWAP2 POP POP SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xE4 PUSH21 0x1CB19FE371E7A94E33746A7F8D09E4DF2E163666C4 JUMPDEST 0xC4 0x28 NUMBER 0xD0 SAR 0xCB GASLIMIT PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x342 CODESIZE SUB DUP1 PUSH2 0x342 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x9F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xE7 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x104 SWAP3 SWAP2 SWAP1 PUSH2 0x10B JUMP JUMPDEST POP POP PUSH2 0x1A8 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x14C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x17A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x17A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x179 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x18B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x18C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x18B DUP1 PUSH2 0x1B7 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 0x5B9FDC30 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x78 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xA5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x14B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x120 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x14B 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 0x12E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH25 0x5352E3AFFFA465543C59BD66B6DC2AB2EBCF13455C2F9408AB 0x24 0xB0 0x26 NOT PUSH4 0xE964736F PUSH13 0x634300060C0033000000000000 ",
"sourceMap": "469:438:0:-:0;;;546:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;111:10;103:5;;:18;;;;;;;;;;;;;;;;;;598:24;641:7;625:24;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;598:51;;681:12;659:11;;:35;;;;;;;;;;;;;;;;;;546:170;;469:438;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80635b9fdc3014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4d757374206265206f776e65720000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16635b9fdc306040518163ffffffff1660e01b815260040160006040518083038186803b1580156101e357600080fd5b505afa1580156101f7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561022157600080fd5b810190808051604051939291908464010000000082111561024157600080fd5b8382019150602082018581111561025757600080fd5b825186600182028301116401000000008211171561027457600080fd5b8083526020830192505050908051906020019080838360005b838110156102a857808201518184015260208101905061028d565b50505050905090810190601f1680156102d55780820380516001836020036101000a031916815260200191505b506040525050509150509056fea2646970667358221220cde4741cb19fe371e7a94e33746a7f8d09e4df2e163666c45bc42843d01dcb4564736f6c634300060c0033",
"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 0x5B9FDC30 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x78 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xA5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x176 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xD DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x4D757374206265206F776E657200000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5B9FDC30 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x257 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x274 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2A8 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x28D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x2D5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP SWAP2 POP POP SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD 0xE4 PUSH21 0x1CB19FE371E7A94E33746A7F8D09E4DF2E163666C4 JUMPDEST 0xC4 0x28 NUMBER 0xD0 SAR 0xCB GASLIMIT PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ",
"sourceMap": "469:438:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;726:172;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:13;188:5;;;;;;;;;;174:19;;:10;:19;;;166:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:24:::1;838:11;;;;;;;;;;;799:51;;867:12;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;860:31;;;726:172:::0;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "158400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"getSecret()": "infinite"
}
},
"methodIdentifiers": {
"getSecret()": "5b9fdc30"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_secret",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getSecret",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.12+commit.27d51765"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_secret",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getSecret",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Inheritence.sol": "MyContract"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Inheritence.sol": {
"keccak256": "0x2df98d7923389b90bad518611631df2932da41ad9c4e73f1be70d85ec5656ec3",
"urls": [
"bzz-raw://a54017d25a32a0e0047e6f2eda5cc6c77dd062824908a6b20cd70d34e1018f3c",
"dweb:/ipfs/QmU6o64A81hPujBQ8AvquGooyiYaJtH4YWbqFUqLXQnfXJ"
]
}
},
"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": {
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603f80605d6000396000f3fe6080604052600080fdfea2646970667358221220acddd829a1833374aee4055dbd0004cf55e2a84fcb1060c0d0abc981a732ba1264736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3F DUP1 PUSH1 0x5D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC 0xDD 0xD8 0x29 LOG1 DUP4 CALLER PUSH21 0xAEE4055DBD0004CF55E2A84FCB1060C0D0ABC981A7 ORIGIN 0xBA SLT PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ",
"sourceMap": "26:205:0:-:0;;;72:56;;;;;;;;;;111:10;103:5;;:18;;;;;;;;;;;;;;;;;;26:205;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220acddd829a1833374aee4055dbd0004cf55e2a84fcb1060c0d0abc981a732ba1264736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC 0xDD 0xD8 0x29 LOG1 DUP4 CALLER PUSH21 0xAEE4055DBD0004CF55E2A84FCB1060C0D0ABC981A7 ORIGIN 0xBA SLT PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ",
"sourceMap": "26:205:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "20932",
"totalCost": "33532"
}
},
"methodIdentifiers": {}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
]
}
{
"compiler": {
"version": "0.6.12+commit.27d51765"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Inheritence.sol": "Ownable"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Inheritence.sol": {
"keccak256": "0x2df98d7923389b90bad518611631df2932da41ad9c4e73f1be70d85ec5656ec3",
"urls": [
"bzz-raw://a54017d25a32a0e0047e6f2eda5cc6c77dd062824908a6b20cd70d34e1018f3c",
"dweb:/ipfs/QmU6o64A81hPujBQ8AvquGooyiYaJtH4YWbqFUqLXQnfXJ"
]
}
},
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516103423803806103428339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b50604052505050806000908051906020019061010492919061010b565b50506101a8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061014c57805160ff191683800117855561017a565b8280016001018555821561017a579182015b8281111561017957825182559160200191906001019061015e565b5b509050610187919061018b565b5090565b5b808211156101a457600081600090555060010161018c565b5090565b61018b806101b76000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635b9fdc3014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea2646970667358221220785352e3afffa465543c59bd66b6dc2ab2ebcf13455c2f9408ab24b0261963e964736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x342 CODESIZE SUB DUP1 PUSH2 0x342 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x1 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBA JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x9F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xE7 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 MSTORE POP POP POP DUP1 PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x104 SWAP3 SWAP2 SWAP1 PUSH2 0x10B JUMP JUMPDEST POP POP PUSH2 0x1A8 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x14C JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x17A JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x17A JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x179 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x15E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x187 SWAP2 SWAP1 PUSH2 0x18B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x18C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x18B DUP1 PUSH2 0x1B7 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 0x5B9FDC30 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x78 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xA5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x14B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x120 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x14B 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 0x12E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH25 0x5352E3AFFFA465543C59BD66B6DC2AB2EBCF13455C2F9408AB 0x24 0xB0 0x26 NOT PUSH4 0xE964736F PUSH13 0x634300060C0033000000000000 ",
"sourceMap": "234:233:0:-:0;;;285:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;346:7;337:6;:16;;;;;;;;;;;;:::i;:::-;;285:75;234:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80635b9fdc3014610030575b600080fd5b6100386100b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561007857808201518184015260208101905061005d565b50505050905090810190601f1680156100a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561014b5780601f106101205761010080835404028352916020019161014b565b820191906000526020600020905b81548152906001019060200180831161012e57829003601f168201915b505050505090509056fea2646970667358221220785352e3afffa465543c59bd66b6dc2ab2ebcf13455c2f9408ab24b0261963e964736f6c634300060c0033",
"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 0x5B9FDC30 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0xB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x78 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x5D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xA5 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV 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 PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x14B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x120 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x14B 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 0x12E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH25 0x5352E3AFFFA465543C59BD66B6DC2AB2EBCF13455C2F9408AB 0x24 0xB0 0x26 NOT PUSH4 0xE964736F PUSH13 0x634300060C0033000000000000 ",
"sourceMap": "234:233:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;375:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;416:13;447:6;440:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;375:85;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "79000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"getSecret()": "infinite"
}
},
"methodIdentifiers": {
"getSecret()": "5b9fdc30"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_secret",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getSecret",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.12+commit.27d51765"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_secret",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getSecret",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Inheritence.sol": "SecretVault"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Inheritence.sol": {
"keccak256": "0x2df98d7923389b90bad518611631df2932da41ad9c4e73f1be70d85ec5656ec3",
"urls": [
"bzz-raw://a54017d25a32a0e0047e6f2eda5cc6c77dd062824908a6b20cd70d34e1018f3c",
"dweb:/ipfs/QmU6o64A81hPujBQ8AvquGooyiYaJtH4YWbqFUqLXQnfXJ"
]
}
},
"version": 1
}
pragma solidity ^0.6.0;
contract MyContract {
//Conditionsal
}
pragma solidity ^0.6.0;
contract Counter {
uint count;
function getCount() view public returns(uint){
return count;
}
function increase() public{
count++;
}
function decrease() public{
count--;
}
function add(uint _num) public{
count += _num;
}
function subtract(uint _num) public{
count -= _num;
}
}
pragma solidity ^0.8.5;
contract CRUD{
struct User {
uint id;
string name;
uint grade;
}
User[] public users;
uint nextId = 1;
function create(string memory _name, uint _grade) public {
users.push(User(nextId, _name, _grade));
nextId++;
}
function read(uint _id) view public returns(uint, string memory, uint){
uint i = find(_id);
return(users[i].id, users[i].name, users[i].grade);
}
function update(uint _id, string memory _name) public {
uint i = find(_id);
users[i].name = _name;
}
function destroy(uint _id) public {
uint i = find(_id);
delete users[i];
}
function find(uint _id) view internal returns(uint id){
for(uint i=0; i<users.length; i++){
if(users[i].id == _id){
return i;
}
}
revert('User doesn\'t exist');
}
}
pragma solidity ^0.6.0;
contract HotelRoom {
// Ether - pay smart contract
// Modifiers
// Eventes
// Enums
//vaccant or occupied
enum Statuses { Vaccant, Occupied }
Statuses currentStatus;
event Occupy(address _occupants, uint _amount);
address payable public owner;
constructor() public{
owner = msg.sender;
currentStatus = Statuses.Vaccant;
}
modifier isVaccant{
//Check room status
require(currentStatus == Statuses.Vaccant, "Already Occupied");
_;
}
modifier isEnoughAmount(uint _amount){
//Check Price
require(msg.value >= _amount, "Not enough Ether Provided, Should be 2 Ether");
_;
}
receive() external payable isVaccant isEnoughAmount(2 ether){
currentStatus = Statuses.Occupied;
owner.transfer(msg.value);
emit Occupy(msg.sender, msg.value);
}
}
pragma solidity ^0.6.0;
contract Ownable{
address owner;
constructor() public {
owner = msg.sender;
}
modifier isOwner(){
require(msg.sender == owner, "Must be owner");
_;
}
}
contract SecretVault {
string secret;
constructor(string memory _secret) public {
secret = _secret;
}
function getSecret() public view returns(string memory){
return secret;
}
}
contract MyContract is Ownable {
address secretVault;
constructor(string memory _secret) public {
SecretVault _secretVault = new SecretVault(_secret);
secretVault = address(_secretVault);
super;
}
function getSecret() public view isOwner returns(string memory){
SecretVault _secretVault = SecretVault(secretVault);
return _secretVault.getSecret();
}
}
pragma solidity ^0.6.0;
contract MyContract {
//mapping
mapping(uint => string) public names;
mapping(uint => Book) public books;
mapping(address => mapping(uint => Book)) public myBooks;
struct Book {
string title;
string author;
}
constructor() public {
names[1] = "Adam";
names[2] = "Bruce";
names[3] = "Carl";
}
function addBook(uint _id, string memory _author,string memory _title) public {
books[_id] = Book(_title, _author);
}
function addMyBook(uint _id, string memory _title, string memory _author) public {
myBooks[msg.sender][_id] = Book(_title, _author);
}
}
pragma solidity ^0.6.0;
contract MyContract {
// state variable
// local variable
uint value = 1;
function getValue() public pure returns(uint) {
uint value = 1;
return value;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment