Skip to content

Instantly share code, notes, and snippets.

@kongSanJin
Created May 6, 2025 09:31
Show Gist options
  • Save kongSanJin/d05e367f6e5ce89e73cbe11c1dca4d53 to your computer and use it in GitHub Desktop.
Save kongSanJin/d05e367f6e5ce89e73cbe11c1dca4d53 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.26+commit.8a97fa7a.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract Enum1 {
uint public a;
function set(uint _a) public view {
a == _a;
}
function get() public view returns (uint) {
return a;
}
}
{
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052607b6001553480156013575f80fd5b506101bb806100215f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80630c55699c1461004e5780633fa4f2451461006c5780634018d9aa1461008a5780635197c7aa146100ba575b5f80fd5b6100566100d8565b6040516100639190610113565b60405180910390f35b6100746100dd565b6040516100819190610113565b60405180910390f35b6100a4600480360381019061009f919061015a565b6100e3565b6040516100b19190610113565b60405180910390f35b6100c26100f3565b6040516100cf9190610113565b60405180910390f35b5f5481565b60015481565b5f815f819055505f549050919050565b5f8054905090565b5f819050919050565b61010d816100fb565b82525050565b5f6020820190506101265f830184610104565b92915050565b5f80fd5b610139816100fb565b8114610143575f80fd5b50565b5f8135905061015481610130565b92915050565b5f6020828403121561016f5761016e61012c565b5b5f61017c84828501610146565b9150509291505056fea2646970667358221220fb2b7c93d1c903d85307b3e16242e7887f95a07ed26d4670d88814a78f6e658464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x7B PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH1 0x13 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BB DUP1 PUSH2 0x21 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x4018D9AA EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x5197C7AA EQ PUSH2 0xBA JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x56 PUSH2 0xD8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x74 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x81 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x15A JUMP JUMPDEST PUSH2 0xE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCF SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP2 SWAP1 SSTORE POP PUSH0 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10D DUP2 PUSH2 0xFB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x126 PUSH0 DUP4 ADD DUP5 PUSH2 0x104 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x139 DUP2 PUSH2 0xFB JUMP JUMPDEST DUP2 EQ PUSH2 0x143 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x154 DUP2 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16F JUMPI PUSH2 0x16E PUSH2 0x12C JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x17C DUP5 DUP3 DUP6 ADD PUSH2 0x146 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0x2B PUSH29 0x93D1C903D85307B3E16242E7887F95A07ED26D4670D88814A78F6E6584 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "94:235:0:-:0;;;152:3;131:24;;94:235;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getX_28": {
"entryPoint": 243,
"id": 28,
"parameterSlots": 0,
"returnSlots": 1
},
"@setX_20": {
"entryPoint": 227,
"id": 20,
"parameterSlots": 1,
"returnSlots": 1
},
"@value_6": {
"entryPoint": 221,
"id": 6,
"parameterSlots": 0,
"returnSlots": 0
},
"@x_3": {
"entryPoint": 216,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 326,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 346,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 260,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 275,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 251,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 300,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 304,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1374:1",
"nodeType": "YulBlock",
"src": "0:1374:1",
"statements": [
{
"body": {
"nativeSrc": "52:32:1",
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nativeSrc": "62:16:1",
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nativeSrc": "73:5:1",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:1",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "7:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:1",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:1",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nativeSrc": "155:53:1",
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "172:3:1",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "195:5:1",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "177:17:1",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nativeSrc": "177:24:1",
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "165:6:1",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "90:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "143:5:1",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "150:3:1",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nativeSrc": "312:124:1",
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nativeSrc": "322:26:1",
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "334:9:1",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nativeSrc": "345:2:1",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "330:3:1",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nativeSrc": "330:18:1",
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "322:4:1",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "402:6:1",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "415:9:1",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nativeSrc": "426:1:1",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "411:3:1",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nativeSrc": "411:17:1",
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "358:43:1",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "214:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "284:9:1",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "296:6:1",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "307:4:1",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nativeSrc": "482:35:1",
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nativeSrc": "492:19:1",
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "508:2:1",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "502:5:1",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nativeSrc": "502:9:1",
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "492:6:1",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "442:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "475:6:1",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nativeSrc": "612:28:1",
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "629:1:1",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "632:1:1",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "622:6:1",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "523:117:1",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nativeSrc": "735:28:1",
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "752:1:1",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "755:1:1",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "745:6:1",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "646:117:1",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nativeSrc": "812:79:1",
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nativeSrc": "869:16:1",
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "878:1:1",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "881:1:1",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "871:6:1",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "835:5:1",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "860:5:1",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "842:17:1",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nativeSrc": "842:24:1",
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "832:2:1",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nativeSrc": "832:35:1",
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "825:6:1",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nativeSrc": "825:43:1",
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nativeSrc": "822:63:1",
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "769:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "805:5:1",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nativeSrc": "949:87:1",
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nativeSrc": "959:29:1",
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "981:6:1",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "968:12:1",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nativeSrc": "968:20:1",
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "959:5:1",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1024:5:1",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "997:26:1",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "897:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "927:6:1",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "935:3:1",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "943:5:1",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nativeSrc": "1108:263:1",
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nativeSrc": "1154:83:1",
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1156:77:1",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1129:7:1",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nativeSrc": "1138:9:1",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1125:3:1",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nativeSrc": "1125:23:1",
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nativeSrc": "1150:2:1",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1121:3:1",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nativeSrc": "1121:32:1",
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nativeSrc": "1118:119:1",
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nativeSrc": "1247:117:1",
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nativeSrc": "1262:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nativeSrc": "1276:1:1",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1266:6:1",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1291:63:1",
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1326:9:1",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1322:3:1",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nativeSrc": "1322:22:1",
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1346:7:1",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "1301:20:1",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nativeSrc": "1301:53:1",
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1291:6:1",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "1042:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1078:9:1",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1089:7:1",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1101:6:1",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := 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_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 revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061004a575f3560e01c80630c55699c1461004e5780633fa4f2451461006c5780634018d9aa1461008a5780635197c7aa146100ba575b5f80fd5b6100566100d8565b6040516100639190610113565b60405180910390f35b6100746100dd565b6040516100819190610113565b60405180910390f35b6100a4600480360381019061009f919061015a565b6100e3565b6040516100b19190610113565b60405180910390f35b6100c26100f3565b6040516100cf9190610113565b60405180910390f35b5f5481565b60015481565b5f815f819055505f549050919050565b5f8054905090565b5f819050919050565b61010d816100fb565b82525050565b5f6020820190506101265f830184610104565b92915050565b5f80fd5b610139816100fb565b8114610143575f80fd5b50565b5f8135905061015481610130565b92915050565b5f6020828403121561016f5761016e61012c565b5b5f61017c84828501610146565b9150509291505056fea2646970667358221220fb2b7c93d1c903d85307b3e16242e7887f95a07ed26d4670d88814a78f6e658464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x4018D9AA EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x5197C7AA EQ PUSH2 0xBA JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x56 PUSH2 0xD8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x74 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x81 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x15A JUMP JUMPDEST PUSH2 0xE3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCF SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH0 DUP2 PUSH0 DUP2 SWAP1 SSTORE POP PUSH0 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10D DUP2 PUSH2 0xFB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x126 PUSH0 DUP4 ADD DUP5 PUSH2 0x104 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x139 DUP2 PUSH2 0xFB JUMP JUMPDEST DUP2 EQ PUSH2 0x143 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x154 DUP2 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16F JUMPI PUSH2 0x16E PUSH2 0x12C JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x17C DUP5 DUP3 DUP6 ADD PUSH2 0x146 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0x2B PUSH29 0x93D1C903D85307B3E16242E7887F95A07ED26D4670D88814A78F6E6584 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "94:235:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;112:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;131:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;161:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;253:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;112:13;;;;:::o;131:24::-;;;;:::o;161:87::-;201:4;221:2;217:1;:6;;;;240:1;;233:8;;161:87;;;:::o;253:69::-;292:4;314:1;;307:8;;253:69;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "88600",
"executionCost": "22239",
"totalCost": "110839"
},
"external": {
"getX()": "2476",
"setX(uint256)": "infinite",
"value()": "2425",
"x()": "2402"
}
},
"methodIdentifiers": {
"getX()": "5197c7aa",
"setX(uint256)": "4018d9aa",
"value()": "3fa4f245",
"x()": "0c55699c"
}
},
"abi": [
{
"inputs": [],
"name": "getX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "setX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "value",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_x",
"type": "uint256"
}
],
"name": "setX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "value",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/callotherContracts.sol": "A"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/callotherContracts.sol": {
"keccak256": "0x9135501d7752c71ecf25bfb11e0d7dfea5ba91e14ba426635c2e4564edecc0fd",
"license": "MIT",
"urls": [
"bzz-raw://d61a58866e7b049402fa6474b73e76f133f0af546e705761bd4331bf41307956",
"dweb:/ipfs/QmctRSS3VvmSG3jdw9tRQicr2EZgFAQVZfzrXtjbjxdCtZ"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b50610a6e8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80635329c6f21461004357806373d4a13a1461005f578063edcbe76c1461007d575b5f80fd5b61005d6004803603810190610058919061041d565b610099565b005b6100676101e5565b60405161007491906104b8565b60405180910390f35b6100976004803603810190610092919061041d565b610270565b005b5f808273ffffffffffffffffffffffffffffffffffffffff16607b6040516024016100c49190610580565b6040516020818303038152906040527fed6246ce000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161014e91906105e6565b5f604051808303815f865af19150503d805f8114610187576040519150601f19603f3d011682016040523d82523d5f602084013e61018c565b606091505b5091509150816101d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c890610646565b60405180910390fd5b805f90816101df919061088b565b50505050565b5f80546101f1906106be565b80601f016020809104026020016040519081016040528092919081815260200182805461021d906106be565b80156102685780601f1061023f57610100808354040283529160200191610268565b820191905f5260205f20905b81548152906001019060200180831161024b57829003601f168201915b505050505081565b5f808273ffffffffffffffffffffffffffffffffffffffff16606f607b60405160240161029d91906109a4565b6040516020818303038152906040527f24ccab8f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161032791906105e6565b5f6040518083038185875af1925050503d805f8114610361576040519150601f19603f3d011682016040523d82523d5f602084013e610366565b606091505b5091509150805f9081610379919061088b565b50816103ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b190610a1a565b60405180910390fd5b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103ec826103c3565b9050919050565b6103fc816103e2565b8114610406575f80fd5b50565b5f81359050610417816103f3565b92915050565b5f60208284031215610432576104316103bf565b5b5f61043f84828501610409565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61048a82610448565b6104948185610452565b93506104a4818560208601610462565b6104ad81610470565b840191505092915050565b5f6020820190508181035f8301526104d08184610480565b905092915050565b5f82825260208201905092915050565b7f756e6e6f66756e630000000000000000000000000000000000000000000000005f82015250565b5f61051c6008836104d8565b9150610527826104e8565b602082019050919050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61056a61056561056084610532565b610547565b61053b565b9050919050565b61057a81610550565b82525050565b5f6040820190508181035f83015261059781610510565b90506105a66020830184610571565b92915050565b5f81905092915050565b5f6105c082610448565b6105ca81856105ac565b93506105da818560208601610462565b80840191505092915050565b5f6105f182846105b6565b915081905092915050565b7f31323334340000000000000000000000000000000000000000000000000000005f82015250565b5f6106306005836104d8565b915061063b826105fc565b602082019050919050565b5f6020820190508181035f83015261065d81610624565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806106d557607f821691505b6020821081036106e8576106e7610691565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261074a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261070f565b610754868361070f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61078f61078a6107858461076c565b610547565b61076c565b9050919050565b5f819050919050565b6107a883610775565b6107bc6107b482610796565b84845461071b565b825550505050565b5f90565b6107d06107c4565b6107db81848461079f565b505050565b5b818110156107fe576107f35f826107c8565b6001810190506107e1565b5050565b601f82111561084357610814816106ee565b61081d84610700565b8101602085101561082c578190505b61084061083885610700565b8301826107e0565b50505b505050565b5f82821c905092915050565b5f6108635f1984600802610848565b1980831691505092915050565b5f61087b8383610854565b9150826002028217905092915050565b61089482610448565b67ffffffffffffffff8111156108ad576108ac610664565b5b6108b782546106be565b6108c2828285610802565b5f60209050601f8311600181146108f3575f84156108e1578287015190505b6108eb8582610870565b865550610952565b601f198416610901866106ee565b5f5b8281101561092857848901518255600182019150602085019450602081019050610903565b868310156109455784890151610941601f891682610854565b8355505b6001600288020188555050505b505050505050565b7f63616c6c20666f6f0000000000000000000000000000000000000000000000005f82015250565b5f61098e6008836104d8565b91506109998261095a565b602082019050919050565b5f6040820190508181035f8301526109bb81610982565b90506109ca6020830184610571565b92915050565b7f63616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f610a04600b836104d8565b9150610a0f826109d0565b602082019050919050565b5f6020820190508181035f830152610a31816109f8565b905091905056fea2646970667358221220fe50ee6bbbb32be46f5beb129b505ec9192224c2dfe82033811a289fc1374ea864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA6E DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5329C6F2 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x73D4A13A EQ PUSH2 0x5F JUMPI DUP1 PUSH4 0xEDCBE76C EQ PUSH2 0x7D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x67 PUSH2 0x1E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x74 SWAP2 SWAP1 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xC4 SWAP2 SWAP1 PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0xED6246CE00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x187 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C8 SWAP1 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x1DF SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x1F1 SWAP1 PUSH2 0x6BE 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 0x21D SWAP1 PUSH2 0x6BE JUMP JUMPDEST DUP1 ISZERO PUSH2 0x268 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x23F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x268 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6F PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x9A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x24CCAB8F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x361 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x366 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP DUP2 PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B1 SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x3EC DUP3 PUSH2 0x3C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3FC DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP2 EQ PUSH2 0x406 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x417 DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x3BF JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x43F DUP5 DUP3 DUP6 ADD PUSH2 0x409 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x48A DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x494 DUP2 DUP6 PUSH2 0x452 JUMP JUMPDEST SWAP4 POP PUSH2 0x4A4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x462 JUMP JUMPDEST PUSH2 0x4AD DUP2 PUSH2 0x470 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x4D0 DUP2 DUP5 PUSH2 0x480 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x756E6E6F66756E63000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH1 0x8 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x527 DUP3 PUSH2 0x4E8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x56A PUSH2 0x565 PUSH2 0x560 DUP5 PUSH2 0x532 JUMP JUMPDEST PUSH2 0x547 JUMP JUMPDEST PUSH2 0x53B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x57A DUP2 PUSH2 0x550 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x597 DUP2 PUSH2 0x510 JUMP JUMPDEST SWAP1 POP PUSH2 0x5A6 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x571 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x5C0 DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x5CA DUP2 DUP6 PUSH2 0x5AC JUMP JUMPDEST SWAP4 POP PUSH2 0x5DA DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x462 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x5F1 DUP3 DUP5 PUSH2 0x5B6 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x3132333434000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x630 PUSH1 0x5 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x63B DUP3 PUSH2 0x5FC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x65D DUP2 PUSH2 0x624 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x6D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x6E8 JUMPI PUSH2 0x6E7 PUSH2 0x691 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x74A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x70F JUMP JUMPDEST PUSH2 0x754 DUP7 DUP4 PUSH2 0x70F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x78F PUSH2 0x78A PUSH2 0x785 DUP5 PUSH2 0x76C JUMP JUMPDEST PUSH2 0x547 JUMP JUMPDEST PUSH2 0x76C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A8 DUP4 PUSH2 0x775 JUMP JUMPDEST PUSH2 0x7BC PUSH2 0x7B4 DUP3 PUSH2 0x796 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x71B JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x7D0 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x7DB DUP2 DUP5 DUP5 PUSH2 0x79F JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7FE JUMPI PUSH2 0x7F3 PUSH0 DUP3 PUSH2 0x7C8 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x7E1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x843 JUMPI PUSH2 0x814 DUP2 PUSH2 0x6EE JUMP JUMPDEST PUSH2 0x81D DUP5 PUSH2 0x700 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x82C JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x840 PUSH2 0x838 DUP6 PUSH2 0x700 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x7E0 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x863 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x848 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x87B DUP4 DUP4 PUSH2 0x854 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x894 DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8AD JUMPI PUSH2 0x8AC PUSH2 0x664 JUMP JUMPDEST JUMPDEST PUSH2 0x8B7 DUP3 SLOAD PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x8C2 DUP3 DUP3 DUP6 PUSH2 0x802 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x8F3 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x8E1 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x8EB DUP6 DUP3 PUSH2 0x870 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x952 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x901 DUP7 PUSH2 0x6EE JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x928 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x903 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x945 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x941 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x854 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x63616C6C20666F6F000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x98E PUSH1 0x8 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x999 DUP3 PUSH2 0x95A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9BB DUP2 PUSH2 0x982 JUMP JUMPDEST SWAP1 POP PUSH2 0x9CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x571 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C206661696C6564000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xA04 PUSH1 0xB DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0xA0F DUP3 PUSH2 0x9D0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA31 DUP2 PUSH2 0x9F8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 INVALID POP 0xEE PUSH12 0xBBB32BE46F5BEB129B505EC9 NOT 0x22 0x24 0xC2 0xDF 0xE8 KECCAK256 CALLER DUP2 BYTE 0x28 SWAP16 0xC1 CALLDATACOPY 0x4E 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "541:539:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@callFoo_87": {
"entryPoint": 624,
"id": 87,
"parameterSlots": 1,
"returnSlots": 0
},
"@callUNFunc_116": {
"entryPoint": 153,
"id": 116,
"parameterSlots": 1,
"returnSlots": 0
},
"@data_56": {
"entryPoint": 485,
"id": 56,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1033,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1053,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": {
"entryPoint": 1152,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1462,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_rational_123_by_1_to_t_uint8_fromStack": {
"entryPoint": 1393,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1296,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2434,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1572,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2552,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1510,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": {
"entryPoint": 1208,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed": {
"entryPoint": 1408,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed": {
"entryPoint": 2468,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1606,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2586,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_bytes_storage": {
"entryPoint": 1774,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 1096,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": {
"entryPoint": 1106,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1452,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1240,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_bytes_storage": {
"entryPoint": 2050,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 994,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_rational_123_by_1": {
"entryPoint": 1330,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 963,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 1339,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 2016,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_rational_123_by_1_to_t_uint8": {
"entryPoint": 1360,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1909,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage": {
"entryPoint": 2187,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1122,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1792,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1726,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 2160,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1351,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 2132,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1681,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1636,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1942,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 959,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1136,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1807,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 2120,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1992,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946": {
"entryPoint": 2394,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0": {
"entryPoint": 1532,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a": {
"entryPoint": 2512,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1819,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1951,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1011,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1988,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:13104:1",
"nodeType": "YulBlock",
"src": "0:13104:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:81:1",
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nativeSrc": "389:65:1",
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "404:5:1",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nativeSrc": "411:42:1",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "400:3:1",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nativeSrc": "400:54:1",
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "334:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nativeSrc": "511:51:1",
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nativeSrc": "521:35:1",
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "550:5:1",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "532:17:1",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nativeSrc": "532:24:1",
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "521:7:1",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "466:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "493:5:1",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "503:7:1",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nativeSrc": "611:79:1",
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nativeSrc": "668:16:1",
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "677:1:1",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "680:1:1",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "670:6:1",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "634:5:1",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "659:5:1",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "641:17:1",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nativeSrc": "641:24:1",
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "631:2:1",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nativeSrc": "631:35:1",
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "624:6:1",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nativeSrc": "624:43:1",
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nativeSrc": "621:63:1",
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "568:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "604:5:1",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nativeSrc": "748:87:1",
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nativeSrc": "758:29:1",
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "780:6:1",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "767:12:1",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nativeSrc": "767:20:1",
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "758:5:1",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "823:5:1",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "796:26:1",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "696:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "726:6:1",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "734:3:1",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "742:5:1",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nativeSrc": "907:263:1",
"nodeType": "YulBlock",
"src": "907:263:1",
"statements": [
{
"body": {
"nativeSrc": "953:83:1",
"nodeType": "YulBlock",
"src": "953:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "955:77:1",
"nodeType": "YulIdentifier",
"src": "955:77:1"
},
"nativeSrc": "955:79:1",
"nodeType": "YulFunctionCall",
"src": "955:79:1"
},
"nativeSrc": "955:79:1",
"nodeType": "YulExpressionStatement",
"src": "955:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "928:7:1",
"nodeType": "YulIdentifier",
"src": "928:7:1"
},
{
"name": "headStart",
"nativeSrc": "937:9:1",
"nodeType": "YulIdentifier",
"src": "937:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "924:3:1",
"nodeType": "YulIdentifier",
"src": "924:3:1"
},
"nativeSrc": "924:23:1",
"nodeType": "YulFunctionCall",
"src": "924:23:1"
},
{
"kind": "number",
"nativeSrc": "949:2:1",
"nodeType": "YulLiteral",
"src": "949:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "920:3:1",
"nodeType": "YulIdentifier",
"src": "920:3:1"
},
"nativeSrc": "920:32:1",
"nodeType": "YulFunctionCall",
"src": "920:32:1"
},
"nativeSrc": "917:119:1",
"nodeType": "YulIf",
"src": "917:119:1"
},
{
"nativeSrc": "1046:117:1",
"nodeType": "YulBlock",
"src": "1046:117:1",
"statements": [
{
"nativeSrc": "1061:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1061:15:1",
"value": {
"kind": "number",
"nativeSrc": "1075:1:1",
"nodeType": "YulLiteral",
"src": "1075:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1065:6:1",
"nodeType": "YulTypedName",
"src": "1065:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1090:63:1",
"nodeType": "YulAssignment",
"src": "1090:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1125:9:1",
"nodeType": "YulIdentifier",
"src": "1125:9:1"
},
{
"name": "offset",
"nativeSrc": "1136:6:1",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1121:3:1",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nativeSrc": "1121:22:1",
"nodeType": "YulFunctionCall",
"src": "1121:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1145:7:1",
"nodeType": "YulIdentifier",
"src": "1145:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "1100:20:1",
"nodeType": "YulIdentifier",
"src": "1100:20:1"
},
"nativeSrc": "1100:53:1",
"nodeType": "YulFunctionCall",
"src": "1100:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1090:6:1",
"nodeType": "YulIdentifier",
"src": "1090:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "841:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "877:9:1",
"nodeType": "YulTypedName",
"src": "877:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "888:7:1",
"nodeType": "YulTypedName",
"src": "888:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "900:6:1",
"nodeType": "YulTypedName",
"src": "900:6:1",
"type": ""
}
],
"src": "841:329:1"
},
{
"body": {
"nativeSrc": "1234:40:1",
"nodeType": "YulBlock",
"src": "1234:40:1",
"statements": [
{
"nativeSrc": "1245:22:1",
"nodeType": "YulAssignment",
"src": "1245:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1261:5:1",
"nodeType": "YulIdentifier",
"src": "1261:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1255:5:1",
"nodeType": "YulIdentifier",
"src": "1255:5:1"
},
"nativeSrc": "1255:12:1",
"nodeType": "YulFunctionCall",
"src": "1255:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1245:6:1",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "1176:98:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1217:5:1",
"nodeType": "YulTypedName",
"src": "1217:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1227:6:1",
"nodeType": "YulTypedName",
"src": "1227:6:1",
"type": ""
}
],
"src": "1176:98:1"
},
{
"body": {
"nativeSrc": "1375:73:1",
"nodeType": "YulBlock",
"src": "1375:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1392:3:1",
"nodeType": "YulIdentifier",
"src": "1392:3:1"
},
{
"name": "length",
"nativeSrc": "1397:6:1",
"nodeType": "YulIdentifier",
"src": "1397:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1385:6:1",
"nodeType": "YulIdentifier",
"src": "1385:6:1"
},
"nativeSrc": "1385:19:1",
"nodeType": "YulFunctionCall",
"src": "1385:19:1"
},
"nativeSrc": "1385:19:1",
"nodeType": "YulExpressionStatement",
"src": "1385:19:1"
},
{
"nativeSrc": "1413:29:1",
"nodeType": "YulAssignment",
"src": "1413:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1432:3:1",
"nodeType": "YulIdentifier",
"src": "1432:3:1"
},
{
"kind": "number",
"nativeSrc": "1437:4:1",
"nodeType": "YulLiteral",
"src": "1437:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1428:3:1",
"nodeType": "YulIdentifier",
"src": "1428:3:1"
},
"nativeSrc": "1428:14:1",
"nodeType": "YulFunctionCall",
"src": "1428:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "1413:11:1",
"nodeType": "YulIdentifier",
"src": "1413:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nativeSrc": "1280:168:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "1347:3:1",
"nodeType": "YulTypedName",
"src": "1347:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1352:6:1",
"nodeType": "YulTypedName",
"src": "1352:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "1363:11:1",
"nodeType": "YulTypedName",
"src": "1363:11:1",
"type": ""
}
],
"src": "1280:168:1"
},
{
"body": {
"nativeSrc": "1516:77:1",
"nodeType": "YulBlock",
"src": "1516:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "1533:3:1",
"nodeType": "YulIdentifier",
"src": "1533:3:1"
},
{
"name": "src",
"nativeSrc": "1538:3:1",
"nodeType": "YulIdentifier",
"src": "1538:3:1"
},
{
"name": "length",
"nativeSrc": "1543:6:1",
"nodeType": "YulIdentifier",
"src": "1543:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "1527:5:1",
"nodeType": "YulIdentifier",
"src": "1527:5:1"
},
"nativeSrc": "1527:23:1",
"nodeType": "YulFunctionCall",
"src": "1527:23:1"
},
"nativeSrc": "1527:23:1",
"nodeType": "YulExpressionStatement",
"src": "1527:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "1570:3:1",
"nodeType": "YulIdentifier",
"src": "1570:3:1"
},
{
"name": "length",
"nativeSrc": "1575:6:1",
"nodeType": "YulIdentifier",
"src": "1575:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1566:3:1",
"nodeType": "YulIdentifier",
"src": "1566:3:1"
},
"nativeSrc": "1566:16:1",
"nodeType": "YulFunctionCall",
"src": "1566:16:1"
},
{
"kind": "number",
"nativeSrc": "1584:1:1",
"nodeType": "YulLiteral",
"src": "1584:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1559:6:1",
"nodeType": "YulIdentifier",
"src": "1559:6:1"
},
"nativeSrc": "1559:27:1",
"nodeType": "YulFunctionCall",
"src": "1559:27:1"
},
"nativeSrc": "1559:27:1",
"nodeType": "YulExpressionStatement",
"src": "1559:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "1454:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "1498:3:1",
"nodeType": "YulTypedName",
"src": "1498:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "1503:3:1",
"nodeType": "YulTypedName",
"src": "1503:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "1508:6:1",
"nodeType": "YulTypedName",
"src": "1508:6:1",
"type": ""
}
],
"src": "1454:139:1"
},
{
"body": {
"nativeSrc": "1647:54:1",
"nodeType": "YulBlock",
"src": "1647:54:1",
"statements": [
{
"nativeSrc": "1657:38:1",
"nodeType": "YulAssignment",
"src": "1657:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1675:5:1",
"nodeType": "YulIdentifier",
"src": "1675:5:1"
},
{
"kind": "number",
"nativeSrc": "1682:2:1",
"nodeType": "YulLiteral",
"src": "1682:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1671:3:1",
"nodeType": "YulIdentifier",
"src": "1671:3:1"
},
"nativeSrc": "1671:14:1",
"nodeType": "YulFunctionCall",
"src": "1671:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1691:2:1",
"nodeType": "YulLiteral",
"src": "1691:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1687:3:1",
"nodeType": "YulIdentifier",
"src": "1687:3:1"
},
"nativeSrc": "1687:7:1",
"nodeType": "YulFunctionCall",
"src": "1687:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1667:3:1",
"nodeType": "YulIdentifier",
"src": "1667:3:1"
},
"nativeSrc": "1667:28:1",
"nodeType": "YulFunctionCall",
"src": "1667:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1657:6:1",
"nodeType": "YulIdentifier",
"src": "1657:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "1599:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1630:5:1",
"nodeType": "YulTypedName",
"src": "1630:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1640:6:1",
"nodeType": "YulTypedName",
"src": "1640:6:1",
"type": ""
}
],
"src": "1599:102:1"
},
{
"body": {
"nativeSrc": "1797:283:1",
"nodeType": "YulBlock",
"src": "1797:283:1",
"statements": [
{
"nativeSrc": "1807:52:1",
"nodeType": "YulVariableDeclaration",
"src": "1807:52:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1853:5:1",
"nodeType": "YulIdentifier",
"src": "1853:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "1821:31:1",
"nodeType": "YulIdentifier",
"src": "1821:31:1"
},
"nativeSrc": "1821:38:1",
"nodeType": "YulFunctionCall",
"src": "1821:38:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "1811:6:1",
"nodeType": "YulTypedName",
"src": "1811:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1868:77:1",
"nodeType": "YulAssignment",
"src": "1868:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1933:3:1",
"nodeType": "YulIdentifier",
"src": "1933:3:1"
},
{
"name": "length",
"nativeSrc": "1938:6:1",
"nodeType": "YulIdentifier",
"src": "1938:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nativeSrc": "1875:57:1",
"nodeType": "YulIdentifier",
"src": "1875:57:1"
},
"nativeSrc": "1875:70:1",
"nodeType": "YulFunctionCall",
"src": "1875:70:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "1868:3:1",
"nodeType": "YulIdentifier",
"src": "1868:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1993:5:1",
"nodeType": "YulIdentifier",
"src": "1993:5:1"
},
{
"kind": "number",
"nativeSrc": "2000:4:1",
"nodeType": "YulLiteral",
"src": "2000:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1989:3:1",
"nodeType": "YulIdentifier",
"src": "1989:3:1"
},
"nativeSrc": "1989:16:1",
"nodeType": "YulFunctionCall",
"src": "1989:16:1"
},
{
"name": "pos",
"nativeSrc": "2007:3:1",
"nodeType": "YulIdentifier",
"src": "2007:3:1"
},
{
"name": "length",
"nativeSrc": "2012:6:1",
"nodeType": "YulIdentifier",
"src": "2012:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "1954:34:1",
"nodeType": "YulIdentifier",
"src": "1954:34:1"
},
"nativeSrc": "1954:65:1",
"nodeType": "YulFunctionCall",
"src": "1954:65:1"
},
"nativeSrc": "1954:65:1",
"nodeType": "YulExpressionStatement",
"src": "1954:65:1"
},
{
"nativeSrc": "2028:46:1",
"nodeType": "YulAssignment",
"src": "2028:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2039:3:1",
"nodeType": "YulIdentifier",
"src": "2039:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "2066:6:1",
"nodeType": "YulIdentifier",
"src": "2066:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2044:21:1",
"nodeType": "YulIdentifier",
"src": "2044:21:1"
},
"nativeSrc": "2044:29:1",
"nodeType": "YulFunctionCall",
"src": "2044:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2035:3:1",
"nodeType": "YulIdentifier",
"src": "2035:3:1"
},
"nativeSrc": "2035:39:1",
"nodeType": "YulFunctionCall",
"src": "2035:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2028:3:1",
"nodeType": "YulIdentifier",
"src": "2028:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nativeSrc": "1707:373:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1778:5:1",
"nodeType": "YulTypedName",
"src": "1778:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1785:3:1",
"nodeType": "YulTypedName",
"src": "1785:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "1793:3:1",
"nodeType": "YulTypedName",
"src": "1793:3:1",
"type": ""
}
],
"src": "1707:373:1"
},
{
"body": {
"nativeSrc": "2202:193:1",
"nodeType": "YulBlock",
"src": "2202:193:1",
"statements": [
{
"nativeSrc": "2212:26:1",
"nodeType": "YulAssignment",
"src": "2212:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2224:9:1",
"nodeType": "YulIdentifier",
"src": "2224:9:1"
},
{
"kind": "number",
"nativeSrc": "2235:2:1",
"nodeType": "YulLiteral",
"src": "2235:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2220:3:1",
"nodeType": "YulIdentifier",
"src": "2220:3:1"
},
"nativeSrc": "2220:18:1",
"nodeType": "YulFunctionCall",
"src": "2220:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2212:4:1",
"nodeType": "YulIdentifier",
"src": "2212:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2259:9:1",
"nodeType": "YulIdentifier",
"src": "2259:9:1"
},
{
"kind": "number",
"nativeSrc": "2270:1:1",
"nodeType": "YulLiteral",
"src": "2270:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2255:3:1",
"nodeType": "YulIdentifier",
"src": "2255:3:1"
},
"nativeSrc": "2255:17:1",
"nodeType": "YulFunctionCall",
"src": "2255:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "2278:4:1",
"nodeType": "YulIdentifier",
"src": "2278:4:1"
},
{
"name": "headStart",
"nativeSrc": "2284:9:1",
"nodeType": "YulIdentifier",
"src": "2284:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2274:3:1",
"nodeType": "YulIdentifier",
"src": "2274:3:1"
},
"nativeSrc": "2274:20:1",
"nodeType": "YulFunctionCall",
"src": "2274:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2248:6:1",
"nodeType": "YulIdentifier",
"src": "2248:6:1"
},
"nativeSrc": "2248:47:1",
"nodeType": "YulFunctionCall",
"src": "2248:47:1"
},
"nativeSrc": "2248:47:1",
"nodeType": "YulExpressionStatement",
"src": "2248:47:1"
},
{
"nativeSrc": "2304:84:1",
"nodeType": "YulAssignment",
"src": "2304:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "2374:6:1",
"nodeType": "YulIdentifier",
"src": "2374:6:1"
},
{
"name": "tail",
"nativeSrc": "2383:4:1",
"nodeType": "YulIdentifier",
"src": "2383:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nativeSrc": "2312:61:1",
"nodeType": "YulIdentifier",
"src": "2312:61:1"
},
"nativeSrc": "2312:76:1",
"nodeType": "YulFunctionCall",
"src": "2312:76:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2304:4:1",
"nodeType": "YulIdentifier",
"src": "2304:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nativeSrc": "2086:309:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2174:9:1",
"nodeType": "YulTypedName",
"src": "2174:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "2186:6:1",
"nodeType": "YulTypedName",
"src": "2186:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2197:4:1",
"nodeType": "YulTypedName",
"src": "2197:4:1",
"type": ""
}
],
"src": "2086:309:1"
},
{
"body": {
"nativeSrc": "2497:73:1",
"nodeType": "YulBlock",
"src": "2497:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2514:3:1",
"nodeType": "YulIdentifier",
"src": "2514:3:1"
},
{
"name": "length",
"nativeSrc": "2519:6:1",
"nodeType": "YulIdentifier",
"src": "2519:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2507:6:1",
"nodeType": "YulIdentifier",
"src": "2507:6:1"
},
"nativeSrc": "2507:19:1",
"nodeType": "YulFunctionCall",
"src": "2507:19:1"
},
"nativeSrc": "2507:19:1",
"nodeType": "YulExpressionStatement",
"src": "2507:19:1"
},
{
"nativeSrc": "2535:29:1",
"nodeType": "YulAssignment",
"src": "2535:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2554:3:1",
"nodeType": "YulIdentifier",
"src": "2554:3:1"
},
{
"kind": "number",
"nativeSrc": "2559:4:1",
"nodeType": "YulLiteral",
"src": "2559:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2550:3:1",
"nodeType": "YulIdentifier",
"src": "2550:3:1"
},
"nativeSrc": "2550:14:1",
"nodeType": "YulFunctionCall",
"src": "2550:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "2535:11:1",
"nodeType": "YulIdentifier",
"src": "2535:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2401:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2469:3:1",
"nodeType": "YulTypedName",
"src": "2469:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2474:6:1",
"nodeType": "YulTypedName",
"src": "2474:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "2485:11:1",
"nodeType": "YulTypedName",
"src": "2485:11:1",
"type": ""
}
],
"src": "2401:169:1"
},
{
"body": {
"nativeSrc": "2682:52:1",
"nodeType": "YulBlock",
"src": "2682:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2704:6:1",
"nodeType": "YulIdentifier",
"src": "2704:6:1"
},
{
"kind": "number",
"nativeSrc": "2712:1:1",
"nodeType": "YulLiteral",
"src": "2712:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2700:3:1",
"nodeType": "YulIdentifier",
"src": "2700:3:1"
},
"nativeSrc": "2700:14:1",
"nodeType": "YulFunctionCall",
"src": "2700:14:1"
},
{
"hexValue": "756e6e6f66756e63",
"kind": "string",
"nativeSrc": "2716:10:1",
"nodeType": "YulLiteral",
"src": "2716:10:1",
"type": "",
"value": "unnofunc"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2693:6:1",
"nodeType": "YulIdentifier",
"src": "2693:6:1"
},
"nativeSrc": "2693:34:1",
"nodeType": "YulFunctionCall",
"src": "2693:34:1"
},
"nativeSrc": "2693:34:1",
"nodeType": "YulExpressionStatement",
"src": "2693:34:1"
}
]
},
"name": "store_literal_in_memory_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf",
"nativeSrc": "2576:158:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "2674:6:1",
"nodeType": "YulTypedName",
"src": "2674:6:1",
"type": ""
}
],
"src": "2576:158:1"
},
{
"body": {
"nativeSrc": "2886:219:1",
"nodeType": "YulBlock",
"src": "2886:219:1",
"statements": [
{
"nativeSrc": "2896:73:1",
"nodeType": "YulAssignment",
"src": "2896:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2962:3:1",
"nodeType": "YulIdentifier",
"src": "2962:3:1"
},
{
"kind": "number",
"nativeSrc": "2967:1:1",
"nodeType": "YulLiteral",
"src": "2967:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2903:58:1",
"nodeType": "YulIdentifier",
"src": "2903:58:1"
},
"nativeSrc": "2903:66:1",
"nodeType": "YulFunctionCall",
"src": "2903:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2896:3:1",
"nodeType": "YulIdentifier",
"src": "2896:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3067:3:1",
"nodeType": "YulIdentifier",
"src": "3067:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf",
"nativeSrc": "2978:88:1",
"nodeType": "YulIdentifier",
"src": "2978:88:1"
},
"nativeSrc": "2978:93:1",
"nodeType": "YulFunctionCall",
"src": "2978:93:1"
},
"nativeSrc": "2978:93:1",
"nodeType": "YulExpressionStatement",
"src": "2978:93:1"
},
{
"nativeSrc": "3080:19:1",
"nodeType": "YulAssignment",
"src": "3080:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3091:3:1",
"nodeType": "YulIdentifier",
"src": "3091:3:1"
},
{
"kind": "number",
"nativeSrc": "3096:2:1",
"nodeType": "YulLiteral",
"src": "3096:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3087:3:1",
"nodeType": "YulIdentifier",
"src": "3087:3:1"
},
"nativeSrc": "3087:12:1",
"nodeType": "YulFunctionCall",
"src": "3087:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "3080:3:1",
"nodeType": "YulIdentifier",
"src": "3080:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_to_t_string_memory_ptr_fromStack",
"nativeSrc": "2740:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2874:3:1",
"nodeType": "YulTypedName",
"src": "2874:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2882:3:1",
"nodeType": "YulTypedName",
"src": "2882:3:1",
"type": ""
}
],
"src": "2740:365:1"
},
{
"body": {
"nativeSrc": "3166:32:1",
"nodeType": "YulBlock",
"src": "3166:32:1",
"statements": [
{
"nativeSrc": "3176:16:1",
"nodeType": "YulAssignment",
"src": "3176:16:1",
"value": {
"name": "value",
"nativeSrc": "3187:5:1",
"nodeType": "YulIdentifier",
"src": "3187:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3176:7:1",
"nodeType": "YulIdentifier",
"src": "3176:7:1"
}
]
}
]
},
"name": "cleanup_t_rational_123_by_1",
"nativeSrc": "3111:87:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3148:5:1",
"nodeType": "YulTypedName",
"src": "3148:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3158:7:1",
"nodeType": "YulTypedName",
"src": "3158:7:1",
"type": ""
}
],
"src": "3111:87:1"
},
{
"body": {
"nativeSrc": "3247:43:1",
"nodeType": "YulBlock",
"src": "3247:43:1",
"statements": [
{
"nativeSrc": "3257:27:1",
"nodeType": "YulAssignment",
"src": "3257:27:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "3272:5:1",
"nodeType": "YulIdentifier",
"src": "3272:5:1"
},
{
"kind": "number",
"nativeSrc": "3279:4:1",
"nodeType": "YulLiteral",
"src": "3279:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3268:3:1",
"nodeType": "YulIdentifier",
"src": "3268:3:1"
},
"nativeSrc": "3268:16:1",
"nodeType": "YulFunctionCall",
"src": "3268:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3257:7:1",
"nodeType": "YulIdentifier",
"src": "3257:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "3204:86:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3229:5:1",
"nodeType": "YulTypedName",
"src": "3229:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3239:7:1",
"nodeType": "YulTypedName",
"src": "3239:7:1",
"type": ""
}
],
"src": "3204:86:1"
},
{
"body": {
"nativeSrc": "3328:28:1",
"nodeType": "YulBlock",
"src": "3328:28:1",
"statements": [
{
"nativeSrc": "3338:12:1",
"nodeType": "YulAssignment",
"src": "3338:12:1",
"value": {
"name": "value",
"nativeSrc": "3345:5:1",
"nodeType": "YulIdentifier",
"src": "3345:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "3338:3:1",
"nodeType": "YulIdentifier",
"src": "3338:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "3296:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3314:5:1",
"nodeType": "YulTypedName",
"src": "3314:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "3324:3:1",
"nodeType": "YulTypedName",
"src": "3324:3:1",
"type": ""
}
],
"src": "3296:60:1"
},
{
"body": {
"nativeSrc": "3430:90:1",
"nodeType": "YulBlock",
"src": "3430:90:1",
"statements": [
{
"nativeSrc": "3440:74:1",
"nodeType": "YulAssignment",
"src": "3440:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3506:5:1",
"nodeType": "YulIdentifier",
"src": "3506:5:1"
}
],
"functionName": {
"name": "cleanup_t_rational_123_by_1",
"nativeSrc": "3478:27:1",
"nodeType": "YulIdentifier",
"src": "3478:27:1"
},
"nativeSrc": "3478:34:1",
"nodeType": "YulFunctionCall",
"src": "3478:34:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "3469:8:1",
"nodeType": "YulIdentifier",
"src": "3469:8:1"
},
"nativeSrc": "3469:44:1",
"nodeType": "YulFunctionCall",
"src": "3469:44:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "3453:15:1",
"nodeType": "YulIdentifier",
"src": "3453:15:1"
},
"nativeSrc": "3453:61:1",
"nodeType": "YulFunctionCall",
"src": "3453:61:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "3440:9:1",
"nodeType": "YulIdentifier",
"src": "3440:9:1"
}
]
}
]
},
"name": "convert_t_rational_123_by_1_to_t_uint8",
"nativeSrc": "3362:158:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3410:5:1",
"nodeType": "YulTypedName",
"src": "3410:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "3420:9:1",
"nodeType": "YulTypedName",
"src": "3420:9:1",
"type": ""
}
],
"src": "3362:158:1"
},
{
"body": {
"nativeSrc": "3599:74:1",
"nodeType": "YulBlock",
"src": "3599:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3616:3:1",
"nodeType": "YulIdentifier",
"src": "3616:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3660:5:1",
"nodeType": "YulIdentifier",
"src": "3660:5:1"
}
],
"functionName": {
"name": "convert_t_rational_123_by_1_to_t_uint8",
"nativeSrc": "3621:38:1",
"nodeType": "YulIdentifier",
"src": "3621:38:1"
},
"nativeSrc": "3621:45:1",
"nodeType": "YulFunctionCall",
"src": "3621:45:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3609:6:1",
"nodeType": "YulIdentifier",
"src": "3609:6:1"
},
"nativeSrc": "3609:58:1",
"nodeType": "YulFunctionCall",
"src": "3609:58:1"
},
"nativeSrc": "3609:58:1",
"nodeType": "YulExpressionStatement",
"src": "3609:58:1"
}
]
},
"name": "abi_encode_t_rational_123_by_1_to_t_uint8_fromStack",
"nativeSrc": "3526:147:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3587:5:1",
"nodeType": "YulTypedName",
"src": "3587:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3594:3:1",
"nodeType": "YulTypedName",
"src": "3594:3:1",
"type": ""
}
],
"src": "3526:147:1"
},
{
"body": {
"nativeSrc": "3886:338:1",
"nodeType": "YulBlock",
"src": "3886:338:1",
"statements": [
{
"nativeSrc": "3896:26:1",
"nodeType": "YulAssignment",
"src": "3896:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3908:9:1",
"nodeType": "YulIdentifier",
"src": "3908:9:1"
},
{
"kind": "number",
"nativeSrc": "3919:2:1",
"nodeType": "YulLiteral",
"src": "3919:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3904:3:1",
"nodeType": "YulIdentifier",
"src": "3904:3:1"
},
"nativeSrc": "3904:18:1",
"nodeType": "YulFunctionCall",
"src": "3904:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3896:4:1",
"nodeType": "YulIdentifier",
"src": "3896:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3943:9:1",
"nodeType": "YulIdentifier",
"src": "3943:9:1"
},
{
"kind": "number",
"nativeSrc": "3954:1:1",
"nodeType": "YulLiteral",
"src": "3954:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3939:3:1",
"nodeType": "YulIdentifier",
"src": "3939:3:1"
},
"nativeSrc": "3939:17:1",
"nodeType": "YulFunctionCall",
"src": "3939:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "3962:4:1",
"nodeType": "YulIdentifier",
"src": "3962:4:1"
},
{
"name": "headStart",
"nativeSrc": "3968:9:1",
"nodeType": "YulIdentifier",
"src": "3968:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3958:3:1",
"nodeType": "YulIdentifier",
"src": "3958:3:1"
},
"nativeSrc": "3958:20:1",
"nodeType": "YulFunctionCall",
"src": "3958:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3932:6:1",
"nodeType": "YulIdentifier",
"src": "3932:6:1"
},
"nativeSrc": "3932:47:1",
"nodeType": "YulFunctionCall",
"src": "3932:47:1"
},
"nativeSrc": "3932:47:1",
"nodeType": "YulExpressionStatement",
"src": "3932:47:1"
},
{
"nativeSrc": "3988:139:1",
"nodeType": "YulAssignment",
"src": "3988:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "4122:4:1",
"nodeType": "YulIdentifier",
"src": "4122:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_to_t_string_memory_ptr_fromStack",
"nativeSrc": "3996:124:1",
"nodeType": "YulIdentifier",
"src": "3996:124:1"
},
"nativeSrc": "3996:131:1",
"nodeType": "YulFunctionCall",
"src": "3996:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3988:4:1",
"nodeType": "YulIdentifier",
"src": "3988:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4189:6:1",
"nodeType": "YulIdentifier",
"src": "4189:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4202:9:1",
"nodeType": "YulIdentifier",
"src": "4202:9:1"
},
{
"kind": "number",
"nativeSrc": "4213:2:1",
"nodeType": "YulLiteral",
"src": "4213:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4198:3:1",
"nodeType": "YulIdentifier",
"src": "4198:3:1"
},
"nativeSrc": "4198:18:1",
"nodeType": "YulFunctionCall",
"src": "4198:18:1"
}
],
"functionName": {
"name": "abi_encode_t_rational_123_by_1_to_t_uint8_fromStack",
"nativeSrc": "4137:51:1",
"nodeType": "YulIdentifier",
"src": "4137:51:1"
},
"nativeSrc": "4137:80:1",
"nodeType": "YulFunctionCall",
"src": "4137:80:1"
},
"nativeSrc": "4137:80:1",
"nodeType": "YulExpressionStatement",
"src": "4137:80:1"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed",
"nativeSrc": "3679:545:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3858:9:1",
"nodeType": "YulTypedName",
"src": "3858:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3870:6:1",
"nodeType": "YulTypedName",
"src": "3870:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3881:4:1",
"nodeType": "YulTypedName",
"src": "3881:4:1",
"type": ""
}
],
"src": "3679:545:1"
},
{
"body": {
"nativeSrc": "4343:34:1",
"nodeType": "YulBlock",
"src": "4343:34:1",
"statements": [
{
"nativeSrc": "4353:18:1",
"nodeType": "YulAssignment",
"src": "4353:18:1",
"value": {
"name": "pos",
"nativeSrc": "4368:3:1",
"nodeType": "YulIdentifier",
"src": "4368:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4353:11:1",
"nodeType": "YulIdentifier",
"src": "4353:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "4230:147:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4315:3:1",
"nodeType": "YulTypedName",
"src": "4315:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4320:6:1",
"nodeType": "YulTypedName",
"src": "4320:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4331:11:1",
"nodeType": "YulTypedName",
"src": "4331:11:1",
"type": ""
}
],
"src": "4230:147:1"
},
{
"body": {
"nativeSrc": "4491:278:1",
"nodeType": "YulBlock",
"src": "4491:278:1",
"statements": [
{
"nativeSrc": "4501:52:1",
"nodeType": "YulVariableDeclaration",
"src": "4501:52:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4547:5:1",
"nodeType": "YulIdentifier",
"src": "4547:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "4515:31:1",
"nodeType": "YulIdentifier",
"src": "4515:31:1"
},
"nativeSrc": "4515:38:1",
"nodeType": "YulFunctionCall",
"src": "4515:38:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "4505:6:1",
"nodeType": "YulTypedName",
"src": "4505:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4562:95:1",
"nodeType": "YulAssignment",
"src": "4562:95:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4645:3:1",
"nodeType": "YulIdentifier",
"src": "4645:3:1"
},
{
"name": "length",
"nativeSrc": "4650:6:1",
"nodeType": "YulIdentifier",
"src": "4650:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "4569:75:1",
"nodeType": "YulIdentifier",
"src": "4569:75:1"
},
"nativeSrc": "4569:88:1",
"nodeType": "YulFunctionCall",
"src": "4569:88:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4562:3:1",
"nodeType": "YulIdentifier",
"src": "4562:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4705:5:1",
"nodeType": "YulIdentifier",
"src": "4705:5:1"
},
{
"kind": "number",
"nativeSrc": "4712:4:1",
"nodeType": "YulLiteral",
"src": "4712:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4701:3:1",
"nodeType": "YulIdentifier",
"src": "4701:3:1"
},
"nativeSrc": "4701:16:1",
"nodeType": "YulFunctionCall",
"src": "4701:16:1"
},
{
"name": "pos",
"nativeSrc": "4719:3:1",
"nodeType": "YulIdentifier",
"src": "4719:3:1"
},
{
"name": "length",
"nativeSrc": "4724:6:1",
"nodeType": "YulIdentifier",
"src": "4724:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "4666:34:1",
"nodeType": "YulIdentifier",
"src": "4666:34:1"
},
"nativeSrc": "4666:65:1",
"nodeType": "YulFunctionCall",
"src": "4666:65:1"
},
"nativeSrc": "4666:65:1",
"nodeType": "YulExpressionStatement",
"src": "4666:65:1"
},
{
"nativeSrc": "4740:23:1",
"nodeType": "YulAssignment",
"src": "4740:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4751:3:1",
"nodeType": "YulIdentifier",
"src": "4751:3:1"
},
{
"name": "length",
"nativeSrc": "4756:6:1",
"nodeType": "YulIdentifier",
"src": "4756:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4747:3:1",
"nodeType": "YulIdentifier",
"src": "4747:3:1"
},
"nativeSrc": "4747:16:1",
"nodeType": "YulFunctionCall",
"src": "4747:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "4740:3:1",
"nodeType": "YulIdentifier",
"src": "4740:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "4383:386:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4472:5:1",
"nodeType": "YulTypedName",
"src": "4472:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4479:3:1",
"nodeType": "YulTypedName",
"src": "4479:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4487:3:1",
"nodeType": "YulTypedName",
"src": "4487:3:1",
"type": ""
}
],
"src": "4383:386:1"
},
{
"body": {
"nativeSrc": "4909:137:1",
"nodeType": "YulBlock",
"src": "4909:137:1",
"statements": [
{
"nativeSrc": "4920:100:1",
"nodeType": "YulAssignment",
"src": "4920:100:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "5007:6:1",
"nodeType": "YulIdentifier",
"src": "5007:6:1"
},
{
"name": "pos",
"nativeSrc": "5016:3:1",
"nodeType": "YulIdentifier",
"src": "5016:3:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "4927:79:1",
"nodeType": "YulIdentifier",
"src": "4927:79:1"
},
"nativeSrc": "4927:93:1",
"nodeType": "YulFunctionCall",
"src": "4927:93:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "4920:3:1",
"nodeType": "YulIdentifier",
"src": "4920:3:1"
}
]
},
{
"nativeSrc": "5030:10:1",
"nodeType": "YulAssignment",
"src": "5030:10:1",
"value": {
"name": "pos",
"nativeSrc": "5037:3:1",
"nodeType": "YulIdentifier",
"src": "5037:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "5030:3:1",
"nodeType": "YulIdentifier",
"src": "5030:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "4775:271:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4888:3:1",
"nodeType": "YulTypedName",
"src": "4888:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4894:6:1",
"nodeType": "YulTypedName",
"src": "4894:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "4905:3:1",
"nodeType": "YulTypedName",
"src": "4905:3:1",
"type": ""
}
],
"src": "4775:271:1"
},
{
"body": {
"nativeSrc": "5158:49:1",
"nodeType": "YulBlock",
"src": "5158:49:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "5180:6:1",
"nodeType": "YulIdentifier",
"src": "5180:6:1"
},
{
"kind": "number",
"nativeSrc": "5188:1:1",
"nodeType": "YulLiteral",
"src": "5188:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5176:3:1",
"nodeType": "YulIdentifier",
"src": "5176:3:1"
},
"nativeSrc": "5176:14:1",
"nodeType": "YulFunctionCall",
"src": "5176:14:1"
},
{
"hexValue": "3132333434",
"kind": "string",
"nativeSrc": "5192:7:1",
"nodeType": "YulLiteral",
"src": "5192:7:1",
"type": "",
"value": "12344"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5169:6:1",
"nodeType": "YulIdentifier",
"src": "5169:6:1"
},
"nativeSrc": "5169:31:1",
"nodeType": "YulFunctionCall",
"src": "5169:31:1"
},
"nativeSrc": "5169:31:1",
"nodeType": "YulExpressionStatement",
"src": "5169:31:1"
}
]
},
"name": "store_literal_in_memory_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0",
"nativeSrc": "5052:155:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "5150:6:1",
"nodeType": "YulTypedName",
"src": "5150:6:1",
"type": ""
}
],
"src": "5052:155:1"
},
{
"body": {
"nativeSrc": "5359:219:1",
"nodeType": "YulBlock",
"src": "5359:219:1",
"statements": [
{
"nativeSrc": "5369:73:1",
"nodeType": "YulAssignment",
"src": "5369:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5435:3:1",
"nodeType": "YulIdentifier",
"src": "5435:3:1"
},
{
"kind": "number",
"nativeSrc": "5440:1:1",
"nodeType": "YulLiteral",
"src": "5440:1:1",
"type": "",
"value": "5"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "5376:58:1",
"nodeType": "YulIdentifier",
"src": "5376:58:1"
},
"nativeSrc": "5376:66:1",
"nodeType": "YulFunctionCall",
"src": "5376:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "5369:3:1",
"nodeType": "YulIdentifier",
"src": "5369:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5540:3:1",
"nodeType": "YulIdentifier",
"src": "5540:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0",
"nativeSrc": "5451:88:1",
"nodeType": "YulIdentifier",
"src": "5451:88:1"
},
"nativeSrc": "5451:93:1",
"nodeType": "YulFunctionCall",
"src": "5451:93:1"
},
"nativeSrc": "5451:93:1",
"nodeType": "YulExpressionStatement",
"src": "5451:93:1"
},
{
"nativeSrc": "5553:19:1",
"nodeType": "YulAssignment",
"src": "5553:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5564:3:1",
"nodeType": "YulIdentifier",
"src": "5564:3:1"
},
{
"kind": "number",
"nativeSrc": "5569:2:1",
"nodeType": "YulLiteral",
"src": "5569:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5560:3:1",
"nodeType": "YulIdentifier",
"src": "5560:3:1"
},
"nativeSrc": "5560:12:1",
"nodeType": "YulFunctionCall",
"src": "5560:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "5553:3:1",
"nodeType": "YulIdentifier",
"src": "5553:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5213:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "5347:3:1",
"nodeType": "YulTypedName",
"src": "5347:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "5355:3:1",
"nodeType": "YulTypedName",
"src": "5355:3:1",
"type": ""
}
],
"src": "5213:365:1"
},
{
"body": {
"nativeSrc": "5755:248:1",
"nodeType": "YulBlock",
"src": "5755:248:1",
"statements": [
{
"nativeSrc": "5765:26:1",
"nodeType": "YulAssignment",
"src": "5765:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "5777:9:1",
"nodeType": "YulIdentifier",
"src": "5777:9:1"
},
{
"kind": "number",
"nativeSrc": "5788:2:1",
"nodeType": "YulLiteral",
"src": "5788:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5773:3:1",
"nodeType": "YulIdentifier",
"src": "5773:3:1"
},
"nativeSrc": "5773:18:1",
"nodeType": "YulFunctionCall",
"src": "5773:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5765:4:1",
"nodeType": "YulIdentifier",
"src": "5765:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5812:9:1",
"nodeType": "YulIdentifier",
"src": "5812:9:1"
},
{
"kind": "number",
"nativeSrc": "5823:1:1",
"nodeType": "YulLiteral",
"src": "5823:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5808:3:1",
"nodeType": "YulIdentifier",
"src": "5808:3:1"
},
"nativeSrc": "5808:17:1",
"nodeType": "YulFunctionCall",
"src": "5808:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "5831:4:1",
"nodeType": "YulIdentifier",
"src": "5831:4:1"
},
{
"name": "headStart",
"nativeSrc": "5837:9:1",
"nodeType": "YulIdentifier",
"src": "5837:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5827:3:1",
"nodeType": "YulIdentifier",
"src": "5827:3:1"
},
"nativeSrc": "5827:20:1",
"nodeType": "YulFunctionCall",
"src": "5827:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5801:6:1",
"nodeType": "YulIdentifier",
"src": "5801:6:1"
},
"nativeSrc": "5801:47:1",
"nodeType": "YulFunctionCall",
"src": "5801:47:1"
},
"nativeSrc": "5801:47:1",
"nodeType": "YulExpressionStatement",
"src": "5801:47:1"
},
{
"nativeSrc": "5857:139:1",
"nodeType": "YulAssignment",
"src": "5857:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "5991:4:1",
"nodeType": "YulIdentifier",
"src": "5991:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5865:124:1",
"nodeType": "YulIdentifier",
"src": "5865:124:1"
},
"nativeSrc": "5865:131:1",
"nodeType": "YulFunctionCall",
"src": "5865:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "5857:4:1",
"nodeType": "YulIdentifier",
"src": "5857:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "5584:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5735:9:1",
"nodeType": "YulTypedName",
"src": "5735:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "5750:4:1",
"nodeType": "YulTypedName",
"src": "5750:4:1",
"type": ""
}
],
"src": "5584:419:1"
},
{
"body": {
"nativeSrc": "6037:152:1",
"nodeType": "YulBlock",
"src": "6037:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6054:1:1",
"nodeType": "YulLiteral",
"src": "6054:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6057:77:1",
"nodeType": "YulLiteral",
"src": "6057:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6047:6:1",
"nodeType": "YulIdentifier",
"src": "6047:6:1"
},
"nativeSrc": "6047:88:1",
"nodeType": "YulFunctionCall",
"src": "6047:88:1"
},
"nativeSrc": "6047:88:1",
"nodeType": "YulExpressionStatement",
"src": "6047:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6151:1:1",
"nodeType": "YulLiteral",
"src": "6151:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "6154:4:1",
"nodeType": "YulLiteral",
"src": "6154:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6144:6:1",
"nodeType": "YulIdentifier",
"src": "6144:6:1"
},
"nativeSrc": "6144:15:1",
"nodeType": "YulFunctionCall",
"src": "6144:15:1"
},
"nativeSrc": "6144:15:1",
"nodeType": "YulExpressionStatement",
"src": "6144:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6175:1:1",
"nodeType": "YulLiteral",
"src": "6175:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6178:4:1",
"nodeType": "YulLiteral",
"src": "6178:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6168:6:1",
"nodeType": "YulIdentifier",
"src": "6168:6:1"
},
"nativeSrc": "6168:15:1",
"nodeType": "YulFunctionCall",
"src": "6168:15:1"
},
"nativeSrc": "6168:15:1",
"nodeType": "YulExpressionStatement",
"src": "6168:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "6009:180:1",
"nodeType": "YulFunctionDefinition",
"src": "6009:180:1"
},
{
"body": {
"nativeSrc": "6223:152:1",
"nodeType": "YulBlock",
"src": "6223:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6240:1:1",
"nodeType": "YulLiteral",
"src": "6240:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6243:77:1",
"nodeType": "YulLiteral",
"src": "6243:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6233:6:1",
"nodeType": "YulIdentifier",
"src": "6233:6:1"
},
"nativeSrc": "6233:88:1",
"nodeType": "YulFunctionCall",
"src": "6233:88:1"
},
"nativeSrc": "6233:88:1",
"nodeType": "YulExpressionStatement",
"src": "6233:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6337:1:1",
"nodeType": "YulLiteral",
"src": "6337:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "6340:4:1",
"nodeType": "YulLiteral",
"src": "6340:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6330:6:1",
"nodeType": "YulIdentifier",
"src": "6330:6:1"
},
"nativeSrc": "6330:15:1",
"nodeType": "YulFunctionCall",
"src": "6330:15:1"
},
"nativeSrc": "6330:15:1",
"nodeType": "YulExpressionStatement",
"src": "6330:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6361:1:1",
"nodeType": "YulLiteral",
"src": "6361:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6364:4:1",
"nodeType": "YulLiteral",
"src": "6364:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6354:6:1",
"nodeType": "YulIdentifier",
"src": "6354:6:1"
},
"nativeSrc": "6354:15:1",
"nodeType": "YulFunctionCall",
"src": "6354:15:1"
},
"nativeSrc": "6354:15:1",
"nodeType": "YulExpressionStatement",
"src": "6354:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "6195:180:1",
"nodeType": "YulFunctionDefinition",
"src": "6195:180:1"
},
{
"body": {
"nativeSrc": "6432:269:1",
"nodeType": "YulBlock",
"src": "6432:269:1",
"statements": [
{
"nativeSrc": "6442:22:1",
"nodeType": "YulAssignment",
"src": "6442:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "6456:4:1",
"nodeType": "YulIdentifier",
"src": "6456:4:1"
},
{
"kind": "number",
"nativeSrc": "6462:1:1",
"nodeType": "YulLiteral",
"src": "6462:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "6452:3:1",
"nodeType": "YulIdentifier",
"src": "6452:3:1"
},
"nativeSrc": "6452:12:1",
"nodeType": "YulFunctionCall",
"src": "6452:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "6442:6:1",
"nodeType": "YulIdentifier",
"src": "6442:6:1"
}
]
},
{
"nativeSrc": "6473:38:1",
"nodeType": "YulVariableDeclaration",
"src": "6473:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "6503:4:1",
"nodeType": "YulIdentifier",
"src": "6503:4:1"
},
{
"kind": "number",
"nativeSrc": "6509:1:1",
"nodeType": "YulLiteral",
"src": "6509:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6499:3:1",
"nodeType": "YulIdentifier",
"src": "6499:3:1"
},
"nativeSrc": "6499:12:1",
"nodeType": "YulFunctionCall",
"src": "6499:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6477:18:1",
"nodeType": "YulTypedName",
"src": "6477:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6550:51:1",
"nodeType": "YulBlock",
"src": "6550:51:1",
"statements": [
{
"nativeSrc": "6564:27:1",
"nodeType": "YulAssignment",
"src": "6564:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "6578:6:1",
"nodeType": "YulIdentifier",
"src": "6578:6:1"
},
{
"kind": "number",
"nativeSrc": "6586:4:1",
"nodeType": "YulLiteral",
"src": "6586:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "6574:3:1",
"nodeType": "YulIdentifier",
"src": "6574:3:1"
},
"nativeSrc": "6574:17:1",
"nodeType": "YulFunctionCall",
"src": "6574:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "6564:6:1",
"nodeType": "YulIdentifier",
"src": "6564:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6530:18:1",
"nodeType": "YulIdentifier",
"src": "6530:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6523:6:1",
"nodeType": "YulIdentifier",
"src": "6523:6:1"
},
"nativeSrc": "6523:26:1",
"nodeType": "YulFunctionCall",
"src": "6523:26:1"
},
"nativeSrc": "6520:81:1",
"nodeType": "YulIf",
"src": "6520:81:1"
},
{
"body": {
"nativeSrc": "6653:42:1",
"nodeType": "YulBlock",
"src": "6653:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "6667:16:1",
"nodeType": "YulIdentifier",
"src": "6667:16:1"
},
"nativeSrc": "6667:18:1",
"nodeType": "YulFunctionCall",
"src": "6667:18:1"
},
"nativeSrc": "6667:18:1",
"nodeType": "YulExpressionStatement",
"src": "6667:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "6617:18:1",
"nodeType": "YulIdentifier",
"src": "6617:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "6640:6:1",
"nodeType": "YulIdentifier",
"src": "6640:6:1"
},
{
"kind": "number",
"nativeSrc": "6648:2:1",
"nodeType": "YulLiteral",
"src": "6648:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "6637:2:1",
"nodeType": "YulIdentifier",
"src": "6637:2:1"
},
"nativeSrc": "6637:14:1",
"nodeType": "YulFunctionCall",
"src": "6637:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "6614:2:1",
"nodeType": "YulIdentifier",
"src": "6614:2:1"
},
"nativeSrc": "6614:38:1",
"nodeType": "YulFunctionCall",
"src": "6614:38:1"
},
"nativeSrc": "6611:84:1",
"nodeType": "YulIf",
"src": "6611:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "6381:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "6416:4:1",
"nodeType": "YulTypedName",
"src": "6416:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "6425:6:1",
"nodeType": "YulTypedName",
"src": "6425:6:1",
"type": ""
}
],
"src": "6381:320:1"
},
{
"body": {
"nativeSrc": "6760:87:1",
"nodeType": "YulBlock",
"src": "6760:87:1",
"statements": [
{
"nativeSrc": "6770:11:1",
"nodeType": "YulAssignment",
"src": "6770:11:1",
"value": {
"name": "ptr",
"nativeSrc": "6778:3:1",
"nodeType": "YulIdentifier",
"src": "6778:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "6770:4:1",
"nodeType": "YulIdentifier",
"src": "6770:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6798:1:1",
"nodeType": "YulLiteral",
"src": "6798:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "6801:3:1",
"nodeType": "YulIdentifier",
"src": "6801:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6791:6:1",
"nodeType": "YulIdentifier",
"src": "6791:6:1"
},
"nativeSrc": "6791:14:1",
"nodeType": "YulFunctionCall",
"src": "6791:14:1"
},
"nativeSrc": "6791:14:1",
"nodeType": "YulExpressionStatement",
"src": "6791:14:1"
},
{
"nativeSrc": "6814:26:1",
"nodeType": "YulAssignment",
"src": "6814:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6832:1:1",
"nodeType": "YulLiteral",
"src": "6832:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6835:4:1",
"nodeType": "YulLiteral",
"src": "6835:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "6822:9:1",
"nodeType": "YulIdentifier",
"src": "6822:9:1"
},
"nativeSrc": "6822:18:1",
"nodeType": "YulFunctionCall",
"src": "6822:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "6814:4:1",
"nodeType": "YulIdentifier",
"src": "6814:4:1"
}
]
}
]
},
"name": "array_dataslot_t_bytes_storage",
"nativeSrc": "6707:140:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "6747:3:1",
"nodeType": "YulTypedName",
"src": "6747:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "6755:4:1",
"nodeType": "YulTypedName",
"src": "6755:4:1",
"type": ""
}
],
"src": "6707:140:1"
},
{
"body": {
"nativeSrc": "6897:49:1",
"nodeType": "YulBlock",
"src": "6897:49:1",
"statements": [
{
"nativeSrc": "6907:33:1",
"nodeType": "YulAssignment",
"src": "6907:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6925:5:1",
"nodeType": "YulIdentifier",
"src": "6925:5:1"
},
{
"kind": "number",
"nativeSrc": "6932:2:1",
"nodeType": "YulLiteral",
"src": "6932:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6921:3:1",
"nodeType": "YulIdentifier",
"src": "6921:3:1"
},
"nativeSrc": "6921:14:1",
"nodeType": "YulFunctionCall",
"src": "6921:14:1"
},
{
"kind": "number",
"nativeSrc": "6937:2:1",
"nodeType": "YulLiteral",
"src": "6937:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "6917:3:1",
"nodeType": "YulIdentifier",
"src": "6917:3:1"
},
"nativeSrc": "6917:23:1",
"nodeType": "YulFunctionCall",
"src": "6917:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "6907:6:1",
"nodeType": "YulIdentifier",
"src": "6907:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "6853:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6880:5:1",
"nodeType": "YulTypedName",
"src": "6880:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "6890:6:1",
"nodeType": "YulTypedName",
"src": "6890:6:1",
"type": ""
}
],
"src": "6853:93:1"
},
{
"body": {
"nativeSrc": "7005:54:1",
"nodeType": "YulBlock",
"src": "7005:54:1",
"statements": [
{
"nativeSrc": "7015:37:1",
"nodeType": "YulAssignment",
"src": "7015:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "7040:4:1",
"nodeType": "YulIdentifier",
"src": "7040:4:1"
},
{
"name": "value",
"nativeSrc": "7046:5:1",
"nodeType": "YulIdentifier",
"src": "7046:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "7036:3:1",
"nodeType": "YulIdentifier",
"src": "7036:3:1"
},
"nativeSrc": "7036:16:1",
"nodeType": "YulFunctionCall",
"src": "7036:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "7015:8:1",
"nodeType": "YulIdentifier",
"src": "7015:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "6952:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "6980:4:1",
"nodeType": "YulTypedName",
"src": "6980:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "6986:5:1",
"nodeType": "YulTypedName",
"src": "6986:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "6996:8:1",
"nodeType": "YulTypedName",
"src": "6996:8:1",
"type": ""
}
],
"src": "6952:107:1"
},
{
"body": {
"nativeSrc": "7141:317:1",
"nodeType": "YulBlock",
"src": "7141:317:1",
"statements": [
{
"nativeSrc": "7151:35:1",
"nodeType": "YulVariableDeclaration",
"src": "7151:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "7172:10:1",
"nodeType": "YulIdentifier",
"src": "7172:10:1"
},
{
"kind": "number",
"nativeSrc": "7184:1:1",
"nodeType": "YulLiteral",
"src": "7184:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7168:3:1",
"nodeType": "YulIdentifier",
"src": "7168:3:1"
},
"nativeSrc": "7168:18:1",
"nodeType": "YulFunctionCall",
"src": "7168:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "7155:9:1",
"nodeType": "YulTypedName",
"src": "7155:9:1",
"type": ""
}
]
},
{
"nativeSrc": "7195:109:1",
"nodeType": "YulVariableDeclaration",
"src": "7195:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "7226:9:1",
"nodeType": "YulIdentifier",
"src": "7226:9:1"
},
{
"kind": "number",
"nativeSrc": "7237:66:1",
"nodeType": "YulLiteral",
"src": "7237:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "7207:18:1",
"nodeType": "YulIdentifier",
"src": "7207:18:1"
},
"nativeSrc": "7207:97:1",
"nodeType": "YulFunctionCall",
"src": "7207:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "7199:4:1",
"nodeType": "YulTypedName",
"src": "7199:4:1",
"type": ""
}
]
},
{
"nativeSrc": "7313:51:1",
"nodeType": "YulAssignment",
"src": "7313:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "7344:9:1",
"nodeType": "YulIdentifier",
"src": "7344:9:1"
},
{
"name": "toInsert",
"nativeSrc": "7355:8:1",
"nodeType": "YulIdentifier",
"src": "7355:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "7325:18:1",
"nodeType": "YulIdentifier",
"src": "7325:18:1"
},
"nativeSrc": "7325:39:1",
"nodeType": "YulFunctionCall",
"src": "7325:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "7313:8:1",
"nodeType": "YulIdentifier",
"src": "7313:8:1"
}
]
},
{
"nativeSrc": "7373:30:1",
"nodeType": "YulAssignment",
"src": "7373:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7386:5:1",
"nodeType": "YulIdentifier",
"src": "7386:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "7397:4:1",
"nodeType": "YulIdentifier",
"src": "7397:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "7393:3:1",
"nodeType": "YulIdentifier",
"src": "7393:3:1"
},
"nativeSrc": "7393:9:1",
"nodeType": "YulFunctionCall",
"src": "7393:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7382:3:1",
"nodeType": "YulIdentifier",
"src": "7382:3:1"
},
"nativeSrc": "7382:21:1",
"nodeType": "YulFunctionCall",
"src": "7382:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "7373:5:1",
"nodeType": "YulIdentifier",
"src": "7373:5:1"
}
]
},
{
"nativeSrc": "7412:40:1",
"nodeType": "YulAssignment",
"src": "7412:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7425:5:1",
"nodeType": "YulIdentifier",
"src": "7425:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "7436:8:1",
"nodeType": "YulIdentifier",
"src": "7436:8:1"
},
{
"name": "mask",
"nativeSrc": "7446:4:1",
"nodeType": "YulIdentifier",
"src": "7446:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7432:3:1",
"nodeType": "YulIdentifier",
"src": "7432:3:1"
},
"nativeSrc": "7432:19:1",
"nodeType": "YulFunctionCall",
"src": "7432:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "7422:2:1",
"nodeType": "YulIdentifier",
"src": "7422:2:1"
},
"nativeSrc": "7422:30:1",
"nodeType": "YulFunctionCall",
"src": "7422:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "7412:6:1",
"nodeType": "YulIdentifier",
"src": "7412:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "7065:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7102:5:1",
"nodeType": "YulTypedName",
"src": "7102:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "7109:10:1",
"nodeType": "YulTypedName",
"src": "7109:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "7121:8:1",
"nodeType": "YulTypedName",
"src": "7121:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "7134:6:1",
"nodeType": "YulTypedName",
"src": "7134:6:1",
"type": ""
}
],
"src": "7065:393:1"
},
{
"body": {
"nativeSrc": "7509:32:1",
"nodeType": "YulBlock",
"src": "7509:32:1",
"statements": [
{
"nativeSrc": "7519:16:1",
"nodeType": "YulAssignment",
"src": "7519:16:1",
"value": {
"name": "value",
"nativeSrc": "7530:5:1",
"nodeType": "YulIdentifier",
"src": "7530:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "7519:7:1",
"nodeType": "YulIdentifier",
"src": "7519:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "7464:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7491:5:1",
"nodeType": "YulTypedName",
"src": "7491:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "7501:7:1",
"nodeType": "YulTypedName",
"src": "7501:7:1",
"type": ""
}
],
"src": "7464:77:1"
},
{
"body": {
"nativeSrc": "7607:82:1",
"nodeType": "YulBlock",
"src": "7607:82:1",
"statements": [
{
"nativeSrc": "7617:66:1",
"nodeType": "YulAssignment",
"src": "7617:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "7675:5:1",
"nodeType": "YulIdentifier",
"src": "7675:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7657:17:1",
"nodeType": "YulIdentifier",
"src": "7657:17:1"
},
"nativeSrc": "7657:24:1",
"nodeType": "YulFunctionCall",
"src": "7657:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "7648:8:1",
"nodeType": "YulIdentifier",
"src": "7648:8:1"
},
"nativeSrc": "7648:34:1",
"nodeType": "YulFunctionCall",
"src": "7648:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7630:17:1",
"nodeType": "YulIdentifier",
"src": "7630:17:1"
},
"nativeSrc": "7630:53:1",
"nodeType": "YulFunctionCall",
"src": "7630:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "7617:9:1",
"nodeType": "YulIdentifier",
"src": "7617:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "7547:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7587:5:1",
"nodeType": "YulTypedName",
"src": "7587:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "7597:9:1",
"nodeType": "YulTypedName",
"src": "7597:9:1",
"type": ""
}
],
"src": "7547:142:1"
},
{
"body": {
"nativeSrc": "7742:28:1",
"nodeType": "YulBlock",
"src": "7742:28:1",
"statements": [
{
"nativeSrc": "7752:12:1",
"nodeType": "YulAssignment",
"src": "7752:12:1",
"value": {
"name": "value",
"nativeSrc": "7759:5:1",
"nodeType": "YulIdentifier",
"src": "7759:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "7752:3:1",
"nodeType": "YulIdentifier",
"src": "7752:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "7695:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7728:5:1",
"nodeType": "YulTypedName",
"src": "7728:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "7738:3:1",
"nodeType": "YulTypedName",
"src": "7738:3:1",
"type": ""
}
],
"src": "7695:75:1"
},
{
"body": {
"nativeSrc": "7852:193:1",
"nodeType": "YulBlock",
"src": "7852:193:1",
"statements": [
{
"nativeSrc": "7862:63:1",
"nodeType": "YulVariableDeclaration",
"src": "7862:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "7917:7:1",
"nodeType": "YulIdentifier",
"src": "7917:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "7886:30:1",
"nodeType": "YulIdentifier",
"src": "7886:30:1"
},
"nativeSrc": "7886:39:1",
"nodeType": "YulFunctionCall",
"src": "7886:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "7866:16:1",
"nodeType": "YulTypedName",
"src": "7866:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "7941:4:1",
"nodeType": "YulIdentifier",
"src": "7941:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "7981:4:1",
"nodeType": "YulIdentifier",
"src": "7981:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "7975:5:1",
"nodeType": "YulIdentifier",
"src": "7975:5:1"
},
"nativeSrc": "7975:11:1",
"nodeType": "YulFunctionCall",
"src": "7975:11:1"
},
{
"name": "offset",
"nativeSrc": "7988:6:1",
"nodeType": "YulIdentifier",
"src": "7988:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "8020:16:1",
"nodeType": "YulIdentifier",
"src": "8020:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "7996:23:1",
"nodeType": "YulIdentifier",
"src": "7996:23:1"
},
"nativeSrc": "7996:41:1",
"nodeType": "YulFunctionCall",
"src": "7996:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "7947:27:1",
"nodeType": "YulIdentifier",
"src": "7947:27:1"
},
"nativeSrc": "7947:91:1",
"nodeType": "YulFunctionCall",
"src": "7947:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "7934:6:1",
"nodeType": "YulIdentifier",
"src": "7934:6:1"
},
"nativeSrc": "7934:105:1",
"nodeType": "YulFunctionCall",
"src": "7934:105:1"
},
"nativeSrc": "7934:105:1",
"nodeType": "YulExpressionStatement",
"src": "7934:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "7776:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "7829:4:1",
"nodeType": "YulTypedName",
"src": "7829:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "7835:6:1",
"nodeType": "YulTypedName",
"src": "7835:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "7843:7:1",
"nodeType": "YulTypedName",
"src": "7843:7:1",
"type": ""
}
],
"src": "7776:269:1"
},
{
"body": {
"nativeSrc": "8100:24:1",
"nodeType": "YulBlock",
"src": "8100:24:1",
"statements": [
{
"nativeSrc": "8110:8:1",
"nodeType": "YulAssignment",
"src": "8110:8:1",
"value": {
"kind": "number",
"nativeSrc": "8117:1:1",
"nodeType": "YulLiteral",
"src": "8117:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "8110:3:1",
"nodeType": "YulIdentifier",
"src": "8110:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "8051:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "8096:3:1",
"nodeType": "YulTypedName",
"src": "8096:3:1",
"type": ""
}
],
"src": "8051:73:1"
},
{
"body": {
"nativeSrc": "8183:136:1",
"nodeType": "YulBlock",
"src": "8183:136:1",
"statements": [
{
"nativeSrc": "8193:46:1",
"nodeType": "YulVariableDeclaration",
"src": "8193:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "8207:30:1",
"nodeType": "YulIdentifier",
"src": "8207:30:1"
},
"nativeSrc": "8207:32:1",
"nodeType": "YulFunctionCall",
"src": "8207:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "8197:6:1",
"nodeType": "YulTypedName",
"src": "8197:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8292:4:1",
"nodeType": "YulIdentifier",
"src": "8292:4:1"
},
{
"name": "offset",
"nativeSrc": "8298:6:1",
"nodeType": "YulIdentifier",
"src": "8298:6:1"
},
{
"name": "zero_0",
"nativeSrc": "8306:6:1",
"nodeType": "YulIdentifier",
"src": "8306:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "8248:43:1",
"nodeType": "YulIdentifier",
"src": "8248:43:1"
},
"nativeSrc": "8248:65:1",
"nodeType": "YulFunctionCall",
"src": "8248:65:1"
},
"nativeSrc": "8248:65:1",
"nodeType": "YulExpressionStatement",
"src": "8248:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "8130:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "8169:4:1",
"nodeType": "YulTypedName",
"src": "8169:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "8175:6:1",
"nodeType": "YulTypedName",
"src": "8175:6:1",
"type": ""
}
],
"src": "8130:189:1"
},
{
"body": {
"nativeSrc": "8375:136:1",
"nodeType": "YulBlock",
"src": "8375:136:1",
"statements": [
{
"body": {
"nativeSrc": "8442:63:1",
"nodeType": "YulBlock",
"src": "8442:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "8486:5:1",
"nodeType": "YulIdentifier",
"src": "8486:5:1"
},
{
"kind": "number",
"nativeSrc": "8493:1:1",
"nodeType": "YulLiteral",
"src": "8493:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "8456:29:1",
"nodeType": "YulIdentifier",
"src": "8456:29:1"
},
"nativeSrc": "8456:39:1",
"nodeType": "YulFunctionCall",
"src": "8456:39:1"
},
"nativeSrc": "8456:39:1",
"nodeType": "YulExpressionStatement",
"src": "8456:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "8395:5:1",
"nodeType": "YulIdentifier",
"src": "8395:5:1"
},
{
"name": "end",
"nativeSrc": "8402:3:1",
"nodeType": "YulIdentifier",
"src": "8402:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8392:2:1",
"nodeType": "YulIdentifier",
"src": "8392:2:1"
},
"nativeSrc": "8392:14:1",
"nodeType": "YulFunctionCall",
"src": "8392:14:1"
},
"nativeSrc": "8385:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "8407:26:1",
"nodeType": "YulBlock",
"src": "8407:26:1",
"statements": [
{
"nativeSrc": "8409:22:1",
"nodeType": "YulAssignment",
"src": "8409:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "8422:5:1",
"nodeType": "YulIdentifier",
"src": "8422:5:1"
},
{
"kind": "number",
"nativeSrc": "8429:1:1",
"nodeType": "YulLiteral",
"src": "8429:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8418:3:1",
"nodeType": "YulIdentifier",
"src": "8418:3:1"
},
"nativeSrc": "8418:13:1",
"nodeType": "YulFunctionCall",
"src": "8418:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "8409:5:1",
"nodeType": "YulIdentifier",
"src": "8409:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "8389:2:1",
"nodeType": "YulBlock",
"src": "8389:2:1",
"statements": []
},
"src": "8385:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "8325:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "8363:5:1",
"nodeType": "YulTypedName",
"src": "8363:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "8370:3:1",
"nodeType": "YulTypedName",
"src": "8370:3:1",
"type": ""
}
],
"src": "8325:186:1"
},
{
"body": {
"nativeSrc": "8595:463:1",
"nodeType": "YulBlock",
"src": "8595:463:1",
"statements": [
{
"body": {
"nativeSrc": "8621:430:1",
"nodeType": "YulBlock",
"src": "8621:430:1",
"statements": [
{
"nativeSrc": "8635:53:1",
"nodeType": "YulVariableDeclaration",
"src": "8635:53:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "8682:5:1",
"nodeType": "YulIdentifier",
"src": "8682:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nativeSrc": "8651:30:1",
"nodeType": "YulIdentifier",
"src": "8651:30:1"
},
"nativeSrc": "8651:37:1",
"nodeType": "YulFunctionCall",
"src": "8651:37:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "8639:8:1",
"nodeType": "YulTypedName",
"src": "8639:8:1",
"type": ""
}
]
},
{
"nativeSrc": "8701:63:1",
"nodeType": "YulVariableDeclaration",
"src": "8701:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "8724:8:1",
"nodeType": "YulIdentifier",
"src": "8724:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "8752:10:1",
"nodeType": "YulIdentifier",
"src": "8752:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "8734:17:1",
"nodeType": "YulIdentifier",
"src": "8734:17:1"
},
"nativeSrc": "8734:29:1",
"nodeType": "YulFunctionCall",
"src": "8734:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8720:3:1",
"nodeType": "YulIdentifier",
"src": "8720:3:1"
},
"nativeSrc": "8720:44:1",
"nodeType": "YulFunctionCall",
"src": "8720:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "8705:11:1",
"nodeType": "YulTypedName",
"src": "8705:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "8921:27:1",
"nodeType": "YulBlock",
"src": "8921:27:1",
"statements": [
{
"nativeSrc": "8923:23:1",
"nodeType": "YulAssignment",
"src": "8923:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "8938:8:1",
"nodeType": "YulIdentifier",
"src": "8938:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "8923:11:1",
"nodeType": "YulIdentifier",
"src": "8923:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "8905:10:1",
"nodeType": "YulIdentifier",
"src": "8905:10:1"
},
{
"kind": "number",
"nativeSrc": "8917:2:1",
"nodeType": "YulLiteral",
"src": "8917:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "8902:2:1",
"nodeType": "YulIdentifier",
"src": "8902:2:1"
},
"nativeSrc": "8902:18:1",
"nodeType": "YulFunctionCall",
"src": "8902:18:1"
},
"nativeSrc": "8899:49:1",
"nodeType": "YulIf",
"src": "8899:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "8990:11:1",
"nodeType": "YulIdentifier",
"src": "8990:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "9007:8:1",
"nodeType": "YulIdentifier",
"src": "9007:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "9035:3:1",
"nodeType": "YulIdentifier",
"src": "9035:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "9017:17:1",
"nodeType": "YulIdentifier",
"src": "9017:17:1"
},
"nativeSrc": "9017:22:1",
"nodeType": "YulFunctionCall",
"src": "9017:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9003:3:1",
"nodeType": "YulIdentifier",
"src": "9003:3:1"
},
"nativeSrc": "9003:37:1",
"nodeType": "YulFunctionCall",
"src": "9003:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "8961:28:1",
"nodeType": "YulIdentifier",
"src": "8961:28:1"
},
"nativeSrc": "8961:80:1",
"nodeType": "YulFunctionCall",
"src": "8961:80:1"
},
"nativeSrc": "8961:80:1",
"nodeType": "YulExpressionStatement",
"src": "8961:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "8612:3:1",
"nodeType": "YulIdentifier",
"src": "8612:3:1"
},
{
"kind": "number",
"nativeSrc": "8617:2:1",
"nodeType": "YulLiteral",
"src": "8617:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "8609:2:1",
"nodeType": "YulIdentifier",
"src": "8609:2:1"
},
"nativeSrc": "8609:11:1",
"nodeType": "YulFunctionCall",
"src": "8609:11:1"
},
"nativeSrc": "8606:445:1",
"nodeType": "YulIf",
"src": "8606:445:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nativeSrc": "8517:541:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "8571:5:1",
"nodeType": "YulTypedName",
"src": "8571:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "8578:3:1",
"nodeType": "YulTypedName",
"src": "8578:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "8583:10:1",
"nodeType": "YulTypedName",
"src": "8583:10:1",
"type": ""
}
],
"src": "8517:541:1"
},
{
"body": {
"nativeSrc": "9127:54:1",
"nodeType": "YulBlock",
"src": "9127:54:1",
"statements": [
{
"nativeSrc": "9137:37:1",
"nodeType": "YulAssignment",
"src": "9137:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "9162:4:1",
"nodeType": "YulIdentifier",
"src": "9162:4:1"
},
{
"name": "value",
"nativeSrc": "9168:5:1",
"nodeType": "YulIdentifier",
"src": "9168:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "9158:3:1",
"nodeType": "YulIdentifier",
"src": "9158:3:1"
},
"nativeSrc": "9158:16:1",
"nodeType": "YulFunctionCall",
"src": "9158:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "9137:8:1",
"nodeType": "YulIdentifier",
"src": "9137:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "9064:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "9102:4:1",
"nodeType": "YulTypedName",
"src": "9102:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "9108:5:1",
"nodeType": "YulTypedName",
"src": "9108:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "9118:8:1",
"nodeType": "YulTypedName",
"src": "9118:8:1",
"type": ""
}
],
"src": "9064:117:1"
},
{
"body": {
"nativeSrc": "9238:118:1",
"nodeType": "YulBlock",
"src": "9238:118:1",
"statements": [
{
"nativeSrc": "9248:68:1",
"nodeType": "YulVariableDeclaration",
"src": "9248:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "9297:1:1",
"nodeType": "YulLiteral",
"src": "9297:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "9300:5:1",
"nodeType": "YulIdentifier",
"src": "9300:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "9293:3:1",
"nodeType": "YulIdentifier",
"src": "9293:3:1"
},
"nativeSrc": "9293:13:1",
"nodeType": "YulFunctionCall",
"src": "9293:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "9312:1:1",
"nodeType": "YulLiteral",
"src": "9312:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "9308:3:1",
"nodeType": "YulIdentifier",
"src": "9308:3:1"
},
"nativeSrc": "9308:6:1",
"nodeType": "YulFunctionCall",
"src": "9308:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "9264:28:1",
"nodeType": "YulIdentifier",
"src": "9264:28:1"
},
"nativeSrc": "9264:51:1",
"nodeType": "YulFunctionCall",
"src": "9264:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "9260:3:1",
"nodeType": "YulIdentifier",
"src": "9260:3:1"
},
"nativeSrc": "9260:56:1",
"nodeType": "YulFunctionCall",
"src": "9260:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "9252:4:1",
"nodeType": "YulTypedName",
"src": "9252:4:1",
"type": ""
}
]
},
{
"nativeSrc": "9325:25:1",
"nodeType": "YulAssignment",
"src": "9325:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9339:4:1",
"nodeType": "YulIdentifier",
"src": "9339:4:1"
},
{
"name": "mask",
"nativeSrc": "9345:4:1",
"nodeType": "YulIdentifier",
"src": "9345:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "9335:3:1",
"nodeType": "YulIdentifier",
"src": "9335:3:1"
},
"nativeSrc": "9335:15:1",
"nodeType": "YulFunctionCall",
"src": "9335:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "9325:6:1",
"nodeType": "YulIdentifier",
"src": "9325:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "9187:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "9215:4:1",
"nodeType": "YulTypedName",
"src": "9215:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "9221:5:1",
"nodeType": "YulTypedName",
"src": "9221:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "9231:6:1",
"nodeType": "YulTypedName",
"src": "9231:6:1",
"type": ""
}
],
"src": "9187:169:1"
},
{
"body": {
"nativeSrc": "9442:214:1",
"nodeType": "YulBlock",
"src": "9442:214:1",
"statements": [
{
"nativeSrc": "9575:37:1",
"nodeType": "YulAssignment",
"src": "9575:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9602:4:1",
"nodeType": "YulIdentifier",
"src": "9602:4:1"
},
{
"name": "len",
"nativeSrc": "9608:3:1",
"nodeType": "YulIdentifier",
"src": "9608:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "9583:18:1",
"nodeType": "YulIdentifier",
"src": "9583:18:1"
},
"nativeSrc": "9583:29:1",
"nodeType": "YulFunctionCall",
"src": "9583:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "9575:4:1",
"nodeType": "YulIdentifier",
"src": "9575:4:1"
}
]
},
{
"nativeSrc": "9621:29:1",
"nodeType": "YulAssignment",
"src": "9621:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "9632:4:1",
"nodeType": "YulIdentifier",
"src": "9632:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "9642:1:1",
"nodeType": "YulLiteral",
"src": "9642:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "9645:3:1",
"nodeType": "YulIdentifier",
"src": "9645:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "9638:3:1",
"nodeType": "YulIdentifier",
"src": "9638:3:1"
},
"nativeSrc": "9638:11:1",
"nodeType": "YulFunctionCall",
"src": "9638:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "9629:2:1",
"nodeType": "YulIdentifier",
"src": "9629:2:1"
},
"nativeSrc": "9629:21:1",
"nodeType": "YulFunctionCall",
"src": "9629:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "9621:4:1",
"nodeType": "YulIdentifier",
"src": "9621:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "9361:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "9423:4:1",
"nodeType": "YulTypedName",
"src": "9423:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "9429:3:1",
"nodeType": "YulTypedName",
"src": "9429:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "9437:4:1",
"nodeType": "YulTypedName",
"src": "9437:4:1",
"type": ""
}
],
"src": "9361:295:1"
},
{
"body": {
"nativeSrc": "9751:1300:1",
"nodeType": "YulBlock",
"src": "9751:1300:1",
"statements": [
{
"nativeSrc": "9762:50:1",
"nodeType": "YulVariableDeclaration",
"src": "9762:50:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "9808:3:1",
"nodeType": "YulIdentifier",
"src": "9808:3:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nativeSrc": "9776:31:1",
"nodeType": "YulIdentifier",
"src": "9776:31:1"
},
"nativeSrc": "9776:36:1",
"nodeType": "YulFunctionCall",
"src": "9776:36:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "9766:6:1",
"nodeType": "YulTypedName",
"src": "9766:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9897:22:1",
"nodeType": "YulBlock",
"src": "9897:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "9899:16:1",
"nodeType": "YulIdentifier",
"src": "9899:16:1"
},
"nativeSrc": "9899:18:1",
"nodeType": "YulFunctionCall",
"src": "9899:18:1"
},
"nativeSrc": "9899:18:1",
"nodeType": "YulExpressionStatement",
"src": "9899:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "9869:6:1",
"nodeType": "YulIdentifier",
"src": "9869:6:1"
},
{
"kind": "number",
"nativeSrc": "9877:18:1",
"nodeType": "YulLiteral",
"src": "9877:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "9866:2:1",
"nodeType": "YulIdentifier",
"src": "9866:2:1"
},
"nativeSrc": "9866:30:1",
"nodeType": "YulFunctionCall",
"src": "9866:30:1"
},
"nativeSrc": "9863:56:1",
"nodeType": "YulIf",
"src": "9863:56:1"
},
{
"nativeSrc": "9929:52:1",
"nodeType": "YulVariableDeclaration",
"src": "9929:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "9975:4:1",
"nodeType": "YulIdentifier",
"src": "9975:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "9969:5:1",
"nodeType": "YulIdentifier",
"src": "9969:5:1"
},
"nativeSrc": "9969:11:1",
"nodeType": "YulFunctionCall",
"src": "9969:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "9943:25:1",
"nodeType": "YulIdentifier",
"src": "9943:25:1"
},
"nativeSrc": "9943:38:1",
"nodeType": "YulFunctionCall",
"src": "9943:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "9933:6:1",
"nodeType": "YulTypedName",
"src": "9933:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "10073:4:1",
"nodeType": "YulIdentifier",
"src": "10073:4:1"
},
{
"name": "oldLen",
"nativeSrc": "10079:6:1",
"nodeType": "YulIdentifier",
"src": "10079:6:1"
},
{
"name": "newLen",
"nativeSrc": "10087:6:1",
"nodeType": "YulIdentifier",
"src": "10087:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nativeSrc": "10028:44:1",
"nodeType": "YulIdentifier",
"src": "10028:44:1"
},
"nativeSrc": "10028:66:1",
"nodeType": "YulFunctionCall",
"src": "10028:66:1"
},
"nativeSrc": "10028:66:1",
"nodeType": "YulExpressionStatement",
"src": "10028:66:1"
},
{
"nativeSrc": "10104:18:1",
"nodeType": "YulVariableDeclaration",
"src": "10104:18:1",
"value": {
"kind": "number",
"nativeSrc": "10121:1:1",
"nodeType": "YulLiteral",
"src": "10121:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "10108:9:1",
"nodeType": "YulTypedName",
"src": "10108:9:1",
"type": ""
}
]
},
{
"nativeSrc": "10132:17:1",
"nodeType": "YulAssignment",
"src": "10132:17:1",
"value": {
"kind": "number",
"nativeSrc": "10145:4:1",
"nodeType": "YulLiteral",
"src": "10145:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "10132:9:1",
"nodeType": "YulIdentifier",
"src": "10132:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "10196:610:1",
"nodeType": "YulBlock",
"src": "10196:610:1",
"statements": [
{
"nativeSrc": "10210:37:1",
"nodeType": "YulVariableDeclaration",
"src": "10210:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "10229:6:1",
"nodeType": "YulIdentifier",
"src": "10229:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "10241:4:1",
"nodeType": "YulLiteral",
"src": "10241:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "10237:3:1",
"nodeType": "YulIdentifier",
"src": "10237:3:1"
},
"nativeSrc": "10237:9:1",
"nodeType": "YulFunctionCall",
"src": "10237:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "10225:3:1",
"nodeType": "YulIdentifier",
"src": "10225:3:1"
},
"nativeSrc": "10225:22:1",
"nodeType": "YulFunctionCall",
"src": "10225:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "10214:7:1",
"nodeType": "YulTypedName",
"src": "10214:7:1",
"type": ""
}
]
},
{
"nativeSrc": "10261:50:1",
"nodeType": "YulVariableDeclaration",
"src": "10261:50:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "10306:4:1",
"nodeType": "YulIdentifier",
"src": "10306:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nativeSrc": "10275:30:1",
"nodeType": "YulIdentifier",
"src": "10275:30:1"
},
"nativeSrc": "10275:36:1",
"nodeType": "YulFunctionCall",
"src": "10275:36:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "10265:6:1",
"nodeType": "YulTypedName",
"src": "10265:6:1",
"type": ""
}
]
},
{
"nativeSrc": "10324:10:1",
"nodeType": "YulVariableDeclaration",
"src": "10324:10:1",
"value": {
"kind": "number",
"nativeSrc": "10333:1:1",
"nodeType": "YulLiteral",
"src": "10333:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "10328:1:1",
"nodeType": "YulTypedName",
"src": "10328:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "10392:163:1",
"nodeType": "YulBlock",
"src": "10392:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "10417:6:1",
"nodeType": "YulIdentifier",
"src": "10417:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "10435:3:1",
"nodeType": "YulIdentifier",
"src": "10435:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "10440:9:1",
"nodeType": "YulIdentifier",
"src": "10440:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10431:3:1",
"nodeType": "YulIdentifier",
"src": "10431:3:1"
},
"nativeSrc": "10431:19:1",
"nodeType": "YulFunctionCall",
"src": "10431:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "10425:5:1",
"nodeType": "YulIdentifier",
"src": "10425:5:1"
},
"nativeSrc": "10425:26:1",
"nodeType": "YulFunctionCall",
"src": "10425:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "10410:6:1",
"nodeType": "YulIdentifier",
"src": "10410:6:1"
},
"nativeSrc": "10410:42:1",
"nodeType": "YulFunctionCall",
"src": "10410:42:1"
},
"nativeSrc": "10410:42:1",
"nodeType": "YulExpressionStatement",
"src": "10410:42:1"
},
{
"nativeSrc": "10469:24:1",
"nodeType": "YulAssignment",
"src": "10469:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "10483:6:1",
"nodeType": "YulIdentifier",
"src": "10483:6:1"
},
{
"kind": "number",
"nativeSrc": "10491:1:1",
"nodeType": "YulLiteral",
"src": "10491:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10479:3:1",
"nodeType": "YulIdentifier",
"src": "10479:3:1"
},
"nativeSrc": "10479:14:1",
"nodeType": "YulFunctionCall",
"src": "10479:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "10469:6:1",
"nodeType": "YulIdentifier",
"src": "10469:6:1"
}
]
},
{
"nativeSrc": "10510:31:1",
"nodeType": "YulAssignment",
"src": "10510:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "10527:9:1",
"nodeType": "YulIdentifier",
"src": "10527:9:1"
},
{
"kind": "number",
"nativeSrc": "10538:2:1",
"nodeType": "YulLiteral",
"src": "10538:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10523:3:1",
"nodeType": "YulIdentifier",
"src": "10523:3:1"
},
"nativeSrc": "10523:18:1",
"nodeType": "YulFunctionCall",
"src": "10523:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "10510:9:1",
"nodeType": "YulIdentifier",
"src": "10510:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "10358:1:1",
"nodeType": "YulIdentifier",
"src": "10358:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "10361:7:1",
"nodeType": "YulIdentifier",
"src": "10361:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "10355:2:1",
"nodeType": "YulIdentifier",
"src": "10355:2:1"
},
"nativeSrc": "10355:14:1",
"nodeType": "YulFunctionCall",
"src": "10355:14:1"
},
"nativeSrc": "10347:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "10370:21:1",
"nodeType": "YulBlock",
"src": "10370:21:1",
"statements": [
{
"nativeSrc": "10372:17:1",
"nodeType": "YulAssignment",
"src": "10372:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "10381:1:1",
"nodeType": "YulIdentifier",
"src": "10381:1:1"
},
{
"kind": "number",
"nativeSrc": "10384:4:1",
"nodeType": "YulLiteral",
"src": "10384:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10377:3:1",
"nodeType": "YulIdentifier",
"src": "10377:3:1"
},
"nativeSrc": "10377:12:1",
"nodeType": "YulFunctionCall",
"src": "10377:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "10372:1:1",
"nodeType": "YulIdentifier",
"src": "10372:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "10351:3:1",
"nodeType": "YulBlock",
"src": "10351:3:1",
"statements": []
},
"src": "10347:208:1"
},
{
"body": {
"nativeSrc": "10591:156:1",
"nodeType": "YulBlock",
"src": "10591:156:1",
"statements": [
{
"nativeSrc": "10609:43:1",
"nodeType": "YulVariableDeclaration",
"src": "10609:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "10636:3:1",
"nodeType": "YulIdentifier",
"src": "10636:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "10641:9:1",
"nodeType": "YulIdentifier",
"src": "10641:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10632:3:1",
"nodeType": "YulIdentifier",
"src": "10632:3:1"
},
"nativeSrc": "10632:19:1",
"nodeType": "YulFunctionCall",
"src": "10632:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "10626:5:1",
"nodeType": "YulIdentifier",
"src": "10626:5:1"
},
"nativeSrc": "10626:26:1",
"nodeType": "YulFunctionCall",
"src": "10626:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "10613:9:1",
"nodeType": "YulTypedName",
"src": "10613:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "10676:6:1",
"nodeType": "YulIdentifier",
"src": "10676:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "10703:9:1",
"nodeType": "YulIdentifier",
"src": "10703:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "10718:6:1",
"nodeType": "YulIdentifier",
"src": "10718:6:1"
},
{
"kind": "number",
"nativeSrc": "10726:4:1",
"nodeType": "YulLiteral",
"src": "10726:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "10714:3:1",
"nodeType": "YulIdentifier",
"src": "10714:3:1"
},
"nativeSrc": "10714:17:1",
"nodeType": "YulFunctionCall",
"src": "10714:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "10684:18:1",
"nodeType": "YulIdentifier",
"src": "10684:18:1"
},
"nativeSrc": "10684:48:1",
"nodeType": "YulFunctionCall",
"src": "10684:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "10669:6:1",
"nodeType": "YulIdentifier",
"src": "10669:6:1"
},
"nativeSrc": "10669:64:1",
"nodeType": "YulFunctionCall",
"src": "10669:64:1"
},
"nativeSrc": "10669:64:1",
"nodeType": "YulExpressionStatement",
"src": "10669:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "10574:7:1",
"nodeType": "YulIdentifier",
"src": "10574:7:1"
},
{
"name": "newLen",
"nativeSrc": "10583:6:1",
"nodeType": "YulIdentifier",
"src": "10583:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "10571:2:1",
"nodeType": "YulIdentifier",
"src": "10571:2:1"
},
"nativeSrc": "10571:19:1",
"nodeType": "YulFunctionCall",
"src": "10571:19:1"
},
"nativeSrc": "10568:179:1",
"nodeType": "YulIf",
"src": "10568:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "10767:4:1",
"nodeType": "YulIdentifier",
"src": "10767:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "10781:6:1",
"nodeType": "YulIdentifier",
"src": "10781:6:1"
},
{
"kind": "number",
"nativeSrc": "10789:1:1",
"nodeType": "YulLiteral",
"src": "10789:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "10777:3:1",
"nodeType": "YulIdentifier",
"src": "10777:3:1"
},
"nativeSrc": "10777:14:1",
"nodeType": "YulFunctionCall",
"src": "10777:14:1"
},
{
"kind": "number",
"nativeSrc": "10793:1:1",
"nodeType": "YulLiteral",
"src": "10793:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10773:3:1",
"nodeType": "YulIdentifier",
"src": "10773:3:1"
},
"nativeSrc": "10773:22:1",
"nodeType": "YulFunctionCall",
"src": "10773:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "10760:6:1",
"nodeType": "YulIdentifier",
"src": "10760:6:1"
},
"nativeSrc": "10760:36:1",
"nodeType": "YulFunctionCall",
"src": "10760:36:1"
},
"nativeSrc": "10760:36:1",
"nodeType": "YulExpressionStatement",
"src": "10760:36:1"
}
]
},
"nativeSrc": "10189:617:1",
"nodeType": "YulCase",
"src": "10189:617:1",
"value": {
"kind": "number",
"nativeSrc": "10194:1:1",
"nodeType": "YulLiteral",
"src": "10194:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "10823:222:1",
"nodeType": "YulBlock",
"src": "10823:222:1",
"statements": [
{
"nativeSrc": "10837:14:1",
"nodeType": "YulVariableDeclaration",
"src": "10837:14:1",
"value": {
"kind": "number",
"nativeSrc": "10850:1:1",
"nodeType": "YulLiteral",
"src": "10850:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "10841:5:1",
"nodeType": "YulTypedName",
"src": "10841:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "10874:67:1",
"nodeType": "YulBlock",
"src": "10874:67:1",
"statements": [
{
"nativeSrc": "10892:35:1",
"nodeType": "YulAssignment",
"src": "10892:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "10911:3:1",
"nodeType": "YulIdentifier",
"src": "10911:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "10916:9:1",
"nodeType": "YulIdentifier",
"src": "10916:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10907:3:1",
"nodeType": "YulIdentifier",
"src": "10907:3:1"
},
"nativeSrc": "10907:19:1",
"nodeType": "YulFunctionCall",
"src": "10907:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "10901:5:1",
"nodeType": "YulIdentifier",
"src": "10901:5:1"
},
"nativeSrc": "10901:26:1",
"nodeType": "YulFunctionCall",
"src": "10901:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "10892:5:1",
"nodeType": "YulIdentifier",
"src": "10892:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "10867:6:1",
"nodeType": "YulIdentifier",
"src": "10867:6:1"
},
"nativeSrc": "10864:77:1",
"nodeType": "YulIf",
"src": "10864:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "10961:4:1",
"nodeType": "YulIdentifier",
"src": "10961:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "11020:5:1",
"nodeType": "YulIdentifier",
"src": "11020:5:1"
},
{
"name": "newLen",
"nativeSrc": "11027:6:1",
"nodeType": "YulIdentifier",
"src": "11027:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "10967:52:1",
"nodeType": "YulIdentifier",
"src": "10967:52:1"
},
"nativeSrc": "10967:67:1",
"nodeType": "YulFunctionCall",
"src": "10967:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "10954:6:1",
"nodeType": "YulIdentifier",
"src": "10954:6:1"
},
"nativeSrc": "10954:81:1",
"nodeType": "YulFunctionCall",
"src": "10954:81:1"
},
"nativeSrc": "10954:81:1",
"nodeType": "YulExpressionStatement",
"src": "10954:81:1"
}
]
},
"nativeSrc": "10815:230:1",
"nodeType": "YulCase",
"src": "10815:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "10169:6:1",
"nodeType": "YulIdentifier",
"src": "10169:6:1"
},
{
"kind": "number",
"nativeSrc": "10177:2:1",
"nodeType": "YulLiteral",
"src": "10177:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "10166:2:1",
"nodeType": "YulIdentifier",
"src": "10166:2:1"
},
"nativeSrc": "10166:14:1",
"nodeType": "YulFunctionCall",
"src": "10166:14:1"
},
"nativeSrc": "10159:886:1",
"nodeType": "YulSwitch",
"src": "10159:886:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage",
"nativeSrc": "9661:1390:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "9740:4:1",
"nodeType": "YulTypedName",
"src": "9740:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "9746:3:1",
"nodeType": "YulTypedName",
"src": "9746:3:1",
"type": ""
}
],
"src": "9661:1390:1"
},
{
"body": {
"nativeSrc": "11163:52:1",
"nodeType": "YulBlock",
"src": "11163:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "11185:6:1",
"nodeType": "YulIdentifier",
"src": "11185:6:1"
},
{
"kind": "number",
"nativeSrc": "11193:1:1",
"nodeType": "YulLiteral",
"src": "11193:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11181:3:1",
"nodeType": "YulIdentifier",
"src": "11181:3:1"
},
"nativeSrc": "11181:14:1",
"nodeType": "YulFunctionCall",
"src": "11181:14:1"
},
{
"hexValue": "63616c6c20666f6f",
"kind": "string",
"nativeSrc": "11197:10:1",
"nodeType": "YulLiteral",
"src": "11197:10:1",
"type": "",
"value": "call foo"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11174:6:1",
"nodeType": "YulIdentifier",
"src": "11174:6:1"
},
"nativeSrc": "11174:34:1",
"nodeType": "YulFunctionCall",
"src": "11174:34:1"
},
"nativeSrc": "11174:34:1",
"nodeType": "YulExpressionStatement",
"src": "11174:34:1"
}
]
},
"name": "store_literal_in_memory_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946",
"nativeSrc": "11057:158:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "11155:6:1",
"nodeType": "YulTypedName",
"src": "11155:6:1",
"type": ""
}
],
"src": "11057:158:1"
},
{
"body": {
"nativeSrc": "11367:219:1",
"nodeType": "YulBlock",
"src": "11367:219:1",
"statements": [
{
"nativeSrc": "11377:73:1",
"nodeType": "YulAssignment",
"src": "11377:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11443:3:1",
"nodeType": "YulIdentifier",
"src": "11443:3:1"
},
{
"kind": "number",
"nativeSrc": "11448:1:1",
"nodeType": "YulLiteral",
"src": "11448:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "11384:58:1",
"nodeType": "YulIdentifier",
"src": "11384:58:1"
},
"nativeSrc": "11384:66:1",
"nodeType": "YulFunctionCall",
"src": "11384:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "11377:3:1",
"nodeType": "YulIdentifier",
"src": "11377:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11548:3:1",
"nodeType": "YulIdentifier",
"src": "11548:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946",
"nativeSrc": "11459:88:1",
"nodeType": "YulIdentifier",
"src": "11459:88:1"
},
"nativeSrc": "11459:93:1",
"nodeType": "YulFunctionCall",
"src": "11459:93:1"
},
"nativeSrc": "11459:93:1",
"nodeType": "YulExpressionStatement",
"src": "11459:93:1"
},
{
"nativeSrc": "11561:19:1",
"nodeType": "YulAssignment",
"src": "11561:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11572:3:1",
"nodeType": "YulIdentifier",
"src": "11572:3:1"
},
{
"kind": "number",
"nativeSrc": "11577:2:1",
"nodeType": "YulLiteral",
"src": "11577:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11568:3:1",
"nodeType": "YulIdentifier",
"src": "11568:3:1"
},
"nativeSrc": "11568:12:1",
"nodeType": "YulFunctionCall",
"src": "11568:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "11561:3:1",
"nodeType": "YulIdentifier",
"src": "11561:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_to_t_string_memory_ptr_fromStack",
"nativeSrc": "11221:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "11355:3:1",
"nodeType": "YulTypedName",
"src": "11355:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "11363:3:1",
"nodeType": "YulTypedName",
"src": "11363:3:1",
"type": ""
}
],
"src": "11221:365:1"
},
{
"body": {
"nativeSrc": "11799:338:1",
"nodeType": "YulBlock",
"src": "11799:338:1",
"statements": [
{
"nativeSrc": "11809:26:1",
"nodeType": "YulAssignment",
"src": "11809:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "11821:9:1",
"nodeType": "YulIdentifier",
"src": "11821:9:1"
},
{
"kind": "number",
"nativeSrc": "11832:2:1",
"nodeType": "YulLiteral",
"src": "11832:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11817:3:1",
"nodeType": "YulIdentifier",
"src": "11817:3:1"
},
"nativeSrc": "11817:18:1",
"nodeType": "YulFunctionCall",
"src": "11817:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11809:4:1",
"nodeType": "YulIdentifier",
"src": "11809:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "11856:9:1",
"nodeType": "YulIdentifier",
"src": "11856:9:1"
},
{
"kind": "number",
"nativeSrc": "11867:1:1",
"nodeType": "YulLiteral",
"src": "11867:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11852:3:1",
"nodeType": "YulIdentifier",
"src": "11852:3:1"
},
"nativeSrc": "11852:17:1",
"nodeType": "YulFunctionCall",
"src": "11852:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "11875:4:1",
"nodeType": "YulIdentifier",
"src": "11875:4:1"
},
{
"name": "headStart",
"nativeSrc": "11881:9:1",
"nodeType": "YulIdentifier",
"src": "11881:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "11871:3:1",
"nodeType": "YulIdentifier",
"src": "11871:3:1"
},
"nativeSrc": "11871:20:1",
"nodeType": "YulFunctionCall",
"src": "11871:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11845:6:1",
"nodeType": "YulIdentifier",
"src": "11845:6:1"
},
"nativeSrc": "11845:47:1",
"nodeType": "YulFunctionCall",
"src": "11845:47:1"
},
"nativeSrc": "11845:47:1",
"nodeType": "YulExpressionStatement",
"src": "11845:47:1"
},
{
"nativeSrc": "11901:139:1",
"nodeType": "YulAssignment",
"src": "11901:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "12035:4:1",
"nodeType": "YulIdentifier",
"src": "12035:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_to_t_string_memory_ptr_fromStack",
"nativeSrc": "11909:124:1",
"nodeType": "YulIdentifier",
"src": "11909:124:1"
},
"nativeSrc": "11909:131:1",
"nodeType": "YulFunctionCall",
"src": "11909:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "11901:4:1",
"nodeType": "YulIdentifier",
"src": "11901:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "12102:6:1",
"nodeType": "YulIdentifier",
"src": "12102:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12115:9:1",
"nodeType": "YulIdentifier",
"src": "12115:9:1"
},
{
"kind": "number",
"nativeSrc": "12126:2:1",
"nodeType": "YulLiteral",
"src": "12126:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12111:3:1",
"nodeType": "YulIdentifier",
"src": "12111:3:1"
},
"nativeSrc": "12111:18:1",
"nodeType": "YulFunctionCall",
"src": "12111:18:1"
}
],
"functionName": {
"name": "abi_encode_t_rational_123_by_1_to_t_uint8_fromStack",
"nativeSrc": "12050:51:1",
"nodeType": "YulIdentifier",
"src": "12050:51:1"
},
"nativeSrc": "12050:80:1",
"nodeType": "YulFunctionCall",
"src": "12050:80:1"
},
"nativeSrc": "12050:80:1",
"nodeType": "YulExpressionStatement",
"src": "12050:80:1"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed",
"nativeSrc": "11592:545:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "11771:9:1",
"nodeType": "YulTypedName",
"src": "11771:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "11783:6:1",
"nodeType": "YulTypedName",
"src": "11783:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "11794:4:1",
"nodeType": "YulTypedName",
"src": "11794:4:1",
"type": ""
}
],
"src": "11592:545:1"
},
{
"body": {
"nativeSrc": "12249:55:1",
"nodeType": "YulBlock",
"src": "12249:55:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "12271:6:1",
"nodeType": "YulIdentifier",
"src": "12271:6:1"
},
{
"kind": "number",
"nativeSrc": "12279:1:1",
"nodeType": "YulLiteral",
"src": "12279:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12267:3:1",
"nodeType": "YulIdentifier",
"src": "12267:3:1"
},
"nativeSrc": "12267:14:1",
"nodeType": "YulFunctionCall",
"src": "12267:14:1"
},
{
"hexValue": "63616c6c206661696c6564",
"kind": "string",
"nativeSrc": "12283:13:1",
"nodeType": "YulLiteral",
"src": "12283:13:1",
"type": "",
"value": "call failed"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12260:6:1",
"nodeType": "YulIdentifier",
"src": "12260:6:1"
},
"nativeSrc": "12260:37:1",
"nodeType": "YulFunctionCall",
"src": "12260:37:1"
},
"nativeSrc": "12260:37:1",
"nodeType": "YulExpressionStatement",
"src": "12260:37:1"
}
]
},
"name": "store_literal_in_memory_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a",
"nativeSrc": "12143:161:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "12241:6:1",
"nodeType": "YulTypedName",
"src": "12241:6:1",
"type": ""
}
],
"src": "12143:161:1"
},
{
"body": {
"nativeSrc": "12456:220:1",
"nodeType": "YulBlock",
"src": "12456:220:1",
"statements": [
{
"nativeSrc": "12466:74:1",
"nodeType": "YulAssignment",
"src": "12466:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12532:3:1",
"nodeType": "YulIdentifier",
"src": "12532:3:1"
},
{
"kind": "number",
"nativeSrc": "12537:2:1",
"nodeType": "YulLiteral",
"src": "12537:2:1",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "12473:58:1",
"nodeType": "YulIdentifier",
"src": "12473:58:1"
},
"nativeSrc": "12473:67:1",
"nodeType": "YulFunctionCall",
"src": "12473:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "12466:3:1",
"nodeType": "YulIdentifier",
"src": "12466:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12638:3:1",
"nodeType": "YulIdentifier",
"src": "12638:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a",
"nativeSrc": "12549:88:1",
"nodeType": "YulIdentifier",
"src": "12549:88:1"
},
"nativeSrc": "12549:93:1",
"nodeType": "YulFunctionCall",
"src": "12549:93:1"
},
"nativeSrc": "12549:93:1",
"nodeType": "YulExpressionStatement",
"src": "12549:93:1"
},
{
"nativeSrc": "12651:19:1",
"nodeType": "YulAssignment",
"src": "12651:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12662:3:1",
"nodeType": "YulIdentifier",
"src": "12662:3:1"
},
{
"kind": "number",
"nativeSrc": "12667:2:1",
"nodeType": "YulLiteral",
"src": "12667:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12658:3:1",
"nodeType": "YulIdentifier",
"src": "12658:3:1"
},
"nativeSrc": "12658:12:1",
"nodeType": "YulFunctionCall",
"src": "12658:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "12651:3:1",
"nodeType": "YulIdentifier",
"src": "12651:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12310:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "12444:3:1",
"nodeType": "YulTypedName",
"src": "12444:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "12452:3:1",
"nodeType": "YulTypedName",
"src": "12452:3:1",
"type": ""
}
],
"src": "12310:366:1"
},
{
"body": {
"nativeSrc": "12853:248:1",
"nodeType": "YulBlock",
"src": "12853:248:1",
"statements": [
{
"nativeSrc": "12863:26:1",
"nodeType": "YulAssignment",
"src": "12863:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "12875:9:1",
"nodeType": "YulIdentifier",
"src": "12875:9:1"
},
{
"kind": "number",
"nativeSrc": "12886:2:1",
"nodeType": "YulLiteral",
"src": "12886:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12871:3:1",
"nodeType": "YulIdentifier",
"src": "12871:3:1"
},
"nativeSrc": "12871:18:1",
"nodeType": "YulFunctionCall",
"src": "12871:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12863:4:1",
"nodeType": "YulIdentifier",
"src": "12863:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12910:9:1",
"nodeType": "YulIdentifier",
"src": "12910:9:1"
},
{
"kind": "number",
"nativeSrc": "12921:1:1",
"nodeType": "YulLiteral",
"src": "12921:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12906:3:1",
"nodeType": "YulIdentifier",
"src": "12906:3:1"
},
"nativeSrc": "12906:17:1",
"nodeType": "YulFunctionCall",
"src": "12906:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "12929:4:1",
"nodeType": "YulIdentifier",
"src": "12929:4:1"
},
{
"name": "headStart",
"nativeSrc": "12935:9:1",
"nodeType": "YulIdentifier",
"src": "12935:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "12925:3:1",
"nodeType": "YulIdentifier",
"src": "12925:3:1"
},
"nativeSrc": "12925:20:1",
"nodeType": "YulFunctionCall",
"src": "12925:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12899:6:1",
"nodeType": "YulIdentifier",
"src": "12899:6:1"
},
"nativeSrc": "12899:47:1",
"nodeType": "YulFunctionCall",
"src": "12899:47:1"
},
"nativeSrc": "12899:47:1",
"nodeType": "YulExpressionStatement",
"src": "12899:47:1"
},
{
"nativeSrc": "12955:139:1",
"nodeType": "YulAssignment",
"src": "12955:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "13089:4:1",
"nodeType": "YulIdentifier",
"src": "13089:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12963:124:1",
"nodeType": "YulIdentifier",
"src": "12963:124:1"
},
"nativeSrc": "12963:131:1",
"nodeType": "YulFunctionCall",
"src": "12963:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12955:4:1",
"nodeType": "YulIdentifier",
"src": "12955:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "12682:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "12833:9:1",
"nodeType": "YulTypedName",
"src": "12833:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "12848:4:1",
"nodeType": "YulTypedName",
"src": "12848:4:1",
"type": ""
}
],
"src": "12682:419:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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 store_literal_in_memory_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf(memPtr) {\n\n mstore(add(memPtr, 0), \"unnofunc\")\n\n }\n\n function abi_encode_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 8)\n store_literal_in_memory_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf(pos)\n end := add(pos, 32)\n }\n\n function cleanup_t_rational_123_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_123_by_1_to_t_uint8(value) -> converted {\n converted := cleanup_t_uint8(identity(cleanup_t_rational_123_by_1(value)))\n }\n\n function abi_encode_t_rational_123_by_1_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_rational_123_by_1_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4d2620a75710b10dd957dc88c20fcabca81d0e3befdd1fe4b369977246d44ddf_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_rational_123_by_1_to_t_uint8_fromStack(value0, add(headStart, 32))\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0(memPtr) {\n\n mstore(add(memPtr, 0), \"12344\")\n\n }\n\n function abi_encode_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 5)\n store_literal_in_memory_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0__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_73a695f077da41687fa2356185f0154321e17f6be6063eb48405729a3e607be0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\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 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 array_dataslot_t_bytes_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_bytes_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_bytes_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src) {\n\n let newLen := array_length_t_bytes_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_bytes_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function store_literal_in_memory_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946(memPtr) {\n\n mstore(add(memPtr, 0), \"call foo\")\n\n }\n\n function abi_encode_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 8)\n store_literal_in_memory_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_t_rational_123_by_1__to_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_703788a9fb59847869a5d1bbbc9dda92c221bb90402d3d074483056bb4807946_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_rational_123_by_1_to_t_uint8_fromStack(value0, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a(memPtr) {\n\n mstore(add(memPtr, 0), \"call failed\")\n\n }\n\n function abi_encode_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 11)\n store_literal_in_memory_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a__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_a04f7977a7361020e07a160885cb05178aa6d9ff17ec37e942914b4316b9352a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061003f575f3560e01c80635329c6f21461004357806373d4a13a1461005f578063edcbe76c1461007d575b5f80fd5b61005d6004803603810190610058919061041d565b610099565b005b6100676101e5565b60405161007491906104b8565b60405180910390f35b6100976004803603810190610092919061041d565b610270565b005b5f808273ffffffffffffffffffffffffffffffffffffffff16607b6040516024016100c49190610580565b6040516020818303038152906040527fed6246ce000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161014e91906105e6565b5f604051808303815f865af19150503d805f8114610187576040519150601f19603f3d011682016040523d82523d5f602084013e61018c565b606091505b5091509150816101d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c890610646565b60405180910390fd5b805f90816101df919061088b565b50505050565b5f80546101f1906106be565b80601f016020809104026020016040519081016040528092919081815260200182805461021d906106be565b80156102685780601f1061023f57610100808354040283529160200191610268565b820191905f5260205f20905b81548152906001019060200180831161024b57829003601f168201915b505050505081565b5f808273ffffffffffffffffffffffffffffffffffffffff16606f607b60405160240161029d91906109a4565b6040516020818303038152906040527f24ccab8f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161032791906105e6565b5f6040518083038185875af1925050503d805f8114610361576040519150601f19603f3d011682016040523d82523d5f602084013e610366565b606091505b5091509150805f9081610379919061088b565b50816103ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b190610a1a565b60405180910390fd5b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103ec826103c3565b9050919050565b6103fc816103e2565b8114610406575f80fd5b50565b5f81359050610417816103f3565b92915050565b5f60208284031215610432576104316103bf565b5b5f61043f84828501610409565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61048a82610448565b6104948185610452565b93506104a4818560208601610462565b6104ad81610470565b840191505092915050565b5f6020820190508181035f8301526104d08184610480565b905092915050565b5f82825260208201905092915050565b7f756e6e6f66756e630000000000000000000000000000000000000000000000005f82015250565b5f61051c6008836104d8565b9150610527826104e8565b602082019050919050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61056a61056561056084610532565b610547565b61053b565b9050919050565b61057a81610550565b82525050565b5f6040820190508181035f83015261059781610510565b90506105a66020830184610571565b92915050565b5f81905092915050565b5f6105c082610448565b6105ca81856105ac565b93506105da818560208601610462565b80840191505092915050565b5f6105f182846105b6565b915081905092915050565b7f31323334340000000000000000000000000000000000000000000000000000005f82015250565b5f6106306005836104d8565b915061063b826105fc565b602082019050919050565b5f6020820190508181035f83015261065d81610624565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806106d557607f821691505b6020821081036106e8576106e7610691565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261074a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261070f565b610754868361070f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61078f61078a6107858461076c565b610547565b61076c565b9050919050565b5f819050919050565b6107a883610775565b6107bc6107b482610796565b84845461071b565b825550505050565b5f90565b6107d06107c4565b6107db81848461079f565b505050565b5b818110156107fe576107f35f826107c8565b6001810190506107e1565b5050565b601f82111561084357610814816106ee565b61081d84610700565b8101602085101561082c578190505b61084061083885610700565b8301826107e0565b50505b505050565b5f82821c905092915050565b5f6108635f1984600802610848565b1980831691505092915050565b5f61087b8383610854565b9150826002028217905092915050565b61089482610448565b67ffffffffffffffff8111156108ad576108ac610664565b5b6108b782546106be565b6108c2828285610802565b5f60209050601f8311600181146108f3575f84156108e1578287015190505b6108eb8582610870565b865550610952565b601f198416610901866106ee565b5f5b8281101561092857848901518255600182019150602085019450602081019050610903565b868310156109455784890151610941601f891682610854565b8355505b6001600288020188555050505b505050505050565b7f63616c6c20666f6f0000000000000000000000000000000000000000000000005f82015250565b5f61098e6008836104d8565b91506109998261095a565b602082019050919050565b5f6040820190508181035f8301526109bb81610982565b90506109ca6020830184610571565b92915050565b7f63616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f610a04600b836104d8565b9150610a0f826109d0565b602082019050919050565b5f6020820190508181035f830152610a31816109f8565b905091905056fea2646970667358221220fe50ee6bbbb32be46f5beb129b505ec9192224c2dfe82033811a289fc1374ea864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5329C6F2 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x73D4A13A EQ PUSH2 0x5F JUMPI DUP1 PUSH4 0xEDCBE76C EQ PUSH2 0x7D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x67 PUSH2 0x1E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x74 SWAP2 SWAP1 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xC4 SWAP2 SWAP1 PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0xED6246CE00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x187 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C8 SWAP1 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x1DF SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x1F1 SWAP1 PUSH2 0x6BE 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 0x21D SWAP1 PUSH2 0x6BE JUMP JUMPDEST DUP1 ISZERO PUSH2 0x268 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x23F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x268 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6F PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x9A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x24CCAB8F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x361 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x366 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP DUP2 PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B1 SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x3EC DUP3 PUSH2 0x3C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3FC DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP2 EQ PUSH2 0x406 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x417 DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x3BF JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x43F DUP5 DUP3 DUP6 ADD PUSH2 0x409 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x48A DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x494 DUP2 DUP6 PUSH2 0x452 JUMP JUMPDEST SWAP4 POP PUSH2 0x4A4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x462 JUMP JUMPDEST PUSH2 0x4AD DUP2 PUSH2 0x470 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x4D0 DUP2 DUP5 PUSH2 0x480 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x756E6E6F66756E63000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x51C PUSH1 0x8 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x527 DUP3 PUSH2 0x4E8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x56A PUSH2 0x565 PUSH2 0x560 DUP5 PUSH2 0x532 JUMP JUMPDEST PUSH2 0x547 JUMP JUMPDEST PUSH2 0x53B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x57A DUP2 PUSH2 0x550 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x597 DUP2 PUSH2 0x510 JUMP JUMPDEST SWAP1 POP PUSH2 0x5A6 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x571 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x5C0 DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x5CA DUP2 DUP6 PUSH2 0x5AC JUMP JUMPDEST SWAP4 POP PUSH2 0x5DA DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x462 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x5F1 DUP3 DUP5 PUSH2 0x5B6 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x3132333434000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x630 PUSH1 0x5 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x63B DUP3 PUSH2 0x5FC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x65D DUP2 PUSH2 0x624 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x6D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x6E8 JUMPI PUSH2 0x6E7 PUSH2 0x691 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x74A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x70F JUMP JUMPDEST PUSH2 0x754 DUP7 DUP4 PUSH2 0x70F JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x78F PUSH2 0x78A PUSH2 0x785 DUP5 PUSH2 0x76C JUMP JUMPDEST PUSH2 0x547 JUMP JUMPDEST PUSH2 0x76C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7A8 DUP4 PUSH2 0x775 JUMP JUMPDEST PUSH2 0x7BC PUSH2 0x7B4 DUP3 PUSH2 0x796 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x71B JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x7D0 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x7DB DUP2 DUP5 DUP5 PUSH2 0x79F JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7FE JUMPI PUSH2 0x7F3 PUSH0 DUP3 PUSH2 0x7C8 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x7E1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x843 JUMPI PUSH2 0x814 DUP2 PUSH2 0x6EE JUMP JUMPDEST PUSH2 0x81D DUP5 PUSH2 0x700 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x82C JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x840 PUSH2 0x838 DUP6 PUSH2 0x700 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x7E0 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x863 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x848 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x87B DUP4 DUP4 PUSH2 0x854 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x894 DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8AD JUMPI PUSH2 0x8AC PUSH2 0x664 JUMP JUMPDEST JUMPDEST PUSH2 0x8B7 DUP3 SLOAD PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x8C2 DUP3 DUP3 DUP6 PUSH2 0x802 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x8F3 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x8E1 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x8EB DUP6 DUP3 PUSH2 0x870 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x952 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x901 DUP7 PUSH2 0x6EE JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x928 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x903 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x945 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x941 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x854 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x63616C6C20666F6F000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x98E PUSH1 0x8 DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0x999 DUP3 PUSH2 0x95A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9BB DUP2 PUSH2 0x982 JUMP JUMPDEST SWAP1 POP PUSH2 0x9CA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x571 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x63616C6C206661696C6564000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xA04 PUSH1 0xB DUP4 PUSH2 0x4D8 JUMP JUMPDEST SWAP2 POP PUSH2 0xA0F DUP3 PUSH2 0x9D0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xA31 DUP2 PUSH2 0x9F8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 INVALID POP 0xEE PUSH12 0xBBB32BE46F5BEB129B505EC9 NOT 0x22 0x24 0xC2 0xDF 0xE8 KECCAK256 CALLER DUP2 BYTE 0x28 SWAP16 0xC1 CALLDATACOPY 0x4E 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "541:539:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:230;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;562:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;587:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;843:230;897:11;909:19;932:3;:8;;1005:3;941:68;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;932:78;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;896:114;;;;1028:6;1020:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;1060:6;1053:4;:13;;;;;;:::i;:::-;;886:187;;843:230;:::o;562:17::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;587:250::-;639:12;652:18;683:5;:10;;700:3;763;705:62;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;683:85;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;638:130;;;;785:5;778:4;:12;;;;;;:::i;:::-;;808:7;800:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;629:208;;587:250;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:98::-;1227:6;1261:5;1255:12;1245:22;;1176:98;;;:::o;1280:168::-;1363:11;1397:6;1392:3;1385:19;1437:4;1432:3;1428:14;1413:29;;1280:168;;;;:::o;1454:139::-;1543:6;1538:3;1533;1527:23;1584:1;1575:6;1570:3;1566:16;1559:27;1454:139;;;:::o;1599:102::-;1640:6;1691:2;1687:7;1682:2;1675:5;1671:14;1667:28;1657:38;;1599:102;;;:::o;1707:373::-;1793:3;1821:38;1853:5;1821:38;:::i;:::-;1875:70;1938:6;1933:3;1875:70;:::i;:::-;1868:77;;1954:65;2012:6;2007:3;2000:4;1993:5;1989:16;1954:65;:::i;:::-;2044:29;2066:6;2044:29;:::i;:::-;2039:3;2035:39;2028:46;;1797:283;1707:373;;;;:::o;2086:309::-;2197:4;2235:2;2224:9;2220:18;2212:26;;2284:9;2278:4;2274:20;2270:1;2259:9;2255:17;2248:47;2312:76;2383:4;2374:6;2312:76;:::i;:::-;2304:84;;2086:309;;;;:::o;2401:169::-;2485:11;2519:6;2514:3;2507:19;2559:4;2554:3;2550:14;2535:29;;2401:169;;;;:::o;2576:158::-;2716:10;2712:1;2704:6;2700:14;2693:34;2576:158;:::o;2740:365::-;2882:3;2903:66;2967:1;2962:3;2903:66;:::i;:::-;2896:73;;2978:93;3067:3;2978:93;:::i;:::-;3096:2;3091:3;3087:12;3080:19;;2740:365;;;:::o;3111:87::-;3158:7;3187:5;3176:16;;3111:87;;;:::o;3204:86::-;3239:7;3279:4;3272:5;3268:16;3257:27;;3204:86;;;:::o;3296:60::-;3324:3;3345:5;3338:12;;3296:60;;;:::o;3362:158::-;3420:9;3453:61;3469:44;3478:34;3506:5;3478:34;:::i;:::-;3469:44;:::i;:::-;3453:61;:::i;:::-;3440:74;;3362:158;;;:::o;3526:147::-;3621:45;3660:5;3621:45;:::i;:::-;3616:3;3609:58;3526:147;;:::o;3679:545::-;3881:4;3919:2;3908:9;3904:18;3896:26;;3968:9;3962:4;3958:20;3954:1;3943:9;3939:17;3932:47;3996:131;4122:4;3996:131;:::i;:::-;3988:139;;4137:80;4213:2;4202:9;4198:18;4189:6;4137:80;:::i;:::-;3679:545;;;;:::o;4230:147::-;4331:11;4368:3;4353:18;;4230:147;;;;:::o;4383:386::-;4487:3;4515:38;4547:5;4515:38;:::i;:::-;4569:88;4650:6;4645:3;4569:88;:::i;:::-;4562:95;;4666:65;4724:6;4719:3;4712:4;4705:5;4701:16;4666:65;:::i;:::-;4756:6;4751:3;4747:16;4740:23;;4491:278;4383:386;;;;:::o;4775:271::-;4905:3;4927:93;5016:3;5007:6;4927:93;:::i;:::-;4920:100;;5037:3;5030:10;;4775:271;;;;:::o;5052:155::-;5192:7;5188:1;5180:6;5176:14;5169:31;5052:155;:::o;5213:365::-;5355:3;5376:66;5440:1;5435:3;5376:66;:::i;:::-;5369:73;;5451:93;5540:3;5451:93;:::i;:::-;5569:2;5564:3;5560:12;5553:19;;5213:365;;;:::o;5584:419::-;5750:4;5788:2;5777:9;5773:18;5765:26;;5837:9;5831:4;5827:20;5823:1;5812:9;5808:17;5801:47;5865:131;5991:4;5865:131;:::i;:::-;5857:139;;5584:419;;;:::o;6009:180::-;6057:77;6054:1;6047:88;6154:4;6151:1;6144:15;6178:4;6175:1;6168:15;6195:180;6243:77;6240:1;6233:88;6340:4;6337:1;6330:15;6364:4;6361:1;6354:15;6381:320;6425:6;6462:1;6456:4;6452:12;6442:22;;6509:1;6503:4;6499:12;6530:18;6520:81;;6586:4;6578:6;6574:17;6564:27;;6520:81;6648:2;6640:6;6637:14;6617:18;6614:38;6611:84;;6667:18;;:::i;:::-;6611:84;6432:269;6381:320;;;:::o;6707:140::-;6755:4;6778:3;6770:11;;6801:3;6798:1;6791:14;6835:4;6832:1;6822:18;6814:26;;6707:140;;;:::o;6853:93::-;6890:6;6937:2;6932;6925:5;6921:14;6917:23;6907:33;;6853:93;;;:::o;6952:107::-;6996:8;7046:5;7040:4;7036:16;7015:37;;6952:107;;;;:::o;7065:393::-;7134:6;7184:1;7172:10;7168:18;7207:97;7237:66;7226:9;7207:97;:::i;:::-;7325:39;7355:8;7344:9;7325:39;:::i;:::-;7313:51;;7397:4;7393:9;7386:5;7382:21;7373:30;;7446:4;7436:8;7432:19;7425:5;7422:30;7412:40;;7141:317;;7065:393;;;;;:::o;7464:77::-;7501:7;7530:5;7519:16;;7464:77;;;:::o;7547:142::-;7597:9;7630:53;7648:34;7657:24;7675:5;7657:24;:::i;:::-;7648:34;:::i;:::-;7630:53;:::i;:::-;7617:66;;7547:142;;;:::o;7695:75::-;7738:3;7759:5;7752:12;;7695:75;;;:::o;7776:269::-;7886:39;7917:7;7886:39;:::i;:::-;7947:91;7996:41;8020:16;7996:41;:::i;:::-;7988:6;7981:4;7975:11;7947:91;:::i;:::-;7941:4;7934:105;7852:193;7776:269;;;:::o;8051:73::-;8096:3;8051:73;:::o;8130:189::-;8207:32;;:::i;:::-;8248:65;8306:6;8298;8292:4;8248:65;:::i;:::-;8183:136;8130:189;;:::o;8325:186::-;8385:120;8402:3;8395:5;8392:14;8385:120;;;8456:39;8493:1;8486:5;8456:39;:::i;:::-;8429:1;8422:5;8418:13;8409:22;;8385:120;;;8325:186;;:::o;8517:541::-;8617:2;8612:3;8609:11;8606:445;;;8651:37;8682:5;8651:37;:::i;:::-;8734:29;8752:10;8734:29;:::i;:::-;8724:8;8720:44;8917:2;8905:10;8902:18;8899:49;;;8938:8;8923:23;;8899:49;8961:80;9017:22;9035:3;9017:22;:::i;:::-;9007:8;9003:37;8990:11;8961:80;:::i;:::-;8621:430;;8606:445;8517:541;;;:::o;9064:117::-;9118:8;9168:5;9162:4;9158:16;9137:37;;9064:117;;;;:::o;9187:169::-;9231:6;9264:51;9312:1;9308:6;9300:5;9297:1;9293:13;9264:51;:::i;:::-;9260:56;9345:4;9339;9335:15;9325:25;;9238:118;9187:169;;;;:::o;9361:295::-;9437:4;9583:29;9608:3;9602:4;9583:29;:::i;:::-;9575:37;;9645:3;9642:1;9638:11;9632:4;9629:21;9621:29;;9361:295;;;;:::o;9661:1390::-;9776:36;9808:3;9776:36;:::i;:::-;9877:18;9869:6;9866:30;9863:56;;;9899:18;;:::i;:::-;9863:56;9943:38;9975:4;9969:11;9943:38;:::i;:::-;10028:66;10087:6;10079;10073:4;10028:66;:::i;:::-;10121:1;10145:4;10132:17;;10177:2;10169:6;10166:14;10194:1;10189:617;;;;10850:1;10867:6;10864:77;;;10916:9;10911:3;10907:19;10901:26;10892:35;;10864:77;10967:67;11027:6;11020:5;10967:67;:::i;:::-;10961:4;10954:81;10823:222;10159:886;;10189:617;10241:4;10237:9;10229:6;10225:22;10275:36;10306:4;10275:36;:::i;:::-;10333:1;10347:208;10361:7;10358:1;10355:14;10347:208;;;10440:9;10435:3;10431:19;10425:26;10417:6;10410:42;10491:1;10483:6;10479:14;10469:24;;10538:2;10527:9;10523:18;10510:31;;10384:4;10381:1;10377:12;10372:17;;10347:208;;;10583:6;10574:7;10571:19;10568:179;;;10641:9;10636:3;10632:19;10626:26;10684:48;10726:4;10718:6;10714:17;10703:9;10684:48;:::i;:::-;10676:6;10669:64;10591:156;10568:179;10793:1;10789;10781:6;10777:14;10773:22;10767:4;10760:36;10196:610;;;10159:886;;9751:1300;;;9661:1390;;:::o;11057:158::-;11197:10;11193:1;11185:6;11181:14;11174:34;11057:158;:::o;11221:365::-;11363:3;11384:66;11448:1;11443:3;11384:66;:::i;:::-;11377:73;;11459:93;11548:3;11459:93;:::i;:::-;11577:2;11572:3;11568:12;11561:19;;11221:365;;;:::o;11592:545::-;11794:4;11832:2;11821:9;11817:18;11809:26;;11881:9;11875:4;11871:20;11867:1;11856:9;11852:17;11845:47;11909:131;12035:4;11909:131;:::i;:::-;11901:139;;12050:80;12126:2;12115:9;12111:18;12102:6;12050:80;:::i;:::-;11592:545;;;;:::o;12143:161::-;12283:13;12279:1;12271:6;12267:14;12260:37;12143:161;:::o;12310:366::-;12452:3;12473:67;12537:2;12532:3;12473:67;:::i;:::-;12466:74;;12549:93;12638:3;12549:93;:::i;:::-;12667:2;12662:3;12658:12;12651:19;;12310:366;;;:::o;12682:419::-;12848:4;12886:2;12875:9;12871:18;12863:26;;12935:9;12929:4;12925:20;12921:1;12910:9;12906:17;12899:47;12963:131;13089:4;12963:131;:::i;:::-;12955:139;;12682:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "534000",
"executionCost": "566",
"totalCost": "534566"
},
"external": {
"callFoo(address)": "infinite",
"callUNFunc(address)": "infinite",
"data()": "infinite"
}
},
"methodIdentifiers": {
"callFoo(address)": "edcbe76c",
"callUNFunc(address)": "5329c6f2",
"data()": "73d4a13a"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_test",
"type": "address"
}
],
"name": "callFoo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_un",
"type": "address"
}
],
"name": "callUNFunc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "data",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_test",
"type": "address"
}
],
"name": "callFoo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_un",
"type": "address"
}
],
"name": "callUNFunc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "data",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/call.sol": "Call"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/call.sol": {
"keccak256": "0x265d2fbe63efc09a8bc7451e48ede3fa6e8926cddf0d978a591f6f2e6c7062e8",
"license": "MIT",
"urls": [
"bzz-raw://321980438bb6c7dcb6f7643c99385bdbd2126f9be1dee6fd4ab818ab2fbb2d9a",
"dweb:/ipfs/QmbkzumE6xUuyJEjRHxpzPRPQ1CnKuVRoRcXoutF2cY8DF"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b506102b48061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063200d2ed2146100435780636d4ce63c14610061578063a85c38ef1461007f575b5f80fd5b61004b6100b0565b604051610058919061019d565b60405180910390f35b6100696100c0565b604051610076919061019d565b60405180910390f35b610099600480360381019061009491906101ed565b6100d4565b6040516100a7929190610257565b60405180910390f35b5f8054906101000a900460ff1681565b5f805f9054906101000a900460ff16905090565b600181815481106100e3575f80fd5b905f5260205f20015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f0160149054906101000a900460ff16905082565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600381106101685761016761012a565b5b50565b5f81905061017882610157565b919050565b5f6101878261016b565b9050919050565b6101978161017d565b82525050565b5f6020820190506101b05f83018461018e565b92915050565b5f80fd5b5f819050919050565b6101cc816101ba565b81146101d6575f80fd5b50565b5f813590506101e7816101c3565b92915050565b5f60208284031215610202576102016101b6565b5b5f61020f848285016101d9565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61024182610218565b9050919050565b61025181610237565b82525050565b5f60408201905061026a5f830185610248565b610277602083018461018e565b939250505056fea2646970667358221220d6ba782fc586c46d21548eb3a5abc44e107038bcb634542fd606b5de848bf8b464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x2B4 DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x200D2ED2 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0xA85C38EF EQ PUSH2 0x7F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x69 PUSH2 0xC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x99 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x94 SWAP2 SWAP1 PUSH2 0x1ED JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP3 SWAP2 SWAP1 PUSH2 0x257 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xE3 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x168 JUMPI PUSH2 0x167 PUSH2 0x12A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP PUSH2 0x178 DUP3 PUSH2 0x157 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x187 DUP3 PUSH2 0x16B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x197 DUP2 PUSH2 0x17D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B0 PUSH0 DUP4 ADD DUP5 PUSH2 0x18E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CC DUP2 PUSH2 0x1BA JUMP JUMPDEST DUP2 EQ PUSH2 0x1D6 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E7 DUP2 PUSH2 0x1C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x202 JUMPI PUSH2 0x201 PUSH2 0x1B6 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20F DUP5 DUP3 DUP6 ADD PUSH2 0x1D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x241 DUP3 PUSH2 0x218 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x251 DUP2 PUSH2 0x237 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x26A PUSH0 DUP4 ADD DUP6 PUSH2 0x248 JUMP JUMPDEST PUSH2 0x277 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x18E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 0xBA PUSH25 0x2FC586C46D21548EB3A5ABC44E107038BCB634542FD606B5DE DUP5 DUP12 0xF8 0xB4 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "25:600:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@get_27": {
"entryPoint": 192,
"id": 27,
"parameterSlots": 0,
"returnSlots": 1
},
"@orders_18": {
"entryPoint": 212,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"@status_8": {
"entryPoint": 176,
"id": 8,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 473,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 493,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 584,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack": {
"entryPoint": 398,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_enum$_Status_$5__to_t_address_t_uint8__fromStack_reversed": {
"entryPoint": 599,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_enum$_Status_$5__to_t_uint8__fromStack_reversed": {
"entryPoint": 413,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 567,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_enum$_Status_$5": {
"entryPoint": 363,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 536,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 442,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_Status_$5_to_t_uint8": {
"entryPoint": 381,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 298,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 438,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_assert_t_enum$_Status_$5": {
"entryPoint": 343,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 451,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2690:1",
"nodeType": "YulBlock",
"src": "0:2690:1",
"statements": [
{
"body": {
"nativeSrc": "35:152:1",
"nodeType": "YulBlock",
"src": "35:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "52:1:1",
"nodeType": "YulLiteral",
"src": "52:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "55:77:1",
"nodeType": "YulLiteral",
"src": "55:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "45:6:1",
"nodeType": "YulIdentifier",
"src": "45:6:1"
},
"nativeSrc": "45:88:1",
"nodeType": "YulFunctionCall",
"src": "45:88:1"
},
"nativeSrc": "45:88:1",
"nodeType": "YulExpressionStatement",
"src": "45:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "149:1:1",
"nodeType": "YulLiteral",
"src": "149:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "152:4:1",
"nodeType": "YulLiteral",
"src": "152:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "142:6:1",
"nodeType": "YulIdentifier",
"src": "142:6:1"
},
"nativeSrc": "142:15:1",
"nodeType": "YulFunctionCall",
"src": "142:15:1"
},
"nativeSrc": "142:15:1",
"nodeType": "YulExpressionStatement",
"src": "142:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "173:1:1",
"nodeType": "YulLiteral",
"src": "173:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "176:4:1",
"nodeType": "YulLiteral",
"src": "176:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "166:6:1",
"nodeType": "YulIdentifier",
"src": "166:6:1"
},
"nativeSrc": "166:15:1",
"nodeType": "YulFunctionCall",
"src": "166:15:1"
},
"nativeSrc": "166:15:1",
"nodeType": "YulExpressionStatement",
"src": "166:15:1"
}
]
},
"name": "panic_error_0x21",
"nativeSrc": "7:180:1",
"nodeType": "YulFunctionDefinition",
"src": "7:180:1"
},
{
"body": {
"nativeSrc": "244:62:1",
"nodeType": "YulBlock",
"src": "244:62:1",
"statements": [
{
"body": {
"nativeSrc": "278:22:1",
"nodeType": "YulBlock",
"src": "278:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nativeSrc": "280:16:1",
"nodeType": "YulIdentifier",
"src": "280:16:1"
},
"nativeSrc": "280:18:1",
"nodeType": "YulFunctionCall",
"src": "280:18:1"
},
"nativeSrc": "280:18:1",
"nodeType": "YulExpressionStatement",
"src": "280:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "267:5:1",
"nodeType": "YulIdentifier",
"src": "267:5:1"
},
{
"kind": "number",
"nativeSrc": "274:1:1",
"nodeType": "YulLiteral",
"src": "274:1:1",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "264:2:1",
"nodeType": "YulIdentifier",
"src": "264:2:1"
},
"nativeSrc": "264:12:1",
"nodeType": "YulFunctionCall",
"src": "264:12:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "257:6:1",
"nodeType": "YulIdentifier",
"src": "257:6:1"
},
"nativeSrc": "257:20:1",
"nodeType": "YulFunctionCall",
"src": "257:20:1"
},
"nativeSrc": "254:46:1",
"nodeType": "YulIf",
"src": "254:46:1"
}
]
},
"name": "validator_assert_t_enum$_Status_$5",
"nativeSrc": "193:113:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "237:5:1",
"nodeType": "YulTypedName",
"src": "237:5:1",
"type": ""
}
],
"src": "193:113:1"
},
{
"body": {
"nativeSrc": "365:74:1",
"nodeType": "YulBlock",
"src": "365:74:1",
"statements": [
{
"nativeSrc": "375:16:1",
"nodeType": "YulAssignment",
"src": "375:16:1",
"value": {
"name": "value",
"nativeSrc": "386:5:1",
"nodeType": "YulIdentifier",
"src": "386:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "375:7:1",
"nodeType": "YulIdentifier",
"src": "375:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "427:5:1",
"nodeType": "YulIdentifier",
"src": "427:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_Status_$5",
"nativeSrc": "392:34:1",
"nodeType": "YulIdentifier",
"src": "392:34:1"
},
"nativeSrc": "392:41:1",
"nodeType": "YulFunctionCall",
"src": "392:41:1"
},
"nativeSrc": "392:41:1",
"nodeType": "YulExpressionStatement",
"src": "392:41:1"
}
]
},
"name": "cleanup_t_enum$_Status_$5",
"nativeSrc": "312:127:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "347:5:1",
"nodeType": "YulTypedName",
"src": "347:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "357:7:1",
"nodeType": "YulTypedName",
"src": "357:7:1",
"type": ""
}
],
"src": "312:127:1"
},
{
"body": {
"nativeSrc": "511:61:1",
"nodeType": "YulBlock",
"src": "511:61:1",
"statements": [
{
"nativeSrc": "521:45:1",
"nodeType": "YulAssignment",
"src": "521:45:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "560:5:1",
"nodeType": "YulIdentifier",
"src": "560:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_Status_$5",
"nativeSrc": "534:25:1",
"nodeType": "YulIdentifier",
"src": "534:25:1"
},
"nativeSrc": "534:32:1",
"nodeType": "YulFunctionCall",
"src": "534:32:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "521:9:1",
"nodeType": "YulIdentifier",
"src": "521:9:1"
}
]
}
]
},
"name": "convert_t_enum$_Status_$5_to_t_uint8",
"nativeSrc": "445:127:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "491:5:1",
"nodeType": "YulTypedName",
"src": "491:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "501:9:1",
"nodeType": "YulTypedName",
"src": "501:9:1",
"type": ""
}
],
"src": "445:127:1"
},
{
"body": {
"nativeSrc": "649:72:1",
"nodeType": "YulBlock",
"src": "649:72:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "666:3:1",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "708:5:1",
"nodeType": "YulIdentifier",
"src": "708:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_Status_$5_to_t_uint8",
"nativeSrc": "671:36:1",
"nodeType": "YulIdentifier",
"src": "671:36:1"
},
"nativeSrc": "671:43:1",
"nodeType": "YulFunctionCall",
"src": "671:43:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "659:6:1",
"nodeType": "YulIdentifier",
"src": "659:6:1"
},
"nativeSrc": "659:56:1",
"nodeType": "YulFunctionCall",
"src": "659:56:1"
},
"nativeSrc": "659:56:1",
"nodeType": "YulExpressionStatement",
"src": "659:56:1"
}
]
},
"name": "abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack",
"nativeSrc": "578:143:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "637:5:1",
"nodeType": "YulTypedName",
"src": "637:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "644:3:1",
"nodeType": "YulTypedName",
"src": "644:3:1",
"type": ""
}
],
"src": "578:143:1"
},
{
"body": {
"nativeSrc": "831:130:1",
"nodeType": "YulBlock",
"src": "831:130:1",
"statements": [
{
"nativeSrc": "841:26:1",
"nodeType": "YulAssignment",
"src": "841:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "853:9:1",
"nodeType": "YulIdentifier",
"src": "853:9:1"
},
{
"kind": "number",
"nativeSrc": "864:2:1",
"nodeType": "YulLiteral",
"src": "864:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "849:3:1",
"nodeType": "YulIdentifier",
"src": "849:3:1"
},
"nativeSrc": "849:18:1",
"nodeType": "YulFunctionCall",
"src": "849:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "841:4:1",
"nodeType": "YulIdentifier",
"src": "841:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "927:6:1",
"nodeType": "YulIdentifier",
"src": "927:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "940:9:1",
"nodeType": "YulIdentifier",
"src": "940:9:1"
},
{
"kind": "number",
"nativeSrc": "951:1:1",
"nodeType": "YulLiteral",
"src": "951:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "936:3:1",
"nodeType": "YulIdentifier",
"src": "936:3:1"
},
"nativeSrc": "936:17:1",
"nodeType": "YulFunctionCall",
"src": "936:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack",
"nativeSrc": "877:49:1",
"nodeType": "YulIdentifier",
"src": "877:49:1"
},
"nativeSrc": "877:77:1",
"nodeType": "YulFunctionCall",
"src": "877:77:1"
},
"nativeSrc": "877:77:1",
"nodeType": "YulExpressionStatement",
"src": "877:77:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_Status_$5__to_t_uint8__fromStack_reversed",
"nativeSrc": "727:234:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "803:9:1",
"nodeType": "YulTypedName",
"src": "803:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "815:6:1",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "826:4:1",
"nodeType": "YulTypedName",
"src": "826:4:1",
"type": ""
}
],
"src": "727:234:1"
},
{
"body": {
"nativeSrc": "1007:35:1",
"nodeType": "YulBlock",
"src": "1007:35:1",
"statements": [
{
"nativeSrc": "1017:19:1",
"nodeType": "YulAssignment",
"src": "1017:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1033:2:1",
"nodeType": "YulLiteral",
"src": "1033:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "1027:5:1",
"nodeType": "YulIdentifier",
"src": "1027:5:1"
},
"nativeSrc": "1027:9:1",
"nodeType": "YulFunctionCall",
"src": "1027:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1017:6:1",
"nodeType": "YulIdentifier",
"src": "1017:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "967:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1000:6:1",
"nodeType": "YulTypedName",
"src": "1000:6:1",
"type": ""
}
],
"src": "967:75:1"
},
{
"body": {
"nativeSrc": "1137:28:1",
"nodeType": "YulBlock",
"src": "1137:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1154:1:1",
"nodeType": "YulLiteral",
"src": "1154:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1157:1:1",
"nodeType": "YulLiteral",
"src": "1157:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1147:6:1",
"nodeType": "YulIdentifier",
"src": "1147:6:1"
},
"nativeSrc": "1147:12:1",
"nodeType": "YulFunctionCall",
"src": "1147:12:1"
},
"nativeSrc": "1147:12:1",
"nodeType": "YulExpressionStatement",
"src": "1147:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1048:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1048:117:1"
},
{
"body": {
"nativeSrc": "1260:28:1",
"nodeType": "YulBlock",
"src": "1260:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1277:1:1",
"nodeType": "YulLiteral",
"src": "1277:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1280:1:1",
"nodeType": "YulLiteral",
"src": "1280:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1270:6:1",
"nodeType": "YulIdentifier",
"src": "1270:6:1"
},
"nativeSrc": "1270:12:1",
"nodeType": "YulFunctionCall",
"src": "1270:12:1"
},
"nativeSrc": "1270:12:1",
"nodeType": "YulExpressionStatement",
"src": "1270:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1171:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1171:117:1"
},
{
"body": {
"nativeSrc": "1339:32:1",
"nodeType": "YulBlock",
"src": "1339:32:1",
"statements": [
{
"nativeSrc": "1349:16:1",
"nodeType": "YulAssignment",
"src": "1349:16:1",
"value": {
"name": "value",
"nativeSrc": "1360:5:1",
"nodeType": "YulIdentifier",
"src": "1360:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1349:7:1",
"nodeType": "YulIdentifier",
"src": "1349:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1294:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1321:5:1",
"nodeType": "YulTypedName",
"src": "1321:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1331:7:1",
"nodeType": "YulTypedName",
"src": "1331:7:1",
"type": ""
}
],
"src": "1294:77:1"
},
{
"body": {
"nativeSrc": "1420:79:1",
"nodeType": "YulBlock",
"src": "1420:79:1",
"statements": [
{
"body": {
"nativeSrc": "1477:16:1",
"nodeType": "YulBlock",
"src": "1477:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1486:1:1",
"nodeType": "YulLiteral",
"src": "1486:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1489:1:1",
"nodeType": "YulLiteral",
"src": "1489:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1479:6:1",
"nodeType": "YulIdentifier",
"src": "1479:6:1"
},
"nativeSrc": "1479:12:1",
"nodeType": "YulFunctionCall",
"src": "1479:12:1"
},
"nativeSrc": "1479:12:1",
"nodeType": "YulExpressionStatement",
"src": "1479:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1443:5:1",
"nodeType": "YulIdentifier",
"src": "1443:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1468:5:1",
"nodeType": "YulIdentifier",
"src": "1468:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1450:17:1",
"nodeType": "YulIdentifier",
"src": "1450:17:1"
},
"nativeSrc": "1450:24:1",
"nodeType": "YulFunctionCall",
"src": "1450:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1440:2:1",
"nodeType": "YulIdentifier",
"src": "1440:2:1"
},
"nativeSrc": "1440:35:1",
"nodeType": "YulFunctionCall",
"src": "1440:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1433:6:1",
"nodeType": "YulIdentifier",
"src": "1433:6:1"
},
"nativeSrc": "1433:43:1",
"nodeType": "YulFunctionCall",
"src": "1433:43:1"
},
"nativeSrc": "1430:63:1",
"nodeType": "YulIf",
"src": "1430:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "1377:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1413:5:1",
"nodeType": "YulTypedName",
"src": "1413:5:1",
"type": ""
}
],
"src": "1377:122:1"
},
{
"body": {
"nativeSrc": "1557:87:1",
"nodeType": "YulBlock",
"src": "1557:87:1",
"statements": [
{
"nativeSrc": "1567:29:1",
"nodeType": "YulAssignment",
"src": "1567:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "1589:6:1",
"nodeType": "YulIdentifier",
"src": "1589:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "1576:12:1",
"nodeType": "YulIdentifier",
"src": "1576:12:1"
},
"nativeSrc": "1576:20:1",
"nodeType": "YulFunctionCall",
"src": "1576:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1567:5:1",
"nodeType": "YulIdentifier",
"src": "1567:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1632:5:1",
"nodeType": "YulIdentifier",
"src": "1632:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "1605:26:1",
"nodeType": "YulIdentifier",
"src": "1605:26:1"
},
"nativeSrc": "1605:33:1",
"nodeType": "YulFunctionCall",
"src": "1605:33:1"
},
"nativeSrc": "1605:33:1",
"nodeType": "YulExpressionStatement",
"src": "1605:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "1505:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "1535:6:1",
"nodeType": "YulTypedName",
"src": "1535:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "1543:3:1",
"nodeType": "YulTypedName",
"src": "1543:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "1551:5:1",
"nodeType": "YulTypedName",
"src": "1551:5:1",
"type": ""
}
],
"src": "1505:139:1"
},
{
"body": {
"nativeSrc": "1716:263:1",
"nodeType": "YulBlock",
"src": "1716:263:1",
"statements": [
{
"body": {
"nativeSrc": "1762:83:1",
"nodeType": "YulBlock",
"src": "1762:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1764:77:1",
"nodeType": "YulIdentifier",
"src": "1764:77:1"
},
"nativeSrc": "1764:79:1",
"nodeType": "YulFunctionCall",
"src": "1764:79:1"
},
"nativeSrc": "1764:79:1",
"nodeType": "YulExpressionStatement",
"src": "1764:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1737:7:1",
"nodeType": "YulIdentifier",
"src": "1737:7:1"
},
{
"name": "headStart",
"nativeSrc": "1746:9:1",
"nodeType": "YulIdentifier",
"src": "1746:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1733:3:1",
"nodeType": "YulIdentifier",
"src": "1733:3:1"
},
"nativeSrc": "1733:23:1",
"nodeType": "YulFunctionCall",
"src": "1733:23:1"
},
{
"kind": "number",
"nativeSrc": "1758:2:1",
"nodeType": "YulLiteral",
"src": "1758:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1729:3:1",
"nodeType": "YulIdentifier",
"src": "1729:3:1"
},
"nativeSrc": "1729:32:1",
"nodeType": "YulFunctionCall",
"src": "1729:32:1"
},
"nativeSrc": "1726:119:1",
"nodeType": "YulIf",
"src": "1726:119:1"
},
{
"nativeSrc": "1855:117:1",
"nodeType": "YulBlock",
"src": "1855:117:1",
"statements": [
{
"nativeSrc": "1870:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1870:15:1",
"value": {
"kind": "number",
"nativeSrc": "1884:1:1",
"nodeType": "YulLiteral",
"src": "1884:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1874:6:1",
"nodeType": "YulTypedName",
"src": "1874:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1899:63:1",
"nodeType": "YulAssignment",
"src": "1899:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1934:9:1",
"nodeType": "YulIdentifier",
"src": "1934:9:1"
},
{
"name": "offset",
"nativeSrc": "1945:6:1",
"nodeType": "YulIdentifier",
"src": "1945:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1930:3:1",
"nodeType": "YulIdentifier",
"src": "1930:3:1"
},
"nativeSrc": "1930:22:1",
"nodeType": "YulFunctionCall",
"src": "1930:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1954:7:1",
"nodeType": "YulIdentifier",
"src": "1954:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "1909:20:1",
"nodeType": "YulIdentifier",
"src": "1909:20:1"
},
"nativeSrc": "1909:53:1",
"nodeType": "YulFunctionCall",
"src": "1909:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1899:6:1",
"nodeType": "YulIdentifier",
"src": "1899:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "1650:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1686:9:1",
"nodeType": "YulTypedName",
"src": "1686:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1697:7:1",
"nodeType": "YulTypedName",
"src": "1697:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1709:6:1",
"nodeType": "YulTypedName",
"src": "1709:6:1",
"type": ""
}
],
"src": "1650:329:1"
},
{
"body": {
"nativeSrc": "2030:81:1",
"nodeType": "YulBlock",
"src": "2030:81:1",
"statements": [
{
"nativeSrc": "2040:65:1",
"nodeType": "YulAssignment",
"src": "2040:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "2055:5:1",
"nodeType": "YulIdentifier",
"src": "2055:5:1"
},
{
"kind": "number",
"nativeSrc": "2062:42:1",
"nodeType": "YulLiteral",
"src": "2062:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "2051:3:1",
"nodeType": "YulIdentifier",
"src": "2051:3:1"
},
"nativeSrc": "2051:54:1",
"nodeType": "YulFunctionCall",
"src": "2051:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2040:7:1",
"nodeType": "YulIdentifier",
"src": "2040:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1985:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2012:5:1",
"nodeType": "YulTypedName",
"src": "2012:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2022:7:1",
"nodeType": "YulTypedName",
"src": "2022:7:1",
"type": ""
}
],
"src": "1985:126:1"
},
{
"body": {
"nativeSrc": "2162:51:1",
"nodeType": "YulBlock",
"src": "2162:51:1",
"statements": [
{
"nativeSrc": "2172:35:1",
"nodeType": "YulAssignment",
"src": "2172:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "2201:5:1",
"nodeType": "YulIdentifier",
"src": "2201:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "2183:17:1",
"nodeType": "YulIdentifier",
"src": "2183:17:1"
},
"nativeSrc": "2183:24:1",
"nodeType": "YulFunctionCall",
"src": "2183:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "2172:7:1",
"nodeType": "YulIdentifier",
"src": "2172:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "2117:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2144:5:1",
"nodeType": "YulTypedName",
"src": "2144:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "2154:7:1",
"nodeType": "YulTypedName",
"src": "2154:7:1",
"type": ""
}
],
"src": "2117:96:1"
},
{
"body": {
"nativeSrc": "2284:53:1",
"nodeType": "YulBlock",
"src": "2284:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2301:3:1",
"nodeType": "YulIdentifier",
"src": "2301:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "2324:5:1",
"nodeType": "YulIdentifier",
"src": "2324:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "2306:17:1",
"nodeType": "YulIdentifier",
"src": "2306:17:1"
},
"nativeSrc": "2306:24:1",
"nodeType": "YulFunctionCall",
"src": "2306:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2294:6:1",
"nodeType": "YulIdentifier",
"src": "2294:6:1"
},
"nativeSrc": "2294:37:1",
"nodeType": "YulFunctionCall",
"src": "2294:37:1"
},
"nativeSrc": "2294:37:1",
"nodeType": "YulExpressionStatement",
"src": "2294:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "2219:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2272:5:1",
"nodeType": "YulTypedName",
"src": "2272:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "2279:3:1",
"nodeType": "YulTypedName",
"src": "2279:3:1",
"type": ""
}
],
"src": "2219:118:1"
},
{
"body": {
"nativeSrc": "2475:212:1",
"nodeType": "YulBlock",
"src": "2475:212:1",
"statements": [
{
"nativeSrc": "2485:26:1",
"nodeType": "YulAssignment",
"src": "2485:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2497:9:1",
"nodeType": "YulIdentifier",
"src": "2497:9:1"
},
{
"kind": "number",
"nativeSrc": "2508:2:1",
"nodeType": "YulLiteral",
"src": "2508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2493:3:1",
"nodeType": "YulIdentifier",
"src": "2493:3:1"
},
"nativeSrc": "2493:18:1",
"nodeType": "YulFunctionCall",
"src": "2493:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2485:4:1",
"nodeType": "YulIdentifier",
"src": "2485:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "2565:6:1",
"nodeType": "YulIdentifier",
"src": "2565:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2578:9:1",
"nodeType": "YulIdentifier",
"src": "2578:9:1"
},
{
"kind": "number",
"nativeSrc": "2589:1:1",
"nodeType": "YulLiteral",
"src": "2589:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2574:3:1",
"nodeType": "YulIdentifier",
"src": "2574:3:1"
},
"nativeSrc": "2574:17:1",
"nodeType": "YulFunctionCall",
"src": "2574:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "2521:43:1",
"nodeType": "YulIdentifier",
"src": "2521:43:1"
},
"nativeSrc": "2521:71:1",
"nodeType": "YulFunctionCall",
"src": "2521:71:1"
},
"nativeSrc": "2521:71:1",
"nodeType": "YulExpressionStatement",
"src": "2521:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "2652:6:1",
"nodeType": "YulIdentifier",
"src": "2652:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2665:9:1",
"nodeType": "YulIdentifier",
"src": "2665:9:1"
},
{
"kind": "number",
"nativeSrc": "2676:2:1",
"nodeType": "YulLiteral",
"src": "2676:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2661:3:1",
"nodeType": "YulIdentifier",
"src": "2661:3:1"
},
"nativeSrc": "2661:18:1",
"nodeType": "YulFunctionCall",
"src": "2661:18:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack",
"nativeSrc": "2602:49:1",
"nodeType": "YulIdentifier",
"src": "2602:49:1"
},
"nativeSrc": "2602:78:1",
"nodeType": "YulFunctionCall",
"src": "2602:78:1"
},
"nativeSrc": "2602:78:1",
"nodeType": "YulExpressionStatement",
"src": "2602:78:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_enum$_Status_$5__to_t_address_t_uint8__fromStack_reversed",
"nativeSrc": "2343:344:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2439:9:1",
"nodeType": "YulTypedName",
"src": "2439:9:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2451:6:1",
"nodeType": "YulTypedName",
"src": "2451:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "2459:6:1",
"nodeType": "YulTypedName",
"src": "2459:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2470:4:1",
"nodeType": "YulTypedName",
"src": "2470:4:1",
"type": ""
}
],
"src": "2343:344:1"
}
]
},
"contents": "{\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_Status_$5(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_Status_$5(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Status_$5(value)\n }\n\n function convert_t_enum$_Status_$5_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Status_$5(value)\n }\n\n function abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Status_$5_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_Status_$5__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_enum$_Status_$5__to_t_address_t_uint8__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_enum$_Status_$5_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063200d2ed2146100435780636d4ce63c14610061578063a85c38ef1461007f575b5f80fd5b61004b6100b0565b604051610058919061019d565b60405180910390f35b6100696100c0565b604051610076919061019d565b60405180910390f35b610099600480360381019061009491906101ed565b6100d4565b6040516100a7929190610257565b60405180910390f35b5f8054906101000a900460ff1681565b5f805f9054906101000a900460ff16905090565b600181815481106100e3575f80fd5b905f5260205f20015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690805f0160149054906101000a900460ff16905082565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600381106101685761016761012a565b5b50565b5f81905061017882610157565b919050565b5f6101878261016b565b9050919050565b6101978161017d565b82525050565b5f6020820190506101b05f83018461018e565b92915050565b5f80fd5b5f819050919050565b6101cc816101ba565b81146101d6575f80fd5b50565b5f813590506101e7816101c3565b92915050565b5f60208284031215610202576102016101b6565b5b5f61020f848285016101d9565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61024182610218565b9050919050565b61025181610237565b82525050565b5f60408201905061026a5f830185610248565b610277602083018461018e565b939250505056fea2646970667358221220d6ba782fc586c46d21548eb3a5abc44e107038bcb634542fd606b5de848bf8b464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x200D2ED2 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0xA85C38EF EQ PUSH2 0x7F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0xB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x69 PUSH2 0xC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x19D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x99 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x94 SWAP2 SWAP1 PUSH2 0x1ED JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP3 SWAP2 SWAP1 PUSH2 0x257 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xE3 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x168 JUMPI PUSH2 0x167 PUSH2 0x12A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP PUSH2 0x178 DUP3 PUSH2 0x157 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x187 DUP3 PUSH2 0x16B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x197 DUP2 PUSH2 0x17D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B0 PUSH0 DUP4 ADD DUP5 PUSH2 0x18E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CC DUP2 PUSH2 0x1BA JUMP JUMPDEST DUP2 EQ PUSH2 0x1D6 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E7 DUP2 PUSH2 0x1C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x202 JUMPI PUSH2 0x201 PUSH2 0x1B6 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20F DUP5 DUP3 DUP6 ADD PUSH2 0x1D9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x241 DUP3 PUSH2 0x218 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x251 DUP2 PUSH2 0x237 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x26A PUSH0 DUP4 ADD DUP6 PUSH2 0x248 JUMP JUMPDEST PUSH2 0x277 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x18E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 0xBA PUSH25 0x2FC586C46D21548EB3A5ABC44E107038BCB634542FD606B5DE DUP5 DUP12 0xF8 0xB4 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "25:600:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;151:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;545:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;403:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;151:20;;;;;;;;;;;;:::o;545:77::-;585:6;609;;;;;;;;;;;602:13;;545:77;:::o;403:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:180:1:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:113;274:1;267:5;264:12;254:46;;280:18;;:::i;:::-;254:46;193:113;:::o;312:127::-;357:7;386:5;375:16;;392:41;427:5;392:41;:::i;:::-;312:127;;;:::o;445:::-;501:9;534:32;560:5;534:32;:::i;:::-;521:45;;445:127;;;:::o;578:143::-;671:43;708:5;671:43;:::i;:::-;666:3;659:56;578:143;;:::o;727:234::-;826:4;864:2;853:9;849:18;841:26;;877:77;951:1;940:9;936:17;927:6;877:77;:::i;:::-;727:234;;;;:::o;1048:117::-;1157:1;1154;1147:12;1294:77;1331:7;1360:5;1349:16;;1294:77;;;:::o;1377:122::-;1450:24;1468:5;1450:24;:::i;:::-;1443:5;1440:35;1430:63;;1489:1;1486;1479:12;1430:63;1377:122;:::o;1505:139::-;1551:5;1589:6;1576:20;1567:29;;1605:33;1632:5;1605:33;:::i;:::-;1505:139;;;;:::o;1650:329::-;1709:6;1758:2;1746:9;1737:7;1733:23;1729:32;1726:119;;;1764:79;;:::i;:::-;1726:119;1884:1;1909:53;1954:7;1945:6;1934:9;1930:22;1909:53;:::i;:::-;1899:63;;1855:117;1650:329;;;;:::o;1985:126::-;2022:7;2062:42;2055:5;2051:54;2040:65;;1985:126;;;:::o;2117:96::-;2154:7;2183:24;2201:5;2183:24;:::i;:::-;2172:35;;2117:96;;;:::o;2219:118::-;2306:24;2324:5;2306:24;:::i;:::-;2301:3;2294:37;2219:118;;:::o;2343:344::-;2470:4;2508:2;2497:9;2493:18;2485:26;;2521:71;2589:1;2578:9;2574:17;2565:6;2521:71;:::i;:::-;2602:78;2676:2;2665:9;2661:18;2652:6;2602:78;:::i;:::-;2343:344;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "138400",
"executionCost": "181",
"totalCost": "138581"
},
"external": {
"get()": "2561",
"orders(uint256)": "7379",
"status()": "2529"
}
},
"methodIdentifiers": {
"get()": "6d4ce63c",
"orders(uint256)": "a85c38ef",
"status()": "200d2ed2"
}
},
"abi": [
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "orders",
"outputs": [
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "enum Enum.Status",
"name": "status",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "status",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b5061016b8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80630dbe671f1461004357806360fe47b1146100615780636d4ce63c1461007d575b5f80fd5b61004b61009b565b60405161005891906100c3565b60405180910390f35b61007b6004803603810190610076919061010a565b6100a0565b005b6100856100a3565b60405161009291906100c3565b60405180910390f35b5f5481565b50565b5f8054905090565b5f819050919050565b6100bd816100ab565b82525050565b5f6020820190506100d65f8301846100b4565b92915050565b5f80fd5b6100e9816100ab565b81146100f3575f80fd5b50565b5f81359050610104816100e0565b92915050565b5f6020828403121561011f5761011e6100dc565b5b5f61012c848285016100f6565b9150509291505056fea26469706673582212207e76911fe8160c9d60bc326e74e2ada63ee53d40777f8ea2d0c27e07446f5eab64736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xDBE671F EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x60FE47B1 EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x7D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x10A JUMP JUMPDEST PUSH2 0xA0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0xA3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBD DUP2 PUSH2 0xAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD6 PUSH0 DUP4 ADD DUP5 PUSH2 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xE9 DUP2 PUSH2 0xAB JUMP JUMPDEST DUP2 EQ PUSH2 0xF3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x104 DUP2 PUSH2 0xE0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xDC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x12C DUP5 DUP3 DUP6 ADD PUSH2 0xF6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH31 0x76911FE8160C9D60BC326E74E2ADA63EE53D40777F8EA2D0C27E07446F5EAB PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "56:182:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@a_3": {
"entryPoint": 155,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@get_21": {
"entryPoint": 163,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"@set_13": {
"entryPoint": 160,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 246,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 266,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 180,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 195,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 171,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 220,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 224,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1374:1",
"nodeType": "YulBlock",
"src": "0:1374:1",
"statements": [
{
"body": {
"nativeSrc": "52:32:1",
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nativeSrc": "62:16:1",
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nativeSrc": "73:5:1",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:1",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "7:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:1",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:1",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nativeSrc": "155:53:1",
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "172:3:1",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "195:5:1",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "177:17:1",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nativeSrc": "177:24:1",
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "165:6:1",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "90:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "143:5:1",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "150:3:1",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nativeSrc": "312:124:1",
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nativeSrc": "322:26:1",
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "334:9:1",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nativeSrc": "345:2:1",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "330:3:1",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nativeSrc": "330:18:1",
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "322:4:1",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "402:6:1",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "415:9:1",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nativeSrc": "426:1:1",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "411:3:1",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nativeSrc": "411:17:1",
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "358:43:1",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "214:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "284:9:1",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "296:6:1",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "307:4:1",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nativeSrc": "482:35:1",
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nativeSrc": "492:19:1",
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "508:2:1",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "502:5:1",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nativeSrc": "502:9:1",
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "492:6:1",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "442:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "475:6:1",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nativeSrc": "612:28:1",
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "629:1:1",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "632:1:1",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "622:6:1",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "523:117:1",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nativeSrc": "735:28:1",
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "752:1:1",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "755:1:1",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "745:6:1",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "646:117:1",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nativeSrc": "812:79:1",
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nativeSrc": "869:16:1",
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "878:1:1",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "881:1:1",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "871:6:1",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "835:5:1",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "860:5:1",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "842:17:1",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nativeSrc": "842:24:1",
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "832:2:1",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nativeSrc": "832:35:1",
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "825:6:1",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nativeSrc": "825:43:1",
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nativeSrc": "822:63:1",
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "769:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "805:5:1",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nativeSrc": "949:87:1",
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nativeSrc": "959:29:1",
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "981:6:1",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "968:12:1",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nativeSrc": "968:20:1",
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "959:5:1",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1024:5:1",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "997:26:1",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "897:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "927:6:1",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "935:3:1",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "943:5:1",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nativeSrc": "1108:263:1",
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nativeSrc": "1154:83:1",
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1156:77:1",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1129:7:1",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nativeSrc": "1138:9:1",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1125:3:1",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nativeSrc": "1125:23:1",
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nativeSrc": "1150:2:1",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1121:3:1",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nativeSrc": "1121:32:1",
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nativeSrc": "1118:119:1",
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nativeSrc": "1247:117:1",
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nativeSrc": "1262:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nativeSrc": "1276:1:1",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1266:6:1",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1291:63:1",
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1326:9:1",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1322:3:1",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nativeSrc": "1322:22:1",
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1346:7:1",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "1301:20:1",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nativeSrc": "1301:53:1",
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1291:6:1",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "1042:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1078:9:1",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1089:7:1",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1101:6:1",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := 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_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 revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061003f575f3560e01c80630dbe671f1461004357806360fe47b1146100615780636d4ce63c1461007d575b5f80fd5b61004b61009b565b60405161005891906100c3565b60405180910390f35b61007b6004803603810190610076919061010a565b6100a0565b005b6100856100a3565b60405161009291906100c3565b60405180910390f35b5f5481565b50565b5f8054905090565b5f819050919050565b6100bd816100ab565b82525050565b5f6020820190506100d65f8301846100b4565b92915050565b5f80fd5b6100e9816100ab565b81146100f3575f80fd5b50565b5f81359050610104816100e0565b92915050565b5f6020828403121561011f5761011e6100dc565b5b5f61012c848285016100f6565b9150509291505056fea26469706673582212207e76911fe8160c9d60bc326e74e2ada63ee53d40777f8ea2d0c27e07446f5eab64736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xDBE671F EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x60FE47B1 EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x7D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x76 SWAP2 SWAP1 PUSH2 0x10A JUMP JUMPDEST PUSH2 0xA0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0xA3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x92 SWAP2 SWAP1 PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBD DUP2 PUSH2 0xAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD6 PUSH0 DUP4 ADD DUP5 PUSH2 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xE9 DUP2 PUSH2 0xAB JUMP JUMPDEST DUP2 EQ PUSH2 0xF3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x104 DUP2 PUSH2 0xE0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11F JUMPI PUSH2 0x11E PUSH2 0xDC JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x12C DUP5 DUP3 DUP6 ADD PUSH2 0xF6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH31 0x76911FE8160C9D60BC326E74E2ADA63EE53D40777F8EA2D0C27E07446F5EAB PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "56:182:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;168:68;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;82:13;;;;:::o;102:59::-;;:::o;168:68::-;205:4;228:1;;221:8;;168:68;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "72600",
"executionCost": "121",
"totalCost": "72721"
},
"external": {
"a()": "2402",
"get()": "2454",
"set(uint256)": "401"
}
},
"methodIdentifiers": {
"a()": "0dbe671f",
"get()": "6d4ce63c",
"set(uint256)": "60fe47b1"
}
},
"abi": [
{
"inputs": [],
"name": "a",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_a",
"type": "uint256"
}
],
"name": "set",
"outputs": [],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "a",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_a",
"type": "uint256"
}
],
"name": "set",
"outputs": [],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/1Enum.sol": "Enum1"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/1Enum.sol": {
"keccak256": "0x840a2b171b79fef6dfddfeea7a70aa6a54495dc30d1aff9d0c9552636705dab6",
"license": "MIT",
"urls": [
"bzz-raw://b473260d52b9ee02b1b0ac0f7ae80069ab69dd6fff0cad9fb6f397c2db04dc5f",
"dweb:/ipfs/QmTFjAANsyZSN2eRbo6krxKxpYZQbHQZ3yAahLyG1TYwH1"
]
}
},
"version": 1
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "orders",
"outputs": [
{
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"internalType": "enum Enum.Status",
"name": "status",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "status",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/Enum.sol": "Enum"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/Enum.sol": {
"keccak256": "0x85ef7bfc4bd75629d64d73a5c7445fed4ac17ad6ea2144b64674dee6a80708db",
"urls": [
"bzz-raw://5d8a06a31cc82c418e454e518d81c8d67b75fcfa182775fb5e4f8d7a081cf7a2",
"dweb:/ipfs/Qmenop2vBqxsMg69eLdYcqLyLwHZAuPY66RnwEJiQDLifh"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_15": {
"entryPoint": null,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061036b8061005b5f395ff3fe608060405260043610610037575f3560e01c80632e1a7d4d146100425780638da5cb5b1461006a578063d228d484146100945761003e565b3661003e57005b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610212565b6100be565b005b348015610075575f80fd5b5061007e6101b1565b60405161008b919061027c565b60405180910390f35b34801561009f575f80fd5b506100a86101d4565b6040516100b591906102a4565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610317565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156101ad573d5f803e3d5ffd5b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f47905090565b5f80fd5b5f819050919050565b6101f1816101df565b81146101fb575f80fd5b50565b5f8135905061020c816101e8565b92915050565b5f60208284031215610227576102266101db565b5b5f610234848285016101fe565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102668261023d565b9050919050565b6102768161025c565b82525050565b5f60208201905061028f5f83018461026d565b92915050565b61029e816101df565b82525050565b5f6020820190506102b75f830184610295565b92915050565b5f82825260208201905092915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f610301600d836102bd565b915061030c826102cd565b602082019050919050565b5f6020820190508181035f83015261032e816102f5565b905091905056fea2646970667358221220ab1490f608534cbe407c5afa8005b4b1d438aeecaadafa27cc72f2eab6bb5f1864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP CALLER PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x36B DUP1 PUSH2 0x5B PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x42 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0xD228D484 EQ PUSH2 0x94 JUMPI PUSH2 0x3E JUMP JUMPDEST CALLDATASIZE PUSH2 0x3E JUMPI STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x212 JUMP JUMPDEST PUSH2 0xBE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x27C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA8 PUSH2 0x1D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x317 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F1 DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x1FB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20C DUP2 PUSH2 0x1E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x227 JUMPI PUSH2 0x226 PUSH2 0x1DB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x234 DUP5 DUP3 DUP6 ADD PUSH2 0x1FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x266 DUP3 PUSH2 0x23D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x276 DUP2 PUSH2 0x25C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x28F PUSH0 DUP4 ADD DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x29E DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2B7 PUSH0 DUP4 ADD DUP5 PUSH2 0x295 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420746865206F776E657200000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x301 PUSH1 0xD DUP4 PUSH2 0x2BD JUMP JUMPDEST SWAP2 POP PUSH2 0x30C DUP3 PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x32E DUP2 PUSH2 0x2F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAB EQ SWAP1 0xF6 ADDMOD MSTORE8 0x4C 0xBE BLOCKHASH PUSH29 0x5AFA8005B4B1D438AEECAADAFA27CC72F2EAB6BB5F1864736F6C634300 ADDMOD BYTE STOP CALLER ",
"sourceMap": "58:682:0:-:0;;;189:77;;;;;;;;;;248:10;230:5;;:29;;;;;;;;;;;;;;;;;;58:682;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_19": {
"entryPoint": null,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"@getBanlance_51": {
"entryPoint": 468,
"id": 51,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_3": {
"entryPoint": 433,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@withdraw_39": {
"entryPoint": 190,
"id": 39,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 510,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 530,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_payable_to_t_address_payable_fromStack": {
"entryPoint": 621,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5_to_t_string_memory_ptr_fromStack": {
"entryPoint": 757,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 661,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": {
"entryPoint": 636,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 791,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 676,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 701,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 604,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 573,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 479,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 475,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5": {
"entryPoint": 717,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 488,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:3165:1",
"nodeType": "YulBlock",
"src": "0:3165:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1070:81:1",
"nodeType": "YulBlock",
"src": "1070:81:1",
"statements": [
{
"nativeSrc": "1080:65:1",
"nodeType": "YulAssignment",
"src": "1080:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1095:5:1",
"nodeType": "YulIdentifier",
"src": "1095:5:1"
},
{
"kind": "number",
"nativeSrc": "1102:42:1",
"nodeType": "YulLiteral",
"src": "1102:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1091:3:1",
"nodeType": "YulIdentifier",
"src": "1091:3:1"
},
"nativeSrc": "1091:54:1",
"nodeType": "YulFunctionCall",
"src": "1091:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1080:7:1",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "1025:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1052:5:1",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1062:7:1",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:126:1"
},
{
"body": {
"nativeSrc": "1210:51:1",
"nodeType": "YulBlock",
"src": "1210:51:1",
"statements": [
{
"nativeSrc": "1220:35:1",
"nodeType": "YulAssignment",
"src": "1220:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1249:5:1",
"nodeType": "YulIdentifier",
"src": "1249:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "1231:17:1",
"nodeType": "YulIdentifier",
"src": "1231:17:1"
},
"nativeSrc": "1231:24:1",
"nodeType": "YulFunctionCall",
"src": "1231:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1220:7:1",
"nodeType": "YulIdentifier",
"src": "1220:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nativeSrc": "1157:104:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1192:5:1",
"nodeType": "YulTypedName",
"src": "1192:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1202:7:1",
"nodeType": "YulTypedName",
"src": "1202:7:1",
"type": ""
}
],
"src": "1157:104:1"
},
{
"body": {
"nativeSrc": "1348:61:1",
"nodeType": "YulBlock",
"src": "1348:61:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1365:3:1",
"nodeType": "YulIdentifier",
"src": "1365:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1396:5:1",
"nodeType": "YulIdentifier",
"src": "1396:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nativeSrc": "1370:25:1",
"nodeType": "YulIdentifier",
"src": "1370:25:1"
},
"nativeSrc": "1370:32:1",
"nodeType": "YulFunctionCall",
"src": "1370:32:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1358:6:1",
"nodeType": "YulIdentifier",
"src": "1358:6:1"
},
"nativeSrc": "1358:45:1",
"nodeType": "YulFunctionCall",
"src": "1358:45:1"
},
"nativeSrc": "1358:45:1",
"nodeType": "YulExpressionStatement",
"src": "1358:45:1"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nativeSrc": "1267:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1336:5:1",
"nodeType": "YulTypedName",
"src": "1336:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1343:3:1",
"nodeType": "YulTypedName",
"src": "1343:3:1",
"type": ""
}
],
"src": "1267:142:1"
},
{
"body": {
"nativeSrc": "1529:140:1",
"nodeType": "YulBlock",
"src": "1529:140:1",
"statements": [
{
"nativeSrc": "1539:26:1",
"nodeType": "YulAssignment",
"src": "1539:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1551:9:1",
"nodeType": "YulIdentifier",
"src": "1551:9:1"
},
{
"kind": "number",
"nativeSrc": "1562:2:1",
"nodeType": "YulLiteral",
"src": "1562:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1547:3:1",
"nodeType": "YulIdentifier",
"src": "1547:3:1"
},
"nativeSrc": "1547:18:1",
"nodeType": "YulFunctionCall",
"src": "1547:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1539:4:1",
"nodeType": "YulIdentifier",
"src": "1539:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1635:6:1",
"nodeType": "YulIdentifier",
"src": "1635:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1648:9:1",
"nodeType": "YulIdentifier",
"src": "1648:9:1"
},
{
"kind": "number",
"nativeSrc": "1659:1:1",
"nodeType": "YulLiteral",
"src": "1659:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1644:3:1",
"nodeType": "YulIdentifier",
"src": "1644:3:1"
},
"nativeSrc": "1644:17:1",
"nodeType": "YulFunctionCall",
"src": "1644:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack",
"nativeSrc": "1575:59:1",
"nodeType": "YulIdentifier",
"src": "1575:59:1"
},
"nativeSrc": "1575:87:1",
"nodeType": "YulFunctionCall",
"src": "1575:87:1"
},
"nativeSrc": "1575:87:1",
"nodeType": "YulExpressionStatement",
"src": "1575:87:1"
}
]
},
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed",
"nativeSrc": "1415:254:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1501:9:1",
"nodeType": "YulTypedName",
"src": "1501:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1513:6:1",
"nodeType": "YulTypedName",
"src": "1513:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1524:4:1",
"nodeType": "YulTypedName",
"src": "1524:4:1",
"type": ""
}
],
"src": "1415:254:1"
},
{
"body": {
"nativeSrc": "1740:53:1",
"nodeType": "YulBlock",
"src": "1740:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1757:3:1",
"nodeType": "YulIdentifier",
"src": "1757:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1780:5:1",
"nodeType": "YulIdentifier",
"src": "1780:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1762:17:1",
"nodeType": "YulIdentifier",
"src": "1762:17:1"
},
"nativeSrc": "1762:24:1",
"nodeType": "YulFunctionCall",
"src": "1762:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1750:6:1",
"nodeType": "YulIdentifier",
"src": "1750:6:1"
},
"nativeSrc": "1750:37:1",
"nodeType": "YulFunctionCall",
"src": "1750:37:1"
},
"nativeSrc": "1750:37:1",
"nodeType": "YulExpressionStatement",
"src": "1750:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1675:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1728:5:1",
"nodeType": "YulTypedName",
"src": "1728:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1735:3:1",
"nodeType": "YulTypedName",
"src": "1735:3:1",
"type": ""
}
],
"src": "1675:118:1"
},
{
"body": {
"nativeSrc": "1897:124:1",
"nodeType": "YulBlock",
"src": "1897:124:1",
"statements": [
{
"nativeSrc": "1907:26:1",
"nodeType": "YulAssignment",
"src": "1907:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1919:9:1",
"nodeType": "YulIdentifier",
"src": "1919:9:1"
},
{
"kind": "number",
"nativeSrc": "1930:2:1",
"nodeType": "YulLiteral",
"src": "1930:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1915:3:1",
"nodeType": "YulIdentifier",
"src": "1915:3:1"
},
"nativeSrc": "1915:18:1",
"nodeType": "YulFunctionCall",
"src": "1915:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1907:4:1",
"nodeType": "YulIdentifier",
"src": "1907:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1987:6:1",
"nodeType": "YulIdentifier",
"src": "1987:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2000:9:1",
"nodeType": "YulIdentifier",
"src": "2000:9:1"
},
{
"kind": "number",
"nativeSrc": "2011:1:1",
"nodeType": "YulLiteral",
"src": "2011:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1996:3:1",
"nodeType": "YulIdentifier",
"src": "1996:3:1"
},
"nativeSrc": "1996:17:1",
"nodeType": "YulFunctionCall",
"src": "1996:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1943:43:1",
"nodeType": "YulIdentifier",
"src": "1943:43:1"
},
"nativeSrc": "1943:71:1",
"nodeType": "YulFunctionCall",
"src": "1943:71:1"
},
"nativeSrc": "1943:71:1",
"nodeType": "YulExpressionStatement",
"src": "1943:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1799:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1869:9:1",
"nodeType": "YulTypedName",
"src": "1869:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1881:6:1",
"nodeType": "YulTypedName",
"src": "1881:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1892:4:1",
"nodeType": "YulTypedName",
"src": "1892:4:1",
"type": ""
}
],
"src": "1799:222:1"
},
{
"body": {
"nativeSrc": "2123:73:1",
"nodeType": "YulBlock",
"src": "2123:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2140:3:1",
"nodeType": "YulIdentifier",
"src": "2140:3:1"
},
{
"name": "length",
"nativeSrc": "2145:6:1",
"nodeType": "YulIdentifier",
"src": "2145:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2133:6:1",
"nodeType": "YulIdentifier",
"src": "2133:6:1"
},
"nativeSrc": "2133:19:1",
"nodeType": "YulFunctionCall",
"src": "2133:19:1"
},
"nativeSrc": "2133:19:1",
"nodeType": "YulExpressionStatement",
"src": "2133:19:1"
},
{
"nativeSrc": "2161:29:1",
"nodeType": "YulAssignment",
"src": "2161:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2180:3:1",
"nodeType": "YulIdentifier",
"src": "2180:3:1"
},
{
"kind": "number",
"nativeSrc": "2185:4:1",
"nodeType": "YulLiteral",
"src": "2185:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2176:3:1",
"nodeType": "YulIdentifier",
"src": "2176:3:1"
},
"nativeSrc": "2176:14:1",
"nodeType": "YulFunctionCall",
"src": "2176:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "2161:11:1",
"nodeType": "YulIdentifier",
"src": "2161:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2027:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2095:3:1",
"nodeType": "YulTypedName",
"src": "2095:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2100:6:1",
"nodeType": "YulTypedName",
"src": "2100:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "2111:11:1",
"nodeType": "YulTypedName",
"src": "2111:11:1",
"type": ""
}
],
"src": "2027:169:1"
},
{
"body": {
"nativeSrc": "2308:57:1",
"nodeType": "YulBlock",
"src": "2308:57:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2330:6:1",
"nodeType": "YulIdentifier",
"src": "2330:6:1"
},
{
"kind": "number",
"nativeSrc": "2338:1:1",
"nodeType": "YulLiteral",
"src": "2338:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2326:3:1",
"nodeType": "YulIdentifier",
"src": "2326:3:1"
},
"nativeSrc": "2326:14:1",
"nodeType": "YulFunctionCall",
"src": "2326:14:1"
},
{
"hexValue": "4e6f7420746865206f776e6572",
"kind": "string",
"nativeSrc": "2342:15:1",
"nodeType": "YulLiteral",
"src": "2342:15:1",
"type": "",
"value": "Not the owner"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2319:6:1",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
},
"nativeSrc": "2319:39:1",
"nodeType": "YulFunctionCall",
"src": "2319:39:1"
},
"nativeSrc": "2319:39:1",
"nodeType": "YulExpressionStatement",
"src": "2319:39:1"
}
]
},
"name": "store_literal_in_memory_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5",
"nativeSrc": "2202:163:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "2300:6:1",
"nodeType": "YulTypedName",
"src": "2300:6:1",
"type": ""
}
],
"src": "2202:163:1"
},
{
"body": {
"nativeSrc": "2517:220:1",
"nodeType": "YulBlock",
"src": "2517:220:1",
"statements": [
{
"nativeSrc": "2527:74:1",
"nodeType": "YulAssignment",
"src": "2527:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2593:3:1",
"nodeType": "YulIdentifier",
"src": "2593:3:1"
},
{
"kind": "number",
"nativeSrc": "2598:2:1",
"nodeType": "YulLiteral",
"src": "2598:2:1",
"type": "",
"value": "13"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2534:58:1",
"nodeType": "YulIdentifier",
"src": "2534:58:1"
},
"nativeSrc": "2534:67:1",
"nodeType": "YulFunctionCall",
"src": "2534:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2527:3:1",
"nodeType": "YulIdentifier",
"src": "2527:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2699:3:1",
"nodeType": "YulIdentifier",
"src": "2699:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5",
"nativeSrc": "2610:88:1",
"nodeType": "YulIdentifier",
"src": "2610:88:1"
},
"nativeSrc": "2610:93:1",
"nodeType": "YulFunctionCall",
"src": "2610:93:1"
},
"nativeSrc": "2610:93:1",
"nodeType": "YulExpressionStatement",
"src": "2610:93:1"
},
{
"nativeSrc": "2712:19:1",
"nodeType": "YulAssignment",
"src": "2712:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2723:3:1",
"nodeType": "YulIdentifier",
"src": "2723:3:1"
},
{
"kind": "number",
"nativeSrc": "2728:2:1",
"nodeType": "YulLiteral",
"src": "2728:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2719:3:1",
"nodeType": "YulIdentifier",
"src": "2719:3:1"
},
"nativeSrc": "2719:12:1",
"nodeType": "YulFunctionCall",
"src": "2719:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2712:3:1",
"nodeType": "YulIdentifier",
"src": "2712:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "2371:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2505:3:1",
"nodeType": "YulTypedName",
"src": "2505:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2513:3:1",
"nodeType": "YulTypedName",
"src": "2513:3:1",
"type": ""
}
],
"src": "2371:366:1"
},
{
"body": {
"nativeSrc": "2914:248:1",
"nodeType": "YulBlock",
"src": "2914:248:1",
"statements": [
{
"nativeSrc": "2924:26:1",
"nodeType": "YulAssignment",
"src": "2924:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "2936:9:1",
"nodeType": "YulIdentifier",
"src": "2936:9:1"
},
{
"kind": "number",
"nativeSrc": "2947:2:1",
"nodeType": "YulLiteral",
"src": "2947:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2932:3:1",
"nodeType": "YulIdentifier",
"src": "2932:3:1"
},
"nativeSrc": "2932:18:1",
"nodeType": "YulFunctionCall",
"src": "2932:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "2924:4:1",
"nodeType": "YulIdentifier",
"src": "2924:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "2971:9:1",
"nodeType": "YulIdentifier",
"src": "2971:9:1"
},
{
"kind": "number",
"nativeSrc": "2982:1:1",
"nodeType": "YulLiteral",
"src": "2982:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2967:3:1",
"nodeType": "YulIdentifier",
"src": "2967:3:1"
},
"nativeSrc": "2967:17:1",
"nodeType": "YulFunctionCall",
"src": "2967:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "2990:4:1",
"nodeType": "YulIdentifier",
"src": "2990:4:1"
},
{
"name": "headStart",
"nativeSrc": "2996:9:1",
"nodeType": "YulIdentifier",
"src": "2996:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "2986:3:1",
"nodeType": "YulIdentifier",
"src": "2986:3:1"
},
"nativeSrc": "2986:20:1",
"nodeType": "YulFunctionCall",
"src": "2986:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2960:6:1",
"nodeType": "YulIdentifier",
"src": "2960:6:1"
},
"nativeSrc": "2960:47:1",
"nodeType": "YulFunctionCall",
"src": "2960:47:1"
},
"nativeSrc": "2960:47:1",
"nodeType": "YulExpressionStatement",
"src": "2960:47:1"
},
{
"nativeSrc": "3016:139:1",
"nodeType": "YulAssignment",
"src": "3016:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "3150:4:1",
"nodeType": "YulIdentifier",
"src": "3150:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5_to_t_string_memory_ptr_fromStack",
"nativeSrc": "3024:124:1",
"nodeType": "YulIdentifier",
"src": "3024:124:1"
},
"nativeSrc": "3024:131:1",
"nodeType": "YulFunctionCall",
"src": "3024:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3016:4:1",
"nodeType": "YulIdentifier",
"src": "3016:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "2743:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2894:9:1",
"nodeType": "YulTypedName",
"src": "2894:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "2909:4:1",
"nodeType": "YulTypedName",
"src": "2909:4:1",
"type": ""
}
],
"src": "2743:419:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 store_literal_in_memory_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5(memPtr) {\n\n mstore(add(memPtr, 0), \"Not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 13)\n store_literal_in_memory_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5__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_72ec00def0a4f647f10f2a5c1742fab7d53364130edc365182f3ccef5864f2a5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405260043610610037575f3560e01c80632e1a7d4d146100425780638da5cb5b1461006a578063d228d484146100945761003e565b3661003e57005b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610212565b6100be565b005b348015610075575f80fd5b5061007e6101b1565b60405161008b919061027c565b60405180910390f35b34801561009f575f80fd5b506100a86101d4565b6040516100b591906102a4565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461014b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014290610317565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156101ad573d5f803e3d5ffd5b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f47905090565b5f80fd5b5f819050919050565b6101f1816101df565b81146101fb575f80fd5b50565b5f8135905061020c816101e8565b92915050565b5f60208284031215610227576102266101db565b5b5f610234848285016101fe565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102668261023d565b9050919050565b6102768161025c565b82525050565b5f60208201905061028f5f83018461026d565b92915050565b61029e816101df565b82525050565b5f6020820190506102b75f830184610295565b92915050565b5f82825260208201905092915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f610301600d836102bd565b915061030c826102cd565b602082019050919050565b5f6020820190508181035f83015261032e816102f5565b905091905056fea2646970667358221220ab1490f608534cbe407c5afa8005b4b1d438aeecaadafa27cc72f2eab6bb5f1864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x42 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0xD228D484 EQ PUSH2 0x94 JUMPI PUSH2 0x3E JUMP JUMPDEST CALLDATASIZE PUSH2 0x3E JUMPI STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x212 JUMP JUMPDEST PUSH2 0xBE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x75 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x27C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA8 PUSH2 0x1D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x14B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142 SWAP1 PUSH2 0x317 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F1 DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x1FB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20C DUP2 PUSH2 0x1E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x227 JUMPI PUSH2 0x226 PUSH2 0x1DB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x234 DUP5 DUP3 DUP6 ADD PUSH2 0x1FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x266 DUP3 PUSH2 0x23D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x276 DUP2 PUSH2 0x25C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x28F PUSH0 DUP4 ADD DUP5 PUSH2 0x26D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x29E DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2B7 PUSH0 DUP4 ADD DUP5 PUSH2 0x295 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420746865206F776E657200000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x301 PUSH1 0xD DUP4 PUSH2 0x2BD JUMP JUMPDEST SWAP2 POP PUSH2 0x30C DUP3 PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x32E DUP2 PUSH2 0x2F5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAB EQ SWAP1 0xF6 ADDMOD MSTORE8 0x4C 0xBE BLOCKHASH PUSH29 0x5AFA8005B4B1D438AEECAADAFA27CC72F2EAB6BB5F1864736F6C634300 ADDMOD BYTE STOP CALLER ",
"sourceMap": "58:682:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;414:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;117:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;553:184;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;414:134;487:5;;;;;;;;;;473:19;;:10;:19;;;465:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;519:5;;;;;;;;;;:14;;:22;534:6;519:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;414:134;:::o;117:29::-;;;;;;;;;;;;:::o;553:184::-;599:4;709:21;702:28;;553:184;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:104::-;1202:7;1231:24;1249:5;1231:24;:::i;:::-;1220:35;;1157:104;;;:::o;1267:142::-;1370:32;1396:5;1370:32;:::i;:::-;1365:3;1358:45;1267:142;;:::o;1415:254::-;1524:4;1562:2;1551:9;1547:18;1539:26;;1575:87;1659:1;1648:9;1644:17;1635:6;1575:87;:::i;:::-;1415:254;;;;:::o;1675:118::-;1762:24;1780:5;1762:24;:::i;:::-;1757:3;1750:37;1675:118;;:::o;1799:222::-;1892:4;1930:2;1919:9;1915:18;1907:26;;1943:71;2011:1;2000:9;1996:17;1987:6;1943:71;:::i;:::-;1799:222;;;;:::o;2027:169::-;2111:11;2145:6;2140:3;2133:19;2185:4;2180:3;2176:14;2161:29;;2027:169;;;;:::o;2202:163::-;2342:15;2338:1;2330:6;2326:14;2319:39;2202:163;:::o;2371:366::-;2513:3;2534:67;2598:2;2593:3;2534:67;:::i;:::-;2527:74;;2610:93;2699:3;2610:93;:::i;:::-;2728:2;2723:3;2719:12;2712:19;;2371:366;;;:::o;2743:419::-;2909:4;2947:2;2936:9;2932:18;2924:26;;2996:9;2990:4;2986:20;2982:1;2971:9;2967:17;2960:47;3024:131;3150:4;3024:131;:::i;:::-;3016:139;;2743:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "175000",
"executionCost": "24483",
"totalCost": "199483"
},
"external": {
"getBanlance()": "356",
"owner()": "2505",
"withdraw(uint256)": "infinite"
}
},
"methodIdentifiers": {
"getBanlance()": "d228d484",
"owner()": "8da5cb5b",
"withdraw(uint256)": "2e1a7d4d"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBanlance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBanlance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/EtherWallet.sol": "EtherWallet"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/EtherWallet.sol": {
"keccak256": "0xc2559de7ca5d7732670eedfac04b72e3b940faf9074a1c7e5c4758d6ea62c262",
"license": "MIT",
"urls": [
"bzz-raw://75b8e89094ad4c5a0ec5160d9fe3363cb516a51e20b0b056930bc0a6e80b1f97",
"dweb:/ipfs/QmVyshxVAVyTuZ4szuRHwK1ppLvPpEcZWib6STZm5Xyo8H"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b5060b480601a5f395ff3fe6080604052366041577ff666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5345a6040516037929190605b565b60405180910390a1005b5f80fd5b5f819050919050565b6055816045565b82525050565b5f604082019050606c5f830185604e565b60776020830184604e565b939250505056fea26469706673582212204a6635e9351e900db675bb01200e110ed026b45d353a65f56d0465d0a0c35a4464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0xB4 DUP1 PUSH1 0x1A PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH1 0x41 JUMPI PUSH32 0xF666715AA6B8E8CE32BD39173F51EEA0643FDD246A826C4756C2F168022B6EB5 CALLVALUE GAS PUSH1 0x40 MLOAD PUSH1 0x37 SWAP3 SWAP2 SWAP1 PUSH1 0x5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x55 DUP2 PUSH1 0x45 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH1 0x6C PUSH0 DUP4 ADD DUP6 PUSH1 0x4E JUMP JUMPDEST PUSH1 0x77 PUSH1 0x20 DUP4 ADD DUP5 PUSH1 0x4E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE PUSH7 0x35E9351E900DB6 PUSH22 0xBB01200E110ED026B45D353A65F56D0465D0A0C35A44 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "830:185:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_73": {
"entryPoint": null,
"id": 73,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 78,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 91,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 69,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:549:1",
"nodeType": "YulBlock",
"src": "0:549:1",
"statements": [
{
"body": {
"nativeSrc": "52:32:1",
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nativeSrc": "62:16:1",
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nativeSrc": "73:5:1",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:1",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "7:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:1",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:1",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nativeSrc": "155:53:1",
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "172:3:1",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "195:5:1",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "177:17:1",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nativeSrc": "177:24:1",
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "165:6:1",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "90:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "143:5:1",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "150:3:1",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nativeSrc": "340:206:1",
"nodeType": "YulBlock",
"src": "340:206:1",
"statements": [
{
"nativeSrc": "350:26:1",
"nodeType": "YulAssignment",
"src": "350:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "362:9:1",
"nodeType": "YulIdentifier",
"src": "362:9:1"
},
{
"kind": "number",
"nativeSrc": "373:2:1",
"nodeType": "YulLiteral",
"src": "373:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "358:3:1",
"nodeType": "YulIdentifier",
"src": "358:3:1"
},
"nativeSrc": "358:18:1",
"nodeType": "YulFunctionCall",
"src": "358:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "350:4:1",
"nodeType": "YulIdentifier",
"src": "350:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "430:6:1",
"nodeType": "YulIdentifier",
"src": "430:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "443:9:1",
"nodeType": "YulIdentifier",
"src": "443:9:1"
},
{
"kind": "number",
"nativeSrc": "454:1:1",
"nodeType": "YulLiteral",
"src": "454:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "439:3:1",
"nodeType": "YulIdentifier",
"src": "439:3:1"
},
"nativeSrc": "439:17:1",
"nodeType": "YulFunctionCall",
"src": "439:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "386:43:1",
"nodeType": "YulIdentifier",
"src": "386:43:1"
},
"nativeSrc": "386:71:1",
"nodeType": "YulFunctionCall",
"src": "386:71:1"
},
"nativeSrc": "386:71:1",
"nodeType": "YulExpressionStatement",
"src": "386:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "511:6:1",
"nodeType": "YulIdentifier",
"src": "511:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "524:9:1",
"nodeType": "YulIdentifier",
"src": "524:9:1"
},
{
"kind": "number",
"nativeSrc": "535:2:1",
"nodeType": "YulLiteral",
"src": "535:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "520:3:1",
"nodeType": "YulIdentifier",
"src": "520:3:1"
},
"nativeSrc": "520:18:1",
"nodeType": "YulFunctionCall",
"src": "520:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "467:43:1",
"nodeType": "YulIdentifier",
"src": "467:43:1"
},
"nativeSrc": "467:72:1",
"nodeType": "YulFunctionCall",
"src": "467:72:1"
},
"nativeSrc": "467:72:1",
"nodeType": "YulExpressionStatement",
"src": "467:72:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
"nativeSrc": "214:332:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "304:9:1",
"nodeType": "YulTypedName",
"src": "304:9:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "316:6:1",
"nodeType": "YulTypedName",
"src": "316:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "324:6:1",
"nodeType": "YulTypedName",
"src": "324:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "335:4:1",
"nodeType": "YulTypedName",
"src": "335:4:1",
"type": ""
}
],
"src": "214:332:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := 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_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052366041577ff666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5345a6040516037929190605b565b60405180910390a1005b5f80fd5b5f819050919050565b6055816045565b82525050565b5f604082019050606c5f830185604e565b60776020830184604e565b939250505056fea26469706673582212204a6635e9351e900db675bb01200e110ed026b45d353a65f56d0465d0a0c35a4464736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH1 0x41 JUMPI PUSH32 0xF666715AA6B8E8CE32BD39173F51EEA0643FDD246A826C4756C2F168022B6EB5 CALLVALUE GAS PUSH1 0x40 MLOAD PUSH1 0x37 SWAP3 SWAP2 SWAP1 PUSH1 0x5B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x55 DUP2 PUSH1 0x45 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH1 0x6C PUSH0 DUP4 ADD DUP6 PUSH1 0x4E JUMP JUMPDEST PUSH1 0x77 PUSH1 0x20 DUP4 ADD DUP5 PUSH1 0x4E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOBBASEFEE PUSH7 0x35E9351E900DB6 PUSH22 0xBB01200E110ED026B45D353A65F56D0465D0A0C35A44 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
"sourceMap": "830:185:0:-:0;;;;;;976:24;980:9;990;976:24;;;;;;;:::i;:::-;;;;;;;;830:185;;;;;7:77:1;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:332::-;335:4;373:2;362:9;358:18;350:26;;386:71;454:1;443:9;439:17;430:6;386:71;:::i;:::-;467:72;535:2;524:9;520:18;511:6;467:72;:::i;:::-;214:332;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "36000",
"executionCost": "85",
"totalCost": "36085"
}
},
"methodIdentifiers": {}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "gas",
"type": "uint256"
}
],
"name": "log",
"type": "event"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "gas",
"type": "uint256"
}
],
"name": "log",
"type": "event"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/sendEth.sol": "EthReciver"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/sendEth.sol": {
"keccak256": "0x5e99a3ba7a156a9a17465feba03646b68e9e6bd5797373a9279b7f01858c831b",
"license": "MIT",
"urls": [
"bzz-raw://bb267ec5d57f37751d206be55000b1e357efa0c15da739998263c4f01295f291",
"dweb:/ipfs/QmVhcgpAeg7UthJXU6cjxKU9SBhLt5ufp74NGsHGj4G2L2"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b5061016b8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354353f2f1461002d575b5f80fd5b610035610037565b005b7fe321ad35c009b4b0dcd81b2c3ed71bc1ca77d133d60e1aa1510a1433c94018b7336040516100669190610109565b60405180910390a1565b5f82825260208201905092915050565b7f68656c6c6f0000000000000000000000000000000000000000000000000000005f82015250565b5f6100b4600583610070565b91506100bf82610080565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100f3826100ca565b9050919050565b610103816100e9565b82525050565b5f6040820190508181035f830152610120816100a8565b905061012f60208301846100fa565b9291505056fea264697066735822122003b211f854323c5980ee7ecceb0c010c4268d4c5387bf310765203a8cb6790a364736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x16B DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54353F2F EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x37 JUMP JUMPDEST STOP JUMPDEST PUSH32 0xE321AD35C009B4B0DCD81B2C3ED71BC1CA77D133D60E1AA1510A1433C94018B7 CALLER PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x68656C6C6F000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB4 PUSH1 0x5 DUP4 PUSH2 0x70 JUMP JUMPDEST SWAP2 POP PUSH2 0xBF DUP3 PUSH2 0x80 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xF3 DUP3 PUSH2 0xCA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x103 DUP2 PUSH2 0xE9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x120 DUP2 PUSH2 0xA8 JUMP JUMPDEST SWAP1 POP PUSH2 0x12F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB 0xB2 GT 0xF8 SLOAD ORIGIN EXTCODECOPY MSIZE DUP1 0xEE PUSH31 0xCCEB0C010C4268D4C5387BF310765203A8CB6790A364736F6C634300081A00 CALLER ",
"sourceMap": "57:181:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@example_17": {
"entryPoint": 55,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 250,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_to_t_string_memory_ptr_fromStack": {
"entryPoint": 168,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": {
"entryPoint": 265,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 112,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 233,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 202,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8": {
"entryPoint": 128,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1604:1",
"nodeType": "YulBlock",
"src": "0:1604:1",
"statements": [
{
"body": {
"nativeSrc": "103:73:1",
"nodeType": "YulBlock",
"src": "103:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "120:3:1",
"nodeType": "YulIdentifier",
"src": "120:3:1"
},
{
"name": "length",
"nativeSrc": "125:6:1",
"nodeType": "YulIdentifier",
"src": "125:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "113:6:1",
"nodeType": "YulIdentifier",
"src": "113:6:1"
},
"nativeSrc": "113:19:1",
"nodeType": "YulFunctionCall",
"src": "113:19:1"
},
"nativeSrc": "113:19:1",
"nodeType": "YulExpressionStatement",
"src": "113:19:1"
},
{
"nativeSrc": "141:29:1",
"nodeType": "YulAssignment",
"src": "141:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "160:3:1",
"nodeType": "YulIdentifier",
"src": "160:3:1"
},
{
"kind": "number",
"nativeSrc": "165:4:1",
"nodeType": "YulLiteral",
"src": "165:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "156:3:1",
"nodeType": "YulIdentifier",
"src": "156:3:1"
},
"nativeSrc": "156:14:1",
"nodeType": "YulFunctionCall",
"src": "156:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "141:11:1",
"nodeType": "YulIdentifier",
"src": "141:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "7:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "75:3:1",
"nodeType": "YulTypedName",
"src": "75:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "80:6:1",
"nodeType": "YulTypedName",
"src": "80:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "91:11:1",
"nodeType": "YulTypedName",
"src": "91:11:1",
"type": ""
}
],
"src": "7:169:1"
},
{
"body": {
"nativeSrc": "288:49:1",
"nodeType": "YulBlock",
"src": "288:49:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
{
"kind": "number",
"nativeSrc": "318:1:1",
"nodeType": "YulLiteral",
"src": "318:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "306:3:1",
"nodeType": "YulIdentifier",
"src": "306:3:1"
},
"nativeSrc": "306:14:1",
"nodeType": "YulFunctionCall",
"src": "306:14:1"
},
{
"hexValue": "68656c6c6f",
"kind": "string",
"nativeSrc": "322:7:1",
"nodeType": "YulLiteral",
"src": "322:7:1",
"type": "",
"value": "hello"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "299:6:1",
"nodeType": "YulIdentifier",
"src": "299:6:1"
},
"nativeSrc": "299:31:1",
"nodeType": "YulFunctionCall",
"src": "299:31:1"
},
"nativeSrc": "299:31:1",
"nodeType": "YulExpressionStatement",
"src": "299:31:1"
}
]
},
"name": "store_literal_in_memory_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8",
"nativeSrc": "182:155:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "280:6:1",
"nodeType": "YulTypedName",
"src": "280:6:1",
"type": ""
}
],
"src": "182:155:1"
},
{
"body": {
"nativeSrc": "489:219:1",
"nodeType": "YulBlock",
"src": "489:219:1",
"statements": [
{
"nativeSrc": "499:73:1",
"nodeType": "YulAssignment",
"src": "499:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "565:3:1",
"nodeType": "YulIdentifier",
"src": "565:3:1"
},
{
"kind": "number",
"nativeSrc": "570:1:1",
"nodeType": "YulLiteral",
"src": "570:1:1",
"type": "",
"value": "5"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "506:58:1",
"nodeType": "YulIdentifier",
"src": "506:58:1"
},
"nativeSrc": "506:66:1",
"nodeType": "YulFunctionCall",
"src": "506:66:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "499:3:1",
"nodeType": "YulIdentifier",
"src": "499:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "670:3:1",
"nodeType": "YulIdentifier",
"src": "670:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8",
"nativeSrc": "581:88:1",
"nodeType": "YulIdentifier",
"src": "581:88:1"
},
"nativeSrc": "581:93:1",
"nodeType": "YulFunctionCall",
"src": "581:93:1"
},
"nativeSrc": "581:93:1",
"nodeType": "YulExpressionStatement",
"src": "581:93:1"
},
{
"nativeSrc": "683:19:1",
"nodeType": "YulAssignment",
"src": "683:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "694:3:1",
"nodeType": "YulIdentifier",
"src": "694:3:1"
},
{
"kind": "number",
"nativeSrc": "699:2:1",
"nodeType": "YulLiteral",
"src": "699:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "690:3:1",
"nodeType": "YulIdentifier",
"src": "690:3:1"
},
"nativeSrc": "690:12:1",
"nodeType": "YulFunctionCall",
"src": "690:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "683:3:1",
"nodeType": "YulIdentifier",
"src": "683:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_to_t_string_memory_ptr_fromStack",
"nativeSrc": "343:365:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "477:3:1",
"nodeType": "YulTypedName",
"src": "477:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "485:3:1",
"nodeType": "YulTypedName",
"src": "485:3:1",
"type": ""
}
],
"src": "343:365:1"
},
{
"body": {
"nativeSrc": "759:81:1",
"nodeType": "YulBlock",
"src": "759:81:1",
"statements": [
{
"nativeSrc": "769:65:1",
"nodeType": "YulAssignment",
"src": "769:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "784:5:1",
"nodeType": "YulIdentifier",
"src": "784:5:1"
},
{
"kind": "number",
"nativeSrc": "791:42:1",
"nodeType": "YulLiteral",
"src": "791:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "780:3:1",
"nodeType": "YulIdentifier",
"src": "780:3:1"
},
"nativeSrc": "780:54:1",
"nodeType": "YulFunctionCall",
"src": "780:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "769:7:1",
"nodeType": "YulIdentifier",
"src": "769:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "714:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "741:5:1",
"nodeType": "YulTypedName",
"src": "741:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "751:7:1",
"nodeType": "YulTypedName",
"src": "751:7:1",
"type": ""
}
],
"src": "714:126:1"
},
{
"body": {
"nativeSrc": "891:51:1",
"nodeType": "YulBlock",
"src": "891:51:1",
"statements": [
{
"nativeSrc": "901:35:1",
"nodeType": "YulAssignment",
"src": "901:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "930:5:1",
"nodeType": "YulIdentifier",
"src": "930:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "912:17:1",
"nodeType": "YulIdentifier",
"src": "912:17:1"
},
"nativeSrc": "912:24:1",
"nodeType": "YulFunctionCall",
"src": "912:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "901:7:1",
"nodeType": "YulIdentifier",
"src": "901:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "846:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "873:5:1",
"nodeType": "YulTypedName",
"src": "873:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "883:7:1",
"nodeType": "YulTypedName",
"src": "883:7:1",
"type": ""
}
],
"src": "846:96:1"
},
{
"body": {
"nativeSrc": "1013:53:1",
"nodeType": "YulBlock",
"src": "1013:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1030:3:1",
"nodeType": "YulIdentifier",
"src": "1030:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1053:5:1",
"nodeType": "YulIdentifier",
"src": "1053:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1035:17:1",
"nodeType": "YulIdentifier",
"src": "1035:17:1"
},
"nativeSrc": "1035:24:1",
"nodeType": "YulFunctionCall",
"src": "1035:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1023:6:1",
"nodeType": "YulIdentifier",
"src": "1023:6:1"
},
"nativeSrc": "1023:37:1",
"nodeType": "YulFunctionCall",
"src": "1023:37:1"
},
"nativeSrc": "1023:37:1",
"nodeType": "YulExpressionStatement",
"src": "1023:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "948:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1001:5:1",
"nodeType": "YulTypedName",
"src": "1001:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1008:3:1",
"nodeType": "YulTypedName",
"src": "1008:3:1",
"type": ""
}
],
"src": "948:118:1"
},
{
"body": {
"nativeSrc": "1271:330:1",
"nodeType": "YulBlock",
"src": "1271:330:1",
"statements": [
{
"nativeSrc": "1281:26:1",
"nodeType": "YulAssignment",
"src": "1281:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1293:9:1",
"nodeType": "YulIdentifier",
"src": "1293:9:1"
},
{
"kind": "number",
"nativeSrc": "1304:2:1",
"nodeType": "YulLiteral",
"src": "1304:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1289:3:1",
"nodeType": "YulIdentifier",
"src": "1289:3:1"
},
"nativeSrc": "1289:18:1",
"nodeType": "YulFunctionCall",
"src": "1289:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1281:4:1",
"nodeType": "YulIdentifier",
"src": "1281:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1328:9:1",
"nodeType": "YulIdentifier",
"src": "1328:9:1"
},
{
"kind": "number",
"nativeSrc": "1339:1:1",
"nodeType": "YulLiteral",
"src": "1339:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1324:3:1",
"nodeType": "YulIdentifier",
"src": "1324:3:1"
},
"nativeSrc": "1324:17:1",
"nodeType": "YulFunctionCall",
"src": "1324:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1347:4:1",
"nodeType": "YulIdentifier",
"src": "1347:4:1"
},
{
"name": "headStart",
"nativeSrc": "1353:9:1",
"nodeType": "YulIdentifier",
"src": "1353:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1343:3:1",
"nodeType": "YulIdentifier",
"src": "1343:3:1"
},
"nativeSrc": "1343:20:1",
"nodeType": "YulFunctionCall",
"src": "1343:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1317:6:1",
"nodeType": "YulIdentifier",
"src": "1317:6:1"
},
"nativeSrc": "1317:47:1",
"nodeType": "YulFunctionCall",
"src": "1317:47:1"
},
"nativeSrc": "1317:47:1",
"nodeType": "YulExpressionStatement",
"src": "1317:47:1"
},
{
"nativeSrc": "1373:139:1",
"nodeType": "YulAssignment",
"src": "1373:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "1507:4:1",
"nodeType": "YulIdentifier",
"src": "1507:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1381:124:1",
"nodeType": "YulIdentifier",
"src": "1381:124:1"
},
"nativeSrc": "1381:131:1",
"nodeType": "YulFunctionCall",
"src": "1381:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1373:4:1",
"nodeType": "YulIdentifier",
"src": "1373:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1566:6:1",
"nodeType": "YulIdentifier",
"src": "1566:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1579:9:1",
"nodeType": "YulIdentifier",
"src": "1579:9:1"
},
{
"kind": "number",
"nativeSrc": "1590:2:1",
"nodeType": "YulLiteral",
"src": "1590:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1575:3:1",
"nodeType": "YulIdentifier",
"src": "1575:3:1"
},
"nativeSrc": "1575:18:1",
"nodeType": "YulFunctionCall",
"src": "1575:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "1522:43:1",
"nodeType": "YulIdentifier",
"src": "1522:43:1"
},
"nativeSrc": "1522:72:1",
"nodeType": "YulFunctionCall",
"src": "1522:72:1"
},
"nativeSrc": "1522:72:1",
"nodeType": "YulExpressionStatement",
"src": "1522:72:1"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed",
"nativeSrc": "1072:529:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1243:9:1",
"nodeType": "YulTypedName",
"src": "1243:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1255:6:1",
"nodeType": "YulTypedName",
"src": "1255:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1266:4:1",
"nodeType": "YulTypedName",
"src": "1266:4:1",
"type": ""
}
],
"src": "1072:529:1"
}
]
},
"contents": "{\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 store_literal_in_memory_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8(memPtr) {\n\n mstore(add(memPtr, 0), \"hello\")\n\n }\n\n function abi_encode_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 5)\n store_literal_in_memory_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8(pos)\n end := add(pos, 32)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 32))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610029575f3560e01c806354353f2f1461002d575b5f80fd5b610035610037565b005b7fe321ad35c009b4b0dcd81b2c3ed71bc1ca77d133d60e1aa1510a1433c94018b7336040516100669190610109565b60405180910390a1565b5f82825260208201905092915050565b7f68656c6c6f0000000000000000000000000000000000000000000000000000005f82015250565b5f6100b4600583610070565b91506100bf82610080565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100f3826100ca565b9050919050565b610103816100e9565b82525050565b5f6040820190508181035f830152610120816100a8565b905061012f60208301846100fa565b9291505056fea264697066735822122003b211f854323c5980ee7ecceb0c010c4268d4c5387bf310765203a8cb6790a364736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54353F2F EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x37 JUMP JUMPDEST STOP JUMPDEST PUSH32 0xE321AD35C009B4B0DCD81B2C3ED71BC1CA77D133D60E1AA1510A1433C94018B7 CALLER PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x109 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x68656C6C6F000000000000000000000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB4 PUSH1 0x5 DUP4 PUSH2 0x70 JUMP JUMPDEST SWAP2 POP PUSH2 0xBF DUP3 PUSH2 0x80 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xF3 DUP3 PUSH2 0xCA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x103 DUP2 PUSH2 0xE9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x120 DUP2 PUSH2 0xA8 JUMP JUMPDEST SWAP1 POP PUSH2 0x12F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xFA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB 0xB2 GT 0xF8 SLOAD ORIGIN EXTCODECOPY MSIZE DUP1 0xEE PUSH31 0xCCEB0C010C4268D4C5387BF310765203A8CB6790A364736F6C634300081A00 CALLER ",
"sourceMap": "57:181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;156:74;;;:::i;:::-;;;199:24;212:10;199:24;;;;;;:::i;:::-;;;;;;;;156:74::o;7:169:1:-;91:11;125:6;120:3;113:19;165:4;160:3;156:14;141:29;;7:169;;;;:::o;182:155::-;322:7;318:1;310:6;306:14;299:31;182:155;:::o;343:365::-;485:3;506:66;570:1;565:3;506:66;:::i;:::-;499:73;;581:93;670:3;581:93;:::i;:::-;699:2;694:3;690:12;683:19;;343:365;;;:::o;714:126::-;751:7;791:42;784:5;780:54;769:65;;714:126;;;:::o;846:96::-;883:7;912:24;930:5;912:24;:::i;:::-;901:35;;846:96;;;:::o;948:118::-;1035:24;1053:5;1035:24;:::i;:::-;1030:3;1023:37;948:118;;:::o;1072:529::-;1266:4;1304:2;1293:9;1289:18;1281:26;;1353:9;1347:4;1343:20;1339:1;1328:9;1324:17;1317:47;1381:131;1507:4;1381:131;:::i;:::-;1373:139;;1522:72;1590:2;1579:9;1575:18;1566:6;1522:72;:::i;:::-;1072:529;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "72600",
"executionCost": "121",
"totalCost": "72721"
},
"external": {
"example()": "2323"
}
},
"methodIdentifiers": {
"example()": "54353f2f"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "msg",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "add",
"type": "address"
}
],
"name": "log1",
"type": "event"
},
{
"inputs": [],
"name": "example",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "msg",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "add",
"type": "address"
}
],
"name": "log1",
"type": "event"
},
{
"inputs": [],
"name": "example",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/Enent.sol": "Event1"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/Enent.sol": {
"keccak256": "0x9c542a0208237d2be65643f93a995677c6860e4c0c75fa43d76f8d5303c3c875",
"license": "MIT",
"urls": [
"bzz-raw://b11d1fe71657b38f1810938ff1b33cc11d09f51f2c3768c814b2942fbb983363",
"dweb:/ipfs/QmTYc6Kq6Bu9seHPkeMyqf4E7kvmeY7f5v6HRHKB3Vx5Rs"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bc5f2d7ee5f43769cd9f557be40d155ec3a097c4f46cafc546d676031d1c201664736f6c634300081a0033",
"opcodes": "PUSH1 0x55 PUSH1 0x4B PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH0 BYTE PUSH1 0x73 EQ PUSH1 0x3F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST ADDRESS PUSH0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC PUSH0 0x2D PUSH31 0xE5F43769CD9F557BE40D155EC3A097C4F46CAFC546D676031D1C201664736F PUSH13 0x634300081A0033000000000000 ",
"sourceMap": "57:150:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220bc5f2d7ee5f43769cd9f557be40d155ec3a097c4f46cafc546d676031d1c201664736f6c634300081a0033",
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC PUSH0 0x2D PUSH31 0xE5F43769CD9F557BE40D155EC3A097C4F46CAFC546D676031D1C201664736F PUSH13 0x634300081A0033000000000000 ",
"sourceMap": "57:150:0:-:0;;;;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "17000",
"executionCost": "92",
"totalCost": "17092"
},
"internal": {
"max(uint256,uint256)": "infinite"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/library.sol": "Math"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/library.sol": {
"keccak256": "0xb436b4adcba6ba076eaf0dc2ab79102497e7c6a6ca3eab40637613499a916508",
"license": "MIT",
"urls": [
"bzz-raw://9fea120e9e9590d130b410f2dde7d453e1870e3038bfd9fa40a6e658964e024e",
"dweb:/ipfs/Qmb6X4SL3ji5g2VtM23TyV7kxx6vARr2ke7X1M2RbLvy4g"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_29": {
"entryPoint": null,
"id": 29,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b50600a5f81905550610177806100235f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80630c55699c146100385780631cae564a14610056575b5f80fd5b610040610086565b60405161004d91906100cf565b60405180910390f35b610070600480360381019061006b9190610116565b61008b565b60405161007d91906100cf565b60405180910390f35b5f5481565b5f6100975f548361009e565b9050919050565b5f818310156100ad57816100af565b825b905092915050565b5f819050919050565b6100c9816100b7565b82525050565b5f6020820190506100e25f8301846100c0565b92915050565b5f80fd5b6100f5816100b7565b81146100ff575f80fd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100e8565b5b5f61013884828501610102565b9150509291505056fea26469706673582212201780694fa9be03925dbe9f9d28fadc929e62d501650cf5238202e0726ebc4d1364736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0xA PUSH0 DUP2 SWAP1 SSTORE POP PUSH2 0x177 DUP1 PUSH2 0x23 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x1CAE564A EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0xCF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH2 0x8B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0xCF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH0 PUSH2 0x97 PUSH0 SLOAD DUP4 PUSH2 0x9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 DUP4 LT ISZERO PUSH2 0xAD JUMPI DUP2 PUSH2 0xAF JUMP JUMPDEST DUP3 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC9 DUP2 PUSH2 0xB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE2 PUSH0 DUP4 ADD DUP5 PUSH2 0xC0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xF5 DUP2 PUSH2 0xB7 JUMP JUMPDEST DUP2 EQ PUSH2 0xFF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x110 DUP2 PUSH2 0xEC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12B JUMPI PUSH2 0x12A PUSH2 0xE8 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x138 DUP5 DUP3 DUP6 ADD PUSH2 0x102 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR DUP1 PUSH10 0x4FA9BE03925DBE9F9D28 STATICCALL 0xDC SWAP3 SWAP15 PUSH3 0xD50165 0xC CREATE2 0x23 DUP3 MUL 0xE0 PUSH19 0x6EBC4D1364736F6C634300081A003300000000 ",
"sourceMap": "209:186:0:-:0;;;248:46;;;;;;;;;;285:2;281:1;:6;;;;209:186;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@max_18": {
"entryPoint": 158,
"id": 18,
"parameterSlots": 2,
"returnSlots": 1
},
"@testMath_43": {
"entryPoint": 139,
"id": 43,
"parameterSlots": 1,
"returnSlots": 1
},
"@x_21": {
"entryPoint": 134,
"id": 21,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 258,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 278,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 192,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 207,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 183,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 232,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 236,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1374:1",
"nodeType": "YulBlock",
"src": "0:1374:1",
"statements": [
{
"body": {
"nativeSrc": "52:32:1",
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nativeSrc": "62:16:1",
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nativeSrc": "73:5:1",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "62:7:1",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "7:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "34:5:1",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "44:7:1",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nativeSrc": "155:53:1",
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "172:3:1",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "195:5:1",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "177:17:1",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nativeSrc": "177:24:1",
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "165:6:1",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nativeSrc": "165:37:1",
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "90:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "143:5:1",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "150:3:1",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nativeSrc": "312:124:1",
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nativeSrc": "322:26:1",
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "334:9:1",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nativeSrc": "345:2:1",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "330:3:1",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nativeSrc": "330:18:1",
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "322:4:1",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "402:6:1",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "415:9:1",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nativeSrc": "426:1:1",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "411:3:1",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nativeSrc": "411:17:1",
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "358:43:1",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nativeSrc": "358:71:1",
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "214:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "284:9:1",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "296:6:1",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "307:4:1",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nativeSrc": "482:35:1",
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nativeSrc": "492:19:1",
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "508:2:1",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "502:5:1",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nativeSrc": "502:9:1",
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "492:6:1",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "442:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "475:6:1",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nativeSrc": "612:28:1",
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "629:1:1",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "632:1:1",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "622:6:1",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nativeSrc": "622:12:1",
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "523:117:1",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nativeSrc": "735:28:1",
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "752:1:1",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "755:1:1",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "745:6:1",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nativeSrc": "745:12:1",
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "646:117:1",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nativeSrc": "812:79:1",
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nativeSrc": "869:16:1",
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "878:1:1",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "881:1:1",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "871:6:1",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nativeSrc": "871:12:1",
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "835:5:1",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "860:5:1",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "842:17:1",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nativeSrc": "842:24:1",
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "832:2:1",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nativeSrc": "832:35:1",
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "825:6:1",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nativeSrc": "825:43:1",
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nativeSrc": "822:63:1",
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "769:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "805:5:1",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nativeSrc": "949:87:1",
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nativeSrc": "959:29:1",
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "981:6:1",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "968:12:1",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nativeSrc": "968:20:1",
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "959:5:1",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1024:5:1",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "997:26:1",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nativeSrc": "997:33:1",
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "897:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "927:6:1",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "935:3:1",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "943:5:1",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nativeSrc": "1108:263:1",
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nativeSrc": "1154:83:1",
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1156:77:1",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nativeSrc": "1156:79:1",
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1129:7:1",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nativeSrc": "1138:9:1",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1125:3:1",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nativeSrc": "1125:23:1",
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nativeSrc": "1150:2:1",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1121:3:1",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nativeSrc": "1121:32:1",
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nativeSrc": "1118:119:1",
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nativeSrc": "1247:117:1",
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nativeSrc": "1262:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nativeSrc": "1276:1:1",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1266:6:1",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1291:63:1",
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1326:9:1",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1322:3:1",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nativeSrc": "1322:22:1",
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1346:7:1",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "1301:20:1",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nativeSrc": "1301:53:1",
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1291:6:1",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "1042:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1078:9:1",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1089:7:1",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1101:6:1",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := 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_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 revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c80630c55699c146100385780631cae564a14610056575b5f80fd5b610040610086565b60405161004d91906100cf565b60405180910390f35b610070600480360381019061006b9190610116565b61008b565b60405161007d91906100cf565b60405180910390f35b5f5481565b5f6100975f548361009e565b9050919050565b5f818310156100ad57816100af565b825b905092915050565b5f819050919050565b6100c9816100b7565b82525050565b5f6020820190506100e25f8301846100c0565b92915050565b5f80fd5b6100f5816100b7565b81146100ff575f80fd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100e8565b5b5f61013884828501610102565b9150509291505056fea26469706673582212201780694fa9be03925dbe9f9d28fadc929e62d501650cf5238202e0726ebc4d1364736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC55699C EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0x1CAE564A EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0xCF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH2 0x8B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0xCF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 SLOAD DUP2 JUMP JUMPDEST PUSH0 PUSH2 0x97 PUSH0 SLOAD DUP4 PUSH2 0x9E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 DUP4 LT ISZERO PUSH2 0xAD JUMPI DUP2 PUSH2 0xAF JUMP JUMPDEST DUP3 JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC9 DUP2 PUSH2 0xB7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE2 PUSH0 DUP4 ADD DUP5 PUSH2 0xC0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xF5 DUP2 PUSH2 0xB7 JUMP JUMPDEST DUP2 EQ PUSH2 0xFF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x110 DUP2 PUSH2 0xEC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12B JUMPI PUSH2 0x12A PUSH2 0xE8 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x138 DUP5 DUP3 DUP6 ADD PUSH2 0x102 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR DUP1 PUSH10 0x4FA9BE03925DBE9F9D28 STATICCALL 0xDC SWAP3 SWAP15 PUSH3 0xD50165 0xC CREATE2 0x23 DUP3 MUL 0xE0 PUSH19 0x6EBC4D1364736F6C634300081A003300000000 ",
"sourceMap": "209:186:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;229:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;299:94;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;229:13;;;;:::o;299:94::-;350:4;373:13;382:1;;384;373:8;:13::i;:::-;366:20;;299:94;;;:::o;95:105::-;146:4;175:1;170;:6;;:14;;183:1;170:14;;;179:1;170:14;163:21;;95:105;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "75000",
"executionCost": "22234",
"totalCost": "97234"
},
"external": {
"testMath(uint256)": "infinite",
"x()": "2402"
}
},
"methodIdentifiers": {
"testMath(uint256)": "1cae564a",
"x()": "0c55699c"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "testMath",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "testMath",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "x",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/library.sol": "Test"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/library.sol": {
"keccak256": "0xb436b4adcba6ba076eaf0dc2ab79102497e7c6a6ca3eab40637613499a916508",
"license": "MIT",
"urls": [
"bzz-raw://9fea120e9e9590d130b410f2dde7d453e1870e3038bfd9fa40a6e658964e024e",
"dweb:/ipfs/Qmb6X4SL3ji5g2VtM23TyV7kxx6vARr2ke7X1M2RbLvy4g"
]
}
},
"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
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b506108e98061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806319045a251461004e5780632dd34f0f1461007e578063b446f3b2146100ae578063eb0d3fd9146100de575b5f80fd5b61006860048036038101906100639190610417565b61010e565b60405161007591906104b0565b60405180910390f35b61009860048036038101906100939190610591565b610178565b6040516100a59190610633565b60405180910390f35b6100c860048036038101906100c3919061064c565b6101d4565b6040516100d591906106a2565b60405180910390f35b6100f860048036038101906100f391906106bb565b610203565b60405161010591906106a2565b60405180910390f35b5f805f8061011b85610232565b9250925092506001868285856040515f81526020016040526040516101439493929190610701565b6020604051602081039080840390855afa158015610163573d5f803e3d5ffd5b50505060206040510351935050505092915050565b5f80610183846101d4565b90505f61018f82610203565b90508573ffffffffffffffffffffffffffffffffffffffff166101b2828661010e565b73ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b5f816040516020016101e69190610796565b604051602081830303815290604052805190602001209050919050565b5f816040516020016102159190610816565b604051602081830303815290604052805190602001209050919050565b5f805f6041845114610279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027090610895565b60405180910390fd5b602084015192506040840151915060608401515f1a90509193909250565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6102ba816102a8565b81146102c4575f80fd5b50565b5f813590506102d5816102b1565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610329826102e3565b810181811067ffffffffffffffff82111715610348576103476102f3565b5b80604052505050565b5f61035a610297565b90506103668282610320565b919050565b5f67ffffffffffffffff821115610385576103846102f3565b5b61038e826102e3565b9050602081019050919050565b828183375f83830152505050565b5f6103bb6103b68461036b565b610351565b9050828152602081018484840111156103d7576103d66102df565b5b6103e284828561039b565b509392505050565b5f82601f8301126103fe576103fd6102db565b5b813561040e8482602086016103a9565b91505092915050565b5f806040838503121561042d5761042c6102a0565b5b5f61043a858286016102c7565b925050602083013567ffffffffffffffff81111561045b5761045a6102a4565b5b610467858286016103ea565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61049a82610471565b9050919050565b6104aa81610490565b82525050565b5f6020820190506104c35f8301846104a1565b92915050565b6104d281610490565b81146104dc575f80fd5b50565b5f813590506104ed816104c9565b92915050565b5f67ffffffffffffffff82111561050d5761050c6102f3565b5b610516826102e3565b9050602081019050919050565b5f610535610530846104f3565b610351565b905082815260208101848484011115610551576105506102df565b5b61055c84828561039b565b509392505050565b5f82601f830112610578576105776102db565b5b8135610588848260208601610523565b91505092915050565b5f805f606084860312156105a8576105a76102a0565b5b5f6105b5868287016104df565b935050602084013567ffffffffffffffff8111156105d6576105d56102a4565b5b6105e286828701610564565b925050604084013567ffffffffffffffff811115610603576106026102a4565b5b61060f868287016103ea565b9150509250925092565b5f8115159050919050565b61062d81610619565b82525050565b5f6020820190506106465f830184610624565b92915050565b5f60208284031215610661576106606102a0565b5b5f82013567ffffffffffffffff81111561067e5761067d6102a4565b5b61068a84828501610564565b91505092915050565b61069c816102a8565b82525050565b5f6020820190506106b55f830184610693565b92915050565b5f602082840312156106d0576106cf6102a0565b5b5f6106dd848285016102c7565b91505092915050565b5f60ff82169050919050565b6106fb816106e6565b82525050565b5f6080820190506107145f830187610693565b61072160208301866106f2565b61072e6040830185610693565b61073b6060830184610693565b95945050505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61077082610744565b61077a818561074e565b935061078a818560208601610758565b80840191505092915050565b5f6107a18284610766565b915081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f82015250565b5f6107e0601c8361074e565b91506107eb826107ac565b601c82019050919050565b5f819050919050565b61081061080b826102a8565b6107f6565b82525050565b5f610820826107d4565b915061082c82846107ff565b60208201915081905092915050565b5f82825260208201905092915050565b7f696e7661696c642073696e676174757265206c656e67746800000000000000005f82015250565b5f61087f60188361083b565b915061088a8261084b565b602082019050919050565b5f6020820190508181035f8301526108ac81610873565b905091905056fea26469706673582212200c491b2841cd2e899e3ecf29a93d91d9e0916d1274b6b0465da2359cb3b9085864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x8E9 DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19045A25 EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x2DD34F0F EQ PUSH2 0x7E JUMPI DUP1 PUSH4 0xB446F3B2 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0xEB0D3FD9 EQ PUSH2 0xDE JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x417 JUMP JUMPDEST PUSH2 0x10E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x4B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x98 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x93 SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST PUSH2 0x178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5 SWAP2 SWAP1 PUSH2 0x633 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x64C JUMP JUMPDEST PUSH2 0x1D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x6BB JUMP JUMPDEST PUSH2 0x203 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH2 0x11B DUP6 PUSH2 0x232 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH1 0x1 DUP7 DUP3 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x143 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x163 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x183 DUP5 PUSH2 0x1D4 JUMP JUMPDEST SWAP1 POP PUSH0 PUSH2 0x18F DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP1 POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1B2 DUP3 DUP7 PUSH2 0x10E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0x796 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x215 SWAP2 SWAP1 PUSH2 0x816 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x41 DUP5 MLOAD EQ PUSH2 0x279 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x270 SWAP1 PUSH2 0x895 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP3 POP PUSH1 0x40 DUP5 ADD MLOAD SWAP2 POP PUSH1 0x60 DUP5 ADD MLOAD PUSH0 BYTE SWAP1 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BA DUP2 PUSH2 0x2A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C4 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2D5 DUP2 PUSH2 0x2B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x329 DUP3 PUSH2 0x2E3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x348 JUMPI PUSH2 0x347 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x35A PUSH2 0x297 JUMP JUMPDEST SWAP1 POP PUSH2 0x366 DUP3 DUP3 PUSH2 0x320 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x385 JUMPI PUSH2 0x384 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST PUSH2 0x38E DUP3 PUSH2 0x2E3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3BB PUSH2 0x3B6 DUP5 PUSH2 0x36B JUMP JUMPDEST PUSH2 0x351 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3D7 JUMPI PUSH2 0x3D6 PUSH2 0x2DF JUMP JUMPDEST JUMPDEST PUSH2 0x3E2 DUP5 DUP3 DUP6 PUSH2 0x39B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3FE JUMPI PUSH2 0x3FD PUSH2 0x2DB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x40E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x42D JUMPI PUSH2 0x42C PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x43A DUP6 DUP3 DUP7 ADD PUSH2 0x2C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x45B JUMPI PUSH2 0x45A PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x467 DUP6 DUP3 DUP7 ADD PUSH2 0x3EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x49A DUP3 PUSH2 0x471 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4AA DUP2 PUSH2 0x490 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4C3 PUSH0 DUP4 ADD DUP5 PUSH2 0x4A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4D2 DUP2 PUSH2 0x490 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4ED DUP2 PUSH2 0x4C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x50D JUMPI PUSH2 0x50C PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST PUSH2 0x516 DUP3 PUSH2 0x2E3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x535 PUSH2 0x530 DUP5 PUSH2 0x4F3 JUMP JUMPDEST PUSH2 0x351 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x551 JUMPI PUSH2 0x550 PUSH2 0x2DF JUMP JUMPDEST JUMPDEST PUSH2 0x55C DUP5 DUP3 DUP6 PUSH2 0x39B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x578 JUMPI PUSH2 0x577 PUSH2 0x2DB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x588 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5A8 JUMPI PUSH2 0x5A7 PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x5B5 DUP7 DUP3 DUP8 ADD PUSH2 0x4DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5D6 JUMPI PUSH2 0x5D5 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x5E2 DUP7 DUP3 DUP8 ADD PUSH2 0x564 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x603 JUMPI PUSH2 0x602 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x60F DUP7 DUP3 DUP8 ADD PUSH2 0x3EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x62D DUP2 PUSH2 0x619 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x646 PUSH0 DUP4 ADD DUP5 PUSH2 0x624 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x661 JUMPI PUSH2 0x660 PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x67E JUMPI PUSH2 0x67D PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x68A DUP5 DUP3 DUP6 ADD PUSH2 0x564 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x69C DUP2 PUSH2 0x2A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B5 PUSH0 DUP4 ADD DUP5 PUSH2 0x693 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6D0 JUMPI PUSH2 0x6CF PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x6DD DUP5 DUP3 DUP6 ADD PUSH2 0x2C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FB DUP2 PUSH2 0x6E6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x714 PUSH0 DUP4 ADD DUP8 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x721 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x6F2 JUMP JUMPDEST PUSH2 0x72E PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x73B PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x693 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x770 DUP3 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x77A DUP2 DUP6 PUSH2 0x74E JUMP JUMPDEST SWAP4 POP PUSH2 0x78A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x758 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x7A1 DUP3 DUP5 PUSH2 0x766 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x7E0 PUSH1 0x1C DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7EB DUP3 PUSH2 0x7AC JUMP JUMPDEST PUSH1 0x1C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x810 PUSH2 0x80B DUP3 PUSH2 0x2A8 JUMP JUMPDEST PUSH2 0x7F6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH2 0x820 DUP3 PUSH2 0x7D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x82C DUP3 DUP5 PUSH2 0x7FF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E7661696C642073696E676174757265206C656E6774680000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x87F PUSH1 0x18 DUP4 PUSH2 0x83B JUMP JUMPDEST SWAP2 POP PUSH2 0x88A DUP3 PUSH2 0x84B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x8AC DUP2 PUSH2 0x873 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC BLOBHASH SHL 0x28 COINBASE 0xCD 0x2E DUP10 SWAP15 RETURNDATACOPY 0xCF 0x29 0xA9 RETURNDATASIZE SWAP2 0xD9 0xE0 SWAP2 PUSH14 0x1274B6B0465DA2359CB3B9085864 PUSH20 0x6F6C634300081A00330000000000000000000000 ",
"sourceMap": "57:1243:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_spilt_111": {
"entryPoint": 562,
"id": 111,
"parameterSlots": 1,
"returnSlots": 3
},
"@getMessageHash_47": {
"entryPoint": 468,
"id": 47,
"parameterSlots": 1,
"returnSlots": 1
},
"@getSignMessageHash_63": {
"entryPoint": 515,
"id": 63,
"parameterSlots": 1,
"returnSlots": 1
},
"@recover_90": {
"entryPoint": 270,
"id": 90,
"parameterSlots": 2,
"returnSlots": 1
},
"@verify_32": {
"entryPoint": 376,
"id": 32,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_available_length_t_bytes_memory_ptr": {
"entryPoint": 937,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1315,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1247,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 711,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes_memory_ptr": {
"entryPoint": 1002,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1380,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_string_memory_ptrt_bytes_memory_ptr": {
"entryPoint": 1425,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_bytes32": {
"entryPoint": 1723,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bytes32t_bytes_memory_ptr": {
"entryPoint": 1047,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 1612,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1185,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 1572,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 1683,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": {
"entryPoint": 2047,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1894,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 2004,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2163,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint8_to_t_uint8_fromStack": {
"entryPoint": 1778,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1942,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 2070,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1200,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 1587,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 1698,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": {
"entryPoint": 1793,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2197,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 849,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 663,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_bytes_memory_ptr": {
"entryPoint": 875,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1267,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1860,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2107,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1870,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1168,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1561,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 680,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1137,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint8": {
"entryPoint": 1766,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 923,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1880,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"finalize_allocation": {
"entryPoint": 800,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"leftAlign_t_bytes32": {
"entryPoint": 2038,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x41": {
"entryPoint": 755,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 731,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 735,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 676,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 672,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 739,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73": {
"entryPoint": 1964,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860": {
"entryPoint": 2123,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1225,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 689,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:12534:1",
"nodeType": "YulBlock",
"src": "0:12534:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "779:28:1",
"nodeType": "YulBlock",
"src": "779:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "796:1:1",
"nodeType": "YulLiteral",
"src": "796:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "799:1:1",
"nodeType": "YulLiteral",
"src": "799:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "789:6:1",
"nodeType": "YulIdentifier",
"src": "789:6:1"
},
"nativeSrc": "789:12:1",
"nodeType": "YulFunctionCall",
"src": "789:12:1"
},
"nativeSrc": "789:12:1",
"nodeType": "YulExpressionStatement",
"src": "789:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "690:117:1",
"nodeType": "YulFunctionDefinition",
"src": "690:117:1"
},
{
"body": {
"nativeSrc": "902:28:1",
"nodeType": "YulBlock",
"src": "902:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "919:1:1",
"nodeType": "YulLiteral",
"src": "919:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "922:1:1",
"nodeType": "YulLiteral",
"src": "922:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "912:6:1",
"nodeType": "YulIdentifier",
"src": "912:6:1"
},
"nativeSrc": "912:12:1",
"nodeType": "YulFunctionCall",
"src": "912:12:1"
},
"nativeSrc": "912:12:1",
"nodeType": "YulExpressionStatement",
"src": "912:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "813:117:1",
"nodeType": "YulFunctionDefinition",
"src": "813:117:1"
},
{
"body": {
"nativeSrc": "984:54:1",
"nodeType": "YulBlock",
"src": "984:54:1",
"statements": [
{
"nativeSrc": "994:38:1",
"nodeType": "YulAssignment",
"src": "994:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1012:5:1",
"nodeType": "YulIdentifier",
"src": "1012:5:1"
},
{
"kind": "number",
"nativeSrc": "1019:2:1",
"nodeType": "YulLiteral",
"src": "1019:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1008:3:1",
"nodeType": "YulIdentifier",
"src": "1008:3:1"
},
"nativeSrc": "1008:14:1",
"nodeType": "YulFunctionCall",
"src": "1008:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1028:2:1",
"nodeType": "YulLiteral",
"src": "1028:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1024:3:1",
"nodeType": "YulIdentifier",
"src": "1024:3:1"
},
"nativeSrc": "1024:7:1",
"nodeType": "YulFunctionCall",
"src": "1024:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1004:3:1",
"nodeType": "YulIdentifier",
"src": "1004:3:1"
},
"nativeSrc": "1004:28:1",
"nodeType": "YulFunctionCall",
"src": "1004:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "994:6:1",
"nodeType": "YulIdentifier",
"src": "994:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "936:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "967:5:1",
"nodeType": "YulTypedName",
"src": "967:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "977:6:1",
"nodeType": "YulTypedName",
"src": "977:6:1",
"type": ""
}
],
"src": "936:102:1"
},
{
"body": {
"nativeSrc": "1072:152:1",
"nodeType": "YulBlock",
"src": "1072:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1089:1:1",
"nodeType": "YulLiteral",
"src": "1089:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1092:77:1",
"nodeType": "YulLiteral",
"src": "1092:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1082:6:1",
"nodeType": "YulIdentifier",
"src": "1082:6:1"
},
"nativeSrc": "1082:88:1",
"nodeType": "YulFunctionCall",
"src": "1082:88:1"
},
"nativeSrc": "1082:88:1",
"nodeType": "YulExpressionStatement",
"src": "1082:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1186:1:1",
"nodeType": "YulLiteral",
"src": "1186:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1189:4:1",
"nodeType": "YulLiteral",
"src": "1189:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1179:6:1",
"nodeType": "YulIdentifier",
"src": "1179:6:1"
},
"nativeSrc": "1179:15:1",
"nodeType": "YulFunctionCall",
"src": "1179:15:1"
},
"nativeSrc": "1179:15:1",
"nodeType": "YulExpressionStatement",
"src": "1179:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1210:1:1",
"nodeType": "YulLiteral",
"src": "1210:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1213:4:1",
"nodeType": "YulLiteral",
"src": "1213:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1203:6:1",
"nodeType": "YulIdentifier",
"src": "1203:6:1"
},
"nativeSrc": "1203:15:1",
"nodeType": "YulFunctionCall",
"src": "1203:15:1"
},
"nativeSrc": "1203:15:1",
"nodeType": "YulExpressionStatement",
"src": "1203:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "1044:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1044:180:1"
},
{
"body": {
"nativeSrc": "1273:238:1",
"nodeType": "YulBlock",
"src": "1273:238:1",
"statements": [
{
"nativeSrc": "1283:58:1",
"nodeType": "YulVariableDeclaration",
"src": "1283:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1305:6:1",
"nodeType": "YulIdentifier",
"src": "1305:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "1335:4:1",
"nodeType": "YulIdentifier",
"src": "1335:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1313:21:1",
"nodeType": "YulIdentifier",
"src": "1313:21:1"
},
"nativeSrc": "1313:27:1",
"nodeType": "YulFunctionCall",
"src": "1313:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1301:3:1",
"nodeType": "YulIdentifier",
"src": "1301:3:1"
},
"nativeSrc": "1301:40:1",
"nodeType": "YulFunctionCall",
"src": "1301:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "1287:10:1",
"nodeType": "YulTypedName",
"src": "1287:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1452:22:1",
"nodeType": "YulBlock",
"src": "1452:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1454:16:1",
"nodeType": "YulIdentifier",
"src": "1454:16:1"
},
"nativeSrc": "1454:18:1",
"nodeType": "YulFunctionCall",
"src": "1454:18:1"
},
"nativeSrc": "1454:18:1",
"nodeType": "YulExpressionStatement",
"src": "1454:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1395:10:1",
"nodeType": "YulIdentifier",
"src": "1395:10:1"
},
{
"kind": "number",
"nativeSrc": "1407:18:1",
"nodeType": "YulLiteral",
"src": "1407:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1392:2:1",
"nodeType": "YulIdentifier",
"src": "1392:2:1"
},
"nativeSrc": "1392:34:1",
"nodeType": "YulFunctionCall",
"src": "1392:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "1431:10:1",
"nodeType": "YulIdentifier",
"src": "1431:10:1"
},
{
"name": "memPtr",
"nativeSrc": "1443:6:1",
"nodeType": "YulIdentifier",
"src": "1443:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1428:2:1",
"nodeType": "YulIdentifier",
"src": "1428:2:1"
},
"nativeSrc": "1428:22:1",
"nodeType": "YulFunctionCall",
"src": "1428:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1389:2:1",
"nodeType": "YulIdentifier",
"src": "1389:2:1"
},
"nativeSrc": "1389:62:1",
"nodeType": "YulFunctionCall",
"src": "1389:62:1"
},
"nativeSrc": "1386:88:1",
"nodeType": "YulIf",
"src": "1386:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1490:2:1",
"nodeType": "YulLiteral",
"src": "1490:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "1494:10:1",
"nodeType": "YulIdentifier",
"src": "1494:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1483:6:1",
"nodeType": "YulIdentifier",
"src": "1483:6:1"
},
"nativeSrc": "1483:22:1",
"nodeType": "YulFunctionCall",
"src": "1483:22:1"
},
"nativeSrc": "1483:22:1",
"nodeType": "YulExpressionStatement",
"src": "1483:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "1230:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "1259:6:1",
"nodeType": "YulTypedName",
"src": "1259:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "1267:4:1",
"nodeType": "YulTypedName",
"src": "1267:4:1",
"type": ""
}
],
"src": "1230:281:1"
},
{
"body": {
"nativeSrc": "1558:88:1",
"nodeType": "YulBlock",
"src": "1558:88:1",
"statements": [
{
"nativeSrc": "1568:30:1",
"nodeType": "YulAssignment",
"src": "1568:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "1578:18:1",
"nodeType": "YulIdentifier",
"src": "1578:18:1"
},
"nativeSrc": "1578:20:1",
"nodeType": "YulFunctionCall",
"src": "1578:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "1568:6:1",
"nodeType": "YulIdentifier",
"src": "1568:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "1627:6:1",
"nodeType": "YulIdentifier",
"src": "1627:6:1"
},
{
"name": "size",
"nativeSrc": "1635:4:1",
"nodeType": "YulIdentifier",
"src": "1635:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "1607:19:1",
"nodeType": "YulIdentifier",
"src": "1607:19:1"
},
"nativeSrc": "1607:33:1",
"nodeType": "YulFunctionCall",
"src": "1607:33:1"
},
"nativeSrc": "1607:33:1",
"nodeType": "YulExpressionStatement",
"src": "1607:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "1517:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "1542:4:1",
"nodeType": "YulTypedName",
"src": "1542:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "1551:6:1",
"nodeType": "YulTypedName",
"src": "1551:6:1",
"type": ""
}
],
"src": "1517:129:1"
},
{
"body": {
"nativeSrc": "1718:241:1",
"nodeType": "YulBlock",
"src": "1718:241:1",
"statements": [
{
"body": {
"nativeSrc": "1823:22:1",
"nodeType": "YulBlock",
"src": "1823:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "1825:16:1",
"nodeType": "YulIdentifier",
"src": "1825:16:1"
},
"nativeSrc": "1825:18:1",
"nodeType": "YulFunctionCall",
"src": "1825:18:1"
},
"nativeSrc": "1825:18:1",
"nodeType": "YulExpressionStatement",
"src": "1825:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "1795:6:1",
"nodeType": "YulIdentifier",
"src": "1795:6:1"
},
{
"kind": "number",
"nativeSrc": "1803:18:1",
"nodeType": "YulLiteral",
"src": "1803:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1792:2:1",
"nodeType": "YulIdentifier",
"src": "1792:2:1"
},
"nativeSrc": "1792:30:1",
"nodeType": "YulFunctionCall",
"src": "1792:30:1"
},
"nativeSrc": "1789:56:1",
"nodeType": "YulIf",
"src": "1789:56:1"
},
{
"nativeSrc": "1855:37:1",
"nodeType": "YulAssignment",
"src": "1855:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "1885:6:1",
"nodeType": "YulIdentifier",
"src": "1885:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "1863:21:1",
"nodeType": "YulIdentifier",
"src": "1863:21:1"
},
"nativeSrc": "1863:29:1",
"nodeType": "YulFunctionCall",
"src": "1863:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "1855:4:1",
"nodeType": "YulIdentifier",
"src": "1855:4:1"
}
]
},
{
"nativeSrc": "1929:23:1",
"nodeType": "YulAssignment",
"src": "1929:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "1941:4:1",
"nodeType": "YulIdentifier",
"src": "1941:4:1"
},
{
"kind": "number",
"nativeSrc": "1947:4:1",
"nodeType": "YulLiteral",
"src": "1947:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1937:3:1",
"nodeType": "YulIdentifier",
"src": "1937:3:1"
},
"nativeSrc": "1937:15:1",
"nodeType": "YulFunctionCall",
"src": "1937:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "1929:4:1",
"nodeType": "YulIdentifier",
"src": "1929:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_bytes_memory_ptr",
"nativeSrc": "1652:307:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "1702:6:1",
"nodeType": "YulTypedName",
"src": "1702:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "1713:4:1",
"nodeType": "YulTypedName",
"src": "1713:4:1",
"type": ""
}
],
"src": "1652:307:1"
},
{
"body": {
"nativeSrc": "2029:84:1",
"nodeType": "YulBlock",
"src": "2029:84:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "2053:3:1",
"nodeType": "YulIdentifier",
"src": "2053:3:1"
},
{
"name": "src",
"nativeSrc": "2058:3:1",
"nodeType": "YulIdentifier",
"src": "2058:3:1"
},
{
"name": "length",
"nativeSrc": "2063:6:1",
"nodeType": "YulIdentifier",
"src": "2063:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "2040:12:1",
"nodeType": "YulIdentifier",
"src": "2040:12:1"
},
"nativeSrc": "2040:30:1",
"nodeType": "YulFunctionCall",
"src": "2040:30:1"
},
"nativeSrc": "2040:30:1",
"nodeType": "YulExpressionStatement",
"src": "2040:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2090:3:1",
"nodeType": "YulIdentifier",
"src": "2090:3:1"
},
{
"name": "length",
"nativeSrc": "2095:6:1",
"nodeType": "YulIdentifier",
"src": "2095:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2086:3:1",
"nodeType": "YulIdentifier",
"src": "2086:3:1"
},
"nativeSrc": "2086:16:1",
"nodeType": "YulFunctionCall",
"src": "2086:16:1"
},
{
"kind": "number",
"nativeSrc": "2104:1:1",
"nodeType": "YulLiteral",
"src": "2104:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2079:6:1",
"nodeType": "YulIdentifier",
"src": "2079:6:1"
},
"nativeSrc": "2079:27:1",
"nodeType": "YulFunctionCall",
"src": "2079:27:1"
},
"nativeSrc": "2079:27:1",
"nodeType": "YulExpressionStatement",
"src": "2079:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "1965:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2011:3:1",
"nodeType": "YulTypedName",
"src": "2011:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2016:3:1",
"nodeType": "YulTypedName",
"src": "2016:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2021:6:1",
"nodeType": "YulTypedName",
"src": "2021:6:1",
"type": ""
}
],
"src": "1965:148:1"
},
{
"body": {
"nativeSrc": "2202:340:1",
"nodeType": "YulBlock",
"src": "2202:340:1",
"statements": [
{
"nativeSrc": "2212:74:1",
"nodeType": "YulAssignment",
"src": "2212:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "2278:6:1",
"nodeType": "YulIdentifier",
"src": "2278:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_bytes_memory_ptr",
"nativeSrc": "2237:40:1",
"nodeType": "YulIdentifier",
"src": "2237:40:1"
},
"nativeSrc": "2237:48:1",
"nodeType": "YulFunctionCall",
"src": "2237:48:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "2221:15:1",
"nodeType": "YulIdentifier",
"src": "2221:15:1"
},
"nativeSrc": "2221:65:1",
"nodeType": "YulFunctionCall",
"src": "2221:65:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2212:5:1",
"nodeType": "YulIdentifier",
"src": "2212:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "2302:5:1",
"nodeType": "YulIdentifier",
"src": "2302:5:1"
},
{
"name": "length",
"nativeSrc": "2309:6:1",
"nodeType": "YulIdentifier",
"src": "2309:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2295:6:1",
"nodeType": "YulIdentifier",
"src": "2295:6:1"
},
"nativeSrc": "2295:21:1",
"nodeType": "YulFunctionCall",
"src": "2295:21:1"
},
"nativeSrc": "2295:21:1",
"nodeType": "YulExpressionStatement",
"src": "2295:21:1"
},
{
"nativeSrc": "2325:27:1",
"nodeType": "YulVariableDeclaration",
"src": "2325:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2340:5:1",
"nodeType": "YulIdentifier",
"src": "2340:5:1"
},
{
"kind": "number",
"nativeSrc": "2347:4:1",
"nodeType": "YulLiteral",
"src": "2347:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2336:3:1",
"nodeType": "YulIdentifier",
"src": "2336:3:1"
},
"nativeSrc": "2336:16:1",
"nodeType": "YulFunctionCall",
"src": "2336:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "2329:3:1",
"nodeType": "YulTypedName",
"src": "2329:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2390:83:1",
"nodeType": "YulBlock",
"src": "2390:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "2392:77:1",
"nodeType": "YulIdentifier",
"src": "2392:77:1"
},
"nativeSrc": "2392:79:1",
"nodeType": "YulFunctionCall",
"src": "2392:79:1"
},
"nativeSrc": "2392:79:1",
"nodeType": "YulExpressionStatement",
"src": "2392:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2371:3:1",
"nodeType": "YulIdentifier",
"src": "2371:3:1"
},
{
"name": "length",
"nativeSrc": "2376:6:1",
"nodeType": "YulIdentifier",
"src": "2376:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2367:3:1",
"nodeType": "YulIdentifier",
"src": "2367:3:1"
},
"nativeSrc": "2367:16:1",
"nodeType": "YulFunctionCall",
"src": "2367:16:1"
},
{
"name": "end",
"nativeSrc": "2385:3:1",
"nodeType": "YulIdentifier",
"src": "2385:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2364:2:1",
"nodeType": "YulIdentifier",
"src": "2364:2:1"
},
"nativeSrc": "2364:25:1",
"nodeType": "YulFunctionCall",
"src": "2364:25:1"
},
"nativeSrc": "2361:112:1",
"nodeType": "YulIf",
"src": "2361:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "2519:3:1",
"nodeType": "YulIdentifier",
"src": "2519:3:1"
},
{
"name": "dst",
"nativeSrc": "2524:3:1",
"nodeType": "YulIdentifier",
"src": "2524:3:1"
},
{
"name": "length",
"nativeSrc": "2529:6:1",
"nodeType": "YulIdentifier",
"src": "2529:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2482:36:1",
"nodeType": "YulIdentifier",
"src": "2482:36:1"
},
"nativeSrc": "2482:54:1",
"nodeType": "YulFunctionCall",
"src": "2482:54:1"
},
"nativeSrc": "2482:54:1",
"nodeType": "YulExpressionStatement",
"src": "2482:54:1"
}
]
},
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nativeSrc": "2119:423:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2175:3:1",
"nodeType": "YulTypedName",
"src": "2175:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2180:6:1",
"nodeType": "YulTypedName",
"src": "2180:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2188:3:1",
"nodeType": "YulTypedName",
"src": "2188:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2196:5:1",
"nodeType": "YulTypedName",
"src": "2196:5:1",
"type": ""
}
],
"src": "2119:423:1"
},
{
"body": {
"nativeSrc": "2622:277:1",
"nodeType": "YulBlock",
"src": "2622:277:1",
"statements": [
{
"body": {
"nativeSrc": "2671:83:1",
"nodeType": "YulBlock",
"src": "2671:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "2673:77:1",
"nodeType": "YulIdentifier",
"src": "2673:77:1"
},
"nativeSrc": "2673:79:1",
"nodeType": "YulFunctionCall",
"src": "2673:79:1"
},
"nativeSrc": "2673:79:1",
"nodeType": "YulExpressionStatement",
"src": "2673:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2650:6:1",
"nodeType": "YulIdentifier",
"src": "2650:6:1"
},
{
"kind": "number",
"nativeSrc": "2658:4:1",
"nodeType": "YulLiteral",
"src": "2658:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2646:3:1",
"nodeType": "YulIdentifier",
"src": "2646:3:1"
},
"nativeSrc": "2646:17:1",
"nodeType": "YulFunctionCall",
"src": "2646:17:1"
},
{
"name": "end",
"nativeSrc": "2665:3:1",
"nodeType": "YulIdentifier",
"src": "2665:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "2642:3:1",
"nodeType": "YulIdentifier",
"src": "2642:3:1"
},
"nativeSrc": "2642:27:1",
"nodeType": "YulFunctionCall",
"src": "2642:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2635:6:1",
"nodeType": "YulIdentifier",
"src": "2635:6:1"
},
"nativeSrc": "2635:35:1",
"nodeType": "YulFunctionCall",
"src": "2635:35:1"
},
"nativeSrc": "2632:122:1",
"nodeType": "YulIf",
"src": "2632:122:1"
},
{
"nativeSrc": "2763:34:1",
"nodeType": "YulVariableDeclaration",
"src": "2763:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "2790:6:1",
"nodeType": "YulIdentifier",
"src": "2790:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "2777:12:1",
"nodeType": "YulIdentifier",
"src": "2777:12:1"
},
"nativeSrc": "2777:20:1",
"nodeType": "YulFunctionCall",
"src": "2777:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "2767:6:1",
"nodeType": "YulTypedName",
"src": "2767:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2806:87:1",
"nodeType": "YulAssignment",
"src": "2806:87:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "2866:6:1",
"nodeType": "YulIdentifier",
"src": "2866:6:1"
},
{
"kind": "number",
"nativeSrc": "2874:4:1",
"nodeType": "YulLiteral",
"src": "2874:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2862:3:1",
"nodeType": "YulIdentifier",
"src": "2862:3:1"
},
"nativeSrc": "2862:17:1",
"nodeType": "YulFunctionCall",
"src": "2862:17:1"
},
{
"name": "length",
"nativeSrc": "2881:6:1",
"nodeType": "YulIdentifier",
"src": "2881:6:1"
},
{
"name": "end",
"nativeSrc": "2889:3:1",
"nodeType": "YulIdentifier",
"src": "2889:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nativeSrc": "2815:46:1",
"nodeType": "YulIdentifier",
"src": "2815:46:1"
},
"nativeSrc": "2815:78:1",
"nodeType": "YulFunctionCall",
"src": "2815:78:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "2806:5:1",
"nodeType": "YulIdentifier",
"src": "2806:5:1"
}
]
}
]
},
"name": "abi_decode_t_bytes_memory_ptr",
"nativeSrc": "2561:338:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "2600:6:1",
"nodeType": "YulTypedName",
"src": "2600:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2608:3:1",
"nodeType": "YulTypedName",
"src": "2608:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "2616:5:1",
"nodeType": "YulTypedName",
"src": "2616:5:1",
"type": ""
}
],
"src": "2561:338:1"
},
{
"body": {
"nativeSrc": "2997:560:1",
"nodeType": "YulBlock",
"src": "2997:560:1",
"statements": [
{
"body": {
"nativeSrc": "3043:83:1",
"nodeType": "YulBlock",
"src": "3043:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3045:77:1",
"nodeType": "YulIdentifier",
"src": "3045:77:1"
},
"nativeSrc": "3045:79:1",
"nodeType": "YulFunctionCall",
"src": "3045:79:1"
},
"nativeSrc": "3045:79:1",
"nodeType": "YulExpressionStatement",
"src": "3045:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3018:7:1",
"nodeType": "YulIdentifier",
"src": "3018:7:1"
},
{
"name": "headStart",
"nativeSrc": "3027:9:1",
"nodeType": "YulIdentifier",
"src": "3027:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3014:3:1",
"nodeType": "YulIdentifier",
"src": "3014:3:1"
},
"nativeSrc": "3014:23:1",
"nodeType": "YulFunctionCall",
"src": "3014:23:1"
},
{
"kind": "number",
"nativeSrc": "3039:2:1",
"nodeType": "YulLiteral",
"src": "3039:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3010:3:1",
"nodeType": "YulIdentifier",
"src": "3010:3:1"
},
"nativeSrc": "3010:32:1",
"nodeType": "YulFunctionCall",
"src": "3010:32:1"
},
"nativeSrc": "3007:119:1",
"nodeType": "YulIf",
"src": "3007:119:1"
},
{
"nativeSrc": "3136:117:1",
"nodeType": "YulBlock",
"src": "3136:117:1",
"statements": [
{
"nativeSrc": "3151:15:1",
"nodeType": "YulVariableDeclaration",
"src": "3151:15:1",
"value": {
"kind": "number",
"nativeSrc": "3165:1:1",
"nodeType": "YulLiteral",
"src": "3165:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3155:6:1",
"nodeType": "YulTypedName",
"src": "3155:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3180:63:1",
"nodeType": "YulAssignment",
"src": "3180:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3215:9:1",
"nodeType": "YulIdentifier",
"src": "3215:9:1"
},
{
"name": "offset",
"nativeSrc": "3226:6:1",
"nodeType": "YulIdentifier",
"src": "3226:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3211:3:1",
"nodeType": "YulIdentifier",
"src": "3211:3:1"
},
"nativeSrc": "3211:22:1",
"nodeType": "YulFunctionCall",
"src": "3211:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3235:7:1",
"nodeType": "YulIdentifier",
"src": "3235:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nativeSrc": "3190:20:1",
"nodeType": "YulIdentifier",
"src": "3190:20:1"
},
"nativeSrc": "3190:53:1",
"nodeType": "YulFunctionCall",
"src": "3190:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3180:6:1",
"nodeType": "YulIdentifier",
"src": "3180:6:1"
}
]
}
]
},
{
"nativeSrc": "3263:287:1",
"nodeType": "YulBlock",
"src": "3263:287:1",
"statements": [
{
"nativeSrc": "3278:46:1",
"nodeType": "YulVariableDeclaration",
"src": "3278:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3309:9:1",
"nodeType": "YulIdentifier",
"src": "3309:9:1"
},
{
"kind": "number",
"nativeSrc": "3320:2:1",
"nodeType": "YulLiteral",
"src": "3320:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3305:3:1",
"nodeType": "YulIdentifier",
"src": "3305:3:1"
},
"nativeSrc": "3305:18:1",
"nodeType": "YulFunctionCall",
"src": "3305:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3292:12:1",
"nodeType": "YulIdentifier",
"src": "3292:12:1"
},
"nativeSrc": "3292:32:1",
"nodeType": "YulFunctionCall",
"src": "3292:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3282:6:1",
"nodeType": "YulTypedName",
"src": "3282:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3371:83:1",
"nodeType": "YulBlock",
"src": "3371:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "3373:77:1",
"nodeType": "YulIdentifier",
"src": "3373:77:1"
},
"nativeSrc": "3373:79:1",
"nodeType": "YulFunctionCall",
"src": "3373:79:1"
},
"nativeSrc": "3373:79:1",
"nodeType": "YulExpressionStatement",
"src": "3373:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3343:6:1",
"nodeType": "YulIdentifier",
"src": "3343:6:1"
},
{
"kind": "number",
"nativeSrc": "3351:18:1",
"nodeType": "YulLiteral",
"src": "3351:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3340:2:1",
"nodeType": "YulIdentifier",
"src": "3340:2:1"
},
"nativeSrc": "3340:30:1",
"nodeType": "YulFunctionCall",
"src": "3340:30:1"
},
"nativeSrc": "3337:117:1",
"nodeType": "YulIf",
"src": "3337:117:1"
},
{
"nativeSrc": "3468:72:1",
"nodeType": "YulAssignment",
"src": "3468:72:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3512:9:1",
"nodeType": "YulIdentifier",
"src": "3512:9:1"
},
{
"name": "offset",
"nativeSrc": "3523:6:1",
"nodeType": "YulIdentifier",
"src": "3523:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3508:3:1",
"nodeType": "YulIdentifier",
"src": "3508:3:1"
},
"nativeSrc": "3508:22:1",
"nodeType": "YulFunctionCall",
"src": "3508:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "3532:7:1",
"nodeType": "YulIdentifier",
"src": "3532:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr",
"nativeSrc": "3478:29:1",
"nodeType": "YulIdentifier",
"src": "3478:29:1"
},
"nativeSrc": "3478:62:1",
"nodeType": "YulFunctionCall",
"src": "3478:62:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "3468:6:1",
"nodeType": "YulIdentifier",
"src": "3468:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr",
"nativeSrc": "2905:652:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "2959:9:1",
"nodeType": "YulTypedName",
"src": "2959:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "2970:7:1",
"nodeType": "YulTypedName",
"src": "2970:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "2982:6:1",
"nodeType": "YulTypedName",
"src": "2982:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "2990:6:1",
"nodeType": "YulTypedName",
"src": "2990:6:1",
"type": ""
}
],
"src": "2905:652:1"
},
{
"body": {
"nativeSrc": "3608:81:1",
"nodeType": "YulBlock",
"src": "3608:81:1",
"statements": [
{
"nativeSrc": "3618:65:1",
"nodeType": "YulAssignment",
"src": "3618:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "3633:5:1",
"nodeType": "YulIdentifier",
"src": "3633:5:1"
},
{
"kind": "number",
"nativeSrc": "3640:42:1",
"nodeType": "YulLiteral",
"src": "3640:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3629:3:1",
"nodeType": "YulIdentifier",
"src": "3629:3:1"
},
"nativeSrc": "3629:54:1",
"nodeType": "YulFunctionCall",
"src": "3629:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3618:7:1",
"nodeType": "YulIdentifier",
"src": "3618:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "3563:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3590:5:1",
"nodeType": "YulTypedName",
"src": "3590:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3600:7:1",
"nodeType": "YulTypedName",
"src": "3600:7:1",
"type": ""
}
],
"src": "3563:126:1"
},
{
"body": {
"nativeSrc": "3740:51:1",
"nodeType": "YulBlock",
"src": "3740:51:1",
"statements": [
{
"nativeSrc": "3750:35:1",
"nodeType": "YulAssignment",
"src": "3750:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "3779:5:1",
"nodeType": "YulIdentifier",
"src": "3779:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "3761:17:1",
"nodeType": "YulIdentifier",
"src": "3761:17:1"
},
"nativeSrc": "3761:24:1",
"nodeType": "YulFunctionCall",
"src": "3761:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "3750:7:1",
"nodeType": "YulIdentifier",
"src": "3750:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "3695:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3722:5:1",
"nodeType": "YulTypedName",
"src": "3722:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "3732:7:1",
"nodeType": "YulTypedName",
"src": "3732:7:1",
"type": ""
}
],
"src": "3695:96:1"
},
{
"body": {
"nativeSrc": "3862:53:1",
"nodeType": "YulBlock",
"src": "3862:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "3879:3:1",
"nodeType": "YulIdentifier",
"src": "3879:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3902:5:1",
"nodeType": "YulIdentifier",
"src": "3902:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "3884:17:1",
"nodeType": "YulIdentifier",
"src": "3884:17:1"
},
"nativeSrc": "3884:24:1",
"nodeType": "YulFunctionCall",
"src": "3884:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3872:6:1",
"nodeType": "YulIdentifier",
"src": "3872:6:1"
},
"nativeSrc": "3872:37:1",
"nodeType": "YulFunctionCall",
"src": "3872:37:1"
},
"nativeSrc": "3872:37:1",
"nodeType": "YulExpressionStatement",
"src": "3872:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "3797:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3850:5:1",
"nodeType": "YulTypedName",
"src": "3850:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "3857:3:1",
"nodeType": "YulTypedName",
"src": "3857:3:1",
"type": ""
}
],
"src": "3797:118:1"
},
{
"body": {
"nativeSrc": "4019:124:1",
"nodeType": "YulBlock",
"src": "4019:124:1",
"statements": [
{
"nativeSrc": "4029:26:1",
"nodeType": "YulAssignment",
"src": "4029:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "4041:9:1",
"nodeType": "YulIdentifier",
"src": "4041:9:1"
},
{
"kind": "number",
"nativeSrc": "4052:2:1",
"nodeType": "YulLiteral",
"src": "4052:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4037:3:1",
"nodeType": "YulIdentifier",
"src": "4037:3:1"
},
"nativeSrc": "4037:18:1",
"nodeType": "YulFunctionCall",
"src": "4037:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "4029:4:1",
"nodeType": "YulIdentifier",
"src": "4029:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "4109:6:1",
"nodeType": "YulIdentifier",
"src": "4109:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4122:9:1",
"nodeType": "YulIdentifier",
"src": "4122:9:1"
},
{
"kind": "number",
"nativeSrc": "4133:1:1",
"nodeType": "YulLiteral",
"src": "4133:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4118:3:1",
"nodeType": "YulIdentifier",
"src": "4118:3:1"
},
"nativeSrc": "4118:17:1",
"nodeType": "YulFunctionCall",
"src": "4118:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "4065:43:1",
"nodeType": "YulIdentifier",
"src": "4065:43:1"
},
"nativeSrc": "4065:71:1",
"nodeType": "YulFunctionCall",
"src": "4065:71:1"
},
"nativeSrc": "4065:71:1",
"nodeType": "YulExpressionStatement",
"src": "4065:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nativeSrc": "3921:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3991:9:1",
"nodeType": "YulTypedName",
"src": "3991:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "4003:6:1",
"nodeType": "YulTypedName",
"src": "4003:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "4014:4:1",
"nodeType": "YulTypedName",
"src": "4014:4:1",
"type": ""
}
],
"src": "3921:222:1"
},
{
"body": {
"nativeSrc": "4192:79:1",
"nodeType": "YulBlock",
"src": "4192:79:1",
"statements": [
{
"body": {
"nativeSrc": "4249:16:1",
"nodeType": "YulBlock",
"src": "4249:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "4258:1:1",
"nodeType": "YulLiteral",
"src": "4258:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "4261:1:1",
"nodeType": "YulLiteral",
"src": "4261:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "4251:6:1",
"nodeType": "YulIdentifier",
"src": "4251:6:1"
},
"nativeSrc": "4251:12:1",
"nodeType": "YulFunctionCall",
"src": "4251:12:1"
},
"nativeSrc": "4251:12:1",
"nodeType": "YulExpressionStatement",
"src": "4251:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "4215:5:1",
"nodeType": "YulIdentifier",
"src": "4215:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4240:5:1",
"nodeType": "YulIdentifier",
"src": "4240:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "4222:17:1",
"nodeType": "YulIdentifier",
"src": "4222:17:1"
},
"nativeSrc": "4222:24:1",
"nodeType": "YulFunctionCall",
"src": "4222:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "4212:2:1",
"nodeType": "YulIdentifier",
"src": "4212:2:1"
},
"nativeSrc": "4212:35:1",
"nodeType": "YulFunctionCall",
"src": "4212:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "4205:6:1",
"nodeType": "YulIdentifier",
"src": "4205:6:1"
},
"nativeSrc": "4205:43:1",
"nodeType": "YulFunctionCall",
"src": "4205:43:1"
},
"nativeSrc": "4202:63:1",
"nodeType": "YulIf",
"src": "4202:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "4149:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4185:5:1",
"nodeType": "YulTypedName",
"src": "4185:5:1",
"type": ""
}
],
"src": "4149:122:1"
},
{
"body": {
"nativeSrc": "4329:87:1",
"nodeType": "YulBlock",
"src": "4329:87:1",
"statements": [
{
"nativeSrc": "4339:29:1",
"nodeType": "YulAssignment",
"src": "4339:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "4361:6:1",
"nodeType": "YulIdentifier",
"src": "4361:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "4348:12:1",
"nodeType": "YulIdentifier",
"src": "4348:12:1"
},
"nativeSrc": "4348:20:1",
"nodeType": "YulFunctionCall",
"src": "4348:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "4339:5:1",
"nodeType": "YulIdentifier",
"src": "4339:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "4404:5:1",
"nodeType": "YulIdentifier",
"src": "4404:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "4377:26:1",
"nodeType": "YulIdentifier",
"src": "4377:26:1"
},
"nativeSrc": "4377:33:1",
"nodeType": "YulFunctionCall",
"src": "4377:33:1"
},
"nativeSrc": "4377:33:1",
"nodeType": "YulExpressionStatement",
"src": "4377:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "4277:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "4307:6:1",
"nodeType": "YulTypedName",
"src": "4307:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "4315:3:1",
"nodeType": "YulTypedName",
"src": "4315:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "4323:5:1",
"nodeType": "YulTypedName",
"src": "4323:5:1",
"type": ""
}
],
"src": "4277:139:1"
},
{
"body": {
"nativeSrc": "4489:241:1",
"nodeType": "YulBlock",
"src": "4489:241:1",
"statements": [
{
"body": {
"nativeSrc": "4594:22:1",
"nodeType": "YulBlock",
"src": "4594:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4596:16:1",
"nodeType": "YulIdentifier",
"src": "4596:16:1"
},
"nativeSrc": "4596:18:1",
"nodeType": "YulFunctionCall",
"src": "4596:18:1"
},
"nativeSrc": "4596:18:1",
"nodeType": "YulExpressionStatement",
"src": "4596:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "4566:6:1",
"nodeType": "YulIdentifier",
"src": "4566:6:1"
},
{
"kind": "number",
"nativeSrc": "4574:18:1",
"nodeType": "YulLiteral",
"src": "4574:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4563:2:1",
"nodeType": "YulIdentifier",
"src": "4563:2:1"
},
"nativeSrc": "4563:30:1",
"nodeType": "YulFunctionCall",
"src": "4563:30:1"
},
"nativeSrc": "4560:56:1",
"nodeType": "YulIf",
"src": "4560:56:1"
},
{
"nativeSrc": "4626:37:1",
"nodeType": "YulAssignment",
"src": "4626:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "4656:6:1",
"nodeType": "YulIdentifier",
"src": "4656:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "4634:21:1",
"nodeType": "YulIdentifier",
"src": "4634:21:1"
},
"nativeSrc": "4634:29:1",
"nodeType": "YulFunctionCall",
"src": "4634:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "4626:4:1",
"nodeType": "YulIdentifier",
"src": "4626:4:1"
}
]
},
{
"nativeSrc": "4700:23:1",
"nodeType": "YulAssignment",
"src": "4700:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "4712:4:1",
"nodeType": "YulIdentifier",
"src": "4712:4:1"
},
{
"kind": "number",
"nativeSrc": "4718:4:1",
"nodeType": "YulLiteral",
"src": "4718:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4708:3:1",
"nodeType": "YulIdentifier",
"src": "4708:3:1"
},
"nativeSrc": "4708:15:1",
"nodeType": "YulFunctionCall",
"src": "4708:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "4700:4:1",
"nodeType": "YulIdentifier",
"src": "4700:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "4422:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "4473:6:1",
"nodeType": "YulTypedName",
"src": "4473:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "4484:4:1",
"nodeType": "YulTypedName",
"src": "4484:4:1",
"type": ""
}
],
"src": "4422:308:1"
},
{
"body": {
"nativeSrc": "4820:341:1",
"nodeType": "YulBlock",
"src": "4820:341:1",
"statements": [
{
"nativeSrc": "4830:75:1",
"nodeType": "YulAssignment",
"src": "4830:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "4897:6:1",
"nodeType": "YulIdentifier",
"src": "4897:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "4855:41:1",
"nodeType": "YulIdentifier",
"src": "4855:41:1"
},
"nativeSrc": "4855:49:1",
"nodeType": "YulFunctionCall",
"src": "4855:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "4839:15:1",
"nodeType": "YulIdentifier",
"src": "4839:15:1"
},
"nativeSrc": "4839:66:1",
"nodeType": "YulFunctionCall",
"src": "4839:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "4830:5:1",
"nodeType": "YulIdentifier",
"src": "4830:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "4921:5:1",
"nodeType": "YulIdentifier",
"src": "4921:5:1"
},
{
"name": "length",
"nativeSrc": "4928:6:1",
"nodeType": "YulIdentifier",
"src": "4928:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4914:6:1",
"nodeType": "YulIdentifier",
"src": "4914:6:1"
},
"nativeSrc": "4914:21:1",
"nodeType": "YulFunctionCall",
"src": "4914:21:1"
},
"nativeSrc": "4914:21:1",
"nodeType": "YulExpressionStatement",
"src": "4914:21:1"
},
{
"nativeSrc": "4944:27:1",
"nodeType": "YulVariableDeclaration",
"src": "4944:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "4959:5:1",
"nodeType": "YulIdentifier",
"src": "4959:5:1"
},
{
"kind": "number",
"nativeSrc": "4966:4:1",
"nodeType": "YulLiteral",
"src": "4966:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4955:3:1",
"nodeType": "YulIdentifier",
"src": "4955:3:1"
},
"nativeSrc": "4955:16:1",
"nodeType": "YulFunctionCall",
"src": "4955:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "4948:3:1",
"nodeType": "YulTypedName",
"src": "4948:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5009:83:1",
"nodeType": "YulBlock",
"src": "5009:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "5011:77:1",
"nodeType": "YulIdentifier",
"src": "5011:77:1"
},
"nativeSrc": "5011:79:1",
"nodeType": "YulFunctionCall",
"src": "5011:79:1"
},
"nativeSrc": "5011:79:1",
"nodeType": "YulExpressionStatement",
"src": "5011:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4990:3:1",
"nodeType": "YulIdentifier",
"src": "4990:3:1"
},
{
"name": "length",
"nativeSrc": "4995:6:1",
"nodeType": "YulIdentifier",
"src": "4995:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4986:3:1",
"nodeType": "YulIdentifier",
"src": "4986:3:1"
},
"nativeSrc": "4986:16:1",
"nodeType": "YulFunctionCall",
"src": "4986:16:1"
},
{
"name": "end",
"nativeSrc": "5004:3:1",
"nodeType": "YulIdentifier",
"src": "5004:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4983:2:1",
"nodeType": "YulIdentifier",
"src": "4983:2:1"
},
"nativeSrc": "4983:25:1",
"nodeType": "YulFunctionCall",
"src": "4983:25:1"
},
"nativeSrc": "4980:112:1",
"nodeType": "YulIf",
"src": "4980:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "5138:3:1",
"nodeType": "YulIdentifier",
"src": "5138:3:1"
},
{
"name": "dst",
"nativeSrc": "5143:3:1",
"nodeType": "YulIdentifier",
"src": "5143:3:1"
},
{
"name": "length",
"nativeSrc": "5148:6:1",
"nodeType": "YulIdentifier",
"src": "5148:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "5101:36:1",
"nodeType": "YulIdentifier",
"src": "5101:36:1"
},
"nativeSrc": "5101:54:1",
"nodeType": "YulFunctionCall",
"src": "5101:54:1"
},
"nativeSrc": "5101:54:1",
"nodeType": "YulExpressionStatement",
"src": "5101:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "4736:425:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "4793:3:1",
"nodeType": "YulTypedName",
"src": "4793:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4798:6:1",
"nodeType": "YulTypedName",
"src": "4798:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "4806:3:1",
"nodeType": "YulTypedName",
"src": "4806:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "4814:5:1",
"nodeType": "YulTypedName",
"src": "4814:5:1",
"type": ""
}
],
"src": "4736:425:1"
},
{
"body": {
"nativeSrc": "5243:278:1",
"nodeType": "YulBlock",
"src": "5243:278:1",
"statements": [
{
"body": {
"nativeSrc": "5292:83:1",
"nodeType": "YulBlock",
"src": "5292:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "5294:77:1",
"nodeType": "YulIdentifier",
"src": "5294:77:1"
},
"nativeSrc": "5294:79:1",
"nodeType": "YulFunctionCall",
"src": "5294:79:1"
},
"nativeSrc": "5294:79:1",
"nodeType": "YulExpressionStatement",
"src": "5294:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "5271:6:1",
"nodeType": "YulIdentifier",
"src": "5271:6:1"
},
{
"kind": "number",
"nativeSrc": "5279:4:1",
"nodeType": "YulLiteral",
"src": "5279:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5267:3:1",
"nodeType": "YulIdentifier",
"src": "5267:3:1"
},
"nativeSrc": "5267:17:1",
"nodeType": "YulFunctionCall",
"src": "5267:17:1"
},
{
"name": "end",
"nativeSrc": "5286:3:1",
"nodeType": "YulIdentifier",
"src": "5286:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5263:3:1",
"nodeType": "YulIdentifier",
"src": "5263:3:1"
},
"nativeSrc": "5263:27:1",
"nodeType": "YulFunctionCall",
"src": "5263:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "5256:6:1",
"nodeType": "YulIdentifier",
"src": "5256:6:1"
},
"nativeSrc": "5256:35:1",
"nodeType": "YulFunctionCall",
"src": "5256:35:1"
},
"nativeSrc": "5253:122:1",
"nodeType": "YulIf",
"src": "5253:122:1"
},
{
"nativeSrc": "5384:34:1",
"nodeType": "YulVariableDeclaration",
"src": "5384:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "5411:6:1",
"nodeType": "YulIdentifier",
"src": "5411:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5398:12:1",
"nodeType": "YulIdentifier",
"src": "5398:12:1"
},
"nativeSrc": "5398:20:1",
"nodeType": "YulFunctionCall",
"src": "5398:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "5388:6:1",
"nodeType": "YulTypedName",
"src": "5388:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5427:88:1",
"nodeType": "YulAssignment",
"src": "5427:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "5488:6:1",
"nodeType": "YulIdentifier",
"src": "5488:6:1"
},
{
"kind": "number",
"nativeSrc": "5496:4:1",
"nodeType": "YulLiteral",
"src": "5496:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5484:3:1",
"nodeType": "YulIdentifier",
"src": "5484:3:1"
},
"nativeSrc": "5484:17:1",
"nodeType": "YulFunctionCall",
"src": "5484:17:1"
},
{
"name": "length",
"nativeSrc": "5503:6:1",
"nodeType": "YulIdentifier",
"src": "5503:6:1"
},
{
"name": "end",
"nativeSrc": "5511:3:1",
"nodeType": "YulIdentifier",
"src": "5511:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "5436:47:1",
"nodeType": "YulIdentifier",
"src": "5436:47:1"
},
"nativeSrc": "5436:79:1",
"nodeType": "YulFunctionCall",
"src": "5436:79:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "5427:5:1",
"nodeType": "YulIdentifier",
"src": "5427:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "5181:340:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "5221:6:1",
"nodeType": "YulTypedName",
"src": "5221:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "5229:3:1",
"nodeType": "YulTypedName",
"src": "5229:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "5237:5:1",
"nodeType": "YulTypedName",
"src": "5237:5:1",
"type": ""
}
],
"src": "5181:340:1"
},
{
"body": {
"nativeSrc": "5646:858:1",
"nodeType": "YulBlock",
"src": "5646:858:1",
"statements": [
{
"body": {
"nativeSrc": "5692:83:1",
"nodeType": "YulBlock",
"src": "5692:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "5694:77:1",
"nodeType": "YulIdentifier",
"src": "5694:77:1"
},
"nativeSrc": "5694:79:1",
"nodeType": "YulFunctionCall",
"src": "5694:79:1"
},
"nativeSrc": "5694:79:1",
"nodeType": "YulExpressionStatement",
"src": "5694:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "5667:7:1",
"nodeType": "YulIdentifier",
"src": "5667:7:1"
},
{
"name": "headStart",
"nativeSrc": "5676:9:1",
"nodeType": "YulIdentifier",
"src": "5676:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5663:3:1",
"nodeType": "YulIdentifier",
"src": "5663:3:1"
},
"nativeSrc": "5663:23:1",
"nodeType": "YulFunctionCall",
"src": "5663:23:1"
},
{
"kind": "number",
"nativeSrc": "5688:2:1",
"nodeType": "YulLiteral",
"src": "5688:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "5659:3:1",
"nodeType": "YulIdentifier",
"src": "5659:3:1"
},
"nativeSrc": "5659:32:1",
"nodeType": "YulFunctionCall",
"src": "5659:32:1"
},
"nativeSrc": "5656:119:1",
"nodeType": "YulIf",
"src": "5656:119:1"
},
{
"nativeSrc": "5785:117:1",
"nodeType": "YulBlock",
"src": "5785:117:1",
"statements": [
{
"nativeSrc": "5800:15:1",
"nodeType": "YulVariableDeclaration",
"src": "5800:15:1",
"value": {
"kind": "number",
"nativeSrc": "5814:1:1",
"nodeType": "YulLiteral",
"src": "5814:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5804:6:1",
"nodeType": "YulTypedName",
"src": "5804:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5829:63:1",
"nodeType": "YulAssignment",
"src": "5829:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5864:9:1",
"nodeType": "YulIdentifier",
"src": "5864:9:1"
},
{
"name": "offset",
"nativeSrc": "5875:6:1",
"nodeType": "YulIdentifier",
"src": "5875:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5860:3:1",
"nodeType": "YulIdentifier",
"src": "5860:3:1"
},
"nativeSrc": "5860:22:1",
"nodeType": "YulFunctionCall",
"src": "5860:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5884:7:1",
"nodeType": "YulIdentifier",
"src": "5884:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "5839:20:1",
"nodeType": "YulIdentifier",
"src": "5839:20:1"
},
"nativeSrc": "5839:53:1",
"nodeType": "YulFunctionCall",
"src": "5839:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5829:6:1",
"nodeType": "YulIdentifier",
"src": "5829:6:1"
}
]
}
]
},
{
"nativeSrc": "5912:288:1",
"nodeType": "YulBlock",
"src": "5912:288:1",
"statements": [
{
"nativeSrc": "5927:46:1",
"nodeType": "YulVariableDeclaration",
"src": "5927:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5958:9:1",
"nodeType": "YulIdentifier",
"src": "5958:9:1"
},
{
"kind": "number",
"nativeSrc": "5969:2:1",
"nodeType": "YulLiteral",
"src": "5969:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5954:3:1",
"nodeType": "YulIdentifier",
"src": "5954:3:1"
},
"nativeSrc": "5954:18:1",
"nodeType": "YulFunctionCall",
"src": "5954:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "5941:12:1",
"nodeType": "YulIdentifier",
"src": "5941:12:1"
},
"nativeSrc": "5941:32:1",
"nodeType": "YulFunctionCall",
"src": "5941:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "5931:6:1",
"nodeType": "YulTypedName",
"src": "5931:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6020:83:1",
"nodeType": "YulBlock",
"src": "6020:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "6022:77:1",
"nodeType": "YulIdentifier",
"src": "6022:77:1"
},
"nativeSrc": "6022:79:1",
"nodeType": "YulFunctionCall",
"src": "6022:79:1"
},
"nativeSrc": "6022:79:1",
"nodeType": "YulExpressionStatement",
"src": "6022:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "5992:6:1",
"nodeType": "YulIdentifier",
"src": "5992:6:1"
},
{
"kind": "number",
"nativeSrc": "6000:18:1",
"nodeType": "YulLiteral",
"src": "6000:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "5989:2:1",
"nodeType": "YulIdentifier",
"src": "5989:2:1"
},
"nativeSrc": "5989:30:1",
"nodeType": "YulFunctionCall",
"src": "5989:30:1"
},
"nativeSrc": "5986:117:1",
"nodeType": "YulIf",
"src": "5986:117:1"
},
{
"nativeSrc": "6117:73:1",
"nodeType": "YulAssignment",
"src": "6117:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6162:9:1",
"nodeType": "YulIdentifier",
"src": "6162:9:1"
},
{
"name": "offset",
"nativeSrc": "6173:6:1",
"nodeType": "YulIdentifier",
"src": "6173:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6158:3:1",
"nodeType": "YulIdentifier",
"src": "6158:3:1"
},
"nativeSrc": "6158:22:1",
"nodeType": "YulFunctionCall",
"src": "6158:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6182:7:1",
"nodeType": "YulIdentifier",
"src": "6182:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "6127:30:1",
"nodeType": "YulIdentifier",
"src": "6127:30:1"
},
"nativeSrc": "6127:63:1",
"nodeType": "YulFunctionCall",
"src": "6127:63:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "6117:6:1",
"nodeType": "YulIdentifier",
"src": "6117:6:1"
}
]
}
]
},
{
"nativeSrc": "6210:287:1",
"nodeType": "YulBlock",
"src": "6210:287:1",
"statements": [
{
"nativeSrc": "6225:46:1",
"nodeType": "YulVariableDeclaration",
"src": "6225:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6256:9:1",
"nodeType": "YulIdentifier",
"src": "6256:9:1"
},
{
"kind": "number",
"nativeSrc": "6267:2:1",
"nodeType": "YulLiteral",
"src": "6267:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6252:3:1",
"nodeType": "YulIdentifier",
"src": "6252:3:1"
},
"nativeSrc": "6252:18:1",
"nodeType": "YulFunctionCall",
"src": "6252:18:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "6239:12:1",
"nodeType": "YulIdentifier",
"src": "6239:12:1"
},
"nativeSrc": "6239:32:1",
"nodeType": "YulFunctionCall",
"src": "6239:32:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "6229:6:1",
"nodeType": "YulTypedName",
"src": "6229:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "6318:83:1",
"nodeType": "YulBlock",
"src": "6318:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "6320:77:1",
"nodeType": "YulIdentifier",
"src": "6320:77:1"
},
"nativeSrc": "6320:79:1",
"nodeType": "YulFunctionCall",
"src": "6320:79:1"
},
"nativeSrc": "6320:79:1",
"nodeType": "YulExpressionStatement",
"src": "6320:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "6290:6:1",
"nodeType": "YulIdentifier",
"src": "6290:6:1"
},
{
"kind": "number",
"nativeSrc": "6298:18:1",
"nodeType": "YulLiteral",
"src": "6298:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "6287:2:1",
"nodeType": "YulIdentifier",
"src": "6287:2:1"
},
"nativeSrc": "6287:30:1",
"nodeType": "YulFunctionCall",
"src": "6287:30:1"
},
"nativeSrc": "6284:117:1",
"nodeType": "YulIf",
"src": "6284:117:1"
},
{
"nativeSrc": "6415:72:1",
"nodeType": "YulAssignment",
"src": "6415:72:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6459:9:1",
"nodeType": "YulIdentifier",
"src": "6459:9:1"
},
{
"name": "offset",
"nativeSrc": "6470:6:1",
"nodeType": "YulIdentifier",
"src": "6470:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6455:3:1",
"nodeType": "YulIdentifier",
"src": "6455:3:1"
},
"nativeSrc": "6455:22:1",
"nodeType": "YulFunctionCall",
"src": "6455:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "6479:7:1",
"nodeType": "YulIdentifier",
"src": "6479:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr",
"nativeSrc": "6425:29:1",
"nodeType": "YulIdentifier",
"src": "6425:29:1"
},
"nativeSrc": "6425:62:1",
"nodeType": "YulFunctionCall",
"src": "6425:62:1"
},
"variableNames": [
{
"name": "value2",
"nativeSrc": "6415:6:1",
"nodeType": "YulIdentifier",
"src": "6415:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_string_memory_ptrt_bytes_memory_ptr",
"nativeSrc": "5527:977:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "5600:9:1",
"nodeType": "YulTypedName",
"src": "5600:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "5611:7:1",
"nodeType": "YulTypedName",
"src": "5611:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "5623:6:1",
"nodeType": "YulTypedName",
"src": "5623:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "5631:6:1",
"nodeType": "YulTypedName",
"src": "5631:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "5639:6:1",
"nodeType": "YulTypedName",
"src": "5639:6:1",
"type": ""
}
],
"src": "5527:977:1"
},
{
"body": {
"nativeSrc": "6552:48:1",
"nodeType": "YulBlock",
"src": "6552:48:1",
"statements": [
{
"nativeSrc": "6562:32:1",
"nodeType": "YulAssignment",
"src": "6562:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6587:5:1",
"nodeType": "YulIdentifier",
"src": "6587:5:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6580:6:1",
"nodeType": "YulIdentifier",
"src": "6580:6:1"
},
"nativeSrc": "6580:13:1",
"nodeType": "YulFunctionCall",
"src": "6580:13:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "6573:6:1",
"nodeType": "YulIdentifier",
"src": "6573:6:1"
},
"nativeSrc": "6573:21:1",
"nodeType": "YulFunctionCall",
"src": "6573:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "6562:7:1",
"nodeType": "YulIdentifier",
"src": "6562:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nativeSrc": "6510:90:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6534:5:1",
"nodeType": "YulTypedName",
"src": "6534:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "6544:7:1",
"nodeType": "YulTypedName",
"src": "6544:7:1",
"type": ""
}
],
"src": "6510:90:1"
},
{
"body": {
"nativeSrc": "6665:50:1",
"nodeType": "YulBlock",
"src": "6665:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6682:3:1",
"nodeType": "YulIdentifier",
"src": "6682:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "6702:5:1",
"nodeType": "YulIdentifier",
"src": "6702:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nativeSrc": "6687:14:1",
"nodeType": "YulIdentifier",
"src": "6687:14:1"
},
"nativeSrc": "6687:21:1",
"nodeType": "YulFunctionCall",
"src": "6687:21:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6675:6:1",
"nodeType": "YulIdentifier",
"src": "6675:6:1"
},
"nativeSrc": "6675:34:1",
"nodeType": "YulFunctionCall",
"src": "6675:34:1"
},
"nativeSrc": "6675:34:1",
"nodeType": "YulExpressionStatement",
"src": "6675:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "6606:109:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "6653:5:1",
"nodeType": "YulTypedName",
"src": "6653:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "6660:3:1",
"nodeType": "YulTypedName",
"src": "6660:3:1",
"type": ""
}
],
"src": "6606:109:1"
},
{
"body": {
"nativeSrc": "6813:118:1",
"nodeType": "YulBlock",
"src": "6813:118:1",
"statements": [
{
"nativeSrc": "6823:26:1",
"nodeType": "YulAssignment",
"src": "6823:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6835:9:1",
"nodeType": "YulIdentifier",
"src": "6835:9:1"
},
{
"kind": "number",
"nativeSrc": "6846:2:1",
"nodeType": "YulLiteral",
"src": "6846:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6831:3:1",
"nodeType": "YulIdentifier",
"src": "6831:3:1"
},
"nativeSrc": "6831:18:1",
"nodeType": "YulFunctionCall",
"src": "6831:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6823:4:1",
"nodeType": "YulIdentifier",
"src": "6823:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6897:6:1",
"nodeType": "YulIdentifier",
"src": "6897:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6910:9:1",
"nodeType": "YulIdentifier",
"src": "6910:9:1"
},
{
"kind": "number",
"nativeSrc": "6921:1:1",
"nodeType": "YulLiteral",
"src": "6921:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6906:3:1",
"nodeType": "YulIdentifier",
"src": "6906:3:1"
},
"nativeSrc": "6906:17:1",
"nodeType": "YulFunctionCall",
"src": "6906:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nativeSrc": "6859:37:1",
"nodeType": "YulIdentifier",
"src": "6859:37:1"
},
"nativeSrc": "6859:65:1",
"nodeType": "YulFunctionCall",
"src": "6859:65:1"
},
"nativeSrc": "6859:65:1",
"nodeType": "YulExpressionStatement",
"src": "6859:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nativeSrc": "6721:210:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6785:9:1",
"nodeType": "YulTypedName",
"src": "6785:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6797:6:1",
"nodeType": "YulTypedName",
"src": "6797:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6808:4:1",
"nodeType": "YulTypedName",
"src": "6808:4:1",
"type": ""
}
],
"src": "6721:210:1"
},
{
"body": {
"nativeSrc": "7013:433:1",
"nodeType": "YulBlock",
"src": "7013:433:1",
"statements": [
{
"body": {
"nativeSrc": "7059:83:1",
"nodeType": "YulBlock",
"src": "7059:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7061:77:1",
"nodeType": "YulIdentifier",
"src": "7061:77:1"
},
"nativeSrc": "7061:79:1",
"nodeType": "YulFunctionCall",
"src": "7061:79:1"
},
"nativeSrc": "7061:79:1",
"nodeType": "YulExpressionStatement",
"src": "7061:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7034:7:1",
"nodeType": "YulIdentifier",
"src": "7034:7:1"
},
{
"name": "headStart",
"nativeSrc": "7043:9:1",
"nodeType": "YulIdentifier",
"src": "7043:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7030:3:1",
"nodeType": "YulIdentifier",
"src": "7030:3:1"
},
"nativeSrc": "7030:23:1",
"nodeType": "YulFunctionCall",
"src": "7030:23:1"
},
{
"kind": "number",
"nativeSrc": "7055:2:1",
"nodeType": "YulLiteral",
"src": "7055:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7026:3:1",
"nodeType": "YulIdentifier",
"src": "7026:3:1"
},
"nativeSrc": "7026:32:1",
"nodeType": "YulFunctionCall",
"src": "7026:32:1"
},
"nativeSrc": "7023:119:1",
"nodeType": "YulIf",
"src": "7023:119:1"
},
{
"nativeSrc": "7152:287:1",
"nodeType": "YulBlock",
"src": "7152:287:1",
"statements": [
{
"nativeSrc": "7167:45:1",
"nodeType": "YulVariableDeclaration",
"src": "7167:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7198:9:1",
"nodeType": "YulIdentifier",
"src": "7198:9:1"
},
{
"kind": "number",
"nativeSrc": "7209:1:1",
"nodeType": "YulLiteral",
"src": "7209:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7194:3:1",
"nodeType": "YulIdentifier",
"src": "7194:3:1"
},
"nativeSrc": "7194:17:1",
"nodeType": "YulFunctionCall",
"src": "7194:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "7181:12:1",
"nodeType": "YulIdentifier",
"src": "7181:12:1"
},
"nativeSrc": "7181:31:1",
"nodeType": "YulFunctionCall",
"src": "7181:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "7171:6:1",
"nodeType": "YulTypedName",
"src": "7171:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7259:83:1",
"nodeType": "YulBlock",
"src": "7259:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "7261:77:1",
"nodeType": "YulIdentifier",
"src": "7261:77:1"
},
"nativeSrc": "7261:79:1",
"nodeType": "YulFunctionCall",
"src": "7261:79:1"
},
"nativeSrc": "7261:79:1",
"nodeType": "YulExpressionStatement",
"src": "7261:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "7231:6:1",
"nodeType": "YulIdentifier",
"src": "7231:6:1"
},
{
"kind": "number",
"nativeSrc": "7239:18:1",
"nodeType": "YulLiteral",
"src": "7239:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7228:2:1",
"nodeType": "YulIdentifier",
"src": "7228:2:1"
},
"nativeSrc": "7228:30:1",
"nodeType": "YulFunctionCall",
"src": "7228:30:1"
},
"nativeSrc": "7225:117:1",
"nodeType": "YulIf",
"src": "7225:117:1"
},
{
"nativeSrc": "7356:73:1",
"nodeType": "YulAssignment",
"src": "7356:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7401:9:1",
"nodeType": "YulIdentifier",
"src": "7401:9:1"
},
{
"name": "offset",
"nativeSrc": "7412:6:1",
"nodeType": "YulIdentifier",
"src": "7412:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7397:3:1",
"nodeType": "YulIdentifier",
"src": "7397:3:1"
},
"nativeSrc": "7397:22:1",
"nodeType": "YulFunctionCall",
"src": "7397:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "7421:7:1",
"nodeType": "YulIdentifier",
"src": "7421:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "7366:30:1",
"nodeType": "YulIdentifier",
"src": "7366:30:1"
},
"nativeSrc": "7366:63:1",
"nodeType": "YulFunctionCall",
"src": "7366:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "7356:6:1",
"nodeType": "YulIdentifier",
"src": "7356:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nativeSrc": "6937:509:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6983:9:1",
"nodeType": "YulTypedName",
"src": "6983:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "6994:7:1",
"nodeType": "YulTypedName",
"src": "6994:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7006:6:1",
"nodeType": "YulTypedName",
"src": "7006:6:1",
"type": ""
}
],
"src": "6937:509:1"
},
{
"body": {
"nativeSrc": "7517:53:1",
"nodeType": "YulBlock",
"src": "7517:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7534:3:1",
"nodeType": "YulIdentifier",
"src": "7534:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "7557:5:1",
"nodeType": "YulIdentifier",
"src": "7557:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "7539:17:1",
"nodeType": "YulIdentifier",
"src": "7539:17:1"
},
"nativeSrc": "7539:24:1",
"nodeType": "YulFunctionCall",
"src": "7539:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7527:6:1",
"nodeType": "YulIdentifier",
"src": "7527:6:1"
},
"nativeSrc": "7527:37:1",
"nodeType": "YulFunctionCall",
"src": "7527:37:1"
},
"nativeSrc": "7527:37:1",
"nodeType": "YulExpressionStatement",
"src": "7527:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "7452:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7505:5:1",
"nodeType": "YulTypedName",
"src": "7505:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "7512:3:1",
"nodeType": "YulTypedName",
"src": "7512:3:1",
"type": ""
}
],
"src": "7452:118:1"
},
{
"body": {
"nativeSrc": "7674:124:1",
"nodeType": "YulBlock",
"src": "7674:124:1",
"statements": [
{
"nativeSrc": "7684:26:1",
"nodeType": "YulAssignment",
"src": "7684:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "7696:9:1",
"nodeType": "YulIdentifier",
"src": "7696:9:1"
},
{
"kind": "number",
"nativeSrc": "7707:2:1",
"nodeType": "YulLiteral",
"src": "7707:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7692:3:1",
"nodeType": "YulIdentifier",
"src": "7692:3:1"
},
"nativeSrc": "7692:18:1",
"nodeType": "YulFunctionCall",
"src": "7692:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "7684:4:1",
"nodeType": "YulIdentifier",
"src": "7684:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "7764:6:1",
"nodeType": "YulIdentifier",
"src": "7764:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "7777:9:1",
"nodeType": "YulIdentifier",
"src": "7777:9:1"
},
{
"kind": "number",
"nativeSrc": "7788:1:1",
"nodeType": "YulLiteral",
"src": "7788:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7773:3:1",
"nodeType": "YulIdentifier",
"src": "7773:3:1"
},
"nativeSrc": "7773:17:1",
"nodeType": "YulFunctionCall",
"src": "7773:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "7720:43:1",
"nodeType": "YulIdentifier",
"src": "7720:43:1"
},
"nativeSrc": "7720:71:1",
"nodeType": "YulFunctionCall",
"src": "7720:71:1"
},
"nativeSrc": "7720:71:1",
"nodeType": "YulExpressionStatement",
"src": "7720:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nativeSrc": "7576:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7646:9:1",
"nodeType": "YulTypedName",
"src": "7646:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "7658:6:1",
"nodeType": "YulTypedName",
"src": "7658:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "7669:4:1",
"nodeType": "YulTypedName",
"src": "7669:4:1",
"type": ""
}
],
"src": "7576:222:1"
},
{
"body": {
"nativeSrc": "7870:263:1",
"nodeType": "YulBlock",
"src": "7870:263:1",
"statements": [
{
"body": {
"nativeSrc": "7916:83:1",
"nodeType": "YulBlock",
"src": "7916:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "7918:77:1",
"nodeType": "YulIdentifier",
"src": "7918:77:1"
},
"nativeSrc": "7918:79:1",
"nodeType": "YulFunctionCall",
"src": "7918:79:1"
},
"nativeSrc": "7918:79:1",
"nodeType": "YulExpressionStatement",
"src": "7918:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "7891:7:1",
"nodeType": "YulIdentifier",
"src": "7891:7:1"
},
{
"name": "headStart",
"nativeSrc": "7900:9:1",
"nodeType": "YulIdentifier",
"src": "7900:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7887:3:1",
"nodeType": "YulIdentifier",
"src": "7887:3:1"
},
"nativeSrc": "7887:23:1",
"nodeType": "YulFunctionCall",
"src": "7887:23:1"
},
{
"kind": "number",
"nativeSrc": "7912:2:1",
"nodeType": "YulLiteral",
"src": "7912:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "7883:3:1",
"nodeType": "YulIdentifier",
"src": "7883:3:1"
},
"nativeSrc": "7883:32:1",
"nodeType": "YulFunctionCall",
"src": "7883:32:1"
},
"nativeSrc": "7880:119:1",
"nodeType": "YulIf",
"src": "7880:119:1"
},
{
"nativeSrc": "8009:117:1",
"nodeType": "YulBlock",
"src": "8009:117:1",
"statements": [
{
"nativeSrc": "8024:15:1",
"nodeType": "YulVariableDeclaration",
"src": "8024:15:1",
"value": {
"kind": "number",
"nativeSrc": "8038:1:1",
"nodeType": "YulLiteral",
"src": "8038:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "8028:6:1",
"nodeType": "YulTypedName",
"src": "8028:6:1",
"type": ""
}
]
},
{
"nativeSrc": "8053:63:1",
"nodeType": "YulAssignment",
"src": "8053:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8088:9:1",
"nodeType": "YulIdentifier",
"src": "8088:9:1"
},
{
"name": "offset",
"nativeSrc": "8099:6:1",
"nodeType": "YulIdentifier",
"src": "8099:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8084:3:1",
"nodeType": "YulIdentifier",
"src": "8084:3:1"
},
"nativeSrc": "8084:22:1",
"nodeType": "YulFunctionCall",
"src": "8084:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "8108:7:1",
"nodeType": "YulIdentifier",
"src": "8108:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nativeSrc": "8063:20:1",
"nodeType": "YulIdentifier",
"src": "8063:20:1"
},
"nativeSrc": "8063:53:1",
"nodeType": "YulFunctionCall",
"src": "8063:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "8053:6:1",
"nodeType": "YulIdentifier",
"src": "8053:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32",
"nativeSrc": "7804:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "7840:9:1",
"nodeType": "YulTypedName",
"src": "7840:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "7851:7:1",
"nodeType": "YulTypedName",
"src": "7851:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "7863:6:1",
"nodeType": "YulTypedName",
"src": "7863:6:1",
"type": ""
}
],
"src": "7804:329:1"
},
{
"body": {
"nativeSrc": "8182:43:1",
"nodeType": "YulBlock",
"src": "8182:43:1",
"statements": [
{
"nativeSrc": "8192:27:1",
"nodeType": "YulAssignment",
"src": "8192:27:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8207:5:1",
"nodeType": "YulIdentifier",
"src": "8207:5:1"
},
{
"kind": "number",
"nativeSrc": "8214:4:1",
"nodeType": "YulLiteral",
"src": "8214:4:1",
"type": "",
"value": "0xff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8203:3:1",
"nodeType": "YulIdentifier",
"src": "8203:3:1"
},
"nativeSrc": "8203:16:1",
"nodeType": "YulFunctionCall",
"src": "8203:16:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "8192:7:1",
"nodeType": "YulIdentifier",
"src": "8192:7:1"
}
]
}
]
},
"name": "cleanup_t_uint8",
"nativeSrc": "8139:86:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8164:5:1",
"nodeType": "YulTypedName",
"src": "8164:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "8174:7:1",
"nodeType": "YulTypedName",
"src": "8174:7:1",
"type": ""
}
],
"src": "8139:86:1"
},
{
"body": {
"nativeSrc": "8292:51:1",
"nodeType": "YulBlock",
"src": "8292:51:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "8309:3:1",
"nodeType": "YulIdentifier",
"src": "8309:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "8330:5:1",
"nodeType": "YulIdentifier",
"src": "8330:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint8",
"nativeSrc": "8314:15:1",
"nodeType": "YulIdentifier",
"src": "8314:15:1"
},
"nativeSrc": "8314:22:1",
"nodeType": "YulFunctionCall",
"src": "8314:22:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8302:6:1",
"nodeType": "YulIdentifier",
"src": "8302:6:1"
},
"nativeSrc": "8302:35:1",
"nodeType": "YulFunctionCall",
"src": "8302:35:1"
},
"nativeSrc": "8302:35:1",
"nodeType": "YulExpressionStatement",
"src": "8302:35:1"
}
]
},
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "8231:112:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8280:5:1",
"nodeType": "YulTypedName",
"src": "8280:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "8287:3:1",
"nodeType": "YulTypedName",
"src": "8287:3:1",
"type": ""
}
],
"src": "8231:112:1"
},
{
"body": {
"nativeSrc": "8527:367:1",
"nodeType": "YulBlock",
"src": "8527:367:1",
"statements": [
{
"nativeSrc": "8537:27:1",
"nodeType": "YulAssignment",
"src": "8537:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "8549:9:1",
"nodeType": "YulIdentifier",
"src": "8549:9:1"
},
{
"kind": "number",
"nativeSrc": "8560:3:1",
"nodeType": "YulLiteral",
"src": "8560:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8545:3:1",
"nodeType": "YulIdentifier",
"src": "8545:3:1"
},
"nativeSrc": "8545:19:1",
"nodeType": "YulFunctionCall",
"src": "8545:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8537:4:1",
"nodeType": "YulIdentifier",
"src": "8537:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8618:6:1",
"nodeType": "YulIdentifier",
"src": "8618:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8631:9:1",
"nodeType": "YulIdentifier",
"src": "8631:9:1"
},
{
"kind": "number",
"nativeSrc": "8642:1:1",
"nodeType": "YulLiteral",
"src": "8642:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8627:3:1",
"nodeType": "YulIdentifier",
"src": "8627:3:1"
},
"nativeSrc": "8627:17:1",
"nodeType": "YulFunctionCall",
"src": "8627:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "8574:43:1",
"nodeType": "YulIdentifier",
"src": "8574:43:1"
},
"nativeSrc": "8574:71:1",
"nodeType": "YulFunctionCall",
"src": "8574:71:1"
},
"nativeSrc": "8574:71:1",
"nodeType": "YulExpressionStatement",
"src": "8574:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "8695:6:1",
"nodeType": "YulIdentifier",
"src": "8695:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8708:9:1",
"nodeType": "YulIdentifier",
"src": "8708:9:1"
},
{
"kind": "number",
"nativeSrc": "8719:2:1",
"nodeType": "YulLiteral",
"src": "8719:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8704:3:1",
"nodeType": "YulIdentifier",
"src": "8704:3:1"
},
"nativeSrc": "8704:18:1",
"nodeType": "YulFunctionCall",
"src": "8704:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint8_to_t_uint8_fromStack",
"nativeSrc": "8655:39:1",
"nodeType": "YulIdentifier",
"src": "8655:39:1"
},
"nativeSrc": "8655:68:1",
"nodeType": "YulFunctionCall",
"src": "8655:68:1"
},
"nativeSrc": "8655:68:1",
"nodeType": "YulExpressionStatement",
"src": "8655:68:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "8777:6:1",
"nodeType": "YulIdentifier",
"src": "8777:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8790:9:1",
"nodeType": "YulIdentifier",
"src": "8790:9:1"
},
{
"kind": "number",
"nativeSrc": "8801:2:1",
"nodeType": "YulLiteral",
"src": "8801:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8786:3:1",
"nodeType": "YulIdentifier",
"src": "8786:3:1"
},
"nativeSrc": "8786:18:1",
"nodeType": "YulFunctionCall",
"src": "8786:18:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "8733:43:1",
"nodeType": "YulIdentifier",
"src": "8733:43:1"
},
"nativeSrc": "8733:72:1",
"nodeType": "YulFunctionCall",
"src": "8733:72:1"
},
"nativeSrc": "8733:72:1",
"nodeType": "YulExpressionStatement",
"src": "8733:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "8859:6:1",
"nodeType": "YulIdentifier",
"src": "8859:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8872:9:1",
"nodeType": "YulIdentifier",
"src": "8872:9:1"
},
{
"kind": "number",
"nativeSrc": "8883:2:1",
"nodeType": "YulLiteral",
"src": "8883:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8868:3:1",
"nodeType": "YulIdentifier",
"src": "8868:3:1"
},
"nativeSrc": "8868:18:1",
"nodeType": "YulFunctionCall",
"src": "8868:18:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nativeSrc": "8815:43:1",
"nodeType": "YulIdentifier",
"src": "8815:43:1"
},
"nativeSrc": "8815:72:1",
"nodeType": "YulFunctionCall",
"src": "8815:72:1"
},
"nativeSrc": "8815:72:1",
"nodeType": "YulExpressionStatement",
"src": "8815:72:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed",
"nativeSrc": "8349:545:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8475:9:1",
"nodeType": "YulTypedName",
"src": "8475:9:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "8487:6:1",
"nodeType": "YulTypedName",
"src": "8487:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "8495:6:1",
"nodeType": "YulTypedName",
"src": "8495:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "8503:6:1",
"nodeType": "YulTypedName",
"src": "8503:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8511:6:1",
"nodeType": "YulTypedName",
"src": "8511:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "8522:4:1",
"nodeType": "YulTypedName",
"src": "8522:4:1",
"type": ""
}
],
"src": "8349:545:1"
},
{
"body": {
"nativeSrc": "8959:40:1",
"nodeType": "YulBlock",
"src": "8959:40:1",
"statements": [
{
"nativeSrc": "8970:22:1",
"nodeType": "YulAssignment",
"src": "8970:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8986:5:1",
"nodeType": "YulIdentifier",
"src": "8986:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "8980:5:1",
"nodeType": "YulIdentifier",
"src": "8980:5:1"
},
"nativeSrc": "8980:12:1",
"nodeType": "YulFunctionCall",
"src": "8980:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "8970:6:1",
"nodeType": "YulIdentifier",
"src": "8970:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "8900:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8942:5:1",
"nodeType": "YulTypedName",
"src": "8942:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "8952:6:1",
"nodeType": "YulTypedName",
"src": "8952:6:1",
"type": ""
}
],
"src": "8900:99:1"
},
{
"body": {
"nativeSrc": "9119:34:1",
"nodeType": "YulBlock",
"src": "9119:34:1",
"statements": [
{
"nativeSrc": "9129:18:1",
"nodeType": "YulAssignment",
"src": "9129:18:1",
"value": {
"name": "pos",
"nativeSrc": "9144:3:1",
"nodeType": "YulIdentifier",
"src": "9144:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "9129:11:1",
"nodeType": "YulIdentifier",
"src": "9129:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "9005:148:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "9091:3:1",
"nodeType": "YulTypedName",
"src": "9091:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "9096:6:1",
"nodeType": "YulTypedName",
"src": "9096:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "9107:11:1",
"nodeType": "YulTypedName",
"src": "9107:11:1",
"type": ""
}
],
"src": "9005:148:1"
},
{
"body": {
"nativeSrc": "9221:77:1",
"nodeType": "YulBlock",
"src": "9221:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "9238:3:1",
"nodeType": "YulIdentifier",
"src": "9238:3:1"
},
{
"name": "src",
"nativeSrc": "9243:3:1",
"nodeType": "YulIdentifier",
"src": "9243:3:1"
},
{
"name": "length",
"nativeSrc": "9248:6:1",
"nodeType": "YulIdentifier",
"src": "9248:6:1"
}
],
"functionName": {
"name": "mcopy",
"nativeSrc": "9232:5:1",
"nodeType": "YulIdentifier",
"src": "9232:5:1"
},
"nativeSrc": "9232:23:1",
"nodeType": "YulFunctionCall",
"src": "9232:23:1"
},
"nativeSrc": "9232:23:1",
"nodeType": "YulExpressionStatement",
"src": "9232:23:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "9275:3:1",
"nodeType": "YulIdentifier",
"src": "9275:3:1"
},
{
"name": "length",
"nativeSrc": "9280:6:1",
"nodeType": "YulIdentifier",
"src": "9280:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9271:3:1",
"nodeType": "YulIdentifier",
"src": "9271:3:1"
},
"nativeSrc": "9271:16:1",
"nodeType": "YulFunctionCall",
"src": "9271:16:1"
},
{
"kind": "number",
"nativeSrc": "9289:1:1",
"nodeType": "YulLiteral",
"src": "9289:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9264:6:1",
"nodeType": "YulIdentifier",
"src": "9264:6:1"
},
"nativeSrc": "9264:27:1",
"nodeType": "YulFunctionCall",
"src": "9264:27:1"
},
"nativeSrc": "9264:27:1",
"nodeType": "YulExpressionStatement",
"src": "9264:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "9159:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "9203:3:1",
"nodeType": "YulTypedName",
"src": "9203:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "9208:3:1",
"nodeType": "YulTypedName",
"src": "9208:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "9213:6:1",
"nodeType": "YulTypedName",
"src": "9213:6:1",
"type": ""
}
],
"src": "9159:139:1"
},
{
"body": {
"nativeSrc": "9414:280:1",
"nodeType": "YulBlock",
"src": "9414:280:1",
"statements": [
{
"nativeSrc": "9424:53:1",
"nodeType": "YulVariableDeclaration",
"src": "9424:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "9471:5:1",
"nodeType": "YulIdentifier",
"src": "9471:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "9438:32:1",
"nodeType": "YulIdentifier",
"src": "9438:32:1"
},
"nativeSrc": "9438:39:1",
"nodeType": "YulFunctionCall",
"src": "9438:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "9428:6:1",
"nodeType": "YulTypedName",
"src": "9428:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9486:96:1",
"nodeType": "YulAssignment",
"src": "9486:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9570:3:1",
"nodeType": "YulIdentifier",
"src": "9570:3:1"
},
{
"name": "length",
"nativeSrc": "9575:6:1",
"nodeType": "YulIdentifier",
"src": "9575:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "9493:76:1",
"nodeType": "YulIdentifier",
"src": "9493:76:1"
},
"nativeSrc": "9493:89:1",
"nodeType": "YulFunctionCall",
"src": "9493:89:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "9486:3:1",
"nodeType": "YulIdentifier",
"src": "9486:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "9630:5:1",
"nodeType": "YulIdentifier",
"src": "9630:5:1"
},
{
"kind": "number",
"nativeSrc": "9637:4:1",
"nodeType": "YulLiteral",
"src": "9637:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9626:3:1",
"nodeType": "YulIdentifier",
"src": "9626:3:1"
},
"nativeSrc": "9626:16:1",
"nodeType": "YulFunctionCall",
"src": "9626:16:1"
},
{
"name": "pos",
"nativeSrc": "9644:3:1",
"nodeType": "YulIdentifier",
"src": "9644:3:1"
},
{
"name": "length",
"nativeSrc": "9649:6:1",
"nodeType": "YulIdentifier",
"src": "9649:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "9591:34:1",
"nodeType": "YulIdentifier",
"src": "9591:34:1"
},
"nativeSrc": "9591:65:1",
"nodeType": "YulFunctionCall",
"src": "9591:65:1"
},
"nativeSrc": "9591:65:1",
"nodeType": "YulExpressionStatement",
"src": "9591:65:1"
},
{
"nativeSrc": "9665:23:1",
"nodeType": "YulAssignment",
"src": "9665:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9676:3:1",
"nodeType": "YulIdentifier",
"src": "9676:3:1"
},
{
"name": "length",
"nativeSrc": "9681:6:1",
"nodeType": "YulIdentifier",
"src": "9681:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9672:3:1",
"nodeType": "YulIdentifier",
"src": "9672:3:1"
},
"nativeSrc": "9672:16:1",
"nodeType": "YulFunctionCall",
"src": "9672:16:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "9665:3:1",
"nodeType": "YulIdentifier",
"src": "9665:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "9304:390:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9395:5:1",
"nodeType": "YulTypedName",
"src": "9395:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "9402:3:1",
"nodeType": "YulTypedName",
"src": "9402:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "9410:3:1",
"nodeType": "YulTypedName",
"src": "9410:3:1",
"type": ""
}
],
"src": "9304:390:1"
},
{
"body": {
"nativeSrc": "9836:139:1",
"nodeType": "YulBlock",
"src": "9836:139:1",
"statements": [
{
"nativeSrc": "9847:102:1",
"nodeType": "YulAssignment",
"src": "9847:102:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "9936:6:1",
"nodeType": "YulIdentifier",
"src": "9936:6:1"
},
{
"name": "pos",
"nativeSrc": "9945:3:1",
"nodeType": "YulIdentifier",
"src": "9945:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "9854:81:1",
"nodeType": "YulIdentifier",
"src": "9854:81:1"
},
"nativeSrc": "9854:95:1",
"nodeType": "YulFunctionCall",
"src": "9854:95:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "9847:3:1",
"nodeType": "YulIdentifier",
"src": "9847:3:1"
}
]
},
{
"nativeSrc": "9959:10:1",
"nodeType": "YulAssignment",
"src": "9959:10:1",
"value": {
"name": "pos",
"nativeSrc": "9966:3:1",
"nodeType": "YulIdentifier",
"src": "9966:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "9959:3:1",
"nodeType": "YulIdentifier",
"src": "9959:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "9700:275:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "9815:3:1",
"nodeType": "YulTypedName",
"src": "9815:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "9821:6:1",
"nodeType": "YulTypedName",
"src": "9821:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "9832:3:1",
"nodeType": "YulTypedName",
"src": "9832:3:1",
"type": ""
}
],
"src": "9700:275:1"
},
{
"body": {
"nativeSrc": "10087:108:1",
"nodeType": "YulBlock",
"src": "10087:108:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "10109:6:1",
"nodeType": "YulIdentifier",
"src": "10109:6:1"
},
{
"kind": "number",
"nativeSrc": "10117:1:1",
"nodeType": "YulLiteral",
"src": "10117:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10105:3:1",
"nodeType": "YulIdentifier",
"src": "10105:3:1"
},
"nativeSrc": "10105:14:1",
"nodeType": "YulFunctionCall",
"src": "10105:14:1"
},
{
"kind": "number",
"nativeSrc": "10121:66:1",
"nodeType": "YulLiteral",
"src": "10121:66:1",
"type": "",
"value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "10098:6:1",
"nodeType": "YulIdentifier",
"src": "10098:6:1"
},
"nativeSrc": "10098:90:1",
"nodeType": "YulFunctionCall",
"src": "10098:90:1"
},
"nativeSrc": "10098:90:1",
"nodeType": "YulExpressionStatement",
"src": "10098:90:1"
}
]
},
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
"nativeSrc": "9981:214:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "10079:6:1",
"nodeType": "YulTypedName",
"src": "10079:6:1",
"type": ""
}
],
"src": "9981:214:1"
},
{
"body": {
"nativeSrc": "10365:238:1",
"nodeType": "YulBlock",
"src": "10365:238:1",
"statements": [
{
"nativeSrc": "10375:92:1",
"nodeType": "YulAssignment",
"src": "10375:92:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10459:3:1",
"nodeType": "YulIdentifier",
"src": "10459:3:1"
},
{
"kind": "number",
"nativeSrc": "10464:2:1",
"nodeType": "YulLiteral",
"src": "10464:2:1",
"type": "",
"value": "28"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "10382:76:1",
"nodeType": "YulIdentifier",
"src": "10382:76:1"
},
"nativeSrc": "10382:85:1",
"nodeType": "YulFunctionCall",
"src": "10382:85:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "10375:3:1",
"nodeType": "YulIdentifier",
"src": "10375:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10565:3:1",
"nodeType": "YulIdentifier",
"src": "10565:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
"nativeSrc": "10476:88:1",
"nodeType": "YulIdentifier",
"src": "10476:88:1"
},
"nativeSrc": "10476:93:1",
"nodeType": "YulFunctionCall",
"src": "10476:93:1"
},
"nativeSrc": "10476:93:1",
"nodeType": "YulExpressionStatement",
"src": "10476:93:1"
},
{
"nativeSrc": "10578:19:1",
"nodeType": "YulAssignment",
"src": "10578:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10589:3:1",
"nodeType": "YulIdentifier",
"src": "10589:3:1"
},
{
"kind": "number",
"nativeSrc": "10594:2:1",
"nodeType": "YulLiteral",
"src": "10594:2:1",
"type": "",
"value": "28"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10585:3:1",
"nodeType": "YulIdentifier",
"src": "10585:3:1"
},
"nativeSrc": "10585:12:1",
"nodeType": "YulFunctionCall",
"src": "10585:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "10578:3:1",
"nodeType": "YulIdentifier",
"src": "10578:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "10201:402:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "10353:3:1",
"nodeType": "YulTypedName",
"src": "10353:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "10361:3:1",
"nodeType": "YulTypedName",
"src": "10361:3:1",
"type": ""
}
],
"src": "10201:402:1"
},
{
"body": {
"nativeSrc": "10656:32:1",
"nodeType": "YulBlock",
"src": "10656:32:1",
"statements": [
{
"nativeSrc": "10666:16:1",
"nodeType": "YulAssignment",
"src": "10666:16:1",
"value": {
"name": "value",
"nativeSrc": "10677:5:1",
"nodeType": "YulIdentifier",
"src": "10677:5:1"
},
"variableNames": [
{
"name": "aligned",
"nativeSrc": "10666:7:1",
"nodeType": "YulIdentifier",
"src": "10666:7:1"
}
]
}
]
},
"name": "leftAlign_t_bytes32",
"nativeSrc": "10609:79:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10638:5:1",
"nodeType": "YulTypedName",
"src": "10638:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "aligned",
"nativeSrc": "10648:7:1",
"nodeType": "YulTypedName",
"src": "10648:7:1",
"type": ""
}
],
"src": "10609:79:1"
},
{
"body": {
"nativeSrc": "10777:74:1",
"nodeType": "YulBlock",
"src": "10777:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "10794:3:1",
"nodeType": "YulIdentifier",
"src": "10794:3:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "10837:5:1",
"nodeType": "YulIdentifier",
"src": "10837:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nativeSrc": "10819:17:1",
"nodeType": "YulIdentifier",
"src": "10819:17:1"
},
"nativeSrc": "10819:24:1",
"nodeType": "YulFunctionCall",
"src": "10819:24:1"
}
],
"functionName": {
"name": "leftAlign_t_bytes32",
"nativeSrc": "10799:19:1",
"nodeType": "YulIdentifier",
"src": "10799:19:1"
},
"nativeSrc": "10799:45:1",
"nodeType": "YulFunctionCall",
"src": "10799:45:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "10787:6:1",
"nodeType": "YulIdentifier",
"src": "10787:6:1"
},
"nativeSrc": "10787:58:1",
"nodeType": "YulFunctionCall",
"src": "10787:58:1"
},
"nativeSrc": "10787:58:1",
"nodeType": "YulExpressionStatement",
"src": "10787:58:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack",
"nativeSrc": "10694:157:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "10765:5:1",
"nodeType": "YulTypedName",
"src": "10765:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "10772:3:1",
"nodeType": "YulTypedName",
"src": "10772:3:1",
"type": ""
}
],
"src": "10694:157:1"
},
{
"body": {
"nativeSrc": "11074:305:1",
"nodeType": "YulBlock",
"src": "11074:305:1",
"statements": [
{
"nativeSrc": "11085:155:1",
"nodeType": "YulAssignment",
"src": "11085:155:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11236:3:1",
"nodeType": "YulIdentifier",
"src": "11236:3:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nativeSrc": "11092:142:1",
"nodeType": "YulIdentifier",
"src": "11092:142:1"
},
"nativeSrc": "11092:148:1",
"nodeType": "YulFunctionCall",
"src": "11092:148:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "11085:3:1",
"nodeType": "YulIdentifier",
"src": "11085:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "11312:6:1",
"nodeType": "YulIdentifier",
"src": "11312:6:1"
},
{
"name": "pos",
"nativeSrc": "11321:3:1",
"nodeType": "YulIdentifier",
"src": "11321:3:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack",
"nativeSrc": "11250:61:1",
"nodeType": "YulIdentifier",
"src": "11250:61:1"
},
"nativeSrc": "11250:75:1",
"nodeType": "YulFunctionCall",
"src": "11250:75:1"
},
"nativeSrc": "11250:75:1",
"nodeType": "YulExpressionStatement",
"src": "11250:75:1"
},
{
"nativeSrc": "11334:19:1",
"nodeType": "YulAssignment",
"src": "11334:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11345:3:1",
"nodeType": "YulIdentifier",
"src": "11345:3:1"
},
{
"kind": "number",
"nativeSrc": "11350:2:1",
"nodeType": "YulLiteral",
"src": "11350:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11341:3:1",
"nodeType": "YulIdentifier",
"src": "11341:3:1"
},
"nativeSrc": "11341:12:1",
"nodeType": "YulFunctionCall",
"src": "11341:12:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "11334:3:1",
"nodeType": "YulIdentifier",
"src": "11334:3:1"
}
]
},
{
"nativeSrc": "11363:10:1",
"nodeType": "YulAssignment",
"src": "11363:10:1",
"value": {
"name": "pos",
"nativeSrc": "11370:3:1",
"nodeType": "YulIdentifier",
"src": "11370:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "11363:3:1",
"nodeType": "YulIdentifier",
"src": "11363:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed",
"nativeSrc": "10857:522:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "11053:3:1",
"nodeType": "YulTypedName",
"src": "11053:3:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "11059:6:1",
"nodeType": "YulTypedName",
"src": "11059:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "11070:3:1",
"nodeType": "YulTypedName",
"src": "11070:3:1",
"type": ""
}
],
"src": "10857:522:1"
},
{
"body": {
"nativeSrc": "11481:73:1",
"nodeType": "YulBlock",
"src": "11481:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11498:3:1",
"nodeType": "YulIdentifier",
"src": "11498:3:1"
},
{
"name": "length",
"nativeSrc": "11503:6:1",
"nodeType": "YulIdentifier",
"src": "11503:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11491:6:1",
"nodeType": "YulIdentifier",
"src": "11491:6:1"
},
"nativeSrc": "11491:19:1",
"nodeType": "YulFunctionCall",
"src": "11491:19:1"
},
"nativeSrc": "11491:19:1",
"nodeType": "YulExpressionStatement",
"src": "11491:19:1"
},
{
"nativeSrc": "11519:29:1",
"nodeType": "YulAssignment",
"src": "11519:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11538:3:1",
"nodeType": "YulIdentifier",
"src": "11538:3:1"
},
{
"kind": "number",
"nativeSrc": "11543:4:1",
"nodeType": "YulLiteral",
"src": "11543:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11534:3:1",
"nodeType": "YulIdentifier",
"src": "11534:3:1"
},
"nativeSrc": "11534:14:1",
"nodeType": "YulFunctionCall",
"src": "11534:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "11519:11:1",
"nodeType": "YulIdentifier",
"src": "11519:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "11385:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "11453:3:1",
"nodeType": "YulTypedName",
"src": "11453:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "11458:6:1",
"nodeType": "YulTypedName",
"src": "11458:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "11469:11:1",
"nodeType": "YulTypedName",
"src": "11469:11:1",
"type": ""
}
],
"src": "11385:169:1"
},
{
"body": {
"nativeSrc": "11666:68:1",
"nodeType": "YulBlock",
"src": "11666:68:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nativeSrc": "11688:6:1",
"nodeType": "YulIdentifier",
"src": "11688:6:1"
},
{
"kind": "number",
"nativeSrc": "11696:1:1",
"nodeType": "YulLiteral",
"src": "11696:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11684:3:1",
"nodeType": "YulIdentifier",
"src": "11684:3:1"
},
"nativeSrc": "11684:14:1",
"nodeType": "YulFunctionCall",
"src": "11684:14:1"
},
{
"hexValue": "696e7661696c642073696e676174757265206c656e677468",
"kind": "string",
"nativeSrc": "11700:26:1",
"nodeType": "YulLiteral",
"src": "11700:26:1",
"type": "",
"value": "invaild singature length"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "11677:6:1",
"nodeType": "YulIdentifier",
"src": "11677:6:1"
},
"nativeSrc": "11677:50:1",
"nodeType": "YulFunctionCall",
"src": "11677:50:1"
},
"nativeSrc": "11677:50:1",
"nodeType": "YulExpressionStatement",
"src": "11677:50:1"
}
]
},
"name": "store_literal_in_memory_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860",
"nativeSrc": "11560:174:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "11658:6:1",
"nodeType": "YulTypedName",
"src": "11658:6:1",
"type": ""
}
],
"src": "11560:174:1"
},
{
"body": {
"nativeSrc": "11886:220:1",
"nodeType": "YulBlock",
"src": "11886:220:1",
"statements": [
{
"nativeSrc": "11896:74:1",
"nodeType": "YulAssignment",
"src": "11896:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "11962:3:1",
"nodeType": "YulIdentifier",
"src": "11962:3:1"
},
{
"kind": "number",
"nativeSrc": "11967:2:1",
"nodeType": "YulLiteral",
"src": "11967:2:1",
"type": "",
"value": "24"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "11903:58:1",
"nodeType": "YulIdentifier",
"src": "11903:58:1"
},
"nativeSrc": "11903:67:1",
"nodeType": "YulFunctionCall",
"src": "11903:67:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "11896:3:1",
"nodeType": "YulIdentifier",
"src": "11896:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12068:3:1",
"nodeType": "YulIdentifier",
"src": "12068:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860",
"nativeSrc": "11979:88:1",
"nodeType": "YulIdentifier",
"src": "11979:88:1"
},
"nativeSrc": "11979:93:1",
"nodeType": "YulFunctionCall",
"src": "11979:93:1"
},
"nativeSrc": "11979:93:1",
"nodeType": "YulExpressionStatement",
"src": "11979:93:1"
},
{
"nativeSrc": "12081:19:1",
"nodeType": "YulAssignment",
"src": "12081:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "12092:3:1",
"nodeType": "YulIdentifier",
"src": "12092:3:1"
},
{
"kind": "number",
"nativeSrc": "12097:2:1",
"nodeType": "YulLiteral",
"src": "12097:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12088:3:1",
"nodeType": "YulIdentifier",
"src": "12088:3:1"
},
"nativeSrc": "12088:12:1",
"nodeType": "YulFunctionCall",
"src": "12088:12:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "12081:3:1",
"nodeType": "YulIdentifier",
"src": "12081:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860_to_t_string_memory_ptr_fromStack",
"nativeSrc": "11740:366:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "11874:3:1",
"nodeType": "YulTypedName",
"src": "11874:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "11882:3:1",
"nodeType": "YulTypedName",
"src": "11882:3:1",
"type": ""
}
],
"src": "11740:366:1"
},
{
"body": {
"nativeSrc": "12283:248:1",
"nodeType": "YulBlock",
"src": "12283:248:1",
"statements": [
{
"nativeSrc": "12293:26:1",
"nodeType": "YulAssignment",
"src": "12293:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "12305:9:1",
"nodeType": "YulIdentifier",
"src": "12305:9:1"
},
{
"kind": "number",
"nativeSrc": "12316:2:1",
"nodeType": "YulLiteral",
"src": "12316:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12301:3:1",
"nodeType": "YulIdentifier",
"src": "12301:3:1"
},
"nativeSrc": "12301:18:1",
"nodeType": "YulFunctionCall",
"src": "12301:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12293:4:1",
"nodeType": "YulIdentifier",
"src": "12293:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "12340:9:1",
"nodeType": "YulIdentifier",
"src": "12340:9:1"
},
{
"kind": "number",
"nativeSrc": "12351:1:1",
"nodeType": "YulLiteral",
"src": "12351:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "12336:3:1",
"nodeType": "YulIdentifier",
"src": "12336:3:1"
},
"nativeSrc": "12336:17:1",
"nodeType": "YulFunctionCall",
"src": "12336:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "12359:4:1",
"nodeType": "YulIdentifier",
"src": "12359:4:1"
},
{
"name": "headStart",
"nativeSrc": "12365:9:1",
"nodeType": "YulIdentifier",
"src": "12365:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "12355:3:1",
"nodeType": "YulIdentifier",
"src": "12355:3:1"
},
"nativeSrc": "12355:20:1",
"nodeType": "YulFunctionCall",
"src": "12355:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "12329:6:1",
"nodeType": "YulIdentifier",
"src": "12329:6:1"
},
"nativeSrc": "12329:47:1",
"nodeType": "YulFunctionCall",
"src": "12329:47:1"
},
"nativeSrc": "12329:47:1",
"nodeType": "YulExpressionStatement",
"src": "12329:47:1"
},
{
"nativeSrc": "12385:139:1",
"nodeType": "YulAssignment",
"src": "12385:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nativeSrc": "12519:4:1",
"nodeType": "YulIdentifier",
"src": "12519:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860_to_t_string_memory_ptr_fromStack",
"nativeSrc": "12393:124:1",
"nodeType": "YulIdentifier",
"src": "12393:124:1"
},
"nativeSrc": "12393:131:1",
"nodeType": "YulFunctionCall",
"src": "12393:131:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "12385:4:1",
"nodeType": "YulIdentifier",
"src": "12385:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "12112:419:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "12263:9:1",
"nodeType": "YulTypedName",
"src": "12263:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "12278:4:1",
"nodeType": "YulTypedName",
"src": "12278:4:1",
"type": ""
}
],
"src": "12112:419:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\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 allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_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 copy_calldata_to_memory_with_cleanup(src, dst, length) {\n\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_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_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_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_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_bytes32t_bytes_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_bytes32(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_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\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 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_with_cleanup(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_tuple_t_addresst_string_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { 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 function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value3, add(headStart, 96))\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_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n\n mcopy(dst, src, length)\n mstore(add(dst, length), 0)\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(memPtr) {\n\n mstore(add(memPtr, 0), 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n\n }\n\n function abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 28)\n store_literal_in_memory_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73(pos)\n end := add(pos, 28)\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860(memPtr) {\n\n mstore(add(memPtr, 0), \"invaild singature length\")\n\n }\n\n function abi_encode_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860__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_a861313219c7c8c9390ced64324b79d3b38d34d4987571c425d9e2fca94e0860_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061004a575f3560e01c806319045a251461004e5780632dd34f0f1461007e578063b446f3b2146100ae578063eb0d3fd9146100de575b5f80fd5b61006860048036038101906100639190610417565b61010e565b60405161007591906104b0565b60405180910390f35b61009860048036038101906100939190610591565b610178565b6040516100a59190610633565b60405180910390f35b6100c860048036038101906100c3919061064c565b6101d4565b6040516100d591906106a2565b60405180910390f35b6100f860048036038101906100f391906106bb565b610203565b60405161010591906106a2565b60405180910390f35b5f805f8061011b85610232565b9250925092506001868285856040515f81526020016040526040516101439493929190610701565b6020604051602081039080840390855afa158015610163573d5f803e3d5ffd5b50505060206040510351935050505092915050565b5f80610183846101d4565b90505f61018f82610203565b90508573ffffffffffffffffffffffffffffffffffffffff166101b2828661010e565b73ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b5f816040516020016101e69190610796565b604051602081830303815290604052805190602001209050919050565b5f816040516020016102159190610816565b604051602081830303815290604052805190602001209050919050565b5f805f6041845114610279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027090610895565b60405180910390fd5b602084015192506040840151915060608401515f1a90509193909250565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6102ba816102a8565b81146102c4575f80fd5b50565b5f813590506102d5816102b1565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610329826102e3565b810181811067ffffffffffffffff82111715610348576103476102f3565b5b80604052505050565b5f61035a610297565b90506103668282610320565b919050565b5f67ffffffffffffffff821115610385576103846102f3565b5b61038e826102e3565b9050602081019050919050565b828183375f83830152505050565b5f6103bb6103b68461036b565b610351565b9050828152602081018484840111156103d7576103d66102df565b5b6103e284828561039b565b509392505050565b5f82601f8301126103fe576103fd6102db565b5b813561040e8482602086016103a9565b91505092915050565b5f806040838503121561042d5761042c6102a0565b5b5f61043a858286016102c7565b925050602083013567ffffffffffffffff81111561045b5761045a6102a4565b5b610467858286016103ea565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61049a82610471565b9050919050565b6104aa81610490565b82525050565b5f6020820190506104c35f8301846104a1565b92915050565b6104d281610490565b81146104dc575f80fd5b50565b5f813590506104ed816104c9565b92915050565b5f67ffffffffffffffff82111561050d5761050c6102f3565b5b610516826102e3565b9050602081019050919050565b5f610535610530846104f3565b610351565b905082815260208101848484011115610551576105506102df565b5b61055c84828561039b565b509392505050565b5f82601f830112610578576105776102db565b5b8135610588848260208601610523565b91505092915050565b5f805f606084860312156105a8576105a76102a0565b5b5f6105b5868287016104df565b935050602084013567ffffffffffffffff8111156105d6576105d56102a4565b5b6105e286828701610564565b925050604084013567ffffffffffffffff811115610603576106026102a4565b5b61060f868287016103ea565b9150509250925092565b5f8115159050919050565b61062d81610619565b82525050565b5f6020820190506106465f830184610624565b92915050565b5f60208284031215610661576106606102a0565b5b5f82013567ffffffffffffffff81111561067e5761067d6102a4565b5b61068a84828501610564565b91505092915050565b61069c816102a8565b82525050565b5f6020820190506106b55f830184610693565b92915050565b5f602082840312156106d0576106cf6102a0565b5b5f6106dd848285016102c7565b91505092915050565b5f60ff82169050919050565b6106fb816106e6565b82525050565b5f6080820190506107145f830187610693565b61072160208301866106f2565b61072e6040830185610693565b61073b6060830184610693565b95945050505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61077082610744565b61077a818561074e565b935061078a818560208601610758565b80840191505092915050565b5f6107a18284610766565b915081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f82015250565b5f6107e0601c8361074e565b91506107eb826107ac565b601c82019050919050565b5f819050919050565b61081061080b826102a8565b6107f6565b82525050565b5f610820826107d4565b915061082c82846107ff565b60208201915081905092915050565b5f82825260208201905092915050565b7f696e7661696c642073696e676174757265206c656e67746800000000000000005f82015250565b5f61087f60188361083b565b915061088a8261084b565b602082019050919050565b5f6020820190508181035f8301526108ac81610873565b905091905056fea26469706673582212200c491b2841cd2e899e3ecf29a93d91d9e0916d1274b6b0465da2359cb3b9085864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x19045A25 EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x2DD34F0F EQ PUSH2 0x7E JUMPI DUP1 PUSH4 0xB446F3B2 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0xEB0D3FD9 EQ PUSH2 0xDE JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x417 JUMP JUMPDEST PUSH2 0x10E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x75 SWAP2 SWAP1 PUSH2 0x4B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x98 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x93 SWAP2 SWAP1 PUSH2 0x591 JUMP JUMPDEST PUSH2 0x178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA5 SWAP2 SWAP1 PUSH2 0x633 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x64C JUMP JUMPDEST PUSH2 0x1D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0x6BB JUMP JUMPDEST PUSH2 0x203 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x105 SWAP2 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 PUSH0 DUP1 PUSH2 0x11B DUP6 PUSH2 0x232 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH1 0x1 DUP7 DUP3 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x143 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x701 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x163 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH2 0x183 DUP5 PUSH2 0x1D4 JUMP JUMPDEST SWAP1 POP PUSH0 PUSH2 0x18F DUP3 PUSH2 0x203 JUMP JUMPDEST SWAP1 POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1B2 DUP3 DUP7 PUSH2 0x10E JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1E6 SWAP2 SWAP1 PUSH2 0x796 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x215 SWAP2 SWAP1 PUSH2 0x816 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x41 DUP5 MLOAD EQ PUSH2 0x279 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x270 SWAP1 PUSH2 0x895 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP3 POP PUSH1 0x40 DUP5 ADD MLOAD SWAP2 POP PUSH1 0x60 DUP5 ADD MLOAD PUSH0 BYTE SWAP1 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2BA DUP2 PUSH2 0x2A8 JUMP JUMPDEST DUP2 EQ PUSH2 0x2C4 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2D5 DUP2 PUSH2 0x2B1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x329 DUP3 PUSH2 0x2E3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x348 JUMPI PUSH2 0x347 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x35A PUSH2 0x297 JUMP JUMPDEST SWAP1 POP PUSH2 0x366 DUP3 DUP3 PUSH2 0x320 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x385 JUMPI PUSH2 0x384 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST PUSH2 0x38E DUP3 PUSH2 0x2E3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x3BB PUSH2 0x3B6 DUP5 PUSH2 0x36B JUMP JUMPDEST PUSH2 0x351 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x3D7 JUMPI PUSH2 0x3D6 PUSH2 0x2DF JUMP JUMPDEST JUMPDEST PUSH2 0x3E2 DUP5 DUP3 DUP6 PUSH2 0x39B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3FE JUMPI PUSH2 0x3FD PUSH2 0x2DB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x40E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x3A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x42D JUMPI PUSH2 0x42C PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x43A DUP6 DUP3 DUP7 ADD PUSH2 0x2C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x45B JUMPI PUSH2 0x45A PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x467 DUP6 DUP3 DUP7 ADD PUSH2 0x3EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x49A DUP3 PUSH2 0x471 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4AA DUP2 PUSH2 0x490 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x4C3 PUSH0 DUP4 ADD DUP5 PUSH2 0x4A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4D2 DUP2 PUSH2 0x490 JUMP JUMPDEST DUP2 EQ PUSH2 0x4DC JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x4ED DUP2 PUSH2 0x4C9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x50D JUMPI PUSH2 0x50C PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST PUSH2 0x516 DUP3 PUSH2 0x2E3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x535 PUSH2 0x530 DUP5 PUSH2 0x4F3 JUMP JUMPDEST PUSH2 0x351 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x551 JUMPI PUSH2 0x550 PUSH2 0x2DF JUMP JUMPDEST JUMPDEST PUSH2 0x55C DUP5 DUP3 DUP6 PUSH2 0x39B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x578 JUMPI PUSH2 0x577 PUSH2 0x2DB JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x588 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5A8 JUMPI PUSH2 0x5A7 PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x5B5 DUP7 DUP3 DUP8 ADD PUSH2 0x4DF JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5D6 JUMPI PUSH2 0x5D5 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x5E2 DUP7 DUP3 DUP8 ADD PUSH2 0x564 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x603 JUMPI PUSH2 0x602 PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x60F DUP7 DUP3 DUP8 ADD PUSH2 0x3EA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x62D DUP2 PUSH2 0x619 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x646 PUSH0 DUP4 ADD DUP5 PUSH2 0x624 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x661 JUMPI PUSH2 0x660 PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x67E JUMPI PUSH2 0x67D PUSH2 0x2A4 JUMP JUMPDEST JUMPDEST PUSH2 0x68A DUP5 DUP3 DUP6 ADD PUSH2 0x564 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x69C DUP2 PUSH2 0x2A8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B5 PUSH0 DUP4 ADD DUP5 PUSH2 0x693 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6D0 JUMPI PUSH2 0x6CF PUSH2 0x2A0 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x6DD DUP5 DUP3 DUP6 ADD PUSH2 0x2C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6FB DUP2 PUSH2 0x6E6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x714 PUSH0 DUP4 ADD DUP8 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x721 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x6F2 JUMP JUMPDEST PUSH2 0x72E PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x693 JUMP JUMPDEST PUSH2 0x73B PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x693 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x770 DUP3 PUSH2 0x744 JUMP JUMPDEST PUSH2 0x77A DUP2 DUP6 PUSH2 0x74E JUMP JUMPDEST SWAP4 POP PUSH2 0x78A DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x758 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x7A1 DUP3 DUP5 PUSH2 0x766 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x7E0 PUSH1 0x1C DUP4 PUSH2 0x74E JUMP JUMPDEST SWAP2 POP PUSH2 0x7EB DUP3 PUSH2 0x7AC JUMP JUMPDEST PUSH1 0x1C DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x810 PUSH2 0x80B DUP3 PUSH2 0x2A8 JUMP JUMPDEST PUSH2 0x7F6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH2 0x820 DUP3 PUSH2 0x7D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x82C DUP3 DUP5 PUSH2 0x7FF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x696E7661696C642073696E676174757265206C656E6774680000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x87F PUSH1 0x18 DUP4 PUSH2 0x83B JUMP JUMPDEST SWAP2 POP PUSH2 0x88A DUP3 PUSH2 0x84B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x8AC DUP2 PUSH2 0x873 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC BLOBHASH SHL 0x28 COINBASE 0xCD 0x2E DUP10 SWAP15 RETURNDATACOPY 0xCF 0x29 0xA9 RETURNDATASIZE SWAP2 0xD9 0xE0 SWAP2 PUSH14 0x1274B6B0465DA2359CB3B9085864 PUSH20 0x6F6C634300081A00330000000000000000000000 ",
"sourceMap": "57:1243:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;727:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;82:307;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;395:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;540:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;727:225;818:7;838:9;849;860:7;871:18;878:10;871:6;:18::i;:::-;837:52;;;;;;906:39;916:19;937:1;940;943;906:39;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;899:46;;;;;727:225;;;;:::o;82:307::-;179:4;195:19;217:24;232:8;217:14;:24::i;:::-;195:46;;251:23;277:31;296:11;277:18;:31::i;:::-;251:57;;375:7;342:40;;:29;350:15;366:4;342:7;:29::i;:::-;:40;;;335:47;;;;82:307;;;;;:::o;395:139::-;464:7;517:8;500:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;490:37;;;;;;483:44;;395:139;;;:::o;540:181::-;612:7;700:12;648:65;;;;;;;;:::i;:::-;;;;;;;;;;;;;638:76;;;;;;631:83;;540:181;;;:::o;959:338::-;1017:9;1027;1038:7;1080:2;1065:4;:11;:17;1057:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;1192:2;1187:4;1183:12;1177:19;1172:24;;1229:2;1224:4;1220:12;1214:19;1209:24;;1274:2;1268:4;1264:13;1258:20;1256:1;1251:28;1246:33;;959:338;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:117::-;799:1;796;789:12;813:117;922:1;919;912:12;936:102;977:6;1028:2;1024:7;1019:2;1012:5;1008:14;1004:28;994:38;;936:102;;;:::o;1044:180::-;1092:77;1089:1;1082:88;1189:4;1186:1;1179:15;1213:4;1210:1;1203:15;1230:281;1313:27;1335:4;1313:27;:::i;:::-;1305:6;1301:40;1443:6;1431:10;1428:22;1407:18;1395:10;1392:34;1389:62;1386:88;;;1454:18;;:::i;:::-;1386:88;1494:10;1490:2;1483:22;1273:238;1230:281;;:::o;1517:129::-;1551:6;1578:20;;:::i;:::-;1568:30;;1607:33;1635:4;1627:6;1607:33;:::i;:::-;1517:129;;;:::o;1652:307::-;1713:4;1803:18;1795:6;1792:30;1789:56;;;1825:18;;:::i;:::-;1789:56;1863:29;1885:6;1863:29;:::i;:::-;1855:37;;1947:4;1941;1937:15;1929:23;;1652:307;;;:::o;1965:148::-;2063:6;2058:3;2053;2040:30;2104:1;2095:6;2090:3;2086:16;2079:27;1965:148;;;:::o;2119:423::-;2196:5;2221:65;2237:48;2278:6;2237:48;:::i;:::-;2221:65;:::i;:::-;2212:74;;2309:6;2302:5;2295:21;2347:4;2340:5;2336:16;2385:3;2376:6;2371:3;2367:16;2364:25;2361:112;;;2392:79;;:::i;:::-;2361:112;2482:54;2529:6;2524:3;2519;2482:54;:::i;:::-;2202:340;2119:423;;;;;:::o;2561:338::-;2616:5;2665:3;2658:4;2650:6;2646:17;2642:27;2632:122;;2673:79;;:::i;:::-;2632:122;2790:6;2777:20;2815:78;2889:3;2881:6;2874:4;2866:6;2862:17;2815:78;:::i;:::-;2806:87;;2622:277;2561:338;;;;:::o;2905:652::-;2982:6;2990;3039:2;3027:9;3018:7;3014:23;3010:32;3007:119;;;3045:79;;:::i;:::-;3007:119;3165:1;3190:53;3235:7;3226:6;3215:9;3211:22;3190:53;:::i;:::-;3180:63;;3136:117;3320:2;3309:9;3305:18;3292:32;3351:18;3343:6;3340:30;3337:117;;;3373:79;;:::i;:::-;3337:117;3478:62;3532:7;3523:6;3512:9;3508:22;3478:62;:::i;:::-;3468:72;;3263:287;2905:652;;;;;:::o;3563:126::-;3600:7;3640:42;3633:5;3629:54;3618:65;;3563:126;;;:::o;3695:96::-;3732:7;3761:24;3779:5;3761:24;:::i;:::-;3750:35;;3695:96;;;:::o;3797:118::-;3884:24;3902:5;3884:24;:::i;:::-;3879:3;3872:37;3797:118;;:::o;3921:222::-;4014:4;4052:2;4041:9;4037:18;4029:26;;4065:71;4133:1;4122:9;4118:17;4109:6;4065:71;:::i;:::-;3921:222;;;;:::o;4149:122::-;4222:24;4240:5;4222:24;:::i;:::-;4215:5;4212:35;4202:63;;4261:1;4258;4251:12;4202:63;4149:122;:::o;4277:139::-;4323:5;4361:6;4348:20;4339:29;;4377:33;4404:5;4377:33;:::i;:::-;4277:139;;;;:::o;4422:308::-;4484:4;4574:18;4566:6;4563:30;4560:56;;;4596:18;;:::i;:::-;4560:56;4634:29;4656:6;4634:29;:::i;:::-;4626:37;;4718:4;4712;4708:15;4700:23;;4422:308;;;:::o;4736:425::-;4814:5;4839:66;4855:49;4897:6;4855:49;:::i;:::-;4839:66;:::i;:::-;4830:75;;4928:6;4921:5;4914:21;4966:4;4959:5;4955:16;5004:3;4995:6;4990:3;4986:16;4983:25;4980:112;;;5011:79;;:::i;:::-;4980:112;5101:54;5148:6;5143:3;5138;5101:54;:::i;:::-;4820:341;4736:425;;;;;:::o;5181:340::-;5237:5;5286:3;5279:4;5271:6;5267:17;5263:27;5253:122;;5294:79;;:::i;:::-;5253:122;5411:6;5398:20;5436:79;5511:3;5503:6;5496:4;5488:6;5484:17;5436:79;:::i;:::-;5427:88;;5243:278;5181:340;;;;:::o;5527:977::-;5623:6;5631;5639;5688:2;5676:9;5667:7;5663:23;5659:32;5656:119;;;5694:79;;:::i;:::-;5656:119;5814:1;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5785:117;5969:2;5958:9;5954:18;5941:32;6000:18;5992:6;5989:30;5986:117;;;6022:79;;:::i;:::-;5986:117;6127:63;6182:7;6173:6;6162:9;6158:22;6127:63;:::i;:::-;6117:73;;5912:288;6267:2;6256:9;6252:18;6239:32;6298:18;6290:6;6287:30;6284:117;;;6320:79;;:::i;:::-;6284:117;6425:62;6479:7;6470:6;6459:9;6455:22;6425:62;:::i;:::-;6415:72;;6210:287;5527:977;;;;;:::o;6510:90::-;6544:7;6587:5;6580:13;6573:21;6562:32;;6510:90;;;:::o;6606:109::-;6687:21;6702:5;6687:21;:::i;:::-;6682:3;6675:34;6606:109;;:::o;6721:210::-;6808:4;6846:2;6835:9;6831:18;6823:26;;6859:65;6921:1;6910:9;6906:17;6897:6;6859:65;:::i;:::-;6721:210;;;;:::o;6937:509::-;7006:6;7055:2;7043:9;7034:7;7030:23;7026:32;7023:119;;;7061:79;;:::i;:::-;7023:119;7209:1;7198:9;7194:17;7181:31;7239:18;7231:6;7228:30;7225:117;;;7261:79;;:::i;:::-;7225:117;7366:63;7421:7;7412:6;7401:9;7397:22;7366:63;:::i;:::-;7356:73;;7152:287;6937:509;;;;:::o;7452:118::-;7539:24;7557:5;7539:24;:::i;:::-;7534:3;7527:37;7452:118;;:::o;7576:222::-;7669:4;7707:2;7696:9;7692:18;7684:26;;7720:71;7788:1;7777:9;7773:17;7764:6;7720:71;:::i;:::-;7576:222;;;;:::o;7804:329::-;7863:6;7912:2;7900:9;7891:7;7887:23;7883:32;7880:119;;;7918:79;;:::i;:::-;7880:119;8038:1;8063:53;8108:7;8099:6;8088:9;8084:22;8063:53;:::i;:::-;8053:63;;8009:117;7804:329;;;;:::o;8139:86::-;8174:7;8214:4;8207:5;8203:16;8192:27;;8139:86;;;:::o;8231:112::-;8314:22;8330:5;8314:22;:::i;:::-;8309:3;8302:35;8231:112;;:::o;8349:545::-;8522:4;8560:3;8549:9;8545:19;8537:27;;8574:71;8642:1;8631:9;8627:17;8618:6;8574:71;:::i;:::-;8655:68;8719:2;8708:9;8704:18;8695:6;8655:68;:::i;:::-;8733:72;8801:2;8790:9;8786:18;8777:6;8733:72;:::i;:::-;8815;8883:2;8872:9;8868:18;8859:6;8815:72;:::i;:::-;8349:545;;;;;;;:::o;8900:99::-;8952:6;8986:5;8980:12;8970:22;;8900:99;;;:::o;9005:148::-;9107:11;9144:3;9129:18;;9005:148;;;;:::o;9159:139::-;9248:6;9243:3;9238;9232:23;9289:1;9280:6;9275:3;9271:16;9264:27;9159:139;;;:::o;9304:390::-;9410:3;9438:39;9471:5;9438:39;:::i;:::-;9493:89;9575:6;9570:3;9493:89;:::i;:::-;9486:96;;9591:65;9649:6;9644:3;9637:4;9630:5;9626:16;9591:65;:::i;:::-;9681:6;9676:3;9672:16;9665:23;;9414:280;9304:390;;;;:::o;9700:275::-;9832:3;9854:95;9945:3;9936:6;9854:95;:::i;:::-;9847:102;;9966:3;9959:10;;9700:275;;;;:::o;9981:214::-;10121:66;10117:1;10109:6;10105:14;10098:90;9981:214;:::o;10201:402::-;10361:3;10382:85;10464:2;10459:3;10382:85;:::i;:::-;10375:92;;10476:93;10565:3;10476:93;:::i;:::-;10594:2;10589:3;10585:12;10578:19;;10201:402;;;:::o;10609:79::-;10648:7;10677:5;10666:16;;10609:79;;;:::o;10694:157::-;10799:45;10819:24;10837:5;10819:24;:::i;:::-;10799:45;:::i;:::-;10794:3;10787:58;10694:157;;:::o;10857:522::-;11070:3;11092:148;11236:3;11092:148;:::i;:::-;11085:155;;11250:75;11321:3;11312:6;11250:75;:::i;:::-;11350:2;11345:3;11341:12;11334:19;;11370:3;11363:10;;10857:522;;;;:::o;11385:169::-;11469:11;11503:6;11498:3;11491:19;11543:4;11538:3;11534:14;11519:29;;11385:169;;;;:::o;11560:174::-;11700:26;11696:1;11688:6;11684:14;11677:50;11560:174;:::o;11740:366::-;11882:3;11903:67;11967:2;11962:3;11903:67;:::i;:::-;11896:74;;11979:93;12068:3;11979:93;:::i;:::-;12097:2;12092:3;12088:12;12081:19;;11740:366;;;:::o;12112:419::-;12278:4;12316:2;12305:9;12301:18;12293:26;;12365:9;12359:4;12355:20;12351:1;12340:9;12336:17;12329:47;12393:131;12519:4;12393:131;:::i;:::-;12385:139;;12112:419;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "456200",
"executionCost": "491",
"totalCost": "456691"
},
"external": {
"getMessageHash(string)": "infinite",
"getSignMessageHash(bytes32)": "infinite",
"recover(bytes32,bytes)": "infinite",
"verify(address,string,bytes)": "infinite"
},
"internal": {
"_spilt(bytes memory)": "infinite"
}
},
"methodIdentifiers": {
"getMessageHash(string)": "b446f3b2",
"getSignMessageHash(bytes32)": "eb0d3fd9",
"recover(bytes32,bytes)": "19045a25",
"verify(address,string,bytes)": "2dd34f0f"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_message",
"type": "string"
}
],
"name": "getMessageHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_messageHash",
"type": "bytes32"
}
],
"name": "getSignMessageHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_ethSignMessageHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
}
],
"name": "recover",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_signer",
"type": "address"
},
{
"internalType": "string",
"name": "_message",
"type": "string"
},
{
"internalType": "bytes",
"name": "_sig",
"type": "bytes"
}
],
"name": "verify",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.26+commit.8a97fa7a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_message",
"type": "string"
}
],
"name": "getMessageHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_messageHash",
"type": "bytes32"
}
],
"name": "getSignMessageHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_ethSignMessageHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
}
],
"name": "recover",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_signer",
"type": "address"
},
{
"internalType": "string",
"name": "_message",
"type": "string"
},
{
"internalType": "bytes",
"name": "_sig",
"type": "bytes"
}
],
"name": "verify",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"learn/Sgin.sol": "VerifSign"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"learn/Sgin.sol": {
"keccak256": "0x2629ca89976267b18c39dd947891ff3910ab44f1bd12833c5647c2376f22bfd2",
"license": "MIT",
"urls": [
"bzz-raw://efc7ccac9bbfa9f174dcde481c7e8b717e2c621eea40d0d23f78b72612a0f5dc",
"dweb:/ipfs/QmXoPB7QZtZ4y2tLXbp86ttpwAmMNDTEscnbg1a5sFfzmz"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract Event1 {
//事件? 用来记录log?
//有index就可以通过msg来查找log
event log1(string indexed msg,address add);
function example() external {
emit log1("hello",msg.sender);
}
}
pragma solidity 0.8.26;
contract Enum {
enum Status{
open,
close,
none
}
//声明一个在区块链的变量
Status public status;
//struct 结构体 类似java里的类
struct Order {
address buyer;
Status status;
}
//声明一个在区块链能调用的不定长数组 定长数组跟java一样在array【2】就行
Order[] public orders;
//声明一个方法
// 声明。 方法名 修饰词。修饰词 返回声明。返回的数据类型
function get() public view returns (Status){
return status;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract EtherWallet {
//定义一个钱包地址
address payable public owner;
//构造器初始化owner变量
constructor() {
//强转
owner = payable ( msg.sender);
}
// 声明这个合约可以接受eth
receive() external payable { }
//声明一个方法 只有owner可以把合约的钱提出来
function withdraw(uint amount) external {
require(msg.sender == owner,"Not the owner");
owner.transfer(amount);
}
function getBanlance()external view returns (uint) {
//address(this) 获取到这个合约的地址 .balance 获取账号余额
return address(this).balance;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract HashFunc {
function hash(string memory text ,uint num ,address addr) external pure returns (bytes32) {
return keccak256(abi.encodePacked(text,num,addr));
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract VerifSign {
function verify(address _signer,string memory _message,bytes memory _sig)external pure returns (bool) {
bytes32 messageHash = getMessageHash(_message);
bytes32 SignmessageHash = getSignMessageHash(messageHash);
//verify
return recover(SignmessageHash,_sig) == _signer;
}
function getMessageHash(string memory _message)public pure returns (bytes32) {
return keccak256(abi.encodePacked(_message));
}
function getSignMessageHash(bytes32 _messageHash)public pure returns (bytes32) {
return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32",_messageHash));
}
function recover(bytes32 _ethSignMessageHash,bytes memory _signature )public pure returns (address) {
(bytes32 r ,bytes32 s ,uint8 v) = _spilt(_signature);
return ecrecover(_ethSignMessageHash, v, r, s);
}
function _spilt(bytes memory _sig) internal pure returns (bytes32 r,bytes32 s ,uint8 v) {
require(_sig.length == 65, "invaild singature length");
//主动拆分签名
assembly{
r := mload(add(_sig,32))
s := mload(add(_sig,64))
v:= byte(0,mload(add(_sig, 96)))
}
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract StorageSimple {
//三种数据定义修饰词 calldata 入参时使用 对于链上数据时只读的
//storage 修饰的数据可以最后同步到链上
//memory 可修饰数据 但是gas比calldata高
}
This file has been truncated, but you can view the full file.
{
"id": "1ac3c3525d07e0e33265ef24b1502bf9",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.26",
"solcLongVersion": "0.8.26+commit.8a97fa7a",
"input": {
"language": "Solidity",
"sources": {
"learn/call.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.26;\n\n\ncontract testCall {\n string public message;\n uint public x;\n\n event log(address caller,uint256 amount,string message);\n\n // 表明该合约可以接收以太\n receive() external payable { }\n\n fallback() external payable { \n emit log(msg.sender,msg.value,\"fallback is called\");\n }\n function foo(string memory _message,uint256 _x) public payable returns (bool,uint) {\n\n message = _message;\n x = _x;\n return (true,999);\n }\n\n\n}\n\n\ncontract Call {\n\n bytes public data ;\n\n function callFoo(address _test) external {\n (bool success,bytes memory _data) = \n _test.call{value:111}(abi.encodeWithSignature(\"foo(string,uint256)\", \"call foo\",123));\n data = _data;\n require(success,\"call failed\");\n }\n\n function callUNFunc(address _un) external {\n (bool status,bytes memory _data1) = _un.call(abi.encodeWithSignature(\"unanleFun(string,uint256)\", \"unnofunc\",123));\n require(status,\"12344\");\n data = _data1;\n }\n \n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
},
"remappings": []
}
},
"output": {
"contracts": {
"learn/call.sol": {
"Call": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_test",
"type": "address"
}
],
"name": "callFoo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_un",
"type": "address"
}
],
"name": "callUNFunc",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "data",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"learn/call.sol\":541:1080 contract Call {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"learn/call.sol\":541:1080 contract Call {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x5329c6f2\n eq\n tag_3\n jumpi\n dup1\n 0x73d4a13a\n eq\n tag_4\n jumpi\n dup1\n 0xedcbe76c\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"learn/call.sol\":843:1073 function callUNFunc(address _un) external {... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"learn/call.sol\":562:579 bytes public data */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"learn/call.sol\":587:837 function callFoo(address _test) external {... */\n tag_5:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_8\n jump\t// in\n tag_15:\n tag_16\n jump\t// in\n tag_14:\n stop\n /* \"learn/call.sol\":843:1073 function callUNFunc(address _un) external {... */\n tag_9:\n /* \"learn/call.sol\":897:908 bool status */\n 0x00\n /* \"learn/call.sol\":909:928 bytes memory _data1 */\n dup1\n /* \"learn/call.sol\":932:935 _un */\n dup3\n /* \"learn/call.sol\":932:940 _un.call */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"learn/call.sol\":1005:1008 123 */\n 0x7b\n /* \"learn/call.sol\":941:1009 abi.encodeWithSignature(\"unanleFun(string,uint256)\", \"unnofunc\",123) */\n add(0x24, mload(0x40))\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n and(not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff), 0xed6246ce00000000000000000000000000000000000000000000000000000000)\n 0x20\n dup3\n add\n dup1\n mload\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n dup4\n dup2\n dup4\n and\n or\n dup4\n mstore\n pop\n pop\n pop\n pop\n /* \"learn/call.sol\":932:1010 _un.call(abi.encodeWithSignature(\"unanleFun(string,uint256)\", \"unnofunc\",123)) */\n mload(0x40)\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup7\n gas\n call\n swap2\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_24\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_23)\n tag_24:\n 0x60\n swap2\n pop\n tag_23:\n pop\n /* \"learn/call.sol\":896:1010 (bool status,bytes memory _data1) = _un.call(abi.encodeWithSignature(\"unanleFun(string,uint256)\", \"unnofunc\",123)) */\n swap2\n pop\n swap2\n pop\n /* \"learn/call.sol\":1028:1034 status */\n dup2\n /* \"learn/call.sol\":1020:1043 require(status,\"12344\") */\n tag_25\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_26\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_25:\n /* \"learn/call.sol\":1060:1066 _data1 */\n dup1\n /* \"learn/call.sol\":1053:1057 data */\n 0x00\n /* \"learn/call.sol\":1053:1066 data = _data1 */\n swap1\n dup2\n tag_28\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n pop\n /* \"learn/call.sol\":886:1073 {... */\n pop\n pop\n /* \"learn/call.sol\":843:1073 function callUNFunc(address _un) external {... */\n pop\n jump\t// out\n /* \"learn/call.sol\":562:579 bytes public data */\n tag_11:\n 0x00\n dup1\n sload\n tag_30\n swap1\n tag_31\n jump\t// in\n tag_30:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_32\n swap1\n tag_31\n jump\t// in\n tag_32:\n dup1\n iszero\n tag_33\n jumpi\n dup1\n 0x1f\n lt\n tag_34\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_33)\n tag_34:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_35:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_35\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_33:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"learn/call.sol\":587:837 function callFoo(address _test) external {... */\n tag_16:\n /* \"learn/call.sol\":639:651 bool success */\n 0x00\n /* \"learn/call.sol\":652:670 bytes memory _data */\n dup1\n /* \"learn/call.sol\":683:688 _test */\n dup3\n /* \"learn/call.sol\":683:693 _test.call */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"learn/call.sol\":700:703 111 */\n 0x6f\n /* \"learn/call.sol\":763:766 123 */\n 0x7b\n /* \"learn/call.sol\":705:767 abi.encodeWithSignature(\"foo(string,uint256)\", \"call foo\",123) */\n add(0x24, mload(0x40))\n tag_37\n swap2\n swap1\n tag_38\n jump\t// in\n tag_37:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n and(not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff), 0x24ccab8f00000000000000000000000000000000000000000000000000000000)\n 0x20\n dup3\n add\n dup1\n mload\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n dup4\n dup2\n dup4\n and\n or\n dup4\n mstore\n pop\n pop\n pop\n pop\n /* \"learn/call.sol\":683:768 _test.call{value:111}(abi.encodeWithSignature(\"foo(string,uint256)\", \"call foo\",123)) */\n mload(0x40)\n tag_39\n swap2\n swap1\n tag_21\n jump\t// in\n tag_39:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup8\n gas\n call\n swap3\n pop\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_42\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_41)\n tag_42:\n 0x60\n swap2\n pop\n tag_41:\n pop\n /* \"learn/call.sol\":638:768 (bool success,bytes memory _data) = ... */\n swap2\n pop\n swap2\n pop\n /* \"learn/call.sol\":785:790 _data */\n dup1\n /* \"learn/call.sol\":778:782 data */\n 0x00\n /* \"learn/call.sol\":778:790 data = _data */\n swap1\n dup2\n tag_43\n swap2\n swap1\n tag_29\n jump\t// in\n tag_43:\n pop\n /* \"learn/call.sol\":808:815 success */\n dup2\n /* \"learn/call.sol\":800:830 require(success,\"call failed\") */\n tag_44\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_45\n swap1\n tag_46\n jump\t// in\n tag_45:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_44:\n /* \"learn/call.sol\":629:837 {... */\n pop\n pop\n /* \"learn/call.sol\":587:837 function callFoo(address _test) external {... */\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_48:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_50:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_51:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_98\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_50\n jump\t// in\n tag_98:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_52:\n /* \"#utility.yul\":641:665 */\n tag_100\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_51\n jump\t// in\n tag_100:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_101\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_101:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_53:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_103\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_52\n jump\t// in\n tag_103:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:1170 */\n tag_8:\n /* \"#utility.yul\":900:906 */\n 0x00\n /* \"#utility.yul\":949:951 */\n 0x20\n /* \"#utility.yul\":937:946 */\n dup3\n /* \"#utility.yul\":928:935 */\n dup5\n /* \"#utility.yul\":924:947 */\n sub\n /* \"#utility.yul\":920:952 */\n slt\n /* \"#utility.yul\":917:1036 */\n iszero\n tag_105\n jumpi\n /* \"#utility.yul\":955:1034 */\n tag_106\n tag_48\n jump\t// in\n tag_106:\n /* \"#utility.yul\":917:1036 */\n tag_105:\n /* \"#utility.yul\":1075:1076 */\n 0x00\n /* \"#utility.yul\":1100:1153 */\n tag_107\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1100:1153 */\n tag_53\n jump\t// in\n tag_107:\n /* \"#utility.yul\":1090:1153 */\n swap2\n pop\n /* \"#utility.yul\":1046:1163 */\n pop\n /* \"#utility.yul\":841:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1274 */\n tag_54:\n /* \"#utility.yul\":1227:1233 */\n 0x00\n /* \"#utility.yul\":1261:1266 */\n dup2\n /* \"#utility.yul\":1255:1267 */\n mload\n /* \"#utility.yul\":1245:1267 */\n swap1\n pop\n /* \"#utility.yul\":1176:1274 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1280:1448 */\n tag_55:\n /* \"#utility.yul\":1363:1374 */\n 0x00\n /* \"#utility.yul\":1397:1403 */\n dup3\n /* \"#utility.yul\":1392:1395 */\n dup3\n /* \"#utility.yul\":1385:1404 */\n mstore\n /* \"#utility.yul\":1437:1441 */\n 0x20\n /* \"#utility.yul\":1432:1435 */\n dup3\n /* \"#utility.yul\":1428:1442 */\n add\n /* \"#utility.yul\":1413:1442 */\n swap1\n pop\n /* \"#utility.yul\":1280:1448 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1454:1593 */\n tag_56:\n /* \"#utility.yul\":1543:1549 */\n dup3\n /* \"#utility.yul\":1538:1541 */\n dup2\n /* \"#utility.yul\":1533:1536 */\n dup4\n /* \"#utility.yul\":1527:1550 */\n mcopy\n /* \"#utility.yul\":1584:1585 */\n 0x00\n /* \"#utility.yul\":1575:1581 */\n dup4\n /* \"#utility.yul\":1570:1573 */\n dup4\n /* \"#utility.yul\":1566:1582 */\n add\n /* \"#utility.yul\":1559:1586 */\n mstore\n /* \"#utility.yul\":1454:1593 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1599:1701 */\n tag_57:\n /* \"#utility.yul\":1640:1646 */\n 0x00\n /* \"#utility.yul\":1691:1693 */\n 0x1f\n /* \"#utility.yul\":1687:1694 */\n not\n /* \"#utility.yul\":1682:1684 */\n 0x1f\n /* \"#utility.yul\":1675:1680 */\n dup4\n /* \"#utility.yul\":1671:1685 */\n add\n /* \"#utility.yul\":1667:1695 */\n and\n /* \"#utility.yul\":1657:1695 */\n swap1\n pop\n /* \"#utility.yul\":1599:1701 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1707:2080 */\n tag_58:\n /* \"#utility.yul\":1793:1796 */\n 0x00\n /* \"#utility.yul\":1821:1859 */\n tag_113\n /* \"#utility.yul\":1853:1858 */\n dup3\n /* \"#utility.yul\":1821:1859 */\n tag_54\n jump\t// in\n tag_113:\n /* \"#utility.yul\":1875:1945 */\n tag_114\n /* \"#utility.yul\":1938:1944 */\n dup2\n /* \"#utility.yul\":1933:1936 */\n dup6\n /* \"#utility.yul\":1875:1945 */\n tag_55\n jump\t// in\n tag_114:\n /* \"#utility.yul\":1868:1945 */\n swap4\n pop\n /* \"#utility.yul\":1954:2019 */\n tag_115\n /* \"#utility.yul\":2012:2018 */\n dup2\n /* \"#utility.yul\":2007:2010 */\n dup6\n /* \"#utility.yul\":2000:2004 */\n 0x20\n /* \"#utility.yul\":1993:1998 */\n dup7\n /* \"#utility.yul\":1989:2005 */\n add\n /* \"#utility.yul\":1954:2019 */\n tag_56\n jump\t// in\n tag_115:\n /* \"#utility.yul\":2044:2073 */\n tag_116\n /* \"#utility.yul\":2066:2072 */\n dup2\n /* \"#utility.yul\":2044:2073 */\n tag_57\n jump\t// in\n tag_116:\n /* \"#utility.yul\":2039:2042 */\n dup5\n /* \"#utility.yul\":2035:2074 */\n add\n /* \"#utility.yul\":2028:2074 */\n swap2\n pop\n /* \"#utility.yul\":1797:2080 */\n pop\n /* \"#utility.yul\":1707:2080 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2086:2395 */\n tag_13:\n /* \"#utility.yul\":2197:2201 */\n 0x00\n /* \"#utility.yul\":2235:2237 */\n 0x20\n /* \"#utility.yul\":2224:2233 */\n dup3\n /* \"#utility.yul\":2220:2238 */\n add\n /* \"#utility.yul\":2212:2238 */\n swap1\n pop\n /* \"#utility.yul\":2284:2293 */\n dup2\n /* \"#utility.yul\":2278:2282 */\n dup2\n /* \"#utility.yul\":2274:2294 */\n sub\n /* \"#utility.yul\":2270:2271 */\n 0x00\n /* \"#utility.yul\":2259:2268 */\n dup4\n /* \"#utility.yul\":2255:2272 */\n add\n /* \"#utility.yul\":2248:2295 */\n mstore\n /* \"#utility.yul\":2312:2388 */\n tag_118\n /* \"#utility.yul\":2383:2387 */\n dup2\n /* \"#utility.yul\":2374:2380 */\n dup5\n /* \"#utility.yul\":2312:2388 */\n tag_58\n jump\t// in\n tag_118:\n /* \"#utility.yul\":2304:2388 */\n swap1\n pop\n /* \"#utility.yul\":2086:2395 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2401:2570 */\n tag_59:\n /* \"#utility.yul\":2485:2496 */\n 0x00\n /* \"#utility.yul\":2519:2525 */\n dup3\n /* \"#utility.yul\":2514:2517 */\n dup3\n /* \"#utility.yul\":2507:2526 */\n mstore\n /* \"#utility.yul\":2559:2563 */\n 0x20\n /* \"#utility.yul\":2554:2557 */\n dup3\n /* \"#utility.yul\":2550:2564 */\n add\n /* \"#utility.yul\":2535:2564 */\n swap1\n pop\n /* \"#utility.yul\":2401:2570 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2576:2734 */\n tag_60:\n /* \"#utility.yul\":2716:2726 */\n 0x756e6e6f66756e63000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2712:2713 */\n 0x00\n /* \"#utility.yul\":2704:2710 */\n dup3\n /* \"#utility.yul\":2700:2714 */\n add\n /* \"#utility.yul\":2693:2727 */\n mstore\n /* \"#utility.yul\":2576:2734 */\n pop\n jump\t// out\n /* \"#utility.yul\":2740:3105 */\n tag_61:\n /* \"#utility.yul\":2882:2885 */\n 0x00\n /* \"#utility.yul\":2903:2969 */\n tag_122\n /* \"#utility.yul\":2967:2968 */\n 0x08\n /* \"#utility.yul\":2962:2965 */\n dup4\n /* \"#utility.yul\":2903:2969 */\n tag_59\n jump\t// in\n tag_122:\n /* \"#utility.yul\":2896:2969 */\n swap2\n pop\n /* \"#utility.yul\":2978:3071 */\n tag_123\n /* \"#utility.yul\":3067:3070 */\n dup3\n /* \"#utility.yul\":2978:3071 */\n tag_60\n jump\t// in\n tag_123:\n /* \"#utility.yul\":3096:3098 */\n 0x20\n /* \"#utility.yul\":3091:3094 */\n dup3\n /* \"#utility.yul\":3087:3099 */\n add\n /* \"#utility.yul\":3080:3099 */\n swap1\n pop\n /* \"#utility.yul\":2740:3105 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3111:3198 */\n tag_62:\n /* \"#utility.yul\":3158:3165 */\n 0x00\n /* \"#utility.yul\":3187:3192 */\n dup2\n /* \"#utility.yul\":3176:3192 */\n swap1\n pop\n /* \"#utility.yul\":3111:3198 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3204:3290 */\n tag_63:\n /* \"#utility.yul\":3239:3246 */\n 0x00\n /* \"#utility.yul\":3279:3283 */\n 0xff\n /* \"#utility.yul\":3272:3277 */\n dup3\n /* \"#utility.yul\":3268:3284 */\n and\n /* \"#utility.yul\":3257:3284 */\n swap1\n pop\n /* \"#utility.yul\":3204:3290 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3296:3356 */\n tag_64:\n /* \"#utility.yul\":3324:3327 */\n 0x00\n /* \"#utility.yul\":3345:3350 */\n dup2\n /* \"#utility.yul\":3338:3350 */\n swap1\n pop\n /* \"#utility.yul\":3296:3356 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3362:3520 */\n tag_65:\n /* \"#utility.yul\":3420:3429 */\n 0x00\n /* \"#utility.yul\":3453:3514 */\n tag_128\n /* \"#utility.yul\":3469:3513 */\n tag_129\n /* \"#utility.yul\":3478:3512 */\n tag_130\n /* \"#utility.yul\":3506:3511 */\n dup5\n /* \"#utility.yul\":3478:3512 */\n tag_62\n jump\t// in\n tag_130:\n /* \"#utility.yul\":3469:3513 */\n tag_64\n jump\t// in\n tag_129:\n /* \"#utility.yul\":3453:3514 */\n tag_63\n jump\t// in\n tag_128:\n /* \"#utility.yul\":3440:3514 */\n swap1\n pop\n /* \"#utility.yul\":3362:3520 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3526:3673 */\n tag_66:\n /* \"#utility.yul\":3621:3666 */\n tag_132\n /* \"#utility.yul\":3660:3665 */\n dup2\n /* \"#utility.yul\":3621:3666 */\n tag_65\n jump\t// in\n tag_132:\n /* \"#utility.yul\":3616:3619 */\n dup3\n /* \"#utility.yul\":3609:3667 */\n mstore\n /* \"#utility.yul\":3526:3673 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3679:4224 */\n tag_19:\n /* \"#utility.yul\":3881:3885 */\n 0x00\n /* \"#utility.yul\":3919:3921 */\n 0x40\n /* \"#utility.yul\":3908:3917 */\n dup3\n /* \"#utility.yul\":3904:3922 */\n add\n /* \"#utility.yul\":3896:3922 */\n swap1\n pop\n /* \"#utility.yul\":3968:3977 */\n dup2\n /* \"#utility.yul\":3962:3966 */\n dup2\n /* \"#utility.yul\":3958:3978 */\n sub\n /* \"#utility.yul\":3954:3955 */\n 0x00\n /* \"#utility.yul\":3943:3952 */\n dup4\n /* \"#utility.yul\":3939:3956 */\n add\n /* \"#utility.yul\":3932:3979 */\n mstore\n /* \"#utility.yul\":3996:4127 */\n tag_134\n /* \"#utility.yul\":4122:4126 */\n dup2\n /* \"#utility.yul\":3996:4127 */\n tag_61\n jump\t// in\n tag_134:\n /* \"#utility.yul\":3988:4127 */\n swap1\n pop\n /* \"#utility.yul\":4137:4217 */\n tag_135\n /* \"#utility.yul\":4213:4215 */\n 0x20\n /* \"#utility.yul\":4202:4211 */\n dup4\n /* \"#utility.yul\":4198:4216 */\n add\n /* \"#utility.yul\":4189:4195 */\n dup5\n /* \"#utility.yul\":4137:4217 */\n tag_66\n jump\t// in\n tag_135:\n /* \"#utility.yul\":3679:4224 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4230:4377 */\n tag_67:\n /* \"#utility.yul\":4331:4342 */\n 0x00\n /* \"#utility.yul\":4368:4371 */\n dup2\n /* \"#utility.yul\":4353:4371 */\n swap1\n pop\n /* \"#utility.yul\":4230:4377 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4383:4769 */\n tag_68:\n /* \"#utility.yul\":4487:4490 */\n 0x00\n /* \"#utility.yul\":4515:4553 */\n tag_138\n /* \"#utility.yul\":4547:4552 */\n dup3\n /* \"#utility.yul\":4515:4553 */\n tag_54\n jump\t// in\n tag_138:\n /* \"#utility.yul\":4569:4657 */\n tag_139\n /* \"#utility.yul\":4650:4656 */\n dup2\n /* \"#utility.yul\":4645:4648 */\n dup6\n /* \"#utility.yul\":4569:4657 */\n tag_67\n jump\t// in\n tag_139:\n /* \"#utility.yul\":4562:4657 */\n swap4\n pop\n /* \"#utility.yul\":4666:4731 */\n tag_140\n /* \"#utility.yul\":4724:4730 */\n dup2\n /* \"#utility.yul\":4719:4722 */\n dup6\n /* \"#utility.yul\":4712:4716 */\n 0x20\n /* \"#utility.yul\":4705:4710 */\n dup7\n /* \"#utility.yul\":4701:4717 */\n add\n /* \"#utility.yul\":4666:4731 */\n tag_56\n jump\t// in\n tag_140:\n /* \"#utility.yul\":4756:4762 */\n dup1\n /* \"#utility.yul\":4751:4754 */\n dup5\n /* \"#utility.yul\":4747:4763 */\n add\n /* \"#utility.yul\":4740:4763 */\n swap2\n pop\n /* \"#utility.yul\":4491:4769 */\n pop\n /* \"#utility.yul\":4383:4769 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4775:5046 */\n tag_21:\n /* \"#utility.yul\":4905:4908 */\n 0x00\n /* \"#utility.yul\":4927:5020 */\n tag_142\n /* \"#utility.yul\":5016:5019 */\n dup3\n /* \"#utility.yul\":5007:5013 */\n dup5\n /* \"#utility.yul\":4927:5020 */\n tag_68\n jump\t// in\n tag_142:\n /* \"#utility.yul\":4920:5020 */\n swap2\n pop\n /* \"#utility.yul\":5037:5040 */\n dup2\n /* \"#utility.yul\":5030:5040 */\n swap1\n pop\n /* \"#utility.yul\":4775:5046 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5052:5207 */\n tag_69:\n /* \"#utility.yul\":5192:5199 */\n 0x3132333434000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5188:5189 */\n 0x00\n /* \"#utility.yul\":5180:5186 */\n dup3\n /* \"#utility.yul\":5176:5190 */\n add\n /* \"#utility.yul\":5169:5200 */\n mstore\n /* \"#utility.yul\":5052:5207 */\n pop\n jump\t// out\n /* \"#utility.yul\":5213:5578 */\n tag_70:\n /* \"#utility.yul\":5355:5358 */\n 0x00\n /* \"#utility.yul\":5376:5442 */\n tag_145\n /* \"#utility.yul\":5440:5441 */\n 0x05\n /* \"#utility.yul\":5435:5438 */\n dup4\n /* \"#utility.yul\":5376:5442 */\n tag_59\n jump\t// in\n tag_145:\n /* \"#utility.yul\":5369:5442 */\n swap2\n pop\n /* \"#utility.yul\":5451:5544 */\n tag_146\n /* \"#utility.yul\":5540:5543 */\n dup3\n /* \"#utility.yul\":5451:5544 */\n tag_69\n jump\t// in\n tag_146:\n /* \"#utility.yul\":5569:5571 */\n 0x20\n /* \"#utility.yul\":5564:5567 */\n dup3\n /* \"#utility.yul\":5560:5572 */\n add\n /* \"#utility.yul\":5553:5572 */\n swap1\n pop\n /* \"#utility.yul\":5213:5578 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5584:6003 */\n tag_27:\n /* \"#utility.yul\":5750:5754 */\n 0x00\n /* \"#utility.yul\":5788:5790 */\n 0x20\n /* \"#utility.yul\":5777:5786 */\n dup3\n /* \"#utility.yul\":5773:5791 */\n add\n /* \"#utility.yul\":5765:5791 */\n swap1\n pop\n /* \"#utility.yul\":5837:5846 */\n dup2\n /* \"#utility.yul\":5831:5835 */\n dup2\n /* \"#utility.yul\":5827:5847 */\n sub\n /* \"#utility.yul\":5823:5824 */\n 0x00\n /* \"#utility.yul\":5812:5821 */\n dup4\n /* \"#utility.yul\":5808:5825 */\n add\n /* \"#utility.yul\":5801:5848 */\n mstore\n /* \"#utility.yul\":5865:5996 */\n tag_148\n /* \"#utility.yul\":5991:5995 */\n dup2\n /* \"#utility.yul\":5865:5996 */\n tag_70\n jump\t// in\n tag_148:\n /* \"#utility.yul\":5857:5996 */\n swap1\n pop\n /* \"#utility.yul\":5584:6003 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6009:6189 */\n tag_71:\n /* \"#utility.yul\":6057:6134 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6054:6055 */\n 0x00\n /* \"#utility.yul\":6047:6135 */\n mstore\n /* \"#utility.yul\":6154:6158 */\n 0x41\n /* \"#utility.yul\":6151:6152 */\n 0x04\n /* \"#utility.yul\":6144:6159 */\n mstore\n /* \"#utility.yul\":6178:6182 */\n 0x24\n /* \"#utility.yul\":6175:6176 */\n 0x00\n /* \"#utility.yul\":6168:6183 */\n revert\n /* \"#utility.yul\":6195:6375 */\n tag_72:\n /* \"#utility.yul\":6243:6320 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6240:6241 */\n 0x00\n /* \"#utility.yul\":6233:6321 */\n mstore\n /* \"#utility.yul\":6340:6344 */\n 0x22\n /* \"#utility.yul\":6337:6338 */\n 0x04\n /* \"#utility.yul\":6330:6345 */\n mstore\n /* \"#utility.yul\":6364:6368 */\n 0x24\n /* \"#utility.yul\":6361:6362 */\n 0x00\n /* \"#utility.yul\":6354:6369 */\n revert\n /* \"#utility.yul\":6381:6701 */\n tag_31:\n /* \"#utility.yul\":6425:6431 */\n 0x00\n /* \"#utility.yul\":6462:6463 */\n 0x02\n /* \"#utility.yul\":6456:6460 */\n dup3\n /* \"#utility.yul\":6452:6464 */\n div\n /* \"#utility.yul\":6442:6464 */\n swap1\n pop\n /* \"#utility.yul\":6509:6510 */\n 0x01\n /* \"#utility.yul\":6503:6507 */\n dup3\n /* \"#utility.yul\":6499:6511 */\n and\n /* \"#utility.yul\":6530:6548 */\n dup1\n /* \"#utility.yul\":6520:6601 */\n tag_152\n jumpi\n /* \"#utility.yul\":6586:6590 */\n 0x7f\n /* \"#utility.yul\":6578:6584 */\n dup3\n /* \"#utility.yul\":6574:6591 */\n and\n /* \"#utility.yul\":6564:6591 */\n swap2\n pop\n /* \"#utility.yul\":6520:6601 */\n tag_152:\n /* \"#utility.yul\":6648:6650 */\n 0x20\n /* \"#utility.yul\":6640:6646 */\n dup3\n /* \"#utility.yul\":6637:6651 */\n lt\n /* \"#utility.yul\":6617:6635 */\n dup2\n /* \"#utility.yul\":6614:6652 */\n sub\n /* \"#utility.yul\":6611:6695 */\n tag_153\n jumpi\n /* \"#utility.yul\":6667:6685 */\n tag_154\n tag_72\n jump\t// in\n tag_154:\n /* \"#utility.yul\":6611:6695 */\n tag_153:\n /* \"#utility.yul\":6432:6701 */\n pop\n /* \"#utility.yul\":6381:6701 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6707:6847 */\n tag_73:\n /* \"#utility.yul\":6755:6759 */\n 0x00\n /* \"#utility.yul\":6778:6781 */\n dup2\n /* \"#utility.yul\":6770:6781 */\n swap1\n pop\n /* \"#utility.yul\":6801:6804 */\n dup2\n /* \"#utility.yul\":6798:6799 */\n 0x00\n /* \"#utility.yul\":6791:6805 */\n mstore\n /* \"#utility.yul\":6835:6839 */\n 0x20\n /* \"#utility.yul\":6832:6833 */\n 0x00\n /* \"#utility.yul\":6822:6840 */\n keccak256\n /* \"#utility.yul\":6814:6840 */\n swap1\n pop\n /* \"#utility.yul\":6707:6847 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6853:6946 */\n tag_74:\n /* \"#utility.yul\":6890:6896 */\n 0x00\n /* \"#utility.yul\":6937:6939 */\n 0x20\n /* \"#utility.yul\":6932:6934 */\n 0x1f\n /* \"#utility.yul\":6925:6930 */\n dup4\n /* \"#utility.yul\":6921:6935 */\n add\n /* \"#utility.yul\":6917:6940 */\n div\n /* \"#utility.yul\":6907:6940 */\n swap1\n pop\n /* \"#utility.yul\":6853:6946 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6952:7059 */\n tag_75:\n /* \"#utility.yul\":6996:7004 */\n 0x00\n /* \"#utility.yul\":7046:7051 */\n dup3\n /* \"#utility.yul\":7040:7044 */\n dup3\n /* \"#utility.yul\":7036:7052 */\n shl\n /* \"#utility.yul\":7015:7052 */\n swap1\n pop\n /* \"#utility.yul\":6952:7059 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7065:7458 */\n tag_76:\n /* \"#utility.yul\":7134:7140 */\n 0x00\n /* \"#utility.yul\":7184:7185 */\n 0x08\n /* \"#utility.yul\":7172:7182 */\n dup4\n /* \"#utility.yul\":7168:7186 */\n mul\n /* \"#utility.yul\":7207:7304 */\n tag_159\n /* \"#utility.yul\":7237:7303 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":7226:7235 */\n dup3\n /* \"#utility.yul\":7207:7304 */\n tag_75\n jump\t// in\n tag_159:\n /* \"#utility.yul\":7325:7364 */\n tag_160\n /* \"#utility.yul\":7355:7363 */\n dup7\n /* \"#utility.yul\":7344:7353 */\n dup4\n /* \"#utility.yul\":7325:7364 */\n tag_75\n jump\t// in\n tag_160:\n /* \"#utility.yul\":7313:7364 */\n swap6\n pop\n /* \"#utility.yul\":7397:7401 */\n dup1\n /* \"#utility.yul\":7393:7402 */\n not\n /* \"#utility.yul\":7386:7391 */\n dup5\n /* \"#utility.yul\":7382:7403 */\n and\n /* \"#utility.yul\":7373:7403 */\n swap4\n pop\n /* \"#utility.yul\":7446:7450 */\n dup1\n /* \"#utility.yul\":7436:7444 */\n dup7\n /* \"#utility.yul\":7432:7451 */\n and\n /* \"#utility.yul\":7425:7430 */\n dup5\n /* \"#utility.yul\":7422:7452 */\n or\n /* \"#utility.yul\":7412:7452 */\n swap3\n pop\n /* \"#utility.yul\":7141:7458 */\n pop\n pop\n /* \"#utility.yul\":7065:7458 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7464:7541 */\n tag_77:\n /* \"#utility.yul\":7501:7508 */\n 0x00\n /* \"#utility.yul\":7530:7535 */\n dup2\n /* \"#utility.yul\":7519:7535 */\n swap1\n pop\n /* \"#utility.yul\":7464:7541 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7547:7689 */\n tag_78:\n /* \"#utility.yul\":7597:7606 */\n 0x00\n /* \"#utility.yul\":7630:7683 */\n tag_163\n /* \"#utility.yul\":7648:7682 */\n tag_164\n /* \"#utility.yul\":7657:7681 */\n tag_165\n /* \"#utility.yul\":7675:7680 */\n dup5\n /* \"#utility.yul\":7657:7681 */\n tag_77\n jump\t// in\n tag_165:\n /* \"#utility.yul\":7648:7682 */\n tag_64\n jump\t// in\n tag_164:\n /* \"#utility.yul\":7630:7683 */\n tag_77\n jump\t// in\n tag_163:\n /* \"#utility.yul\":7617:7683 */\n swap1\n pop\n /* \"#utility.yul\":7547:7689 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7695:7770 */\n tag_79:\n /* \"#utility.yul\":7738:7741 */\n 0x00\n /* \"#utility.yul\":7759:7764 */\n dup2\n /* \"#utility.yul\":7752:7764 */\n swap1\n pop\n /* \"#utility.yul\":7695:7770 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7776:8045 */\n tag_80:\n /* \"#utility.yul\":7886:7925 */\n tag_168\n /* \"#utility.yul\":7917:7924 */\n dup4\n /* \"#utility.yul\":7886:7925 */\n tag_78\n jump\t// in\n tag_168:\n /* \"#utility.yul\":7947:8038 */\n tag_169\n /* \"#utility.yul\":7996:8037 */\n tag_170\n /* \"#utility.yul\":8020:8036 */\n dup3\n /* \"#utility.yul\":7996:8037 */\n tag_79\n jump\t// in\n tag_170:\n /* \"#utility.yul\":7988:7994 */\n dup5\n /* \"#utility.yul\":7981:7985 */\n dup5\n /* \"#utility.yul\":7975:7986 */\n sload\n /* \"#utility.yul\":7947:8038 */\n tag_76\n jump\t// in\n tag_169:\n /* \"#utility.yul\":7941:7945 */\n dup3\n /* \"#utility.yul\":7934:8039 */\n sstore\n /* \"#utility.yul\":7852:8045 */\n pop\n /* \"#utility.yul\":7776:8045 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8051:8124 */\n tag_81:\n /* \"#utility.yul\":8096:8099 */\n 0x00\n /* \"#utility.yul\":8051:8124 */\n swap1\n jump\t// out\n /* \"#utility.yul\":8130:8319 */\n tag_82:\n /* \"#utility.yul\":8207:8239 */\n tag_173\n tag_81\n jump\t// in\n tag_173:\n /* \"#utility.yul\":8248:8313 */\n tag_174\n /* \"#utility.yul\":8306:8312 */\n dup2\n /* \"#utility.yul\":8298:8304 */\n dup5\n /* \"#utility.yul\":8292:8296 */\n dup5\n /* \"#utility.yul\":8248:8313 */\n tag_80\n jump\t// in\n tag_174:\n /* \"#utility.yul\":8183:8319 */\n pop\n /* \"#utility.yul\":8130:8319 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8325:8511 */\n tag_83:\n /* \"#utility.yul\":8385:8505 */\n tag_176:\n /* \"#utility.yul\":8402:8405 */\n dup2\n /* \"#utility.yul\":8395:8400 */\n dup2\n /* \"#utility.yul\":8392:8406 */\n lt\n /* \"#utility.yul\":8385:8505 */\n iszero\n tag_178\n jumpi\n /* \"#utility.yul\":8456:8495 */\n tag_179\n /* \"#utility.yul\":8493:8494 */\n 0x00\n /* \"#utility.yul\":8486:8491 */\n dup3\n /* \"#utility.yul\":8456:8495 */\n tag_82\n jump\t// in\n tag_179:\n /* \"#utility.yul\":8429:8430 */\n 0x01\n /* \"#utility.yul\":8422:8427 */\n dup2\n /* \"#utility.yul\":8418:8431 */\n add\n /* \"#utility.yul\":8409:8431 */\n swap1\n pop\n /* \"#utility.yul\":8385:8505 */\n jump(tag_176)\n tag_178:\n /* \"#utility.yul\":8325:8511 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8517:9058 */\n tag_84:\n /* \"#utility.yul\":8617:8619 */\n 0x1f\n /* \"#utility.yul\":8612:8615 */\n dup3\n /* \"#utility.yul\":8609:8620 */\n gt\n /* \"#utility.yul\":8606:9051 */\n iszero\n tag_181\n jumpi\n /* \"#utility.yul\":8651:8688 */\n tag_182\n /* \"#utility.yul\":8682:8687 */\n dup2\n /* \"#utility.yul\":8651:8688 */\n tag_73\n jump\t// in\n tag_182:\n /* \"#utility.yul\":8734:8763 */\n tag_183\n /* \"#utility.yul\":8752:8762 */\n dup5\n /* \"#utility.yul\":8734:8763 */\n tag_74\n jump\t// in\n tag_183:\n /* \"#utility.yul\":8724:8732 */\n dup2\n /* \"#utility.yul\":8720:8764 */\n add\n /* \"#utility.yul\":8917:8919 */\n 0x20\n /* \"#utility.yul\":8905:8915 */\n dup6\n /* \"#utility.yul\":8902:8920 */\n lt\n /* \"#utility.yul\":8899:8948 */\n iszero\n tag_184\n jumpi\n /* \"#utility.yul\":8938:8946 */\n dup2\n /* \"#utility.yul\":8923:8946 */\n swap1\n pop\n /* \"#utility.yul\":8899:8948 */\n tag_184:\n /* \"#utility.yul\":8961:9041 */\n tag_185\n /* \"#utility.yul\":9017:9039 */\n tag_186\n /* \"#utility.yul\":9035:9038 */\n dup6\n /* \"#utility.yul\":9017:9039 */\n tag_74\n jump\t// in\n tag_186:\n /* \"#utility.yul\":9007:9015 */\n dup4\n /* \"#utility.yul\":9003:9040 */\n add\n /* \"#utility.yul\":8990:9001 */\n dup3\n /* \"#utility.yul\":8961:9041 */\n tag_83\n jump\t// in\n tag_185:\n /* \"#utility.yul\":8621:9051 */\n pop\n pop\n /* \"#utility.yul\":8606:9051 */\n tag_181:\n /* \"#utility.yul\":8517:9058 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9064:9181 */\n tag_85:\n /* \"#utility.yul\":9118:9126 */\n 0x00\n /* \"#utility.yul\":9168:9173 */\n dup3\n /* \"#utility.yul\":9162:9166 */\n dup3\n /* \"#utility.yul\":9158:9174 */\n shr\n /* \"#utility.yul\":9137:9174 */\n swap1\n pop\n /* \"#utility.yul\":9064:9181 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9187:9356 */\n tag_86:\n /* \"#utility.yul\":9231:9237 */\n 0x00\n /* \"#utility.yul\":9264:9315 */\n tag_189\n /* \"#utility.yul\":9312:9313 */\n 0x00\n /* \"#utility.yul\":9308:9314 */\n not\n /* \"#utility.yul\":9300:9305 */\n dup5\n /* \"#utility.yul\":9297:9298 */\n 0x08\n /* \"#utility.yul\":9293:9306 */\n mul\n /* \"#utility.yul\":9264:9315 */\n tag_85\n jump\t// in\n tag_189:\n /* \"#utility.yul\":9260:9316 */\n not\n /* \"#utility.yul\":9345:9349 */\n dup1\n /* \"#utility.yul\":9339:9343 */\n dup4\n /* \"#utility.yul\":9335:9350 */\n and\n /* \"#utility.yul\":9325:9350 */\n swap2\n pop\n /* \"#utility.yul\":9238:9356 */\n pop\n /* \"#utility.yul\":9187:9356 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9361:9656 */\n tag_87:\n /* \"#utility.yul\":9437:9441 */\n 0x00\n /* \"#utility.yul\":9583:9612 */\n tag_191\n /* \"#utility.yul\":9608:9611 */\n dup4\n /* \"#utility.yul\":9602:9606 */\n dup4\n /* \"#utility.yul\":9583:9612 */\n tag_86\n jump\t// in\n tag_191:\n /* \"#utility.yul\":9575:9612 */\n swap2\n pop\n /* \"#utility.yul\":9645:9648 */\n dup3\n /* \"#utility.yul\":9642:9643 */\n 0x02\n /* \"#utility.yul\":9638:9649 */\n mul\n /* \"#utility.yul\":9632:9636 */\n dup3\n /* \"#utility.yul\":9629:9650 */\n or\n /* \"#utility.yul\":9621:9650 */\n swap1\n pop\n /* \"#utility.yul\":9361:9656 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9661:11051 */\n tag_29:\n /* \"#utility.yul\":9776:9812 */\n tag_193\n /* \"#utility.yul\":9808:9811 */\n dup3\n /* \"#utility.yul\":9776:9812 */\n tag_54\n jump\t// in\n tag_193:\n /* \"#utility.yul\":9877:9895 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9869:9875 */\n dup2\n /* \"#utility.yul\":9866:9896 */\n gt\n /* \"#utility.yul\":9863:9919 */\n iszero\n tag_194\n jumpi\n /* \"#utility.yul\":9899:9917 */\n tag_195\n tag_71\n jump\t// in\n tag_195:\n /* \"#utility.yul\":9863:9919 */\n tag_194:\n /* \"#utility.yul\":9943:9981 */\n tag_196\n /* \"#utility.yul\":9975:9979 */\n dup3\n /* \"#utility.yul\":9969:9980 */\n sload\n /* \"#utility.yul\":9943:9981 */\n tag_31\n jump\t// in\n tag_196:\n /* \"#utility.yul\":10028:10094 */\n tag_197\n /* \"#utility.yul\":10087:10093 */\n dup3\n /* \"#utility.yul\":10079:10085 */\n dup3\n /* \"#utility.yul\":10073:10077 */\n dup6\n /* \"#utility.yul\":10028:10094 */\n tag_84\n jump\t// in\n tag_197:\n /* \"#utility.yul\":10121:10122 */\n 0x00\n /* \"#utility.yul\":10145:10149 */\n 0x20\n /* \"#utility.yul\":10132:10149 */\n swap1\n pop\n /* \"#utility.yul\":10177:10179 */\n 0x1f\n /* \"#utility.yul\":10169:10175 */\n dup4\n /* \"#utility.yul\":10166:10180 */\n gt\n /* \"#utility.yul\":10194:10195 */\n 0x01\n /* \"#utility.yul\":10189:10806 */\n dup2\n eq\n tag_199\n jumpi\n /* \"#utility.yul\":10850:10851 */\n 0x00\n /* \"#utility.yul\":10867:10873 */\n dup5\n /* \"#utility.yul\":10864:10941 */\n iszero\n tag_200\n jumpi\n /* \"#utility.yul\":10916:10925 */\n dup3\n /* \"#utility.yul\":10911:10914 */\n dup8\n /* \"#utility.yul\":10907:10926 */\n add\n /* \"#utility.yul\":10901:10927 */\n mload\n /* \"#utility.yul\":10892:10927 */\n swap1\n pop\n /* \"#utility.yul\":10864:10941 */\n tag_200:\n /* \"#utility.yul\":10967:11034 */\n tag_201\n /* \"#utility.yul\":11027:11033 */\n dup6\n /* \"#utility.yul\":11020:11025 */\n dup3\n /* \"#utility.yul\":10967:11034 */\n tag_87\n jump\t// in\n tag_201:\n /* \"#utility.yul\":10961:10965 */\n dup7\n /* \"#utility.yul\":10954:11035 */\n sstore\n /* \"#utility.yul\":10823:11045 */\n pop\n /* \"#utility.yul\":10159:11045 */\n jump(tag_198)\n /* \"#utility.yul\":10189:10806 */\n tag_199:\n /* \"#utility.yul\":10241:10245 */\n 0x1f\n /* \"#utility.yul\":10237:10246 */\n not\n /* \"#utility.yul\":10229:10235 */\n dup5\n /* \"#utility.yul\":10225:10247 */\n and\n /* \"#utility.yul\":10275:10311 */\n tag_202\n /* \"#utility.yul\":10306:10310 */\n dup7\n /* \"#utility.yul\":10275:10311 */\n tag_73\n jump\t// in\n tag_202:\n /* \"#utility.yul\":10333:10334 */\n 0x00\n /* \"#utility.yul\":10347:10555 */\n tag_203:\n /* \"#utility.yul\":10361:10368 */\n dup3\n /* \"#utility.yul\":10358:10359 */\n dup2\n /* \"#utility.yul\":10355:10369 */\n lt\n /* \"#utility.yul\":10347:10555 */\n iszero\n tag_205\n jumpi\n /* \"#utility.yul\":10440:10449 */\n dup5\n /* \"#utility.yul\":10435:10438 */\n dup10\n /* \"#utility.yul\":10431:10450 */\n add\n /* \"#utility.yul\":10425:10451 */\n mload\n /* \"#utility.yul\":10417:10423 */\n dup3\n /* \"#utility.yul\":10410:10452 */\n sstore\n /* \"#utility.yul\":10491:10492 */\n 0x01\n /* \"#utility.yul\":10483:10489 */\n dup3\n /* \"#utility.yul\":10479:10493 */\n add\n /* \"#utility.yul\":10469:10493 */\n swap2\n pop\n /* \"#utility.yul\":10538:10540 */\n 0x20\n /* \"#utility.yul\":10527:10536 */\n dup6\n /* \"#utility.yul\":10523:10541 */\n add\n /* \"#utility.yul\":10510:10541 */\n swap5\n pop\n /* \"#utility.yul\":10384:10388 */\n 0x20\n /* \"#utility.yul\":10381:10382 */\n dup2\n /* \"#utility.yul\":10377:10389 */\n add\n /* \"#utility.yul\":10372:10389 */\n swap1\n pop\n /* \"#utility.yul\":10347:10555 */\n jump(tag_203)\n tag_205:\n /* \"#utility.yul\":10583:10589 */\n dup7\n /* \"#utility.yul\":10574:10581 */\n dup4\n /* \"#utility.yul\":10571:10590 */\n lt\n /* \"#utility.yul\":10568:10747 */\n iszero\n tag_206\n jumpi\n /* \"#utility.yul\":10641:10650 */\n dup5\n /* \"#utility.yul\":10636:10639 */\n dup10\n /* \"#utility.yul\":10632:10651 */\n add\n /* \"#utility.yul\":10626:10652 */\n mload\n /* \"#utility.yul\":10684:10732 */\n tag_207\n /* \"#utility.yul\":10726:10730 */\n 0x1f\n /* \"#utility.yul\":10718:10724 */\n dup10\n /* \"#utility.yul\":10714:10731 */\n and\n /* \"#utility.yul\":10703:10712 */\n dup3\n /* \"#utility.yul\":10684:10732 */\n tag_86\n jump\t// in\n tag_207:\n /* \"#utility.yul\":10676:10682 */\n dup4\n /* \"#utility.yul\":10669:10733 */\n sstore\n /* \"#utility.yul\":10591:10747 */\n pop\n /* \"#utility.yul\":10568:10747 */\n tag_206:\n /* \"#utility.yul\":10793:10794 */\n 0x01\n /* \"#utility.yul\":10789:10790 */\n 0x02\n /* \"#utility.yul\":10781:10787 */\n dup9\n /* \"#utility.yul\":10777:10791 */\n mul\n /* \"#utility.yul\":10773:10795 */\n add\n /* \"#utility.yul\":10767:10771 */\n dup9\n /* \"#utility.yul\":10760:10796 */\n sstore\n /* \"#utility.yul\":10196:10806 */\n pop\n pop\n pop\n /* \"#utility.yul\":10159:11045 */\n tag_198:\n pop\n /* \"#utility.yul\":9751:11051 */\n pop\n pop\n pop\n /* \"#utility.yul\":9661:11051 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":11057:11215 */\n tag_88:\n /* \"#utility.yul\":11197:11207 */\n 0x63616c6c20666f6f000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":11193:11194 */\n 0x00\n /* \"#utility.yul\":11185:11191 */\n dup3\n /* \"#utility.yul\":11181:11195 */\n add\n /* \"#utility.yul\":11174:11208 */\n mstore\n /* \"#utility.yul\":11057:11215 */\n pop\n jump\t// out\n /* \"#utility.yul\":11221:11586 */\n tag_89:\n /* \"#utility.yul\":11363:11366 */\n 0x00\n /* \"#utility.yul\":11384:11450 */\n tag_210\n /* \"#utility.yul\":11448:11449 */\n 0x08\n /* \"#utility.yul\":11443:11446 */\n dup4\n /* \"#utility.yul\":11384:11450 */\n tag_59\n jump\t// in\n tag_210:\n /* \"#utility.yul\":11377:11450 */\n swap2\n pop\n /* \"#utility.yul\":11459:11552 */\n tag_211\n /* \"#utility.yul\":11548:11551 */\n dup3\n /* \"#utility.yul\":11459:11552 */\n tag_88\n jump\t// in\n tag_211:\n /* \"#utility.yul\":11577:11579 */\n 0x20\n /* \"#utility.yul\":11572:11575 */\n dup3\n /* \"#utility.yul\":11568:11580 */\n add\n /* \"#utility.yul\":11561:11580 */\n swap1\n pop\n /* \"#utility.yul\":11221:11586 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":11592:12137 */\n tag_38:\n /* \"#utility.yul\":11794:11798 */\n 0x00\n /* \"#utility.yul\":11832:11834 */\n 0x40\n /* \"#utility.yul\":11821:11830 */\n dup3\n /* \"#utility.yul\":11817:11835 */\n add\n /* \"#utility.yul\":11809:11835 */\n swap1\n pop\n /* \"#utility.yul\":11881:11890 */\n dup2\n /* \"#utility.yul\":11875:11879 */\n dup2\n /* \"#utility.yul\":11871:11891 */\n sub\n /* \"#utility.yul\":11867:11868 */\n 0x00\n /* \"#utility.yul\":11856:11865 */\n dup4\n /* \"#utility.yul\":11852:11869 */\n add\n /* \"#utility.yul\":11845:11892 */\n mstore\n /* \"#utility.yul\":11909:12040 */\n tag_213\n /* \"#utility.yul\":12035:12039 */\n dup2\n /* \"#utility.yul\":11909:12040 */\n tag_89\n jump\t// in\n tag_213:\n /* \"#utility.yul\":11901:12040 */\n swap1\n pop\n /* \"#utility.yul\":12050:12130 */\n tag_214\n /* \"#utility.yul\":12126:12128 */\n 0x20\n /* \"#utility.yul\":12115:12124 */\n dup4\n /* \"#utility.yul\":12111:12129 */\n add\n /* \"#utility.yul\":12102:12108 */\n dup5\n /* \"#utility.yul\":12050:12130 */\n tag_66\n jump\t// in\n tag_214:\n /* \"#utility.yul\":11592:12137 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":12143:12304 */\n tag_90:\n /* \"#utility.yul\":12283:12296 */\n 0x63616c6c206661696c6564000000000000000000000000000000000000000000\n /* \"#utility.yul\":12279:12280 */\n 0x00\n /* \"#utility.yul\":12271:12277 */\n dup3\n /* \"#utility.yul\":12267:12281 */\n add\n /* \"#utility.yul\":12260:12297 */\n mstore\n /* \"#utility.yul\":12143:12304 */\n pop\n jump\t// out\n /* \"#utility.yul\":12310:12676 */\n tag_91:\n /* \"#utility.yul\":12452:12455 */\n 0x00\n /* \"#utility.yul\":12473:12540 */\n tag_217\n /* \"#utility.yul\":12537:12539 */\n 0x0b\n /* \"#utility.yul\":12532:12535 */\n dup4\n /* \"#utility.yul\":12473:12540 */\n tag_59\n jump\t// in\n tag_217:\n /* \"#utility.yul\":12466:12540 */\n swap2\n pop\n /* \"#utility.yul\":12549:12642 */\n tag_218\n /* \"#utility.yul\":12638:12641 */\n dup3\n /* \"#utility.yul\":12549:12642 */\n tag_90\n jump\t// in\n tag_218:\n /* \"#utility.yul\":12667:12669 */\n 0x20\n /* \"#utility.yul\":12662:12665 */\n dup3\n /* \"#utility.yul\":12658:12670 */\n add\n /* \"#utility.yul\":12651:12670 */\n swap1\n pop\n /* \"#utility.yul\":12310:12676 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":12682:13101 */\n tag_46:\n /* \"#utility.yul\":12848:12852 */\n 0x00\n /* \"#utility.yul\":12886:12888 */\n 0x20\n /* \"#utility.yul\":12875:12884 */\n dup3\n /* \"#utility.yul\":12871:12889 */\n add\n /* \"#utility.yul\":12863:12889 */\n swap1\n pop\n /* \"#utility.yul\":12935:12944 */\n dup2\n /* \"#utility.yul\":12929:12933 */\n dup2\n /* \"#utility.yul\":12925:12945 */\n sub\n /* \"#utility.yul\":12921:12922 */\n 0x00\n /* \"#utility.yul\":12910:12919 */\n dup4\n /* \"#utility.yul\":12906:12923 */\n add\n /* \"#utility.yul\":12899:12946 */\n mstore\n /* \"#utility.yul\":12963:13094 */\n tag_220\n /* \"#utility.yul\":13089:13093 */\n dup2\n /* \"#utility.yul\":12963:13094 */\n tag_91\n jump\t// in\n tag_220:\n /* \"#utility.yul\":12955:13094 */\n swap1\n pop\n /* \"#utility.yul\":12682:13101 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220fe50ee6bbbb32be46f5beb129b505ec9192224c2dfe82033811a289fc1374ea864736f6c634300081a0033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600e575f80fd5b50610a6e8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80635329c6f21461004357806373d4a13a1461005f578063edcbe76c1461007d575b5f80fd5b61005d6004803603810190610058919061041d565b610099565b005b6100676101e5565b60405161007491906104b8565b60405180910390f35b6100976004803603810190610092919061041d565b610270565b005b5f808273ffffffffffffffffffffffffffffffffffffffff16607b6040516024016100c49190610580565b6040516020818303038152906040527fed6246ce000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161014e91906105e6565b5f604051808303815f865af19150503d805f8114610187576040519150601f19603f3d011682016040523d82523d5f602084013e61018c565b606091505b5091509150816101d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c890610646565b60405180910390fd5b805f90816101df919061088b565b50505050565b5f80546101f1906106be565b80601f016020809104026020016040519081016040528092919081815260200182805461021d906106be565b80156102685780601f1061023f57610100808354040283529160200191610268565b820191905f5260205f20905b81548152906001019060200180831161024b57829003601f168201915b505050505081565b5f808273ffffffffffffffffffffffffffffffffffffffff16606f607b60405160240161029d91906109a4565b6040516020818303038152906040527f24ccab8f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161032791906105e6565b5f6040518083038185875af1925050503d805f8114610361576040519150601f19603f3d011682016040523d82523d5f602084013e610366565b606091505b5091509150805f9081610379919061088b565b50816103ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b190610a1a565b60405180910390fd5b505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103ec826103c3565b9050919050565b6103fc816103e2565b8114610406575f80fd5b50565b5f81359050610417816103f3565b92915050565b5f60208284031215610432576104316103bf565b5b5f61043f84828501610409565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61048a82610448565b6104948185610452565b93506104a4818560208601610462565b6104ad81610470565b840191505092915050565b5f6020820190508181035f8301526104d08184610480565b905092915050565b5f82825260208201905092915050565b7f756e6e6f66756e630000000000000000000000000000000000000000000000005f82015250565b5f61051c6008836104d8565b9150610527826104e8565b602082019050919050565b5f819050919050565b5f60ff82169050919050565b5f819050919050565b5f61056a61056561056084610532565b610547565b61053b565b9050919050565b61057a81610550565b82525050565b5f6040820190508181035f83015261059781610510565b90506105a66020830184610571565b92915050565b5f81905092915050565b5f6105c082610448565b6105ca81856105ac565b93506105da818560208601610462565b80840191505092915050565b5f6105f182846105b6565b915081905092915050565b7f31323334340000000000000000000000000000000000000000000000000000005f82015250565b5f6106306005836104d8565b915061063b826105fc565b602082019050919050565b5f6020820190508181035f83015261065d81610624565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806106d557607f821691505b6020821081036106e8576106e7610691565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261074a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261070f565b610754868361070f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61078f61078a6107858461076c565b610547565b61076c565b9050919050565b5f819050919050565b6107a883610775565b6107bc6107b482610796565b84845461071b565b825550505050565b5f90565b6107d06107c4565b6107db81848461079f565b505050565b5b818110156107fe576107f35f826107c8565b6001810190506107e1565b5050565b601f82111561084357610814816106ee565b61081d84610700565b8101602085101561082c578190505b61084061083885610700565b8301826107e0565b50505b505050565b5f82821c905092915050565b5f6108635f1984600802610848565b1980831691505092915050565b5f61087b8383610854565b9150826002028217905092915050565b61089482610448565b67ffffffffffffffff8111156108ad576108ac610664565b5b6108b782546106be565b6108c2828285610802565b5f60209050601f8311600181146108f3575f84156108e1578287015190505b6108eb8582610870565b865550610952565b601f198416610901866106ee565b5f5b8281101561092857848901518255600182019150602085019450602081019050610903565b868310156109455784890151610941601f891682610854565b8355505b6001600288020188555050505b505050505050565b7f63616c6c20666f6f0000000000000000000000000000000000000000000000005f82015250565b5f61098e6008836104d8565b91506109998261095a565b602082019050919050565b5f6040820190508181035f8301526109bb81610982565b90506109ca6020830184610571565b92915050565b7f63616c6c206661696c65640000000000000000000000000000000000000000005f82015250565b5f610a04600b836104d8565b9150610a0f826109d0565b602082019050919050565b5f6020820190508181035f830152610a31816109f8565b905091905056fea2646970667358221220fe50ee6bbbb32be46f5beb129b505ec9192224c2dfe82033811a289fc1374ea864736f6c634300081a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0xA6E DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5329C6F2 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x73D4A13A EQ PUSH2 0x5F JUMPI DUP1 PUSH4 0xEDCBE76C EQ PUSH2 0x7D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x99 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x67 PUSH2 0x1E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x74 SWAP2 SWAP1 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x92 SWAP2 SWAP1 PUSH2 0x41D JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST STOP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xC4 SWAP2 SWAP1 PUSH2 0x580 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0xED6246CE00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x14E SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x187 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1D1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C8 SWAP1 PUSH2 0x646 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x1DF SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x1F1 SWAP1 PUSH2 0x6BE 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 0x21D SWAP1 PUSH2 0x6BE JUMP JUMPDEST DUP1 ISZERO PUSH2 0x268 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x23F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x268 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x24B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6F PUSH1 0x7B PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x9A4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x24CCAB8F00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x327 SWAP2 SWAP1 PUSH2 0x5E6 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH0 DUP2 EQ PUSH2 0x361 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x366 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP1 PUSH0 SWAP1 DUP2 PUSH2 0x379 SWAP2 SWAP1 PUSH2 0x88B JUMP JUMPDEST POP DUP2 PUSH2 0x3BA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3B1 SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x3EC DUP3 PUSH2 0x3C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3FC DUP2 PUSH2 0x3E2 JUMP JUMPDEST DUP2 EQ PUSH2 0x406 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x417 DUP2 PUSH2 0x3F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x432 JUMPI PUSH2 0x431 PUSH2 0x3BF JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x43F DUP5 DUP3 DUP6 ADD PUSH2 0x409 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 MCOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x48A DUP3 PUSH2 0x448 JUMP JUMPDEST PUSH2 0x494 DUP2 DUP6 PUSH2 0x452 JUMP JUMPDEST SWAP4 POP PUSH2 0x4A4 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x462 JUMP JUMPDEST PUSH2 0x4AD DUP2 PUSH2 0x470 JUMP JUMPDEST DUP5
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment