Skip to content

Instantly share code, notes, and snippets.

@ilyasdev3
Created June 13, 2023 13:30
Show Gist options
  • Save ilyasdev3/e791facffdd48545371b9fa31ced23e6 to your computer and use it in GitHub Desktop.
Save ilyasdev3/e791facffdd48545371b9fa31ced23e6 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.18+commit.87f61d96.js&optimize=false&runs=200&gist=
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
{
"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": "608060405234801561001057600080fd5b5061017c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c298557814610030575b600080fd5b61003861004e565b6040516100459190610124565b60405180910390f35b60606040518060400160405280600181526020017f4100000000000000000000000000000000000000000000000000000000000000815250905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156100c55780820151818401526020810190506100aa565b838111156100d4576000848401525b50505050565b6000601f19601f8301169050919050565b60006100f68261008b565b6101008185610096565b93506101108185602086016100a7565b610119816100da565b840191505092915050565b6000602082019050818103600083015261013e81846100eb565b90509291505056fea264697066735822122054e7c3c3c6e8212f26f3f68fd089e737e20ec7b3d372f734aae0d73f19cc99a764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17C DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC2985578 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xAA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6 DUP3 PUSH2 0x8B JUMP JUMPDEST PUSH2 0x100 DUP2 DUP6 PUSH2 0x96 JUMP JUMPDEST SWAP4 POP PUSH2 0x110 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x119 DUP2 PUSH2 0xDA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13E DUP2 DUP5 PUSH2 0xEB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xE7 0xC3 0xC3 0xC6 0xE8 0x21 0x2F 0x26 RETURN 0xF6 DUP16 0xD0 DUP10 0xE7 CALLDATACOPY 0xE2 0xE 0xC7 0xB3 0xD3 PUSH19 0xF734AAE0D73F19CC99A764736F6C634300080D STOP CALLER ",
"sourceMap": "6722:105:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@foo_9": {
"entryPoint": 78,
"id": 9,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 235,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 292,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 139,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 150,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 167,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 218,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1394:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "336:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "346:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "355:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "350:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "415:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "440:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "445:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "436:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "464:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
"nodeType": "YulFunctionCall",
"src": "455:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "449:5:1"
},
"nodeType": "YulFunctionCall",
"src": "449:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "429:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "376:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "379:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "373:2:1"
},
"nodeType": "YulFunctionCall",
"src": "373:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "387:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "398:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "389:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "369:3:1",
"statements": []
},
"src": "365:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "512:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "567:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "558:3:1"
},
"nodeType": "YulFunctionCall",
"src": "558:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "493:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "496:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "490:13:1"
},
"nodeType": "YulIf",
"src": "487:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "318:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "323:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "328:6:1",
"type": ""
}
],
"src": "287:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "648:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "658:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "683:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "688:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nodeType": "YulFunctionCall",
"src": "668:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "658:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "631:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "641:6:1",
"type": ""
}
],
"src": "600:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "800:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "810:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "824:32:1"
},
"nodeType": "YulFunctionCall",
"src": "824:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "872:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "879:58:1"
},
"nodeType": "YulFunctionCall",
"src": "879:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "872:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "981:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "999:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "959:21:1"
},
"nodeType": "YulFunctionCall",
"src": "959:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "959:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1020:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1036:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1020:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "781:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "796:3:1",
"type": ""
}
],
"src": "708:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1196:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1206:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1218:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1229:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1214:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1206:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1249:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1268:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1242:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1242:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1298:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1379:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1306:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1306:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1298:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1168:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1180:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1191:4:1",
"type": ""
}
],
"src": "1078:313:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c298557814610030575b600080fd5b61003861004e565b6040516100459190610124565b60405180910390f35b60606040518060400160405280600181526020017f4100000000000000000000000000000000000000000000000000000000000000815250905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156100c55780820151818401526020810190506100aa565b838111156100d4576000848401525b50505050565b6000601f19601f8301169050919050565b60006100f68261008b565b6101008185610096565b93506101108185602086016100a7565b610119816100da565b840191505092915050565b6000602082019050818103600083015261013e81846100eb565b90509291505056fea264697066735822122054e7c3c3c6e8212f26f3f68fd089e737e20ec7b3d372f734aae0d73f19cc99a764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC2985578 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xAA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6 DUP3 PUSH2 0x8B JUMP JUMPDEST PUSH2 0x100 DUP2 DUP6 PUSH2 0x96 JUMP JUMPDEST SWAP4 POP PUSH2 0x110 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x119 DUP2 PUSH2 0xDA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13E DUP2 DUP5 PUSH2 0xEB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD 0xE7 0xC3 0xC3 0xC6 0xE8 0x21 0x2F 0x26 RETURN 0xF6 DUP16 0xD0 DUP10 0xE7 CALLDATACOPY 0xE2 0xE 0xC7 0xB3 0xD3 PUSH19 0xF734AAE0D73F19CC99A764736F6C634300080D STOP CALLER ",
"sourceMap": "6722:105:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6739:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;6783:13;6808:10;;;;;;;;;;;;;;;;;;;6739:86;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "76000",
"executionCost": "123",
"totalCost": "76123"
},
"external": {
"foo()": "infinite"
}
},
"methodIdentifiers": {
"foo()": "c2985578"
}
},
"abi": [
{
"inputs": [],
"name": "foo",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "foo",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "A"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x4a7366bc98f4f5913782f2f9e0b26f0dfaa9bf99f13269f3cb0b094b2a3ef791",
"license": "MIT",
"urls": [
"bzz-raw://b7290a5d749f5671b0a1a732ce39229b12f14c7943ceb2f0dda8d90133303fe9",
"dweb:/ipfs/Qmdg2EYg8hdDhC7eWcbq6wGhqQoroQ6bjH6aAxEyDQan1c"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220bb6b34fbefb65210ff5e2e140870e787b4534e4ccdc09f272c60166504594ffe64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB PUSH12 0x34FBEFB65210FF5E2E140870 0xE7 DUP8 0xB4 MSTORE8 0x4E 0x4C 0xCD 0xC0 SWAP16 0x27 0x2C PUSH1 0x16 PUSH6 0x4594FFE6473 PUSH16 0x6C634300080D00330000000000000000 ",
"sourceMap": "2170:21:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220bb6b34fbefb65210ff5e2e140870e787b4534e4ccdc09f272c60166504594ffe64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB PUSH12 0x34FBEFB65210FF5E2E140870 0xE7 DUP8 0xB4 MSTORE8 0x4E 0x4C 0xCD 0xC0 SWAP16 0x27 0x2C PUSH1 0x16 PUSH6 0x4594FFE6473 PUSH16 0x6C634300080D00330000000000000000 ",
"sourceMap": "2170:21:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "Arr"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0xbfd33125f824d180600049bc03b987a9baabe40676129357ad33ee5400bcbb2b",
"license": "MIT",
"urls": [
"bzz-raw://980c4c27f3b31500358775202074684d287056bf9d1ebf7c84b80765aa84e2e4",
"dweb:/ipfs/QmdgP8yqUJ1BvwHQs9w7s2RvyfcHXXNAfHNveRba1EhCBR"
]
}
},
"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": "60806040526040518060800160405280600160ff168152602001600260ff168152602001600360ff168152602001600460ff168152506001906004610045929190610058565b5034801561005257600080fd5b506100c7565b828054828255906000526020600020908101928215610099579160200282015b82811115610098578251829060ff16905591602001919060010190610078565b5b5090506100a691906100aa565b5090565b5b808211156100c35760008160009055506001016100ab565b5090565b6105da806100d66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80639507d39a116100665780639507d39a14610147578063959ac48414610177578063a4ece52c14610193578063edf0099b1461019d578063fb8cbced146101cd5761009e565b806306a88056146100a35780631f7b6d32146100d3578063335d00c2146100f15780634cc82215146100fb57806371e5ee5f14610117575b600080fd5b6100bd60048036038101906100b891906103e0565b6101eb565b6040516100ca919061041c565b60405180910390f35b6100db610206565b6040516100e8919061041c565b60405180910390f35b6100f9610212565b005b610115600480360381019061011091906103e0565b610263565b005b610131600480360381019061012c91906103e0565b610288565b60405161013e919061041c565b60405180910390f35b610161600480360381019061015c91906103e0565b6102ac565b60405161016e919061041c565b60405180910390f35b610191600480360381019061018c91906103e0565b6102d3565b005b61019b6102ff565b005b6101b760048036038101906101b291906103e0565b610329565b6040516101c4919061041c565b60405180910390f35b6101d561034d565b6040516101e291906104f5565b60405180910390f35b600281600a81106101fb57600080fd5b016000915090505481565b60008080549050905090565b6000600567ffffffffffffffff81111561022f5761022e610517565b5b60405190808252806020026020018201604052801561025d5781602001602082028036833780820191505090505b50905050565b6000818154811061027757610276610546565b5b906000526020600020016000905550565b6000818154811061029857600080fd5b906000526020600020016000915090505481565b60008082815481106102c1576102c0610546565b5b90600052602060002001549050919050565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b600080548061031157610310610575565b5b60019003818190600052602060002001600090559055565b6001818154811061033957600080fd5b906000526020600020016000915090505481565b6060600080548060200260200160405190810160405280929190818152602001828054801561039b57602002820191906000526020600020905b815481526020019060010190808311610387575b5050505050905090565b600080fd5b6000819050919050565b6103bd816103aa565b81146103c857600080fd5b50565b6000813590506103da816103b4565b92915050565b6000602082840312156103f6576103f56103a5565b5b6000610404848285016103cb565b91505092915050565b610416816103aa565b82525050565b6000602082019050610431600083018461040d565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61046c816103aa565b82525050565b600061047e8383610463565b60208301905092915050565b6000602082019050919050565b60006104a282610437565b6104ac8185610442565b93506104b783610453565b8060005b838110156104e85781516104cf8882610472565b97506104da8361048a565b9250506001810190506104bb565b5085935050505092915050565b6000602082019050818103600083015261050f8184610497565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122014aa8e65c4bbd7184e235d762cd0806c12dbbcc2a4eb577020f0e7a59c9b5ea064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x1 SWAP1 PUSH1 0x4 PUSH2 0x45 SWAP3 SWAP2 SWAP1 PUSH2 0x58 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x99 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x98 JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x78 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xA6 SWAP2 SWAP1 PUSH2 0xAA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xC3 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xAB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x5DA DUP1 PUSH2 0xD6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9507D39A GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9507D39A EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x959AC484 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA4ECE52C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0xEDF0099B EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xFB8CBCED EQ PUSH2 0x1CD JUMPI PUSH2 0x9E JUMP JUMPDEST DUP1 PUSH4 0x6A88056 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x335D00C2 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x4CC82215 EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x117 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x1EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x206 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x212 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x263 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x288 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x2AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x2D3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19B PUSH2 0x2FF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x34D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x4F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 DUP2 PUSH1 0xA DUP2 LT PUSH2 0x1FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x22F JUMPI PUSH2 0x22E PUSH2 0x517 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x25D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x277 JUMPI PUSH2 0x276 PUSH2 0x546 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2C1 JUMPI PUSH2 0x2C0 PUSH2 0x546 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x311 JUMPI PUSH2 0x310 PUSH2 0x575 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x387 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BD DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP2 EQ PUSH2 0x3C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3DA DUP2 PUSH2 0x3B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F6 JUMPI PUSH2 0x3F5 PUSH2 0x3A5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x404 DUP5 DUP3 DUP6 ADD PUSH2 0x3CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x416 DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x431 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x40D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46C DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47E DUP4 DUP4 PUSH2 0x463 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A2 DUP3 PUSH2 0x437 JUMP JUMPDEST PUSH2 0x4AC DUP2 DUP6 PUSH2 0x442 JUMP JUMPDEST SWAP4 POP PUSH2 0x4B7 DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4E8 JUMPI DUP2 MLOAD PUSH2 0x4CF DUP9 DUP3 PUSH2 0x472 JUMP JUMPDEST SWAP8 POP PUSH2 0x4DA DUP4 PUSH2 0x48A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4BB JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x50F DUP2 DUP5 PUSH2 0x497 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EQ 0xAA DUP15 PUSH6 0xC4BBD7184E23 0x5D PUSH23 0x2CD0806C12DBBCC2A4EB577020F0E7A59C9B5EA064736F PUSH13 0x634300080D0033000000000000 ",
"sourceMap": "2170:1090:0:-:0;;;2255:30;;;;;;;;2277:1;2255:30;;;;;;2279:1;2255:30;;;;;;2281:1;2255:30;;;;;;2283:1;2255:30;;;;;;;;;;;;;:::i;:::-;;2170:1090;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@arr2_12": {
"entryPoint": 809,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
},
"@arr_4": {
"entryPoint": 648,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@examples_93": {
"entryPoint": 530,
"id": 93,
"parameterSlots": 0,
"returnSlots": 0
},
"@getArr_37": {
"entryPoint": 845,
"id": 37,
"parameterSlots": 0,
"returnSlots": 1
},
"@get_28": {
"entryPoint": 684,
"id": 28,
"parameterSlots": 1,
"returnSlots": 1
},
"@length_67": {
"entryPoint": 518,
"id": 67,
"parameterSlots": 0,
"returnSlots": 1
},
"@myFixedArray_16": {
"entryPoint": 491,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
},
"@pop_58": {
"entryPoint": 767,
"id": 58,
"parameterSlots": 0,
"returnSlots": 0
},
"@push_49": {
"entryPoint": 723,
"id": 49,
"parameterSlots": 1,
"returnSlots": 0
},
"@remove_78": {
"entryPoint": 611,
"id": 78,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 971,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 992,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": {
"entryPoint": 1138,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 1175,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 1123,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1037,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 1269,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1052,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 1107,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 1079,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 1162,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 1090,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 938,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x31": {
"entryPoint": 1397,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1350,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1303,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 933,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 948,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3945:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1451:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1462:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1478:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1472:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1472:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1462:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1434:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1444:6:1",
"type": ""
}
],
"src": "1377:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1608:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1625:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1630:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1618:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1618:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1646:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1665:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1670:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1661:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1646:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1580:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1585:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1596:11:1",
"type": ""
}
],
"src": "1497:184:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1759:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1769:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1769:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1790:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "1802:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1807:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1798:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1798:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "1790:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "1746:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "1754:4:1",
"type": ""
}
],
"src": "1687:132:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1880:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1897:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1920:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1902:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1902:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1890:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1890:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1890:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1868:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1875:3:1",
"type": ""
}
],
"src": "1825:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2019:99:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2063:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2071:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2029:33:1"
},
"nodeType": "YulFunctionCall",
"src": "2029:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "2029:46:1"
},
{
"nodeType": "YulAssignment",
"src": "2084:28:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2102:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2107:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2098:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2098:14:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "2084:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1992:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2000:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "2008:10:1",
"type": ""
}
],
"src": "1939:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2199:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2209:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "2221:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2226:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2217:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2217:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "2209:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "2186:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "2194:4:1",
"type": ""
}
],
"src": "2124:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2397:608:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2407:68:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2469:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2421:47:1"
},
"nodeType": "YulFunctionCall",
"src": "2421:54:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2411:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2484:93:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2565:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2570:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2491:73:1"
},
"nodeType": "YulFunctionCall",
"src": "2491:86:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2484:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2586:71:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2651:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2601:49:1"
},
"nodeType": "YulFunctionCall",
"src": "2601:56:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "2590:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2666:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "2680:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "2670:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2756:224:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2770:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2797:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2791:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2791:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "2774:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2817:70:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "2868:13:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2883:3:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2824:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2824:63:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2817:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2900:70:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2963:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2910:52:1"
},
"nodeType": "YulFunctionCall",
"src": "2910:60:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2900:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2718:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2721:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2715:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2715:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2729:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2731:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2740:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2743:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2736:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2736:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2731:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2700:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2702:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2711:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2706:1:1",
"type": ""
}
]
}
]
},
"src": "2696:284:1"
},
{
"nodeType": "YulAssignment",
"src": "2989:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2996:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2989:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2376:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2383:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2392:3:1",
"type": ""
}
],
"src": "2273:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3159:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3169:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3181:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3192:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3177:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3177:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3169:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3216:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3227:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3212:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3212:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3235:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3241:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3231:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3205:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3205:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3205:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3261:116:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3363:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3372:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3269:93:1"
},
"nodeType": "YulFunctionCall",
"src": "3269:108:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3261:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3131:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3143:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3154:4:1",
"type": ""
}
],
"src": "3011:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3418:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3435:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3438:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3428:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3428:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3428:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3532:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3535:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3525:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3525:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3525:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3556:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3559:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3549:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3549:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3549:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "3390:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3604:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3621:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3624:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3614:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3614:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3614:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3718:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3721:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3711:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3711:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3711:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3742:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3745:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3735:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3735:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3735:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3576:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3790:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3807:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3810:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3800:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3800:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3800:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3904:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3907:4:1",
"type": "",
"value": "0x31"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3897:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3897:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3897:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3928:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3931:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3921:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3921:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3921:15:1"
}
]
},
"name": "panic_error_0x31",
"nodeType": "YulFunctionDefinition",
"src": "3762:180: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 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_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061009e5760003560e01c80639507d39a116100665780639507d39a14610147578063959ac48414610177578063a4ece52c14610193578063edf0099b1461019d578063fb8cbced146101cd5761009e565b806306a88056146100a35780631f7b6d32146100d3578063335d00c2146100f15780634cc82215146100fb57806371e5ee5f14610117575b600080fd5b6100bd60048036038101906100b891906103e0565b6101eb565b6040516100ca919061041c565b60405180910390f35b6100db610206565b6040516100e8919061041c565b60405180910390f35b6100f9610212565b005b610115600480360381019061011091906103e0565b610263565b005b610131600480360381019061012c91906103e0565b610288565b60405161013e919061041c565b60405180910390f35b610161600480360381019061015c91906103e0565b6102ac565b60405161016e919061041c565b60405180910390f35b610191600480360381019061018c91906103e0565b6102d3565b005b61019b6102ff565b005b6101b760048036038101906101b291906103e0565b610329565b6040516101c4919061041c565b60405180910390f35b6101d561034d565b6040516101e291906104f5565b60405180910390f35b600281600a81106101fb57600080fd5b016000915090505481565b60008080549050905090565b6000600567ffffffffffffffff81111561022f5761022e610517565b5b60405190808252806020026020018201604052801561025d5781602001602082028036833780820191505090505b50905050565b6000818154811061027757610276610546565b5b906000526020600020016000905550565b6000818154811061029857600080fd5b906000526020600020016000915090505481565b60008082815481106102c1576102c0610546565b5b90600052602060002001549050919050565b600081908060018154018082558091505060019003906000526020600020016000909190919091505550565b600080548061031157610310610575565b5b60019003818190600052602060002001600090559055565b6001818154811061033957600080fd5b906000526020600020016000915090505481565b6060600080548060200260200160405190810160405280929190818152602001828054801561039b57602002820191906000526020600020905b815481526020019060010190808311610387575b5050505050905090565b600080fd5b6000819050919050565b6103bd816103aa565b81146103c857600080fd5b50565b6000813590506103da816103b4565b92915050565b6000602082840312156103f6576103f56103a5565b5b6000610404848285016103cb565b91505092915050565b610416816103aa565b82525050565b6000602082019050610431600083018461040d565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61046c816103aa565b82525050565b600061047e8383610463565b60208301905092915050565b6000602082019050919050565b60006104a282610437565b6104ac8185610442565b93506104b783610453565b8060005b838110156104e85781516104cf8882610472565b97506104da8361048a565b9250506001810190506104bb565b5085935050505092915050565b6000602082019050818103600083015261050f8184610497565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122014aa8e65c4bbd7184e235d762cd0806c12dbbcc2a4eb577020f0e7a59c9b5ea064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9507D39A GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x9507D39A EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x959AC484 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xA4ECE52C EQ PUSH2 0x193 JUMPI DUP1 PUSH4 0xEDF0099B EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xFB8CBCED EQ PUSH2 0x1CD JUMPI PUSH2 0x9E JUMP JUMPDEST DUP1 PUSH4 0x6A88056 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x1F7B6D32 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x335D00C2 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x4CC82215 EQ PUSH2 0xFB JUMPI DUP1 PUSH4 0x71E5EE5F EQ PUSH2 0x117 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x1EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x206 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x212 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x115 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x110 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x263 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x131 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x288 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x2AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x2D3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19B PUSH2 0x2FF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C4 SWAP2 SWAP1 PUSH2 0x41C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D5 PUSH2 0x34D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E2 SWAP2 SWAP1 PUSH2 0x4F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 DUP2 PUSH1 0xA DUP2 LT PUSH2 0x1FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 SLOAD SWAP1 POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x22F JUMPI PUSH2 0x22E PUSH2 0x517 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x25D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x277 JUMPI PUSH2 0x276 PUSH2 0x546 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2C1 JUMPI PUSH2 0x2C0 PUSH2 0x546 JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH2 0x311 JUMPI PUSH2 0x310 PUSH2 0x575 JUMP JUMPDEST JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x387 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3BD DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP2 EQ PUSH2 0x3C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3DA DUP2 PUSH2 0x3B4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3F6 JUMPI PUSH2 0x3F5 PUSH2 0x3A5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x404 DUP5 DUP3 DUP6 ADD PUSH2 0x3CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x416 DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x431 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x40D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x46C DUP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x47E DUP4 DUP4 PUSH2 0x463 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A2 DUP3 PUSH2 0x437 JUMP JUMPDEST PUSH2 0x4AC DUP2 DUP6 PUSH2 0x442 JUMP JUMPDEST SWAP4 POP PUSH2 0x4B7 DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4E8 JUMPI DUP2 MLOAD PUSH2 0x4CF DUP9 DUP3 PUSH2 0x472 JUMP JUMPDEST SWAP8 POP PUSH2 0x4DA DUP4 PUSH2 0x48A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x4BB JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x50F DUP2 DUP5 PUSH2 0x497 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EQ 0xAA DUP15 PUSH6 0xC4BBD7184E23 0x5D PUSH23 0x2CD0806C12DBBCC2A4EB577020F0E7A59C9B5EA064736F PUSH13 0x634300080D0033000000000000 ",
"sourceMap": "2170:1090:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2344:28;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2808:78;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3112:146;;;:::i;:::-;;2892:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2232:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2379:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2691:57;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2754:48;;;:::i;:::-;;2255:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2605:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2344:28;;;;;;;;;;;;;;;;;;;;:::o;2808:78::-;2847:4;2869:3;:10;;;;2862:17;;2808:78;:::o;3112:146::-;3219:15;3248:1;3237:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3219:31;;3141:117;3112:146::o;2892:211::-;3086:3;3090:5;3086:10;;;;;;;;:::i;:::-;;;;;;;;;3079:17;;;2892:211;:::o;2232:17::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2379:77::-;2421:4;2443:3;2447:1;2443:6;;;;;;;;:::i;:::-;;;;;;;;;;2436:13;;2379:77;;;:::o;2691:57::-;2730:3;2739:1;2730:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:57;:::o;2754:48::-;2786:3;:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2754:48::o;2255:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2605:80::-;2644:13;2675:3;2668:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:80;:::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:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:114::-;1444:6;1478:5;1472:12;1462:22;;1377:114;;;:::o;1497:184::-;1596:11;1630:6;1625:3;1618:19;1670:4;1665:3;1661:14;1646:29;;1497:184;;;;:::o;1687:132::-;1754:4;1777:3;1769:11;;1807:4;1802:3;1798:14;1790:22;;1687:132;;;:::o;1825:108::-;1902:24;1920:5;1902:24;:::i;:::-;1897:3;1890:37;1825:108;;:::o;1939:179::-;2008:10;2029:46;2071:3;2063:6;2029:46;:::i;:::-;2107:4;2102:3;2098:14;2084:28;;1939:179;;;;:::o;2124:113::-;2194:4;2226;2221:3;2217:14;2209:22;;2124:113;;;:::o;2273:732::-;2392:3;2421:54;2469:5;2421:54;:::i;:::-;2491:86;2570:6;2565:3;2491:86;:::i;:::-;2484:93;;2601:56;2651:5;2601:56;:::i;:::-;2680:7;2711:1;2696:284;2721:6;2718:1;2715:13;2696:284;;;2797:6;2791:13;2824:63;2883:3;2868:13;2824:63;:::i;:::-;2817:70;;2910:60;2963:6;2910:60;:::i;:::-;2900:70;;2756:224;2743:1;2740;2736:9;2731:14;;2696:284;;;2700:14;2996:3;2989:10;;2397:608;;;2273:732;;;;:::o;3011:373::-;3154:4;3192:2;3181:9;3177:18;3169:26;;3241:9;3235:4;3231:20;3227:1;3216:9;3212:17;3205:47;3269:108;3372:4;3363:6;3269:108;:::i;:::-;3261:116;;3011:373;;;;:::o;3390:180::-;3438:77;3435:1;3428:88;3535:4;3532:1;3525:15;3559:4;3556:1;3549:15;3576:180;3624:77;3621:1;3614:88;3721:4;3718:1;3711:15;3745:4;3742:1;3735:15;3762:180;3810:77;3807:1;3800:88;3907:4;3904:1;3897:15;3931:4;3928:1;3921:15"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "299600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"arr(uint256)": "infinite",
"arr2(uint256)": "infinite",
"examples()": "385",
"get(uint256)": "infinite",
"getArr()": "infinite",
"length()": "2468",
"myFixedArray(uint256)": "infinite",
"pop()": "29489",
"push(uint256)": "46851",
"remove(uint256)": "7662"
}
},
"methodIdentifiers": {
"arr(uint256)": "71e5ee5f",
"arr2(uint256)": "edf0099b",
"examples()": "335d00c2",
"get(uint256)": "9507d39a",
"getArr()": "fb8cbced",
"length()": "1f7b6d32",
"myFixedArray(uint256)": "06a88056",
"pop()": "a4ece52c",
"push(uint256)": "959ac484",
"remove(uint256)": "4cc82215"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr2",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "examples",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getArr",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "myFixedArray",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "push",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "remove",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "arr2",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "examples",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getArr",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "length",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "myFixedArray",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pop",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "i",
"type": "uint256"
}
],
"name": "push",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "remove",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "Array"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x73fe561993bcd0b2a4e85964b6271ed133ddece58ea5c3fe644b5f0c78180650",
"license": "MIT",
"urls": [
"bzz-raw://2a1b485eaf06b5e82540caa72bfb26a39d3423516a0635b396c76e57619b3baf",
"dweb:/ipfs/QmYh1DQHJ4h7VJGUUNpk4nYnQ1Rpnm3fJn8zkhU3oNmWuq"
]
}
},
"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": "608060405234801561001057600080fd5b5061036b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063d69569701461003b578063de29278914610057575b600080fd5b61005560048036038101906100509190610186565b610075565b005b61005f6100b7565b60405161006c919061025f565b60405180910390f35b6000818361008391906102b0565b905061010081111561009857610097610306565b5b60016000806101000a81548160ff021916908315150217905550505050565b60606001151560008054906101000a900460ff1615150361010f576040518060400160405280600b81526020017f4e6f206f766572666c6f770000000000000000000000000000000000000000008152509050610148565b6040518060400160405280600881526020017f4f766572666c6f7700000000000000000000000000000000000000000000000081525090505b90565b600080fd5b6000819050919050565b61016381610150565b811461016e57600080fd5b50565b6000813590506101808161015a565b92915050565b6000806040838503121561019d5761019c61014b565b5b60006101ab85828601610171565b92505060206101bc85828601610171565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156102005780820151818401526020810190506101e5565b8381111561020f576000848401525b50505050565b6000601f19601f8301169050919050565b6000610231826101c6565b61023b81856101d1565b935061024b8185602086016101e2565b61025481610215565b840191505092915050565b600060208201905081810360008301526102798184610226565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102bb82610150565b91506102c683610150565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156102fb576102fa610281565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122021ba3bab3f66a062eb86bc4704e7f0c3407451db4b092f17bc1724dc75144bea64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36B DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD6956970 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xDE292789 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x186 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST SWAP1 POP PUSH2 0x100 DUP2 GT ISZERO PUSH2 0x98 JUMPI PUSH2 0x97 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 ISZERO ISZERO PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SUB PUSH2 0x10F JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4E6F206F766572666C6F77000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x148 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4F766572666C6F77000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x163 DUP2 PUSH2 0x150 JUMP JUMPDEST DUP2 EQ PUSH2 0x16E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x180 DUP2 PUSH2 0x15A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19D JUMPI PUSH2 0x19C PUSH2 0x14B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AB DUP6 DUP3 DUP7 ADD PUSH2 0x171 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1BC DUP6 DUP3 DUP7 ADD PUSH2 0x171 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x200 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x231 DUP3 PUSH2 0x1C6 JUMP JUMPDEST PUSH2 0x23B DUP2 DUP6 PUSH2 0x1D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x24B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x254 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x279 DUP2 DUP5 PUSH2 0x226 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2BB DUP3 PUSH2 0x150 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C6 DUP4 PUSH2 0x150 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH2 0x2FA PUSH2 0x281 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x21 0xBA EXTCODESIZE 0xAB EXTCODEHASH PUSH7 0xA062EB86BC4704 0xE7 CREATE 0xC3 BLOCKHASH PUSH21 0x51DB4B092F17BC1724DC75144BEA64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "2449:453:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@checkOverflow_27": {
"entryPoint": 117,
"id": 27,
"parameterSlots": 2,
"returnSlots": 0
},
"@getResult_43": {
"entryPoint": 183,
"id": 43,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 369,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 390,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 550,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 607,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 454,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 465,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 688,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 336,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 482,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x01": {
"entryPoint": 774,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 641,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 331,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 533,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 346,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3240:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "773:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "819:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "821:77:1"
},
"nodeType": "YulFunctionCall",
"src": "821:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "821:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "794:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "803:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "790:3:1"
},
"nodeType": "YulFunctionCall",
"src": "790:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "815:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "786:3:1"
},
"nodeType": "YulFunctionCall",
"src": "786:32:1"
},
"nodeType": "YulIf",
"src": "783:119:1"
},
{
"nodeType": "YulBlock",
"src": "912:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "927:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "931:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "956:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "991:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1002:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "987:3:1"
},
"nodeType": "YulFunctionCall",
"src": "987:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1011:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "966:20:1"
},
"nodeType": "YulFunctionCall",
"src": "966:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1039:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1054:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1068:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1058:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1084:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1119:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1130:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1139:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1094:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1094:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1084:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "735:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "746:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "758:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "766:6:1",
"type": ""
}
],
"src": "690:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1229:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1240:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1256:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1250:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1250:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1240:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1212:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1222:6:1",
"type": ""
}
],
"src": "1170:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1371:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1388:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1393:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1381:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1381:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1381:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1409:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1428:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1433:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1424:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1424:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1409:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1343:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1348:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1359:11:1",
"type": ""
}
],
"src": "1275:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1499:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1509:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1518:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1513:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1578:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1603:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1608:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1599:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1599:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1622:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1627:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1618:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1612:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1612:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1592:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1592:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1592:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1539:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1542:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1536:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1550:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1552:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1561:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1564:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1557:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1557:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1552:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1532:3:1",
"statements": []
},
"src": "1528:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1675:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1725:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1730:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1721:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1721:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1739:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1714:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1714:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1714:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1656:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1659:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1653:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1653:13:1"
},
"nodeType": "YulIf",
"src": "1650:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1481:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1486:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1491:6:1",
"type": ""
}
],
"src": "1450:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1811:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1821:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1839:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1846:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1835:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1835:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1855:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1851:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1831:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1831:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1821:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1794:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1804:6:1",
"type": ""
}
],
"src": "1763:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1963:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1973:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2020:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1987:32:1"
},
"nodeType": "YulFunctionCall",
"src": "1987:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1977:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2035:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2101:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2106:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2042:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2042:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2035:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2148:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2155:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2144:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2162:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2167:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2122:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2122:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2122:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2183:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2194:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2221:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2199:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2199:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2190:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2190:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2183:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1944:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1951:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1959:3:1",
"type": ""
}
],
"src": "1871:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2359:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2369:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2381:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2392:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2377:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2369:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2416:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2427:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2412:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2412:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2435:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2441:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2431:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2431:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2405:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2405:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2405:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2461:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2533:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2542:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2469:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2469:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2461:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2331:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2343:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2354:4:1",
"type": ""
}
],
"src": "2241:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2588:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2605:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2608:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2598:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2598:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2598:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2702:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2705:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2695:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2695:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2695:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2726:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2729:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2719:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2719:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2719:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "2560:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2790:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2800:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2823:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2805:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2805:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2800:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2834:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2857:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2839:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2839:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2834:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2997:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2999:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2999:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2999:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2918:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2925:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2993:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2921:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2921:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2915:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2915:81:1"
},
"nodeType": "YulIf",
"src": "2912:107:1"
},
{
"nodeType": "YulAssignment",
"src": "3029:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3040:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3043:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3036:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3036:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "3029:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "2777:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "2780:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "2786:3:1",
"type": ""
}
],
"src": "2746:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3085:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3102:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3105:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3095:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3095:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3095:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3199:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3202:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3192:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3192:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3192:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3223:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3226:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3216:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3216:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3216:15:1"
}
]
},
"name": "panic_error_0x01",
"nodeType": "YulFunctionDefinition",
"src": "3057:180: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_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function panic_error_0x01() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x01)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063d69569701461003b578063de29278914610057575b600080fd5b61005560048036038101906100509190610186565b610075565b005b61005f6100b7565b60405161006c919061025f565b60405180910390f35b6000818361008391906102b0565b905061010081111561009857610097610306565b5b60016000806101000a81548160ff021916908315150217905550505050565b60606001151560008054906101000a900460ff1615150361010f576040518060400160405280600b81526020017f4e6f206f766572666c6f770000000000000000000000000000000000000000008152509050610148565b6040518060400160405280600881526020017f4f766572666c6f7700000000000000000000000000000000000000000000000081525090505b90565b600080fd5b6000819050919050565b61016381610150565b811461016e57600080fd5b50565b6000813590506101808161015a565b92915050565b6000806040838503121561019d5761019c61014b565b5b60006101ab85828601610171565b92505060206101bc85828601610171565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b838110156102005780820151818401526020810190506101e5565b8381111561020f576000848401525b50505050565b6000601f19601f8301169050919050565b6000610231826101c6565b61023b81856101d1565b935061024b8185602086016101e2565b61025481610215565b840191505092915050565b600060208201905081810360008301526102798184610226565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102bb82610150565b91506102c683610150565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156102fb576102fa610281565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122021ba3bab3f66a062eb86bc4704e7f0c3407451db4b092f17bc1724dc75144bea64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD6956970 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xDE292789 EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x186 JUMP JUMPDEST PUSH2 0x75 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0xB7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6C SWAP2 SWAP1 PUSH2 0x25F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST SWAP1 POP PUSH2 0x100 DUP2 GT ISZERO PUSH2 0x98 JUMPI PUSH2 0x97 PUSH2 0x306 JUMP JUMPDEST JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 ISZERO ISZERO PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SUB PUSH2 0x10F JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4E6F206F766572666C6F77000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP PUSH2 0x148 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4F766572666C6F77000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x163 DUP2 PUSH2 0x150 JUMP JUMPDEST DUP2 EQ PUSH2 0x16E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x180 DUP2 PUSH2 0x15A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19D JUMPI PUSH2 0x19C PUSH2 0x14B JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AB DUP6 DUP3 DUP7 ADD PUSH2 0x171 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1BC DUP6 DUP3 DUP7 ADD PUSH2 0x171 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x200 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x231 DUP3 PUSH2 0x1C6 JUMP JUMPDEST PUSH2 0x23B DUP2 DUP6 PUSH2 0x1D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x24B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x254 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x279 DUP2 DUP5 PUSH2 0x226 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2BB DUP3 PUSH2 0x150 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C6 DUP4 PUSH2 0x150 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH2 0x2FA PUSH2 0x281 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x21 0xBA EXTCODESIZE 0xAB EXTCODEHASH PUSH7 0xA062EB86BC4704 0xE7 CREATE 0xC3 BLOCKHASH PUSH21 0x51DB4B092F17BC1724DC75144BEA64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "2449:453:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2669:231;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:162;2558:11;2580:5;2572;:13;;;;:::i;:::-;2558:27;;2607:3;2602;:8;;2595:16;;;;:::i;:::-;;2630:4;2621:6;;:13;;;;;;;;;;;;;;;;;;2548:102;2488:162;;:::o;2669:231::-;2711:13;2757:4;2747:14;;:6;;;;;;;;;;:14;;;2744:142;;2784:20;;;;;;;;;;;;;;;;;;;;;2744:142;2849:18;;;;;;;;;;;;;;;;;;;2669:231;;:::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:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:307::-;1518:1;1528:113;1542:6;1539:1;1536:13;1528:113;;;1627:1;1622:3;1618:11;1612:18;1608:1;1603:3;1599:11;1592:39;1564:2;1561:1;1557:10;1552:15;;1528:113;;;1659:6;1656:1;1653:13;1650:101;;;1739:1;1730:6;1725:3;1721:16;1714:27;1650:101;1499:258;1450:307;;;:::o;1763:102::-;1804:6;1855:2;1851:7;1846:2;1839:5;1835:14;1831:28;1821:38;;1763:102;;;:::o;1871:364::-;1959:3;1987:39;2020:5;1987:39;:::i;:::-;2042:71;2106:6;2101:3;2042:71;:::i;:::-;2035:78;;2122:52;2167:6;2162:3;2155:4;2148:5;2144:16;2122:52;:::i;:::-;2199:29;2221:6;2199:29;:::i;:::-;2194:3;2190:39;2183:46;;1963:272;1871:364;;;;:::o;2241:313::-;2354:4;2392:2;2381:9;2377:18;2369:26;;2441:9;2435:4;2431:20;2427:1;2416:9;2412:17;2405:47;2469:78;2542:4;2533:6;2469:78;:::i;:::-;2461:86;;2241:313;;;;:::o;2560:180::-;2608:77;2605:1;2598:88;2705:4;2702:1;2695:15;2729:4;2726:1;2719:15;2746:305;2786:3;2805:20;2823:1;2805:20;:::i;:::-;2800:25;;2839:20;2857:1;2839:20;:::i;:::-;2834:25;;2993:1;2925:66;2921:74;2918:1;2915:81;2912:107;;;2999:18;;:::i;:::-;2912:107;3043:1;3040;3036:9;3029:16;;2746:305;;;;:::o;3057:180::-;3105:77;3102:1;3095:88;3202:4;3199:1;3192:15;3226:4;3223:1;3216:15"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "175000",
"executionCost": "220",
"totalCost": "175220"
},
"external": {
"checkOverflow(uint256,uint256)": "infinite",
"getResult()": "infinite"
}
},
"methodIdentifiers": {
"checkOverflow(uint256,uint256)": "d6956970",
"getResult()": "de292789"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_num2",
"type": "uint256"
}
],
"name": "checkOverflow",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getResult",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_num1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_num2",
"type": "uint256"
}
],
"name": "checkOverflow",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getResult",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"stateVariables.sol": "Assert"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"stateVariables.sol": {
"keccak256": "0x5cb3a4e5af31ef79622c462db7a59b51ea3952120c8a7ec84c174dc91ef15973",
"license": "MIT",
"urls": [
"bzz-raw://34644d1810ab9012444eb5af4a8635eea3b3081931696bb2be65aa0f9b2009aa",
"dweb:/ipfs/QmQAbv9Z4MtbjLQfffjZjrkBkXMXjD6WVSV8nEyjGSqrkv"
]
}
},
"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": "608060405234801561001057600080fd5b5061017c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c298557814610030575b600080fd5b61003861004e565b6040516100459190610124565b60405180910390f35b60606040518060400160405280600181526020017f4200000000000000000000000000000000000000000000000000000000000000815250905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156100c55780820151818401526020810190506100aa565b838111156100d4576000848401525b50505050565b6000601f19601f8301169050919050565b60006100f68261008b565b6101008185610096565b93506101108185602086016100a7565b610119816100da565b840191505092915050565b6000602082019050818103600083015261013e81846100eb565b90509291505056fea26469706673582212204b79d50d2c2d474eb5c96d764008835c3e012dc6608e2ebb0ad3a2ff24a9dce764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17C DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC2985578 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4200000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xAA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6 DUP3 PUSH2 0x8B JUMP JUMPDEST PUSH2 0x100 DUP2 DUP6 PUSH2 0x96 JUMP JUMPDEST SWAP4 POP PUSH2 0x110 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x119 DUP2 PUSH2 0xDA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13E DUP2 DUP5 PUSH2 0xEB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4B PUSH26 0xD50D2C2D474EB5C96D764008835C3E012DC6608E2EBB0AD3A2FF 0x24 0xA9 0xDC 0xE7 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "6829:142:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@foo_21": {
"entryPoint": 78,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 235,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 292,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 139,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 150,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 167,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 218,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1394:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "336:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "346:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "355:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "350:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "415:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "440:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "445:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "436:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "464:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
"nodeType": "YulFunctionCall",
"src": "455:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "449:5:1"
},
"nodeType": "YulFunctionCall",
"src": "449:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "429:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "376:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "379:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "373:2:1"
},
"nodeType": "YulFunctionCall",
"src": "373:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "387:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "398:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "389:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "369:3:1",
"statements": []
},
"src": "365:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "512:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "567:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "558:3:1"
},
"nodeType": "YulFunctionCall",
"src": "558:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "493:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "496:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "490:13:1"
},
"nodeType": "YulIf",
"src": "487:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "318:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "323:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "328:6:1",
"type": ""
}
],
"src": "287:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "648:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "658:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "683:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "688:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nodeType": "YulFunctionCall",
"src": "668:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "658:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "631:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "641:6:1",
"type": ""
}
],
"src": "600:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "800:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "810:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "824:32:1"
},
"nodeType": "YulFunctionCall",
"src": "824:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "872:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "879:58:1"
},
"nodeType": "YulFunctionCall",
"src": "879:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "872:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "981:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "999:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "959:21:1"
},
"nodeType": "YulFunctionCall",
"src": "959:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "959:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1020:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1036:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1020:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "781:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "796:3:1",
"type": ""
}
],
"src": "708:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1196:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1206:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1218:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1229:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1214:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1206:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1249:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1268:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1242:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1242:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1298:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1379:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1306:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1306:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1298:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1168:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1180:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1191:4:1",
"type": ""
}
],
"src": "1078:313:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c298557814610030575b600080fd5b61003861004e565b6040516100459190610124565b60405180910390f35b60606040518060400160405280600181526020017f4200000000000000000000000000000000000000000000000000000000000000815250905090565b600081519050919050565b600082825260208201905092915050565b60005b838110156100c55780820151818401526020810190506100aa565b838111156100d4576000848401525b50505050565b6000601f19601f8301169050919050565b60006100f68261008b565b6101008185610096565b93506101108185602086016100a7565b610119816100da565b840191505092915050565b6000602082019050818103600083015261013e81846100eb565b90509291505056fea26469706673582212204b79d50d2c2d474eb5c96d764008835c3e012dc6608e2ebb0ad3a2ff24a9dce764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC2985578 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x124 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4200000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xAA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF6 DUP3 PUSH2 0x8B JUMP JUMPDEST PUSH2 0x100 DUP2 DUP6 PUSH2 0x96 JUMP JUMPDEST SWAP4 POP PUSH2 0x110 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA7 JUMP JUMPDEST PUSH2 0x119 DUP2 PUSH2 0xDA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13E DUP2 DUP5 PUSH2 0xEB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4B PUSH26 0xD50D2C2D474EB5C96D764008835C3E012DC6608E2EBB0AD3A2FF 0x24 0xA9 0xDC 0xE7 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "6829:142:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;6928:13;6952:10;;;;;;;;;;;;;;;;;;;6875:94;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "76000",
"executionCost": "123",
"totalCost": "76123"
},
"external": {
"foo()": "infinite"
}
},
"methodIdentifiers": {
"foo()": "c2985578"
}
},
"abi": [
{
"inputs": [],
"name": "foo",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "foo",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "B"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x4a7366bc98f4f5913782f2f9e0b26f0dfaa9bf99f13269f3cb0b094b2a3ef791",
"license": "MIT",
"urls": [
"bzz-raw://b7290a5d749f5671b0a1a732ce39229b12f14c7943ceb2f0dda8d90133303fe9",
"dweb:/ipfs/Qmdg2EYg8hdDhC7eWcbq6wGhqQoroQ6bjH6aAxEyDQan1c"
]
}
},
"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": "608060405234801561001057600080fd5b50610829806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063061259231461005157806366371de31461008757806399c8d556146100bd578063b6845e05146100db575b600080fd5b61006b6004803603810190610066919061059b565b61010b565b60405161007e9796959493929190610680565b60405180910390f35b6100a1600480360381019061009c919061059b565b610305565b6040516100b49796959493929190610680565b60405180910390f35b6100c56104ff565b6040516100d29190610704565b60405180910390f35b6100f560048036038101906100f0919061074b565b610505565b6040516101029190610778565b60405180910390f35b60056020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461015a906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610186906107c2565b80156101d35780601f106101a8576101008083540402835291602001916101d3565b820191906000526020600020905b8154815290600101906020018083116101b657829003601f168201915b5050505050908060030180546101e8906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610214906107c2565b80156102615780601f1061023657610100808354040283529160200191610261565b820191906000526020600020905b81548152906001019060200180831161024457829003601f168201915b505050505090806004018054610276906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906107c2565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050908060050154908060060154905087565b60036020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002018054610354906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610380906107c2565b80156103cd5780601f106103a2576101008083540402835291602001916103cd565b820191906000526020600020905b8154815290600101906020018083116103b057829003601f168201915b5050505050908060030180546103e2906107c2565b80601f016020809104026020016040519081016040528092919081815260200182805461040e906107c2565b801561045b5780601f106104305761010080835404028352916020019161045b565b820191906000526020600020905b81548152906001019060200180831161043e57829003601f168201915b505050505090806004018054610470906107c2565b80601f016020809104026020016040519081016040528092919081815260200182805461049c906107c2565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050908060050154908060060154905087565b60005481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105688261053d565b9050919050565b6105788161055d565b811461058357600080fd5b50565b6000813590506105958161056f565b92915050565b6000602082840312156105b1576105b0610538565b5b60006105bf84828501610586565b91505092915050565b6000819050919050565b6105db816105c8565b82525050565b6105ea8161055d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561062a57808201518184015260208101905061060f565b60008484015250505050565b6000601f19601f8301169050919050565b6000610652826105f0565b61065c81856105fb565b935061066c81856020860161060c565b61067581610636565b840191505092915050565b600060e082019050610695600083018a6105d2565b6106a260208301896105e1565b81810360408301526106b48188610647565b905081810360608301526106c88187610647565b905081810360808301526106dc8186610647565b90506106eb60a08301856105d2565b6106f860c08301846105d2565b98975050505050505050565b600060208201905061071960008301846105d2565b92915050565b610728816105c8565b811461073357600080fd5b50565b6000813590506107458161071f565b92915050565b60006020828403121561076157610760610538565b5b600061076f84828501610736565b91505092915050565b600060208201905061078d60008301846105e1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806107da57607f821691505b6020821081036107ed576107ec610793565b5b5091905056fea2646970667358221220c3e2aab1bb5684f7902f8826dc093c235f9d2f337f474be9927c592d5f0f94d664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x829 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6125923 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x66371DE3 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x99C8D556 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0xB6845E05 EQ PUSH2 0xDB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x59B JUMP JUMPDEST PUSH2 0x10B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7E SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9C SWAP2 SWAP1 PUSH2 0x59B JUMP JUMPDEST PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB4 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x74B JUMP JUMPDEST PUSH2 0x505 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x102 SWAP2 SWAP1 PUSH2 0x778 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x15A SWAP1 PUSH2 0x7C2 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 0x186 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1A8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1E8 SWAP1 PUSH2 0x7C2 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 0x214 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x261 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x236 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x261 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x244 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x7C2 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 0x2A2 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD SLOAD SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x354 SWAP1 PUSH2 0x7C2 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 0x380 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3CD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3CD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3B0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x3E2 SWAP1 PUSH2 0x7C2 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 0x40E SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x45B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x430 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x45B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x43E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x470 SWAP1 PUSH2 0x7C2 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 0x49C SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD SLOAD SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x568 DUP3 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x578 DUP2 PUSH2 0x55D JUMP JUMPDEST DUP2 EQ PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x595 DUP2 PUSH2 0x56F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B1 JUMPI PUSH2 0x5B0 PUSH2 0x538 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5BF DUP5 DUP3 DUP6 ADD PUSH2 0x586 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DB DUP2 PUSH2 0x5C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5EA DUP2 PUSH2 0x55D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x62A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x60F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x652 DUP3 PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0x65C DUP2 DUP6 PUSH2 0x5FB JUMP JUMPDEST SWAP4 POP PUSH2 0x66C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x675 DUP2 PUSH2 0x636 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x695 PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x6A2 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x5E1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x6B4 DUP2 DUP9 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x6C8 DUP2 DUP8 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x6DC DUP2 DUP7 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP PUSH2 0x6EB PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x6F8 PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x5D2 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x728 DUP2 PUSH2 0x5C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x733 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x745 DUP2 PUSH2 0x71F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x761 JUMPI PUSH2 0x760 PUSH2 0x538 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x76F DUP5 DUP3 DUP6 ADD PUSH2 0x736 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x78D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5E1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x7ED JUMPI PUSH2 0x7EC PUSH2 0x793 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 0xE2 0xAA 0xB1 0xBB JUMP DUP5 0xF7 SWAP1 0x2F DUP9 0x26 0xDC MULMOD EXTCODECOPY 0x23 0x5F SWAP14 0x2F CALLER PUSH32 0x474BE9927C592D5F0F94D664736F6C6343000813003300000000000000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@bookExist_23": {
"entryPoint": 267,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@booksOf_14": {
"entryPoint": 773,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
},
"@selleOf_18": {
"entryPoint": 1285,
"id": 18,
"parameterSlots": 0,
"returnSlots": 0
},
"@tax_3": {
"entryPoint": 1279,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1414,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1846,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1435,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1867,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1505,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1607,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1490,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1912,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1796,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 1664,
"id": null,
"parameterSlots": 8,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1520,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1531,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1373,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1341,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1480,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1548,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1986,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 1939,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1336,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1590,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 1391,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1823,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5268:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:1"
},
"nodeType": "YulFunctionCall",
"src": "955:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:1"
},
"nodeType": "YulFunctionCall",
"src": "924:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:1"
},
"nodeType": "YulFunctionCall",
"src": "920:32:1"
},
"nodeType": "YulIf",
"src": "917:119:1"
},
{
"nodeType": "YulBlock",
"src": "1046:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:1",
"type": ""
}
],
"src": "841:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1221:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1231:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1242:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1231:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1203:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1213:7:1",
"type": ""
}
],
"src": "1176:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1346:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:1",
"type": ""
}
],
"src": "1259:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1448:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1465:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1488:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1470:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1470:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1458:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1458:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1458:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1436:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1443:3:1",
"type": ""
}
],
"src": "1383:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1566:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1577:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1593:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1587:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1587:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1577:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1549:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1559:6:1",
"type": ""
}
],
"src": "1507:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1708:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1725:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1730:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1718:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1718:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1718:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1746:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1765:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1770:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1761:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1761:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1746:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1680:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1685:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1696:11:1",
"type": ""
}
],
"src": "1612:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1849:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1859:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1868:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1863:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1928:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1953:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1958:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1949:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1949:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1972:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1977:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1968:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1968:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1962:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1962:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1942:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1942:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1942:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1889:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1892:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1886:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1886:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1900:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1902:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1911:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1907:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1907:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1902:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1882:3:1",
"statements": []
},
"src": "1878:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2011:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2016:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2007:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2007:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2025:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2000:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2000:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2000:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1831:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1836:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1841:6:1",
"type": ""
}
],
"src": "1787:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2087:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2097:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2115:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2122:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2111:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2111:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2131:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2127:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2127:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2107:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2107:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2097:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2070:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2080:6:1",
"type": ""
}
],
"src": "2039:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2239:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2249:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2296:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2263:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2263:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2253:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2311:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2377:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2382:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2318:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2318:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2311:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2437:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2444:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2433:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2433:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2451:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2456:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2398:34:1"
},
"nodeType": "YulFunctionCall",
"src": "2398:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2398:65:1"
},
{
"nodeType": "YulAssignment",
"src": "2472:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2483:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2510:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2488:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2488:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2479:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2479:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2472:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2220:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2227:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2235:3:1",
"type": ""
}
],
"src": "2147:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2856:833:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2866:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2878:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2889:3:1",
"type": "",
"value": "224"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2874:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2874:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2866:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2947:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2960:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2971:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2956:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2956:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2903:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2903:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2903:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3028:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3041:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3052:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3037:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3037:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2984:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2984:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "2984:72:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3077:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3088:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3073:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3097:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3103:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3093:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3066:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3066:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "3066:48:1"
},
{
"nodeType": "YulAssignment",
"src": "3123:86:1",
"value": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "3195:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3204:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3131:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3131:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3123:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3230:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3241:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3226:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3250:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3256:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3246:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3246:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3219:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3219:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "3219:48:1"
},
{
"nodeType": "YulAssignment",
"src": "3276:86:1",
"value": {
"arguments": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "3348:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3357:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3284:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3284:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3276:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3383:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3394:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3379:19:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3404:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3410:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3400:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3372:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3372:49:1"
},
"nodeType": "YulExpressionStatement",
"src": "3372:49:1"
},
{
"nodeType": "YulAssignment",
"src": "3430:86:1",
"value": {
"arguments": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "3502:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3438:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3438:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3430:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value5",
"nodeType": "YulIdentifier",
"src": "3570:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3583:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3594:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3579:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3579:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3526:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3526:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "3526:73:1"
},
{
"expression": {
"arguments": [
{
"name": "value6",
"nodeType": "YulIdentifier",
"src": "3653:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3666:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3677:3:1",
"type": "",
"value": "192"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3662:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3662:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3609:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3609:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "3609:73:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2780:9:1",
"type": ""
},
{
"name": "value6",
"nodeType": "YulTypedName",
"src": "2792:6:1",
"type": ""
},
{
"name": "value5",
"nodeType": "YulTypedName",
"src": "2800:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "2808:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "2816:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "2824:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2832:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2840:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2851:4:1",
"type": ""
}
],
"src": "2530:1159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3793:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3803:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3815:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3826:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3811:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3811:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3803:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3883:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3896:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3907:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3892:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3839:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3839:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3839:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3765:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3777:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3788:4:1",
"type": ""
}
],
"src": "3695:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3966:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4023:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4032:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4035:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4025:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4025:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4025:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3989:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4014:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3996:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3996:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3986:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3986:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3979:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3979:43:1"
},
"nodeType": "YulIf",
"src": "3976:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3959:5:1",
"type": ""
}
],
"src": "3923:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4103:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4113:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4135:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4122:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4122:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4113:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4178:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "4151:26:1"
},
"nodeType": "YulFunctionCall",
"src": "4151:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4151:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4081:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4089:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4097:5:1",
"type": ""
}
],
"src": "4051:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4262:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4308:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4310:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4310:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4310:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4283:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4292:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4279:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4279:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4304:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4275:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4275:32:1"
},
"nodeType": "YulIf",
"src": "4272:119:1"
},
{
"nodeType": "YulBlock",
"src": "4401:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4416:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4430:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4420:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4445:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4480:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4491:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4476:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4476:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4500:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "4455:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4455:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4445:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4232:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4243:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4255:6:1",
"type": ""
}
],
"src": "4196:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4629:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4639:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4651:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4662:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4647:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4647:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4639:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4719:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4732:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4743:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4728:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4675:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4675:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4675:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4601:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4613:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4624:4:1",
"type": ""
}
],
"src": "4531:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4787:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4804:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4807:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4797:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4797:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4797:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4901:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4904:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4894:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4894:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4894:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4925:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4928:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4918:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4918:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4918:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "4759:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4996:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5006:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5020:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5026:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5016:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5016:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5006:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5037:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5067:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5073:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5063:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5063:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5041:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5114:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5128:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5142:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5150:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5138:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5138:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5128:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5094:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5087:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5087:26:1"
},
"nodeType": "YulIf",
"src": "5084:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5217:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5231:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5231:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5231:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5181:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5212:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5201:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5201:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5178:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5178:38:1"
},
"nodeType": "YulIf",
"src": "5175:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "4980:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4989:6:1",
"type": ""
}
],
"src": "4945:320: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 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_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_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_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value3, tail)\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value6, add(headStart, 192))\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063061259231461005157806366371de31461008757806399c8d556146100bd578063b6845e05146100db575b600080fd5b61006b6004803603810190610066919061059b565b61010b565b60405161007e9796959493929190610680565b60405180910390f35b6100a1600480360381019061009c919061059b565b610305565b6040516100b49796959493929190610680565b60405180910390f35b6100c56104ff565b6040516100d29190610704565b60405180910390f35b6100f560048036038101906100f0919061074b565b610505565b6040516101029190610778565b60405180910390f35b60056020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461015a906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610186906107c2565b80156101d35780601f106101a8576101008083540402835291602001916101d3565b820191906000526020600020905b8154815290600101906020018083116101b657829003601f168201915b5050505050908060030180546101e8906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610214906107c2565b80156102615780601f1061023657610100808354040283529160200191610261565b820191906000526020600020905b81548152906001019060200180831161024457829003601f168201915b505050505090806004018054610276906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906107c2565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050908060050154908060060154905087565b60036020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002018054610354906107c2565b80601f0160208091040260200160405190810160405280929190818152602001828054610380906107c2565b80156103cd5780601f106103a2576101008083540402835291602001916103cd565b820191906000526020600020905b8154815290600101906020018083116103b057829003601f168201915b5050505050908060030180546103e2906107c2565b80601f016020809104026020016040519081016040528092919081815260200182805461040e906107c2565b801561045b5780601f106104305761010080835404028352916020019161045b565b820191906000526020600020905b81548152906001019060200180831161043e57829003601f168201915b505050505090806004018054610470906107c2565b80601f016020809104026020016040519081016040528092919081815260200182805461049c906107c2565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050908060050154908060060154905087565b60005481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105688261053d565b9050919050565b6105788161055d565b811461058357600080fd5b50565b6000813590506105958161056f565b92915050565b6000602082840312156105b1576105b0610538565b5b60006105bf84828501610586565b91505092915050565b6000819050919050565b6105db816105c8565b82525050565b6105ea8161055d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561062a57808201518184015260208101905061060f565b60008484015250505050565b6000601f19601f8301169050919050565b6000610652826105f0565b61065c81856105fb565b935061066c81856020860161060c565b61067581610636565b840191505092915050565b600060e082019050610695600083018a6105d2565b6106a260208301896105e1565b81810360408301526106b48188610647565b905081810360608301526106c88187610647565b905081810360808301526106dc8186610647565b90506106eb60a08301856105d2565b6106f860c08301846105d2565b98975050505050505050565b600060208201905061071960008301846105d2565b92915050565b610728816105c8565b811461073357600080fd5b50565b6000813590506107458161071f565b92915050565b60006020828403121561076157610760610538565b5b600061076f84828501610736565b91505092915050565b600060208201905061078d60008301846105e1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806107da57607f821691505b6020821081036107ed576107ec610793565b5b5091905056fea2646970667358221220c3e2aab1bb5684f7902f8826dc093c235f9d2f337f474be9927c592d5f0f94d664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6125923 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x66371DE3 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x99C8D556 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0xB6845E05 EQ PUSH2 0xDB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x59B JUMP JUMPDEST PUSH2 0x10B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7E SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9C SWAP2 SWAP1 PUSH2 0x59B JUMP JUMPDEST PUSH2 0x305 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB4 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x680 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x704 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x74B JUMP JUMPDEST PUSH2 0x505 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x102 SWAP2 SWAP1 PUSH2 0x778 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x15A SWAP1 PUSH2 0x7C2 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 0x186 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1A8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1E8 SWAP1 PUSH2 0x7C2 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 0x214 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x261 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x236 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x261 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x244 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x7C2 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 0x2A2 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD SLOAD SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x354 SWAP1 PUSH2 0x7C2 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 0x380 SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3CD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3CD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3B0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x3E2 SWAP1 PUSH2 0x7C2 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 0x40E SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x45B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x430 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x45B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x43E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x470 SWAP1 PUSH2 0x7C2 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 0x49C SWAP1 PUSH2 0x7C2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD SLOAD SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x568 DUP3 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x578 DUP2 PUSH2 0x55D JUMP JUMPDEST DUP2 EQ PUSH2 0x583 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x595 DUP2 PUSH2 0x56F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B1 JUMPI PUSH2 0x5B0 PUSH2 0x538 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5BF DUP5 DUP3 DUP6 ADD PUSH2 0x586 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DB DUP2 PUSH2 0x5C8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x5EA DUP2 PUSH2 0x55D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x62A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x60F JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x652 DUP3 PUSH2 0x5F0 JUMP JUMPDEST PUSH2 0x65C DUP2 DUP6 PUSH2 0x5FB JUMP JUMPDEST SWAP4 POP PUSH2 0x66C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x675 DUP2 PUSH2 0x636 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x695 PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x6A2 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x5E1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x6B4 DUP2 DUP9 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x60 DUP4 ADD MSTORE PUSH2 0x6C8 DUP2 DUP8 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x6DC DUP2 DUP7 PUSH2 0x647 JUMP JUMPDEST SWAP1 POP PUSH2 0x6EB PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x6F8 PUSH1 0xC0 DUP4 ADD DUP5 PUSH2 0x5D2 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x719 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5D2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x728 DUP2 PUSH2 0x5C8 JUMP JUMPDEST DUP2 EQ PUSH2 0x733 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x745 DUP2 PUSH2 0x71F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x761 JUMPI PUSH2 0x760 PUSH2 0x538 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x76F DUP5 DUP3 DUP6 ADD PUSH2 0x736 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x78D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5E1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x7DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x7ED JUMPI PUSH2 0x7EC PUSH2 0x793 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 0xE2 0xAA 0xB1 0xBB JUMP DUP5 0xF7 SWAP1 0x2F DUP9 0x26 0xDC MULMOD EXTCODECOPY 0x23 0x5F SWAP14 0x2F CALLER PUSH32 0x474BE9927C592D5F0F94D664736F6C6343000813003300000000000000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;187:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;83:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;237:38;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;281:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;187:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;83:15::-;;;;:::o;237:38::-;;;;;;;;;;;;;;;;;;;;;;:::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:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:::-;1470:24;1488:5;1470:24;:::i;:::-;1465:3;1458:37;1383:118;;:::o;1507:99::-;1559:6;1593:5;1587:12;1577:22;;1507:99;;;:::o;1612:169::-;1696:11;1730:6;1725:3;1718:19;1770:4;1765:3;1761:14;1746:29;;1612:169;;;;:::o;1787:246::-;1868:1;1878:113;1892:6;1889:1;1886:13;1878:113;;;1977:1;1972:3;1968:11;1962:18;1958:1;1953:3;1949:11;1942:39;1914:2;1911:1;1907:10;1902:15;;1878:113;;;2025:1;2016:6;2011:3;2007:16;2000:27;1849:184;1787:246;;;:::o;2039:102::-;2080:6;2131:2;2127:7;2122:2;2115:5;2111:14;2107:28;2097:38;;2039:102;;;:::o;2147:377::-;2235:3;2263:39;2296:5;2263:39;:::i;:::-;2318:71;2382:6;2377:3;2318:71;:::i;:::-;2311:78;;2398:65;2456:6;2451:3;2444:4;2437:5;2433:16;2398:65;:::i;:::-;2488:29;2510:6;2488:29;:::i;:::-;2483:3;2479:39;2472:46;;2239:285;2147:377;;;;:::o;2530:1159::-;2851:4;2889:3;2878:9;2874:19;2866:27;;2903:71;2971:1;2960:9;2956:17;2947:6;2903:71;:::i;:::-;2984:72;3052:2;3041:9;3037:18;3028:6;2984:72;:::i;:::-;3103:9;3097:4;3093:20;3088:2;3077:9;3073:18;3066:48;3131:78;3204:4;3195:6;3131:78;:::i;:::-;3123:86;;3256:9;3250:4;3246:20;3241:2;3230:9;3226:18;3219:48;3284:78;3357:4;3348:6;3284:78;:::i;:::-;3276:86;;3410:9;3404:4;3400:20;3394:3;3383:9;3379:19;3372:49;3438:78;3511:4;3502:6;3438:78;:::i;:::-;3430:86;;3526:73;3594:3;3583:9;3579:19;3570:6;3526:73;:::i;:::-;3609;3677:3;3666:9;3662:19;3653:6;3609:73;:::i;:::-;2530:1159;;;;;;;;;;:::o;3695:222::-;3788:4;3826:2;3815:9;3811:18;3803:26;;3839:71;3907:1;3896:9;3892:17;3883:6;3839:71;:::i;:::-;3695:222;;;;:::o;3923:122::-;3996:24;4014:5;3996:24;:::i;:::-;3989:5;3986:35;3976:63;;4035:1;4032;4025:12;3976:63;3923:122;:::o;4051:139::-;4097:5;4135:6;4122:20;4113:29;;4151:33;4178:5;4151:33;:::i;:::-;4051:139;;;;:::o;4196:329::-;4255:6;4304:2;4292:9;4283:7;4279:23;4275:32;4272:119;;;4310:79;;:::i;:::-;4272:119;4430:1;4455:53;4500:7;4491:6;4480:9;4476:22;4455:53;:::i;:::-;4445:63;;4401:117;4196:329;;;;:::o;4531:222::-;4624:4;4662:2;4651:9;4647:18;4639:26;;4675:71;4743:1;4732:9;4728:17;4719:6;4675:71;:::i;:::-;4531:222;;;;:::o;4759:180::-;4807:77;4804:1;4797:88;4904:4;4901:1;4894:15;4928:4;4925:1;4918:15;4945:320;4989:6;5026:1;5020:4;5016:12;5006:22;;5073:1;5067:4;5063:12;5094:18;5084:81;;5150:4;5142:6;5138:17;5128:27;;5084:81;5212:2;5204:6;5201:14;5181:18;5178:38;5175:84;;5231:18;;:::i;:::-;5175:84;4996:269;4945:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "417800",
"executionCost": "455",
"totalCost": "418255"
},
"external": {
"bookExist(address)": "infinite",
"booksOf(address)": "infinite",
"selleOf(uint256)": "2883",
"tax()": "2451"
}
},
"methodIdentifiers": {
"bookExist(address)": "06125923",
"booksOf(address)": "66371de3",
"selleOf(uint256)": "b6845e05",
"tax()": "99c8d556"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bookExist",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "string",
"name": "author",
"type": "string"
},
{
"internalType": "uint256",
"name": "cost",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "booksOf",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "string",
"name": "author",
"type": "string"
},
{
"internalType": "uint256",
"name": "cost",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "selleOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tax",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bookExist",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "string",
"name": "author",
"type": "string"
},
{
"internalType": "uint256",
"name": "cost",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "booksOf",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "string",
"name": "author",
"type": "string"
},
{
"internalType": "uint256",
"name": "cost",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "selleOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tax",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"BookStore.sol": "BookStore"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"BookStore.sol": {
"keccak256": "0x7ca0a43e69ea758f5b091202cf0e528abe04bd8a4fa1c7f72f9a7eb811d6c666",
"license": "MIT",
"urls": [
"bzz-raw://425a473745fddfea5e633078f149041ca8c415a09cdec9e4665b189e794fbb51",
"dweb:/ipfs/QmNi72vemL77mW5acc3JiW2i6RSnCpLSqiX5PmijRUqhXr"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220648c68331166dff8f34e2b14e4f21308c9755e9991834d1f58da03b1cbc473a364736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x8C68331166 0xDF 0xF8 RETURN 0x4E 0x2B EQ 0xE4 CALLCODE SGT ADDMOD 0xC9 PUSH22 0x5E9991834D1F58DA03B1CBC473A364736F6C63430008 SGT STOP CALLER ",
"sourceMap": "58:19:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220648c68331166dff8f34e2b14e4f21308c9755e9991834d1f58da03b1cbc473a364736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x8C68331166 0xDF 0xF8 RETURN 0x4E 0x2B EQ 0xE4 CALLCODE SGT ADDMOD 0xC9 PUSH22 0x5E9991834D1F58DA03B1CBC473A364736F6C63430008 SGT STOP CALLER ",
"sourceMap": "58:19:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"crowdfunding.sol": "C"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"crowdfunding.sol": {
"keccak256": "0xc6821b1bf532294b17cc1b48b10b6c78cd9f27414f1f69208a6ed6aae7d38bef",
"license": "MIT",
"urls": [
"bzz-raw://a2e4b00e1a59da65b54a2169edb2b2c04fcd60f5a9c640daf26d748727e9f089",
"dweb:/ipfs/QmdqGoAZKEC6PAyjPDntgo3MdFRwP5tsyhXbojmBLXxiHE"
]
}
},
"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": {
"@_30": {
"entryPoint": null,
"id": 30,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 723,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 452,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 789,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_string_memory_ptr_fromMemory": {
"entryPoint": 835,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"allocate_memory": {
"entryPoint": 596,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 359,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 623,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 411,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 379,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 672,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 974,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 547,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 927,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 500,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 473,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 478,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 374,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 369,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 483,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 429,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4431:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:1"
},
"nodeType": "YulFunctionCall",
"src": "778:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:1"
},
"nodeType": "YulFunctionCall",
"src": "800:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:1",
"type": ""
}
],
"src": "696:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "934:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "951:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "954:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "944:6:1"
},
"nodeType": "YulFunctionCall",
"src": "944:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "944:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "845:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1057:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1074:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1077:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1067:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1067:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1067:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "968:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1139:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1149:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1167:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1174:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1163:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1163:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1183:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1179:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1179:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1159:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1159:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1149:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1122:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1132:6:1",
"type": ""
}
],
"src": "1091:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1227:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1244:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1247:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1237:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1237:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1237:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1344:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1334:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1334:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1365:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1368:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1358:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1358:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1358:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "1199:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1428:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1438:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1460:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1490:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1468:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1468:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1456:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "1442:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1607:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1609:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1609:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1609:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1550:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1562:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1547:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1547:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1586:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1598:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1583:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1583:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1544:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1544:62:1"
},
"nodeType": "YulIf",
"src": "1541:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1645:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1649:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1638:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1638:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1638:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1414:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1422:4:1",
"type": ""
}
],
"src": "1385:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1713:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1723:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1733:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1733:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1723:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1782:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1790:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1762:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1762:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1762:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1697:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1706:6:1",
"type": ""
}
],
"src": "1672:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1874:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1979:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1981:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1981:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1981:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1951:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1959:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1948:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1948:30:1"
},
"nodeType": "YulIf",
"src": "1945:56:1"
},
{
"nodeType": "YulAssignment",
"src": "2011:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2041:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2019:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2019:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2011:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2085:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2097:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2103:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2093:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2085:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1858:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1869:4:1",
"type": ""
}
],
"src": "1807:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2170:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2180:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2189:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2184:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2249:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2274:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2279:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2270:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2270:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2293:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2298:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2289:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2289:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2283:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2283:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2263:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2263:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2263:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2210:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2213:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2207:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2207:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2221:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2223:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2232:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2235:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2228:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2228:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2223:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2203:3:1",
"statements": []
},
"src": "2199:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2346:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2396:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2401:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2392:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2392:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2410:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2385:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2385:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2385:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2327:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2330:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2324:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2324:13:1"
},
"nodeType": "YulIf",
"src": "2321:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2152:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2157:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2162:6:1",
"type": ""
}
],
"src": "2121:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2529:326:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2539:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2606:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2564:41:1"
},
"nodeType": "YulFunctionCall",
"src": "2564:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2548:15:1"
},
"nodeType": "YulFunctionCall",
"src": "2548:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2539:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2630:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2637:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2623:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2623:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "2623:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2653:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2668:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2675:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2664:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2664:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2657:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2718:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "2720:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2720:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2720:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2699:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2704:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2695:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2695:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2713:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2692:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2692:25:1"
},
"nodeType": "YulIf",
"src": "2689:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2832:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2837:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2842:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2810:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2810:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2810:39:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2502:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2507:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2515:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2523:5:1",
"type": ""
}
],
"src": "2434:421:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2948:282:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2997:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "2999:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2999:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2999:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2976:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2984:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2972:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2972:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2991:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2968:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2968:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2961:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2961:35:1"
},
"nodeType": "YulIf",
"src": "2958:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "3089:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3109:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3103:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3103:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3093:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3125:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3197:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3205:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3193:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3193:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3212:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3220:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3134:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3134:90:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3125:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2926:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2934:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2942:5:1",
"type": ""
}
],
"src": "2875:355:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3340:576:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3386:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3388:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3388:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3388:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3361:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3370:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3357:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3357:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3382:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3353:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3353:32:1"
},
"nodeType": "YulIf",
"src": "3350:119:1"
},
{
"nodeType": "YulBlock",
"src": "3479:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3494:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3508:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3498:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3523:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3569:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3580:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3565:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3565:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3589:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "3533:31:1"
},
"nodeType": "YulFunctionCall",
"src": "3533:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3523:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3617:292:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3632:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3656:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3667:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3652:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3652:18:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3646:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3646:25:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3636:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3718:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "3720:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3720:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3720:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3690:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3698:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3687:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3687:30:1"
},
"nodeType": "YulIf",
"src": "3684:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3815:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3871:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3882:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3867:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3891:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3825:41:1"
},
"nodeType": "YulFunctionCall",
"src": "3825:74:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3815:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3302:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3313:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3325:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3333:6:1",
"type": ""
}
],
"src": "3236:680:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3950:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3967:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3970:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3960:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3960:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3960:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4064:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4067:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4057:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4057:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4057:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4088:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4091:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4081:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4081:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4081:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "3922:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4159:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4169:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4183:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4189:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "4179:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4179:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4169:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4200:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "4230:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4236:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4226:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "4204:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4277:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4291:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4305:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4313:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4301:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4301:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4291:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4257:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4250:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4250:26:1"
},
"nodeType": "YulIf",
"src": "4247:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4380:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "4394:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4394:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4394:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "4344:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4367:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4375:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4364:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4364:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4341:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4341:38:1"
},
"nodeType": "YulIf",
"src": "4338:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "4143:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4152:6:1",
"type": ""
}
],
"src": "4108:320: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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(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_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 copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260405161073338038061073383398181016040528101906100259190610343565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806001908051906020019061007b9291906100c4565b5030600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506103ff565b8280546100d0906103ce565b90600052602060002090601f0160209004810192826100f25760008555610139565b82601f1061010b57805160ff1916838001178555610139565b82800160010185558215610139579182015b8281111561013857825182559160200191906001019061011d565b5b509050610146919061014a565b5090565b5b8082111561016357600081600090555060010161014b565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101a68261017b565b9050919050565b6101b68161019b565b81146101c157600080fd5b50565b6000815190506101d3816101ad565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61022c826101e3565b810181811067ffffffffffffffff8211171561024b5761024a6101f4565b5b80604052505050565b600061025e610167565b905061026a8282610223565b919050565b600067ffffffffffffffff82111561028a576102896101f4565b5b610293826101e3565b9050602081019050919050565b60005b838110156102be5780820151818401526020810190506102a3565b838111156102cd576000848401525b50505050565b60006102e66102e18461026f565b610254565b905082815260208101848484011115610302576103016101de565b5b61030d8482856102a0565b509392505050565b600082601f83011261032a576103296101d9565b5b815161033a8482602086016102d3565b91505092915050565b6000806040838503121561035a57610359610171565b5b6000610368858286016101c4565b925050602083015167ffffffffffffffff81111561038957610388610176565b5b61039585828601610315565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103e657607f821691505b6020821081036103f9576103f861039f565b5b50919050565b6103258061040e6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630ad9d0521461004657806389e18495146100645780638da5cb5b14610082575b600080fd5b61004e6100a0565b60405161005b9190610211565b60405180910390f35b61006c61012e565b6040516100799190610274565b60405180910390f35b61008a610154565b6040516100979190610274565b60405180910390f35b600180546100ad906102be565b80601f01602080910402602001604051908101604052809291908181526020018280546100d9906102be565b80156101265780601f106100fb57610100808354040283529160200191610126565b820191906000526020600020905b81548152906001019060200180831161010957829003601f168201915b505050505081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081519050919050565b600082825260208201905092915050565b60005b838110156101b2578082015181840152602081019050610197565b838111156101c1576000848401525b50505050565b6000601f19601f8301169050919050565b60006101e382610178565b6101ed8185610183565b93506101fd818560208601610194565b610206816101c7565b840191505092915050565b6000602082019050818103600083015261022b81846101d8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025e82610233565b9050919050565b61026e81610253565b82525050565b60006020820190506102896000830184610265565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806102d657607f821691505b6020821081036102e9576102e861028f565b5b5091905056fea26469706673582212201b3ed4352b79feb75b52bd415abb1432315a4594c92cc021135f116b7f92dea064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x733 CODESIZE SUB DUP1 PUSH2 0x733 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x25 SWAP2 SWAP1 PUSH2 0x343 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x7B SWAP3 SWAP2 SWAP1 PUSH2 0xC4 JUMP JUMPDEST POP ADDRESS PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x3FF JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xD0 SWAP1 PUSH2 0x3CE JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xF2 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x139 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x10B JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x139 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x139 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x138 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x11D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x14A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x14B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A6 DUP3 PUSH2 0x17B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B6 DUP2 PUSH2 0x19B JUMP JUMPDEST DUP2 EQ PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1D3 DUP2 PUSH2 0x1AD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x22C DUP3 PUSH2 0x1E3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x24B JUMPI PUSH2 0x24A PUSH2 0x1F4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25E PUSH2 0x167 JUMP JUMPDEST SWAP1 POP PUSH2 0x26A DUP3 DUP3 PUSH2 0x223 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x28A JUMPI PUSH2 0x289 PUSH2 0x1F4 JUMP JUMPDEST JUMPDEST PUSH2 0x293 DUP3 PUSH2 0x1E3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2BE JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2A3 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2CD JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E6 PUSH2 0x2E1 DUP5 PUSH2 0x26F JUMP JUMPDEST PUSH2 0x254 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x302 JUMPI PUSH2 0x301 PUSH2 0x1DE JUMP JUMPDEST JUMPDEST PUSH2 0x30D DUP5 DUP3 DUP6 PUSH2 0x2A0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x32A JUMPI PUSH2 0x329 PUSH2 0x1D9 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x33A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2D3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x35A JUMPI PUSH2 0x359 PUSH2 0x171 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x368 DUP6 DUP3 DUP7 ADD PUSH2 0x1C4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x389 JUMPI PUSH2 0x388 PUSH2 0x176 JUMP JUMPDEST JUMPDEST PUSH2 0x395 DUP6 DUP3 DUP7 ADD PUSH2 0x315 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3E6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3F9 JUMPI PUSH2 0x3F8 PUSH2 0x39F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x325 DUP1 PUSH2 0x40E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAD9D052 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x89E18495 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x211 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x12E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0xAD SWAP1 PUSH2 0x2BE 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 0xD9 SWAP1 PUSH2 0x2BE JUMP JUMPDEST DUP1 ISZERO PUSH2 0x126 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x126 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x109 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x197 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3 DUP3 PUSH2 0x178 JUMP JUMPDEST PUSH2 0x1ED DUP2 DUP6 PUSH2 0x183 JUMP JUMPDEST SWAP4 POP PUSH2 0x1FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x206 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22B DUP2 DUP5 PUSH2 0x1D8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25E DUP3 PUSH2 0x233 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x253 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x289 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x265 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x2D6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2E9 JUMPI PUSH2 0x2E8 PUSH2 0x28F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL RETURNDATACOPY 0xD4 CALLDATALOAD 0x2B PUSH26 0xFEB75B52BD415ABB1432315A4594C92CC021135F116B7F92DEA0 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:245:0:-:0;;;155:146;;;;;;;;;;;;;;;;;;;;;:::i;:::-;232:6;224:5;;:14;;;;;;;;;;;;;;;;;;256:6;248:5;:14;;;;;;;;;;;;:::i;:::-;;289:4;272:6;;:22;;;;;;;;;;;;;;;;;;155:146;;58:245;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::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: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:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:117::-;954:1;951;944:12;968:117;1077:1;1074;1067:12;1091:102;1132:6;1183:2;1179:7;1174:2;1167:5;1163:14;1159:28;1149:38;;1091:102;;;:::o;1199:180::-;1247:77;1244:1;1237:88;1344:4;1341:1;1334:15;1368:4;1365:1;1358:15;1385:281;1468:27;1490:4;1468:27;:::i;:::-;1460:6;1456:40;1598:6;1586:10;1583:22;1562:18;1550:10;1547:34;1544:62;1541:88;;;1609:18;;:::i;:::-;1541:88;1649:10;1645:2;1638:22;1428:238;1385:281;;:::o;1672:129::-;1706:6;1733:20;;:::i;:::-;1723:30;;1762:33;1790:4;1782:6;1762:33;:::i;:::-;1672:129;;;:::o;1807:308::-;1869:4;1959:18;1951:6;1948:30;1945:56;;;1981:18;;:::i;:::-;1945:56;2019:29;2041:6;2019:29;:::i;:::-;2011:37;;2103:4;2097;2093:15;2085:23;;1807:308;;;:::o;2121:307::-;2189:1;2199:113;2213:6;2210:1;2207:13;2199:113;;;2298:1;2293:3;2289:11;2283:18;2279:1;2274:3;2270:11;2263:39;2235:2;2232:1;2228:10;2223:15;;2199:113;;;2330:6;2327:1;2324:13;2321:101;;;2410:1;2401:6;2396:3;2392:16;2385:27;2321:101;2170:258;2121:307;;;:::o;2434:421::-;2523:5;2548:66;2564:49;2606:6;2564:49;:::i;:::-;2548:66;:::i;:::-;2539:75;;2637:6;2630:5;2623:21;2675:4;2668:5;2664:16;2713:3;2704:6;2699:3;2695:16;2692:25;2689:112;;;2720:79;;:::i;:::-;2689:112;2810:39;2842:6;2837:3;2832;2810:39;:::i;:::-;2529:326;2434:421;;;;;:::o;2875:355::-;2942:5;2991:3;2984:4;2976:6;2972:17;2968:27;2958:122;;2999:79;;:::i;:::-;2958:122;3109:6;3103:13;3134:90;3220:3;3212:6;3205:4;3197:6;3193:17;3134:90;:::i;:::-;3125:99;;2948:282;2875:355;;;;:::o;3236:680::-;3325:6;3333;3382:2;3370:9;3361:7;3357:23;3353:32;3350:119;;;3388:79;;:::i;:::-;3350:119;3508:1;3533:64;3589:7;3580:6;3569:9;3565:22;3533:64;:::i;:::-;3523:74;;3479:128;3667:2;3656:9;3652:18;3646:25;3698:18;3690:6;3687:30;3684:117;;;3720:79;;:::i;:::-;3684:117;3825:74;3891:7;3882:6;3871:9;3867:22;3825:74;:::i;:::-;3815:84;;3617:292;3236:680;;;;;:::o;3922:180::-;3970:77;3967:1;3960:88;4067:4;4064:1;4057:15;4091:4;4088:1;4081:15;4108:320;4152:6;4189:1;4183:4;4179:12;4169:22;;4236:1;4230:4;4226:12;4257:18;4247:81;;4313:4;4305:6;4301:17;4291:27;;4247:81;4375:2;4367:6;4364:14;4344:18;4341:38;4338:84;;4394:18;;:::i;:::-;4338:84;4159:269;4108:320;;;:::o;58:245:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@carAdd_7": {
"entryPoint": 302,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@model_5": {
"entryPoint": 160,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_3": {
"entryPoint": 340,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 613,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 472,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 628,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 529,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 376,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 387,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 595,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 563,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 404,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 702,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 655,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 455,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2492:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "336:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "346:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "355:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "350:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "415:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "440:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "445:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "436:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "459:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "464:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:1"
},
"nodeType": "YulFunctionCall",
"src": "455:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "449:5:1"
},
"nodeType": "YulFunctionCall",
"src": "449:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "429:6:1"
},
"nodeType": "YulFunctionCall",
"src": "429:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "429:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "376:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "379:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "373:2:1"
},
"nodeType": "YulFunctionCall",
"src": "373:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "387:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "398:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "401:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "394:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "389:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "369:3:1",
"statements": []
},
"src": "365:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "512:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "567:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "558:3:1"
},
"nodeType": "YulFunctionCall",
"src": "558:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "576:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "551:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "551:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "493:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "496:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "490:2:1"
},
"nodeType": "YulFunctionCall",
"src": "490:13:1"
},
"nodeType": "YulIf",
"src": "487:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "318:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "323:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "328:6:1",
"type": ""
}
],
"src": "287:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "648:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "658:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "683:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "672:3:1"
},
"nodeType": "YulFunctionCall",
"src": "672:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "688:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "668:3:1"
},
"nodeType": "YulFunctionCall",
"src": "668:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "658:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "631:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "641:6:1",
"type": ""
}
],
"src": "600:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "800:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "810:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "857:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "824:32:1"
},
"nodeType": "YulFunctionCall",
"src": "824:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "814:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "872:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "879:58:1"
},
"nodeType": "YulFunctionCall",
"src": "879:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "872:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "992:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "981:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "999:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "959:21:1"
},
"nodeType": "YulFunctionCall",
"src": "959:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "959:52:1"
},
{
"nodeType": "YulAssignment",
"src": "1020:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1058:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1036:21:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1020:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "781:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "796:3:1",
"type": ""
}
],
"src": "708:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1196:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1206:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1218:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1229:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1214:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1214:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1206:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1253:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1264:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1249:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1272:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1278:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1268:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1242:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1242:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1242:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1298:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1370:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1379:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1306:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1306:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1298:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1168:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1180:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1191:4:1",
"type": ""
}
],
"src": "1078:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1442:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1452:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1467:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1474:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1463:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1463:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1452:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1424:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1434:7:1",
"type": ""
}
],
"src": "1397:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1574:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1584:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1613:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1595:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1595:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1584:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1556:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1566:7:1",
"type": ""
}
],
"src": "1529:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1696:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1713:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1736:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1718:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1718:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1706:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1706:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1706:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1684:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1691:3:1",
"type": ""
}
],
"src": "1631:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1853:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1863:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1875:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1886:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1871:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1871:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1863:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1943:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1956:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1967:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1952:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1952:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1899:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1899:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1899:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1825:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1837:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1848:4:1",
"type": ""
}
],
"src": "1755:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2011:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2028:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2031:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2021:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2021:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2021:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2125:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2128:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2118:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2118:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2118:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2149:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2152:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2142:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2142:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2142:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "1983:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2220:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2230:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2244:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2250:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2240:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2230:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2261:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2291:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2297:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2287:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2287:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "2265:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2338:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2352:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2366:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2374:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2362:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2362:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2352:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2318:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2311:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2311:26:1"
},
"nodeType": "YulIf",
"src": "2308:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2441:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "2455:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2455:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2455:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2405:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2428:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2436:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2425:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2402:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2402:38:1"
},
"nodeType": "YulIf",
"src": "2399:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2204:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2213:6:1",
"type": ""
}
],
"src": "2169:320:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function 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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80630ad9d0521461004657806389e18495146100645780638da5cb5b14610082575b600080fd5b61004e6100a0565b60405161005b9190610211565b60405180910390f35b61006c61012e565b6040516100799190610274565b60405180910390f35b61008a610154565b6040516100979190610274565b60405180910390f35b600180546100ad906102be565b80601f01602080910402602001604051908101604052809291908181526020018280546100d9906102be565b80156101265780601f106100fb57610100808354040283529160200191610126565b820191906000526020600020905b81548152906001019060200180831161010957829003601f168201915b505050505081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081519050919050565b600082825260208201905092915050565b60005b838110156101b2578082015181840152602081019050610197565b838111156101c1576000848401525b50505050565b6000601f19601f8301169050919050565b60006101e382610178565b6101ed8185610183565b93506101fd818560208601610194565b610206816101c7565b840191505092915050565b6000602082019050818103600083015261022b81846101d8565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061025e82610233565b9050919050565b61026e81610253565b82525050565b60006020820190506102896000830184610265565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806102d657607f821691505b6020821081036102e9576102e861028f565b5b5091905056fea26469706673582212201b3ed4352b79feb75b52bd415abb1432315a4594c92cc021135f116b7f92dea064736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAD9D052 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x89E18495 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x211 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x6C PUSH2 0x12E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8A PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0xAD SWAP1 PUSH2 0x2BE 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 0xD9 SWAP1 PUSH2 0x2BE JUMP JUMPDEST DUP1 ISZERO PUSH2 0x126 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x126 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x109 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x197 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1C1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3 DUP3 PUSH2 0x178 JUMP JUMPDEST PUSH2 0x1ED DUP2 DUP6 PUSH2 0x183 JUMP JUMPDEST SWAP4 POP PUSH2 0x1FD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x194 JUMP JUMPDEST PUSH2 0x206 DUP2 PUSH2 0x1C7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x22B DUP2 DUP5 PUSH2 0x1D8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25E DUP3 PUSH2 0x233 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x253 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x289 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x265 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x2D6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2E9 JUMPI PUSH2 0x2E8 PUSH2 0x28F JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHL RETURNDATACOPY 0xD4 CALLDATALOAD 0x2B PUSH26 0xFEB75B52BD415ABB1432315A4594C92CC021135F116B7F92DEA0 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:245:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;102:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;128:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;76:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;128:21::-;;;;;;;;;;;;;:::o;76:20::-;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:126::-;1434:7;1474:42;1467:5;1463:54;1452:65;;1397:126;;;:::o;1529:96::-;1566:7;1595:24;1613:5;1595:24;:::i;:::-;1584:35;;1529:96;;;:::o;1631:118::-;1718:24;1736:5;1718:24;:::i;:::-;1713:3;1706:37;1631:118;;:::o;1755:222::-;1848:4;1886:2;1875:9;1871:18;1863:26;;1899:71;1967:1;1956:9;1952:17;1943:6;1899:71;:::i;:::-;1755:222;;;;:::o;1983:180::-;2031:77;2028:1;2021:88;2128:4;2125:1;2118:15;2152:4;2149:1;2142:15;2169:320;2213:6;2250:1;2244:4;2240:12;2230:22;;2297:1;2291:4;2287:12;2318:18;2308:81;;2374:4;2366:6;2362:17;2352:27;;2308:81;2436:2;2428:6;2425:14;2405:18;2402:38;2399:84;;2455:18;;:::i;:::-;2399:84;2220:269;2169:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "161000",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"carAdd()": "2514",
"model()": "infinite",
"owner()": "2533"
}
},
"methodIdentifiers": {
"carAdd()": "89e18495",
"model()": "0ad9d052",
"owner()": "8da5cb5b"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "string",
"name": "_model",
"type": "string"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [],
"name": "carAdd",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "model",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "string",
"name": "_model",
"type": "string"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [],
"name": "carAdd",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "model",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"carContract.sol": "Car"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"carContract.sol": {
"keccak256": "0xb672959daba980feb5d46c63e194dd6a747dd535b6310b32dab7eb3a50e4466b",
"license": "MIT",
"urls": [
"bzz-raw://0407417637f2ffda1ca3365ce2940b5b9174898346e6c5db63b11e627a532a74",
"dweb:/ipfs/QmWLK3coKw2MLW3LAaE5ARLFGz6vrEMrAGLSUkCHpMC9c9"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122080717db4f5f14b68342364ae5c52c6fc18a0ae6865c4391ab4b36f9c907d508964736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 PUSH18 0x7DB4F5F14B68342364AE5C52C6FC18A0AE68 PUSH6 0xC4391AB4B36F SWAP13 SWAP1 PUSH30 0x508964736F6C634300080D00330000000000000000000000000000000000 ",
"sourceMap": "58:20:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122080717db4f5f14b68342364ae5c52c6fc18a0ae6865c4391ab4b36f9c907d508964736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 PUSH18 0x7DB4F5F14B68342364AE5C52C6FC18A0AE68 PUSH6 0xC4391AB4B36F SWAP13 SWAP1 PUSH30 0x508964736F6C634300080D00330000000000000000000000000000000000 ",
"sourceMap": "58:20:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Co"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0x15d5ba9d601c19009bc115b96103ad4fe2d6a1583bc3fd13296449ca4ca71146",
"license": "MIT",
"urls": [
"bzz-raw://cd2e999188c0523ec0d501f54e1d214097552f14574d579aaa698e8738b2ab29",
"dweb:/ipfs/QmPtUA5sMLuZgWnu5z6dBqUiZAnNQiUUCxSsfsTW3RjpSE"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212200568975c08b55a663eabf1c605133269ac80059e8f35e8ee0cd7f5e6bc13abc864736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV PUSH9 0x975C08B55A663EABF1 0xC6 SDIV SGT ORIGIN PUSH10 0xAC80059E8F35E8EE0CD7 CREATE2 0xE6 0xBC SGT 0xAB 0xC8 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:26:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212200568975c08b55a663eabf1c605133269ac80059e8f35e8ee0cd7f5e6bc13abc864736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV PUSH9 0x975C08B55A663EABF1 0xC6 SDIV SGT ORIGIN PUSH10 0xAC80059E8F35E8EE0CD7 CREATE2 0xE6 0xBC SGT 0xAB 0xC8 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:26:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Constant"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0x614b08db4e4a67a4bca759eb8921ebf1e566304be1c06b2706b9e0d62b5053cf",
"license": "MIT",
"urls": [
"bzz-raw://f3cbae5e5480475f1e0de99ba7571158e4817627b53161d9217ea2f5bcdf7322",
"dweb:/ipfs/QmeXFcS9QUSUmw7hvd7Ud2JHuv5uesB4cbGGubivwqfkUp"
]
}
},
"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": "608060405234801561001057600080fd5b5061012b806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80632db78e59146037578063f13a38a6146051575b600080fd5b603d606b565b6040516048919060dc565b60405180910390f35b60576083565b6040516062919060dc565b60405180910390f35b735b38da6a701c568545dcfcb03fcb875f56beddc481565b6000735b38da6a701c568545dcfcb03fcb875f56beddc4905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060c882609f565b9050919050565b60d68160bf565b82525050565b600060208201905060ef600083018460cf565b9291505056fea26469706673582212203d09c5d54fa46d11c250e766b8df7593a9cb226b84a5375c2a306b7c42f73a2c64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12B DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2DB78E59 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xF13A38A6 EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x83 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x62 SWAP2 SWAP1 PUSH1 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC8 DUP3 PUSH1 0x9F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xD6 DUP2 PUSH1 0xBF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xEF PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE MULMOD 0xC5 0xD5 0x4F LOG4 PUSH14 0x11C250E766B8DF7593A9CB226B84 0xA5 CALLDATACOPY 0x5C 0x2A ADDRESS PUSH12 0x7C42F73A2C64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:284:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MY_ADDR_4": {
"entryPoint": 107,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@getConstant_12": {
"entryPoint": 131,
"id": 12,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 207,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 220,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 191,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 159,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:590:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
}
]
},
"contents": "{\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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060325760003560e01c80632db78e59146037578063f13a38a6146051575b600080fd5b603d606b565b6040516048919060dc565b60405180910390f35b60576083565b6040516062919060dc565b60405180910390f35b735b38da6a701c568545dcfcb03fcb875f56beddc481565b6000735b38da6a701c568545dcfcb03fcb875f56beddc4905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060c882609f565b9050919050565b60d68160bf565b82525050565b600060208201905060ef600083018460cf565b9291505056fea26469706673582212203d09c5d54fa46d11c250e766b8df7593a9cb226b84a5375c2a306b7c42f73a2c64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2DB78E59 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0xF13A38A6 EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x83 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x62 SWAP2 SWAP1 PUSH1 0xDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC8 DUP3 PUSH1 0x9F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xD6 DUP2 PUSH1 0xBF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xEF PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATASIZE MULMOD 0xC5 0xD5 0x4F LOG4 PUSH14 0x11C250E766B8DF7593A9CB226B84 0xA5 CALLDATACOPY 0x5C 0x2A ADDRESS PUSH12 0x7C42F73A2C64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:284:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;158:76;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;241:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;158:76;192:42;158:76;:::o;241:99::-;285:7;192:42;303:14;;241:99;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "59800",
"executionCost": "111",
"totalCost": "59911"
},
"external": {
"MY_ADDR()": "356",
"getConstant()": "386"
}
},
"methodIdentifiers": {
"MY_ADDR()": "2db78e59",
"getConstant()": "f13a38a6"
}
},
"abi": [
{
"inputs": [],
"name": "MY_ADDR",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getConstant",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "MY_ADDR",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getConstant",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Constants"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0x8dd18116fe4aea99fc95f038f3be6d7d0998b97f7b7ecef0c7e9c79dde234d68",
"license": "MIT",
"urls": [
"bzz-raw://b676fa6cbf9ff4e308dc8207f9031eb95dcffd75b66467972cf232fd6788b653",
"dweb:/ipfs/Qmdc2gDcLCcu6Xm2AJ1cyLqjWNRSSJHDxP6FoSRgqQpnYM"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220d07a6a478ecf84c9a3cb268cf05810bb0bd3eec2b72b61fd0f1b4bded40bcb3a64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 PUSH27 0x6A478ECF84C9A3CB268CF05810BB0BD3EEC2B72B61FD0F1B4BDED4 SIGNEXTEND 0xCB GASPRICE PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:25:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220d07a6a478ecf84c9a3cb268cf05810bb0bd3eec2b72b61fd0f1b4bded40bcb3a64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD0 PUSH27 0x6A478ECF84C9A3CB268CF05810BB0BD3EEC2B72B61FD0F1B4BDED4 SIGNEXTEND 0xCB GASPRICE PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:25:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Constat"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0x1093a091fc8a682c70f874228ee2860a986c47fb7c652dda9ad15616c4b45b2b",
"license": "MIT",
"urls": [
"bzz-raw://717c914bb117e5ea122745e18a15214b56ba6cbd72e88aa540d7676a126b88f2",
"dweb:/ipfs/QmQZUVEiDtfSBHsevL6sBFzSBNttsKjU1LBxASu5VQXX3P"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209e501c4044b309618cb4809ce7d6b548d04b401365ff48ae4e7cb792d1e2a3e664736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 POP SHR BLOCKHASH DIFFICULTY 0xB3 MULMOD PUSH2 0x8CB4 DUP1 SWAP13 0xE7 0xD6 0xB5 BASEFEE 0xD0 0x4B BLOCKHASH SGT PUSH6 0xFF48AE4E7CB7 SWAP3 0xD1 0xE2 LOG3 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:26:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212209e501c4044b309618cb4809ce7d6b548d04b401365ff48ae4e7cb792d1e2a3e664736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 POP SHR BLOCKHASH DIFFICULTY 0xB3 MULMOD PUSH2 0x8CB4 DUP1 SWAP13 0xE7 0xD6 0xB5 BASEFEE 0xD0 0x4B BLOCKHASH SGT PUSH6 0xFF48AE4E7CB7 SWAP3 0xD1 0xE2 LOG3 0xE6 PUSH5 0x736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "58:26:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Constatn"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0xccbb493c2fda155707a3467b85a4ba3b511e6dbfce221533c19f52da31bb719a",
"license": "MIT",
"urls": [
"bzz-raw://57a162bf8cf5f64c8bb383591122bc81bd21c5d963b7b3a572370a42e1c4d298",
"dweb:/ipfs/QmYcaQakEzKr4oRjgE1fQQubERmZhAK3DMn2g7Bj5eST5r"
]
}
},
"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": "608060405234801561001057600080fd5b50610173806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306661abd1461003b578063d09de08a14610059575b600080fd5b610043610063565b604051610050919061009d565b60405180910390f35b610061610069565b005b60005481565b600160008082825461007b91906100e7565b92505081905550565b6000819050919050565b61009781610084565b82525050565b60006020820190506100b2600083018461008e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f282610084565b91506100fd83610084565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610132576101316100b8565b5b82820190509291505056fea2646970667358221220a56b28a7ee3a30fb7f92ef81b8a1237566d4a9d2fe779b45c3c559c4b8c39a6464736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x173 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x69 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x97 DUP2 PUSH2 0x84 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF2 DUP3 PUSH2 0x84 JUMP JUMPDEST SWAP2 POP PUSH2 0xFD DUP4 PUSH2 0x84 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x132 JUMPI PUSH2 0x131 PUSH2 0xB8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 PUSH12 0x28A7EE3A30FB7F92EF81B8A1 0x23 PUSH22 0x66D4A9D2FE779B45C3C559C4B8C39A6464736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "7175:104:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@count_3": {
"entryPoint": 99,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"@increment_11": {
"entryPoint": 105,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 142,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 157,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 231,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 132,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 184,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:936:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "470:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "487:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "490:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "480:6:1"
},
"nodeType": "YulFunctionCall",
"src": "480:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "480:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "577:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "577:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "608:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "611:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "601:6:1"
},
"nodeType": "YulFunctionCall",
"src": "601:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "601:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "442:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "672:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "682:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "705:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "687:17:1"
},
"nodeType": "YulFunctionCall",
"src": "687:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "682:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "716:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "739:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "721:17:1"
},
"nodeType": "YulFunctionCall",
"src": "721:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "716:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "879:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "881:16:1"
},
"nodeType": "YulFunctionCall",
"src": "881:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "881:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "800:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "807:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "875:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "803:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "797:2:1"
},
"nodeType": "YulFunctionCall",
"src": "797:81:1"
},
"nodeType": "YulIf",
"src": "794:107:1"
},
{
"nodeType": "YulAssignment",
"src": "911:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "922:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "925:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "918:3:1"
},
"nodeType": "YulFunctionCall",
"src": "918:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "911:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "659:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "662:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "668:3:1",
"type": ""
}
],
"src": "628:305: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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c806306661abd1461003b578063d09de08a14610059575b600080fd5b610043610063565b604051610050919061009d565b60405180910390f35b610061610069565b005b60005481565b600160008082825461007b91906100e7565b92505081905550565b6000819050919050565b61009781610084565b82525050565b60006020820190506100b2600083018461008e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100f282610084565b91506100fd83610084565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610132576101316100b8565b5b82820190509291505056fea2646970667358221220a56b28a7ee3a30fb7f92ef81b8a1237566d4a9d2fe779b45c3c559c4b8c39a6464736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6661ABD EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xD09DE08A EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x69 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x7B SWAP2 SWAP1 PUSH2 0xE7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x97 DUP2 PUSH2 0x84 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xF2 DUP3 PUSH2 0x84 JUMP JUMPDEST SWAP2 POP PUSH2 0xFD DUP4 PUSH2 0x84 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x132 JUMPI PUSH2 0x131 PUSH2 0xB8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 PUSH12 0x28A7EE3A30FB7F92EF81B8A1 0x23 PUSH22 0x66D4A9D2FE779B45C3C559C4B8C39A6464736F6C6343 STOP ADDMOD 0xD STOP CALLER ",
"sourceMap": "7175:104:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7198:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7221:56;;;:::i;:::-;;7198:17;;;;:::o;7221:56::-;7269:1;7261:5;;:9;;;;;;;:::i;:::-;;;;;;;;7221:56::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;442:180::-;490:77;487:1;480:88;587:4;584:1;577:15;611:4;608:1;601:15;628:305;668:3;687:20;705:1;687:20;:::i;:::-;682:25;;721:20;739:1;721:20;:::i;:::-;716:25;;875:1;807:66;803:74;800:1;797:81;794:107;;;881:18;;:::i;:::-;794:107;925:1;922;918:9;911:16;;628:305;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "74200",
"executionCost": "123",
"totalCost": "74323"
},
"external": {
"count()": "2407",
"increment()": "infinite"
}
},
"methodIdentifiers": {
"count()": "06661abd",
"increment()": "d09de08a"
}
},
"abi": [
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "count",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "Counter"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x4a95d8f5e1de7a34714f02089baa8e67d53af59bda223c82163b0e6600cd7521",
"license": "MIT",
"urls": [
"bzz-raw://a1f1dfb1cfda1094b65b68d3f61e787d688075e3d4636a8a6bcfe2a36dbd6e7d",
"dweb:/ipfs/QmSm9GzFKip2CkKUfreqEFnG65WakaS177h34itYq4eiBu"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212200c441ba48bf7d3a23551b5fcf905efc29688bf8a82f34ae99f071d249d11e07764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC DIFFICULTY SHL LOG4 DUP12 0xF7 0xD3 LOG2 CALLDATALOAD MLOAD 0xB5 0xFC 0xF9 SDIV 0xEF 0xC2 SWAP7 DUP9 0xBF DUP11 DUP3 RETURN 0x4A 0xE9 SWAP16 SMOD SAR 0x24 SWAP14 GT 0xE0 PUSH24 0x64736F6C634300080D003300000000000000000000000000 ",
"sourceMap": "58:20:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212200c441ba48bf7d3a23551b5fcf905efc29688bf8a82f34ae99f071d249d11e07764736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC DIFFICULTY SHL LOG4 DUP12 0xF7 0xD3 LOG2 CALLDATALOAD MLOAD 0xB5 0xFC 0xF9 SDIV 0xEF 0xC2 SWAP7 DUP9 0xBF DUP11 DUP3 RETURN 0x4A 0xE9 SWAP16 SMOD SAR 0x24 SWAP14 GT 0xE0 PUSH24 0x64736F6C634300080D003300000000000000000000000000 ",
"sourceMap": "58:20:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"constant.sol": "Cp"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"constant.sol": {
"keccak256": "0x03d72a05bd4417c25625c405eb40f9227c98922cad1f0697295cab9c05a22b8c",
"license": "MIT",
"urls": [
"bzz-raw://cb990c4f80cf2b7e9e665c9b0f55a2b101195a087a1df2afcc2683e552befb5c",
"dweb:/ipfs/QmZZTSQ2QXFoyoyShDWSc6ZiiZdvKR7q5UxwTnDyNB9CkU"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a1a47bec4d7c20e9ea9422bfa583d312a4dbf3778657dfda2231ef781e4d054e64736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 LOG4 PUSH28 0xEC4D7C20E9EA9422BFA583D312A4DBF3778657DFDA2231EF781E4D05 0x4E PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:22:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220a1a47bec4d7c20e9ea9422bfa583d312a4dbf3778657dfda2231ef781e4d054e64736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 LOG4 PUSH28 0xEC4D7C20E9EA9422BFA583D312A4DBF3778657DFDA2231EF781E4D05 0x4E PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:22:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.9+commit.e5eed63a"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"CrowdFunding.sol": "Crow"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"CrowdFunding.sol": {
"keccak256": "0xfa1adf5169b7a8c5eef91ef6717bde04b8e4322639a3e5976d96a874e78057b1",
"license": "UNLICENSED",
"urls": [
"bzz-raw://b480906a43d02d743c6ebf63389d6ead5d9b465d604084700a2c33a54eef464b",
"dweb:/ipfs/QmRNK5rapGHHCazMD2EM4AeW7X2MmXCeRu8XUxjk57nRaB"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212207ab244c133fe08591ce13724504e86a4a0a0e628df12e1d8dce97353da86b7a464736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH27 0xB244C133FE08591CE13724504E86A4A0A0E628DF12E1D8DCE97353 0xDA DUP7 0xB7 LOG4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:23:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212207ab244c133fe08591ce13724504e86a4a0a0e628df12e1d8dce97353da86b7a464736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH27 0xB244C133FE08591CE13724504E86A4A0A0E628DF12E1D8DCE97353 0xDA DUP7 0xB7 LOG4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:23:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.9+commit.e5eed63a"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"CrowdFunding.sol": "Crowd"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"CrowdFunding.sol": {
"keccak256": "0x4e0ba84e731731feb843ec1a1b6b4bccf9b7a0943b12409d263c325b31f26f62",
"license": "UNLICENSED",
"urls": [
"bzz-raw://dfed16f0c79cb2f35a08e0fcb130e025ec4237c07f6c0ed837595b3832567dc8",
"dweb:/ipfs/QmVQfKNDGPdfWB5cPj1AEbDi2uHYKRpGoYCGyh3jmf7zbp"
]
}
},
"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": "6080604052600060015534801561001557600080fd5b506109f8806100256000396000f3fe6080604052600436106100345760003560e01c8063ae73c8f014610039578063cbc261d714610055578063f20f600614610097575b600080fd5b610053600480360381019061004e919061046f565b6100d4565b005b34801561006157600080fd5b5061007c6004803603810190610077919061046f565b6100f4565b60405161008e96959493929190610585565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190610755565b610260565b6040516100cb9190610808565b60405180910390f35b600034905060008060008481526020019081526020016000209050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461013d90610852565b80601f016020809104026020016040519081016040528092919081815260200182805461016990610852565b80156101b65780601f1061018b576101008083540402835291602001916101b6565b820191906000526020600020905b81548152906001019060200180831161019957829003601f168201915b5050505050908060020180546101cb90610852565b80601f01602080910402602001604051908101604052809291908181526020018280546101f790610852565b80156102445780601f1061021957610100808354040283529160200191610244565b820191906000526020600020905b81548152906001019060200180831161022757829003601f168201915b5050505050908060030154908060040154908060050154905086565b60008060008060015481526020019081526020016000209050428160040154106102bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b6906108f6565b60405180910390fd5b868160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508581600101908051906020019061031a929190610382565b5084816002019080519060200190610333929190610382565b50838160030181905550828160040181905550600081600501819055506001600081548092919061036390610945565b919050555060018054610376919061098e565b91505095945050505050565b82805461038e90610852565b90600052602060002090601f0160209004810192826103b057600085556103f7565b82601f106103c957805160ff19168380011785556103f7565b828001600101855582156103f7579182015b828111156103f65782518255916020019190600101906103db565b5b5090506104049190610408565b5090565b5b80821115610421576000816000905550600101610409565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61044c81610439565b811461045757600080fd5b50565b60008135905061046981610443565b92915050565b6000602082840312156104855761048461042f565b5b60006104938482850161045a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104c78261049c565b9050919050565b6104d7816104bc565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156105175780820151818401526020810190506104fc565b83811115610526576000848401525b50505050565b6000601f19601f8301169050919050565b6000610548826104dd565b61055281856104e8565b93506105628185602086016104f9565b61056b8161052c565b840191505092915050565b61057f81610439565b82525050565b600060c08201905061059a60008301896104ce565b81810360208301526105ac818861053d565b905081810360408301526105c0818761053d565b90506105cf6060830186610576565b6105dc6080830185610576565b6105e960a0830184610576565b979650505050505050565b6105fd816104bc565b811461060857600080fd5b50565b60008135905061061a816105f4565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106628261052c565b810181811067ffffffffffffffff821117156106815761068061062a565b5b80604052505050565b6000610694610425565b90506106a08282610659565b919050565b600067ffffffffffffffff8211156106c0576106bf61062a565b5b6106c98261052c565b9050602081019050919050565b82818337600083830152505050565b60006106f86106f3846106a5565b61068a565b90508281526020810184848401111561071457610713610625565b5b61071f8482856106d6565b509392505050565b600082601f83011261073c5761073b610620565b5b813561074c8482602086016106e5565b91505092915050565b600080600080600060a086880312156107715761077061042f565b5b600061077f8882890161060b565b955050602086013567ffffffffffffffff8111156107a05761079f610434565b5b6107ac88828901610727565b945050604086013567ffffffffffffffff8111156107cd576107cc610434565b5b6107d988828901610727565b93505060606107ea8882890161045a565b92505060806107fb8882890161045a565b9150509295509295909350565b600060208201905061081d6000830184610576565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061086a57607f821691505b6020821081141561087e5761087d610823565b5b50919050565b7f54686520646561646c696e652073686f756c642062652061206461746520696e60008201527f2066757475726500000000000000000000000000000000000000000000000000602082015250565b60006108e06027836104e8565b91506108eb82610884565b604082019050919050565b6000602082019050818103600083015261090f816108d3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061095082610439565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561098357610982610916565b5b600182019050919050565b600061099982610439565b91506109a483610439565b9250828210156109b7576109b6610916565b5b82820390509291505056fea2646970667358221220413e65d272addf7cf48cd9f2192077e0e91c18da47b6b0039ddadfbdd08682a664736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9F8 DUP1 PUSH2 0x25 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAE73C8F0 EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xCBC261D7 EQ PUSH2 0x55 JUMPI DUP1 PUSH4 0xF20F6006 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x46F JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x46F JUMP JUMPDEST PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8E SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x585 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x755 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x808 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 CALLVALUE SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x13D SWAP1 PUSH2 0x852 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 0x169 SWAP1 PUSH2 0x852 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x18B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x199 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1CB SWAP1 PUSH2 0x852 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 0x1F7 SWAP1 PUSH2 0x852 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x244 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x219 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x244 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x227 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 POP DUP7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP TIMESTAMP DUP2 PUSH1 0x4 ADD SLOAD LT PUSH2 0x2BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B6 SWAP1 PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP7 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x31A SWAP3 SWAP2 SWAP1 PUSH2 0x382 JUMP JUMPDEST POP DUP5 DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x333 SWAP3 SWAP2 SWAP1 PUSH2 0x382 JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x5 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x363 SWAP1 PUSH2 0x945 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 DUP1 SLOAD PUSH2 0x376 SWAP2 SWAP1 PUSH2 0x98E JUMP JUMPDEST SWAP2 POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x38E SWAP1 PUSH2 0x852 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x3B0 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x3F7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x3C9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3DB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x404 SWAP2 SWAP1 PUSH2 0x408 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x421 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x409 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44C DUP2 PUSH2 0x439 JUMP JUMPDEST DUP2 EQ PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x469 DUP2 PUSH2 0x443 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x485 JUMPI PUSH2 0x484 PUSH2 0x42F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x493 DUP5 DUP3 DUP6 ADD PUSH2 0x45A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C7 DUP3 PUSH2 0x49C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4D7 DUP2 PUSH2 0x4BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x517 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4FC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x526 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x548 DUP3 PUSH2 0x4DD JUMP JUMPDEST PUSH2 0x552 DUP2 DUP6 PUSH2 0x4E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x562 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4F9 JUMP JUMPDEST PUSH2 0x56B DUP2 PUSH2 0x52C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x57F DUP2 PUSH2 0x439 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x59A PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x4CE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x5AC DUP2 DUP9 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x5C0 DUP2 DUP8 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP PUSH2 0x5CF PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x576 JUMP JUMPDEST PUSH2 0x5DC PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x576 JUMP JUMPDEST PUSH2 0x5E9 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x576 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5FD DUP2 PUSH2 0x4BC JUMP JUMPDEST DUP2 EQ PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x61A DUP2 PUSH2 0x5F4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x662 DUP3 PUSH2 0x52C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x681 JUMPI PUSH2 0x680 PUSH2 0x62A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x694 PUSH2 0x425 JUMP JUMPDEST SWAP1 POP PUSH2 0x6A0 DUP3 DUP3 PUSH2 0x659 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C0 JUMPI PUSH2 0x6BF PUSH2 0x62A JUMP JUMPDEST JUMPDEST PUSH2 0x6C9 DUP3 PUSH2 0x52C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F8 PUSH2 0x6F3 DUP5 PUSH2 0x6A5 JUMP JUMPDEST PUSH2 0x68A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x714 JUMPI PUSH2 0x713 PUSH2 0x625 JUMP JUMPDEST JUMPDEST PUSH2 0x71F DUP5 DUP3 DUP6 PUSH2 0x6D6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x73C JUMPI PUSH2 0x73B PUSH2 0x620 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x74C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x6E5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x771 JUMPI PUSH2 0x770 PUSH2 0x42F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x77F DUP9 DUP3 DUP10 ADD PUSH2 0x60B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7A0 JUMPI PUSH2 0x79F PUSH2 0x434 JUMP JUMPDEST JUMPDEST PUSH2 0x7AC DUP9 DUP3 DUP10 ADD PUSH2 0x727 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7CD JUMPI PUSH2 0x7CC PUSH2 0x434 JUMP JUMPDEST JUMPDEST PUSH2 0x7D9 DUP9 DUP3 DUP10 ADD PUSH2 0x727 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x7EA DUP9 DUP3 DUP10 ADD PUSH2 0x45A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x7FB DUP9 DUP3 DUP10 ADD PUSH2 0x45A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x81D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x576 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x86A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x87E JUMPI PUSH2 0x87D PUSH2 0x823 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686520646561646C696E652073686F756C642062652061206461746520696E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2066757475726500000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E0 PUSH1 0x27 DUP4 PUSH2 0x4E8 JUMP JUMPDEST SWAP2 POP PUSH2 0x8EB DUP3 PUSH2 0x884 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x90F DUP2 PUSH2 0x8D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x950 DUP3 PUSH2 0x439 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x983 JUMPI PUSH2 0x982 PUSH2 0x916 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x999 DUP3 PUSH2 0x439 JUMP JUMPDEST SWAP2 POP PUSH2 0x9A4 DUP4 PUSH2 0x439 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x9B7 JUMPI PUSH2 0x9B6 PUSH2 0x916 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE RETURNDATACOPY PUSH6 0xD272ADDF7CF4 DUP13 0xD9 CALLCODE NOT KECCAK256 PUSH24 0xE0E91C18DA47B6B0039DDADFBDD08682A664736F6C634300 ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:1068:0:-:0;;;348:1;321:28;;64:1068;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@compaigns_19": {
"entryPoint": 244,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"@createCompaign_97": {
"entryPoint": 608,
"id": 97,
"parameterSlots": 5,
"returnSlots": 1
},
"@donateToCompaign_115": {
"entryPoint": 212,
"id": 115,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1765,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1547,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1831,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1114,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256": {
"entryPoint": 1877,
"id": null,
"parameterSlots": 2,
"returnSlots": 5
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1135,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1230,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1341,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2259,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1398,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 1413,
"id": null,
"parameterSlots": 7,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2294,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2056,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1674,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1061,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1701,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1245,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2446,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1212,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1081,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1750,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1273,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 2130,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1625,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 2373,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 2326,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2083,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1578,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1568,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1573,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1076,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1071,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1324,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba": {
"entryPoint": 2180,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1524,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1091,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9585:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1095:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1102:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1091:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1202:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1212:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1241:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1223:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1223:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1212:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1184:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1194:7:1",
"type": ""
}
],
"src": "1157:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1346:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:1",
"type": ""
}
],
"src": "1259:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1442:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1453:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1469:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1463:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1463:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1453:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1425:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1435:6:1",
"type": ""
}
],
"src": "1383:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1584:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1601:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1606:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1594:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1594:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1594:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1622:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1641:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1646:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1637:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1637:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1622:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1556:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1561:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1572:11:1",
"type": ""
}
],
"src": "1488:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1712:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1722:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1731:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1726:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1791:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1816:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1821:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1812:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1812:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1835:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1840:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1831:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1831:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1825:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1825:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1805:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1805:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1805:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1752:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1755:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1749:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1749:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1763:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1765:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1774:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1777:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1770:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1770:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1765:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1745:3:1",
"statements": []
},
"src": "1741:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1888:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1938:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1943:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1934:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1934:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1952:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1927:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1927:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1927:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1869:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1872:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1866:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1866:13:1"
},
"nodeType": "YulIf",
"src": "1863:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1694:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1699:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1704:6:1",
"type": ""
}
],
"src": "1663:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2024:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2034:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2052:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2059:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2048:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2048:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2068:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2064:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2064:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2044:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "2034:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2007:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "2017:6:1",
"type": ""
}
],
"src": "1976:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2176:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2186:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2233:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2200:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2200:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2190:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2248:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2314:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2319:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2255:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2255:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2248:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2361:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2368:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2357:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2357:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2375:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2380:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2335:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2335:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2335:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2396:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2407:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2434:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2412:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2412:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2403:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2403:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2396:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2157:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2164:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2172:3:1",
"type": ""
}
],
"src": "2084:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2519:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2536:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2559:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2541:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2541:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2529:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2529:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2529:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2507:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2514:3:1",
"type": ""
}
],
"src": "2454:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2856:679:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2866:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2878:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2889:3:1",
"type": "",
"value": "192"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2874:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2874:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2866:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2947:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2960:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2971:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2956:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2956:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2903:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2903:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2903:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2995:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3006:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2991:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2991:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3015:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3021:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3011:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3011:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2984:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2984:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2984:48:1"
},
{
"nodeType": "YulAssignment",
"src": "3041:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3113:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3122:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3049:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3049:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3041:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3148:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3159:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3144:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3168:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3174:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3164:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3164:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3137:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3137:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "3137:48:1"
},
{
"nodeType": "YulAssignment",
"src": "3194:86:1",
"value": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "3266:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3275:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3202:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3202:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3194:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "3334:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3347:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3358:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3343:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3343:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3290:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3290:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "3290:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "3416:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3429:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3440:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3425:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3425:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3372:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3372:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "3372:73:1"
},
{
"expression": {
"arguments": [
{
"name": "value5",
"nodeType": "YulIdentifier",
"src": "3499:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3512:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3523:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3508:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3508:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3455:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3455:73:1"
},
"nodeType": "YulExpressionStatement",
"src": "3455:73:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2788:9:1",
"type": ""
},
{
"name": "value5",
"nodeType": "YulTypedName",
"src": "2800:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "2808:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "2816:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "2824:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2832:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2840:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2851:4:1",
"type": ""
}
],
"src": "2578:957:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3584:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3641:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3650:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3653:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3643:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3643:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3643:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3607:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3632:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3614:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3614:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3604:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3604:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3597:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3597:43:1"
},
"nodeType": "YulIf",
"src": "3594:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3577:5:1",
"type": ""
}
],
"src": "3541:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3721:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3731:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3753:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3740:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3740:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3731:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3796:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "3769:26:1"
},
"nodeType": "YulFunctionCall",
"src": "3769:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3769:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3699:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3707:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3715:5:1",
"type": ""
}
],
"src": "3669:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3903:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3920:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3923:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3913:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3913:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3913:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3814:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4026:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4043:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4046:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4036:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4036:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4036:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "3937:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4088:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4105:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4108:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4098:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4098:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4098:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4202:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4205:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4195:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4195:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4195:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4226:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4229:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4219:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4219:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4219:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "4060:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4289:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4299:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4321:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4351:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4329:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4329:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4317:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "4303:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4468:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4470:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4470:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4470:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4411:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4423:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4408:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4408:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4447:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4459:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4444:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4444:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "4405:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4405:62:1"
},
"nodeType": "YulIf",
"src": "4402:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4506:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "4510:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4499:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "4499:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4275:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4283:4:1",
"type": ""
}
],
"src": "4246:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4574:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4584:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4594:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4594:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4584:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4643:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4651:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4623:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4623:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4623:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4558:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4567:6:1",
"type": ""
}
],
"src": "4533:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4735:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4840:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4842:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4842:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4842:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4812:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4820:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4809:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:30:1"
},
"nodeType": "YulIf",
"src": "4806:56:1"
},
{
"nodeType": "YulAssignment",
"src": "4872:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4902:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4880:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4880:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4872:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4946:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4958:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4964:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4946:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4719:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4730:4:1",
"type": ""
}
],
"src": "4668:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5033:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5056:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5061:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5066:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5043:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5043:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5043:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5114:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5119:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5110:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5110:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5128:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5103:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5103:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5103:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5015:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5020:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5025:6:1",
"type": ""
}
],
"src": "4982:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5226:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5236:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5303:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5261:41:1"
},
"nodeType": "YulFunctionCall",
"src": "5261:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "5245:15:1"
},
"nodeType": "YulFunctionCall",
"src": "5245:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5236:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5327:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5334:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5320:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5320:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "5320:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "5350:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5365:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5372:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5361:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5361:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5354:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5415:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "5417:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5417:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5417:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5396:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5401:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5392:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5392:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5410:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5389:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5389:25:1"
},
"nodeType": "YulIf",
"src": "5386:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5531:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5536:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5541:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "5507:23:1"
},
"nodeType": "YulFunctionCall",
"src": "5507:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "5507:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5199:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5204:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5212:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "5220:5:1",
"type": ""
}
],
"src": "5142:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5636:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5685:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "5687:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5687:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5687:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5664:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5672:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5660:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5660:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5679:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5656:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5649:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5649:35:1"
},
"nodeType": "YulIf",
"src": "5646:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "5777:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5804:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5791:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5791:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5781:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5820:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5881:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5889:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5877:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5896:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5904:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5829:47:1"
},
"nodeType": "YulFunctionCall",
"src": "5829:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5820:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5614:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5622:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "5630:5:1",
"type": ""
}
],
"src": "5574:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6074:1117:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6121:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6123:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6123:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6123:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6095:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6104:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6091:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6116:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6087:33:1"
},
"nodeType": "YulIf",
"src": "6084:120:1"
},
{
"nodeType": "YulBlock",
"src": "6214:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6229:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6243:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6233:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6258:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6293:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6304:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6289:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6289:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6313:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "6268:20:1"
},
"nodeType": "YulFunctionCall",
"src": "6268:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6258:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6341:288:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6356:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6387:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6398:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6383:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6383:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "6370:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6370:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6360:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6449:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "6451:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6451:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6451:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6421:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6429:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6418:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6418:30:1"
},
"nodeType": "YulIf",
"src": "6415:117:1"
},
{
"nodeType": "YulAssignment",
"src": "6546:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6591:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6602:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6587:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6587:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6611:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6556:30:1"
},
"nodeType": "YulFunctionCall",
"src": "6556:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6546:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6639:288:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6654:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6685:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6696:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6681:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6681:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "6668:12:1"
},
"nodeType": "YulFunctionCall",
"src": "6668:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6658:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6747:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "6749:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6749:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6749:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6719:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6727:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6716:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6716:30:1"
},
"nodeType": "YulIf",
"src": "6713:117:1"
},
{
"nodeType": "YulAssignment",
"src": "6844:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6889:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6900:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6885:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6885:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6909:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6854:30:1"
},
"nodeType": "YulFunctionCall",
"src": "6854:63:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "6844:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "6937:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6952:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6966:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6956:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6982:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7017:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7028:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7013:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7013:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7037:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "6992:20:1"
},
"nodeType": "YulFunctionCall",
"src": "6992:53:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "6982:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "7065:119:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7080:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7094:3:1",
"type": "",
"value": "128"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "7084:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "7111:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7146:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "7157:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7142:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "7166:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "7121:20:1"
},
"nodeType": "YulFunctionCall",
"src": "7121:53:1"
},
"variableNames": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "7111:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6012:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6023:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6035:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "6043:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "6051:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "6059:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "6067:6:1",
"type": ""
}
],
"src": "5920:1271:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7295:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7305:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7317:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7328:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7313:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7313:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7305:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7385:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7398:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7409:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7394:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "7341:43:1"
},
"nodeType": "YulFunctionCall",
"src": "7341:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "7341:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7267:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7279:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7290:4:1",
"type": ""
}
],
"src": "7197:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7453:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7470:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7473:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7463:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7463:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7463:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7567:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7570:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7560:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7560:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7560:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7591:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7594:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7584:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7584:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7584:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "7425:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7662:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7672:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "7686:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7692:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "7682:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7682:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7672:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "7703:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "7733:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7739:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7729:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7729:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "7707:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7780:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7794:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7808:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7816:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7804:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7804:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7794:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "7760:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7753:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7753:26:1"
},
"nodeType": "YulIf",
"src": "7750:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7883:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "7897:16:1"
},
"nodeType": "YulFunctionCall",
"src": "7897:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "7897:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "7847:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7870:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7878:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7867:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7867:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7844:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7844:38:1"
},
"nodeType": "YulIf",
"src": "7841:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "7646:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7655:6:1",
"type": ""
}
],
"src": "7611:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8043:120:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8065:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8073:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8061:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8061:14:1"
},
{
"hexValue": "54686520646561646c696e652073686f756c642062652061206461746520696e",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8077:34:1",
"type": "",
"value": "The deadline should be a date in"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8054:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8054:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "8054:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8133:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8141:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8129:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8129:15:1"
},
{
"hexValue": "20667574757265",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8146:9:1",
"type": "",
"value": " future"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8122:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8122:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "8122:34:1"
}
]
},
"name": "store_literal_in_memory_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8035:6:1",
"type": ""
}
],
"src": "7937:226:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8315:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8325:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8391:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8396:2:1",
"type": "",
"value": "39"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8332:58:1"
},
"nodeType": "YulFunctionCall",
"src": "8332:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8325:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8497:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba",
"nodeType": "YulIdentifier",
"src": "8408:88:1"
},
"nodeType": "YulFunctionCall",
"src": "8408:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "8408:93:1"
},
{
"nodeType": "YulAssignment",
"src": "8510:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8521:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8526:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8517:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8517:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8510:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8303:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8311:3:1",
"type": ""
}
],
"src": "8169:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8712:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8722:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8734:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8745:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8730:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8730:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8722:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8769:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8780:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8765:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8765:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8788:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8794:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8784:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8784:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8758:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8758:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "8758:47:1"
},
{
"nodeType": "YulAssignment",
"src": "8814:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8948:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8822:124:1"
},
"nodeType": "YulFunctionCall",
"src": "8822:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8814:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8692:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8707:4:1",
"type": ""
}
],
"src": "8541:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8994:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9011:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9014:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9004:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9004:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9108:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9111:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9101:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9101:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9101:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9132:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9135:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9125:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9125:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9125:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "8966:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9195:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9205:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9232:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9214:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9214:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9205:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9328:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "9330:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9330:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9330:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9253:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9260:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9250:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9250:77:1"
},
"nodeType": "YulIf",
"src": "9247:103:1"
},
{
"nodeType": "YulAssignment",
"src": "9359:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9370:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9377:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9366:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9366:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "9359:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9181:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "9191:3:1",
"type": ""
}
],
"src": "9152:233:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9436:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9446:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9469:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9451:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9451:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9446:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "9480:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9503:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9485:17:1"
},
"nodeType": "YulFunctionCall",
"src": "9485:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9480:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9527:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "9529:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9529:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9529:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9521:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9524:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9518:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9518:8:1"
},
"nodeType": "YulIf",
"src": "9515:34:1"
},
{
"nodeType": "YulAssignment",
"src": "9559:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "9571:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "9574:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "9567:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9567:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "9559:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "9422:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "9425:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "9431:4:1",
"type": ""
}
],
"src": "9391:191: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(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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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_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 copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { 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_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 store_literal_in_memory_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba(memPtr) {\n\n mstore(add(memPtr, 0), \"The deadline should be a date in\")\n\n mstore(add(memPtr, 32), \" future\")\n\n }\n\n function abi_encode_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba__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_ff41538aa2aefcc8041619440d9a5b5a937705a4af8dc10e4ff06ff2b7cad0ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100345760003560e01c8063ae73c8f014610039578063cbc261d714610055578063f20f600614610097575b600080fd5b610053600480360381019061004e919061046f565b6100d4565b005b34801561006157600080fd5b5061007c6004803603810190610077919061046f565b6100f4565b60405161008e96959493929190610585565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190610755565b610260565b6040516100cb9190610808565b60405180910390f35b600034905060008060008481526020019081526020016000209050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461013d90610852565b80601f016020809104026020016040519081016040528092919081815260200182805461016990610852565b80156101b65780601f1061018b576101008083540402835291602001916101b6565b820191906000526020600020905b81548152906001019060200180831161019957829003601f168201915b5050505050908060020180546101cb90610852565b80601f01602080910402602001604051908101604052809291908181526020018280546101f790610852565b80156102445780601f1061021957610100808354040283529160200191610244565b820191906000526020600020905b81548152906001019060200180831161022757829003601f168201915b5050505050908060030154908060040154908060050154905086565b60008060008060015481526020019081526020016000209050428160040154106102bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b6906108f6565b60405180910390fd5b868160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508581600101908051906020019061031a929190610382565b5084816002019080519060200190610333929190610382565b50838160030181905550828160040181905550600081600501819055506001600081548092919061036390610945565b919050555060018054610376919061098e565b91505095945050505050565b82805461038e90610852565b90600052602060002090601f0160209004810192826103b057600085556103f7565b82601f106103c957805160ff19168380011785556103f7565b828001600101855582156103f7579182015b828111156103f65782518255916020019190600101906103db565b5b5090506104049190610408565b5090565b5b80821115610421576000816000905550600101610409565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61044c81610439565b811461045757600080fd5b50565b60008135905061046981610443565b92915050565b6000602082840312156104855761048461042f565b5b60006104938482850161045a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104c78261049c565b9050919050565b6104d7816104bc565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156105175780820151818401526020810190506104fc565b83811115610526576000848401525b50505050565b6000601f19601f8301169050919050565b6000610548826104dd565b61055281856104e8565b93506105628185602086016104f9565b61056b8161052c565b840191505092915050565b61057f81610439565b82525050565b600060c08201905061059a60008301896104ce565b81810360208301526105ac818861053d565b905081810360408301526105c0818761053d565b90506105cf6060830186610576565b6105dc6080830185610576565b6105e960a0830184610576565b979650505050505050565b6105fd816104bc565b811461060857600080fd5b50565b60008135905061061a816105f4565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106628261052c565b810181811067ffffffffffffffff821117156106815761068061062a565b5b80604052505050565b6000610694610425565b90506106a08282610659565b919050565b600067ffffffffffffffff8211156106c0576106bf61062a565b5b6106c98261052c565b9050602081019050919050565b82818337600083830152505050565b60006106f86106f3846106a5565b61068a565b90508281526020810184848401111561071457610713610625565b5b61071f8482856106d6565b509392505050565b600082601f83011261073c5761073b610620565b5b813561074c8482602086016106e5565b91505092915050565b600080600080600060a086880312156107715761077061042f565b5b600061077f8882890161060b565b955050602086013567ffffffffffffffff8111156107a05761079f610434565b5b6107ac88828901610727565b945050604086013567ffffffffffffffff8111156107cd576107cc610434565b5b6107d988828901610727565b93505060606107ea8882890161045a565b92505060806107fb8882890161045a565b9150509295509295909350565b600060208201905061081d6000830184610576565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061086a57607f821691505b6020821081141561087e5761087d610823565b5b50919050565b7f54686520646561646c696e652073686f756c642062652061206461746520696e60008201527f2066757475726500000000000000000000000000000000000000000000000000602082015250565b60006108e06027836104e8565b91506108eb82610884565b604082019050919050565b6000602082019050818103600083015261090f816108d3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061095082610439565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561098357610982610916565b5b600182019050919050565b600061099982610439565b91506109a483610439565b9250828210156109b7576109b6610916565b5b82820390509291505056fea2646970667358221220413e65d272addf7cf48cd9f2192077e0e91c18da47b6b0039ddadfbdd08682a664736f6c63430008090033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAE73C8F0 EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xCBC261D7 EQ PUSH2 0x55 JUMPI DUP1 PUSH4 0xF20F6006 EQ PUSH2 0x97 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x46F JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x46F JUMP JUMPDEST PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8E SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x585 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x755 JUMP JUMPDEST PUSH2 0x260 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x808 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 CALLVALUE SWAP1 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x13D SWAP1 PUSH2 0x852 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 0x169 SWAP1 PUSH2 0x852 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x18B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x199 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1CB SWAP1 PUSH2 0x852 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 0x1F7 SWAP1 PUSH2 0x852 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x244 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x219 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x244 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x227 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 POP DUP7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x1 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP TIMESTAMP DUP2 PUSH1 0x4 ADD SLOAD LT PUSH2 0x2BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B6 SWAP1 PUSH2 0x8F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP7 DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP6 DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x31A SWAP3 SWAP2 SWAP1 PUSH2 0x382 JUMP JUMPDEST POP DUP5 DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x333 SWAP3 SWAP2 SWAP1 PUSH2 0x382 JUMP JUMPDEST POP DUP4 DUP2 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP DUP3 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x5 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x363 SWAP1 PUSH2 0x945 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 DUP1 SLOAD PUSH2 0x376 SWAP2 SWAP1 PUSH2 0x98E JUMP JUMPDEST SWAP2 POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x38E SWAP1 PUSH2 0x852 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x3B0 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x3F7 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x3C9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x3F7 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x3F7 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x3F6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x3DB JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x404 SWAP2 SWAP1 PUSH2 0x408 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x421 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x409 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x44C DUP2 PUSH2 0x439 JUMP JUMPDEST DUP2 EQ PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x469 DUP2 PUSH2 0x443 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x485 JUMPI PUSH2 0x484 PUSH2 0x42F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x493 DUP5 DUP3 DUP6 ADD PUSH2 0x45A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C7 DUP3 PUSH2 0x49C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4D7 DUP2 PUSH2 0x4BC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x517 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x4FC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x526 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x548 DUP3 PUSH2 0x4DD JUMP JUMPDEST PUSH2 0x552 DUP2 DUP6 PUSH2 0x4E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x562 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x4F9 JUMP JUMPDEST PUSH2 0x56B DUP2 PUSH2 0x52C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x57F DUP2 PUSH2 0x439 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x59A PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x4CE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x5AC DUP2 DUP9 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x5C0 DUP2 DUP8 PUSH2 0x53D JUMP JUMPDEST SWAP1 POP PUSH2 0x5CF PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x576 JUMP JUMPDEST PUSH2 0x5DC PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x576 JUMP JUMPDEST PUSH2 0x5E9 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x576 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5FD DUP2 PUSH2 0x4BC JUMP JUMPDEST DUP2 EQ PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x61A DUP2 PUSH2 0x5F4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x662 DUP3 PUSH2 0x52C JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x681 JUMPI PUSH2 0x680 PUSH2 0x62A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x694 PUSH2 0x425 JUMP JUMPDEST SWAP1 POP PUSH2 0x6A0 DUP3 DUP3 PUSH2 0x659 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x6C0 JUMPI PUSH2 0x6BF PUSH2 0x62A JUMP JUMPDEST JUMPDEST PUSH2 0x6C9 DUP3 PUSH2 0x52C JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F8 PUSH2 0x6F3 DUP5 PUSH2 0x6A5 JUMP JUMPDEST PUSH2 0x68A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x714 JUMPI PUSH2 0x713 PUSH2 0x625 JUMP JUMPDEST JUMPDEST PUSH2 0x71F DUP5 DUP3 DUP6 PUSH2 0x6D6 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x73C JUMPI PUSH2 0x73B PUSH2 0x620 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x74C DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x6E5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x771 JUMPI PUSH2 0x770 PUSH2 0x42F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x77F DUP9 DUP3 DUP10 ADD PUSH2 0x60B JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7A0 JUMPI PUSH2 0x79F PUSH2 0x434 JUMP JUMPDEST JUMPDEST PUSH2 0x7AC DUP9 DUP3 DUP10 ADD PUSH2 0x727 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7CD JUMPI PUSH2 0x7CC PUSH2 0x434 JUMP JUMPDEST JUMPDEST PUSH2 0x7D9 DUP9 DUP3 DUP10 ADD PUSH2 0x727 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x7EA DUP9 DUP3 DUP10 ADD PUSH2 0x45A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x7FB DUP9 DUP3 DUP10 ADD PUSH2 0x45A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x81D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x576 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x86A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x87E JUMPI PUSH2 0x87D PUSH2 0x823 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686520646561646C696E652073686F756C642062652061206461746520696E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2066757475726500000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E0 PUSH1 0x27 DUP4 PUSH2 0x4E8 JUMP JUMPDEST SWAP2 POP PUSH2 0x8EB DUP3 PUSH2 0x884 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x90F DUP2 PUSH2 0x8D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x950 DUP3 PUSH2 0x439 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x983 JUMPI PUSH2 0x982 PUSH2 0x916 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x999 DUP3 PUSH2 0x439 JUMP JUMPDEST SWAP2 POP PUSH2 0x9A4 DUP4 PUSH2 0x439 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x9B7 JUMPI PUSH2 0x9B6 PUSH2 0x916 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE RETURNDATACOPY PUSH6 0xD272ADDF7CF4 DUP13 0xD9 CALLCODE NOT KECCAK256 PUSH24 0xE0E91C18DA47B6B0039DDADFBDD08682A664736F6C634300 ADDMOD MULMOD STOP CALLER ",
"sourceMap": "64:1068:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;971:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;275:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;356:608;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;971:159;1035:14;1052:9;1035:26;;1071:25;1099:9;:14;1109:3;1099:14;;;;;;;;;;;1071:42;;1025:105;;971:159;:::o;275:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;356:608::-;497:4;512:25;540:9;:27;550:16;;540:27;;;;;;;;;;;512:55;;606:15;586:8;:17;;;:35;578:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;693:6;676:8;:14;;;:23;;;;;;;;;;;;;;;;;;726:6;709:8;:14;;:23;;;;;;;;;;;;:::i;:::-;;765:12;742:8;:20;;:35;;;;;;;;;;;;:::i;:::-;;805:7;787:8;:15;;:25;;;;842:9;822:8;:17;;:29;;;;888:1;861:8;:24;;:28;;;;900:16;;:18;;;;;;;;;:::i;:::-;;;;;;955:1;936:16;;:20;;;;:::i;:::-;929:27;;;356:608;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::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: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:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:99::-;1435:6;1469:5;1463:12;1453:22;;1383:99;;;:::o;1488:169::-;1572:11;1606:6;1601:3;1594:19;1646:4;1641:3;1637:14;1622:29;;1488:169;;;;:::o;1663:307::-;1731:1;1741:113;1755:6;1752:1;1749:13;1741:113;;;1840:1;1835:3;1831:11;1825:18;1821:1;1816:3;1812:11;1805:39;1777:2;1774:1;1770:10;1765:15;;1741:113;;;1872:6;1869:1;1866:13;1863:101;;;1952:1;1943:6;1938:3;1934:16;1927:27;1863:101;1712:258;1663:307;;;:::o;1976:102::-;2017:6;2068:2;2064:7;2059:2;2052:5;2048:14;2044:28;2034:38;;1976:102;;;:::o;2084:364::-;2172:3;2200:39;2233:5;2200:39;:::i;:::-;2255:71;2319:6;2314:3;2255:71;:::i;:::-;2248:78;;2335:52;2380:6;2375:3;2368:4;2361:5;2357:16;2335:52;:::i;:::-;2412:29;2434:6;2412:29;:::i;:::-;2407:3;2403:39;2396:46;;2176:272;2084:364;;;;:::o;2454:118::-;2541:24;2559:5;2541:24;:::i;:::-;2536:3;2529:37;2454:118;;:::o;2578:957::-;2851:4;2889:3;2878:9;2874:19;2866:27;;2903:71;2971:1;2960:9;2956:17;2947:6;2903:71;:::i;:::-;3021:9;3015:4;3011:20;3006:2;2995:9;2991:18;2984:48;3049:78;3122:4;3113:6;3049:78;:::i;:::-;3041:86;;3174:9;3168:4;3164:20;3159:2;3148:9;3144:18;3137:48;3202:78;3275:4;3266:6;3202:78;:::i;:::-;3194:86;;3290:72;3358:2;3347:9;3343:18;3334:6;3290:72;:::i;:::-;3372:73;3440:3;3429:9;3425:19;3416:6;3372:73;:::i;:::-;3455;3523:3;3512:9;3508:19;3499:6;3455:73;:::i;:::-;2578:957;;;;;;;;;:::o;3541:122::-;3614:24;3632:5;3614:24;:::i;:::-;3607:5;3604:35;3594:63;;3653:1;3650;3643:12;3594:63;3541:122;:::o;3669:139::-;3715:5;3753:6;3740:20;3731:29;;3769:33;3796:5;3769:33;:::i;:::-;3669:139;;;;:::o;3814:117::-;3923:1;3920;3913:12;3937:117;4046:1;4043;4036:12;4060:180;4108:77;4105:1;4098:88;4205:4;4202:1;4195:15;4229:4;4226:1;4219:15;4246:281;4329:27;4351:4;4329:27;:::i;:::-;4321:6;4317:40;4459:6;4447:10;4444:22;4423:18;4411:10;4408:34;4405:62;4402:88;;;4470:18;;:::i;:::-;4402:88;4510:10;4506:2;4499:22;4289:238;4246:281;;:::o;4533:129::-;4567:6;4594:20;;:::i;:::-;4584:30;;4623:33;4651:4;4643:6;4623:33;:::i;:::-;4533:129;;;:::o;4668:308::-;4730:4;4820:18;4812:6;4809:30;4806:56;;;4842:18;;:::i;:::-;4806:56;4880:29;4902:6;4880:29;:::i;:::-;4872:37;;4964:4;4958;4954:15;4946:23;;4668:308;;;:::o;4982:154::-;5066:6;5061:3;5056;5043:30;5128:1;5119:6;5114:3;5110:16;5103:27;4982:154;;;:::o;5142:412::-;5220:5;5245:66;5261:49;5303:6;5261:49;:::i;:::-;5245:66;:::i;:::-;5236:75;;5334:6;5327:5;5320:21;5372:4;5365:5;5361:16;5410:3;5401:6;5396:3;5392:16;5389:25;5386:112;;;5417:79;;:::i;:::-;5386:112;5507:41;5541:6;5536:3;5531;5507:41;:::i;:::-;5226:328;5142:412;;;;;:::o;5574:340::-;5630:5;5679:3;5672:4;5664:6;5660:17;5656:27;5646:122;;5687:79;;:::i;:::-;5646:122;5804:6;5791:20;5829:79;5904:3;5896:6;5889:4;5881:6;5877:17;5829:79;:::i;:::-;5820:88;;5636:278;5574:340;;;;:::o;5920:1271::-;6035:6;6043;6051;6059;6067;6116:3;6104:9;6095:7;6091:23;6087:33;6084:120;;;6123:79;;:::i;:::-;6084:120;6243:1;6268:53;6313:7;6304:6;6293:9;6289:22;6268:53;:::i;:::-;6258:63;;6214:117;6398:2;6387:9;6383:18;6370:32;6429:18;6421:6;6418:30;6415:117;;;6451:79;;:::i;:::-;6415:117;6556:63;6611:7;6602:6;6591:9;6587:22;6556:63;:::i;:::-;6546:73;;6341:288;6696:2;6685:9;6681:18;6668:32;6727:18;6719:6;6716:30;6713:117;;;6749:79;;:::i;:::-;6713:117;6854:63;6909:7;6900:6;6889:9;6885:22;6854:63;:::i;:::-;6844:73;;6639:288;6966:2;6992:53;7037:7;7028:6;7017:9;7013:22;6992:53;:::i;:::-;6982:63;;6937:118;7094:3;7121:53;7166:7;7157:6;7146:9;7142:22;7121:53;:::i;:::-;7111:63;;7065:119;5920:1271;;;;;;;;:::o;7197:222::-;7290:4;7328:2;7317:9;7313:18;7305:26;;7341:71;7409:1;7398:9;7394:17;7385:6;7341:71;:::i;:::-;7197:222;;;;:::o;7425:180::-;7473:77;7470:1;7463:88;7570:4;7567:1;7560:15;7594:4;7591:1;7584:15;7611:320;7655:6;7692:1;7686:4;7682:12;7672:22;;7739:1;7733:4;7729:12;7760:18;7750:81;;7816:4;7808:6;7804:17;7794:27;;7750:81;7878:2;7870:6;7867:14;7847:18;7844:38;7841:84;;;7897:18;;:::i;:::-;7841:84;7662:269;7611:320;;;:::o;7937:226::-;8077:34;8073:1;8065:6;8061:14;8054:58;8146:9;8141:2;8133:6;8129:15;8122:34;7937:226;:::o;8169:366::-;8311:3;8332:67;8396:2;8391:3;8332:67;:::i;:::-;8325:74;;8408:93;8497:3;8408:93;:::i;:::-;8526:2;8521:3;8517:12;8510:19;;8169:366;;;:::o;8541:419::-;8707:4;8745:2;8734:9;8730:18;8722:26;;8794:9;8788:4;8784:20;8780:1;8769:9;8765:17;8758:47;8822:131;8948:4;8822:131;:::i;:::-;8814:139;;8541:419;;;:::o;8966:180::-;9014:77;9011:1;9004:88;9111:4;9108:1;9101:15;9135:4;9132:1;9125:15;9152:233;9191:3;9214:24;9232:5;9214:24;:::i;:::-;9205:33;;9260:66;9253:5;9250:77;9247:103;;;9330:18;;:::i;:::-;9247:103;9377:1;9370:5;9366:13;9359:20;;9152:233;;;:::o;9391:191::-;9431:4;9451:20;9469:1;9451:20;:::i;:::-;9446:25;;9485:20;9503:1;9485:20;:::i;:::-;9480:25;;9524:1;9521;9518:8;9515:34;;;9529:18;;:::i;:::-;9515:34;9574:1;9571;9567:9;9559:17;;9391:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "510400",
"executionCost": "5549",
"totalCost": "515949"
},
"external": {
"compaigns(uint256)": "infinite",
"createCompaign(address,string,string,uint256,uint256)": "infinite",
"donateToCompaign(uint256)": "463"
}
},
"methodIdentifiers": {
"compaigns(uint256)": "cbc261d7",
"createCompaign(address,string,string,uint256,uint256)": "f20f6006",
"donateToCompaign(uint256)": "ae73c8f0"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "compaigns",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "string",
"name": "title",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "uint256",
"name": "target",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountCollected",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "string",
"name": "_title",
"type": "string"
},
{
"internalType": "string",
"name": "_description",
"type": "string"
},
{
"internalType": "uint256",
"name": "_target",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_deadline",
"type": "uint256"
}
],
"name": "createCompaign",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "donateToCompaign",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.9+commit.e5eed63a"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "compaigns",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "string",
"name": "title",
"type": "string"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "uint256",
"name": "target",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountCollected",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "string",
"name": "_title",
"type": "string"
},
{
"internalType": "string",
"name": "_description",
"type": "string"
},
{
"internalType": "uint256",
"name": "_target",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_deadline",
"type": "uint256"
}
],
"name": "createCompaign",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"name": "donateToCompaign",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"CrowdFunding.sol": "CrowdFunding"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"CrowdFunding.sol": {
"keccak256": "0x4b913f7eaeb9c7d6b804afe931ca8375c80676baba17004ad51e477bef990416",
"license": "UNLICENSED",
"urls": [
"bzz-raw://68aed956cfacf1013fb9aa13972ea9a73b9ed24fb890f157f7fa42bd275fb2db",
"dweb:/ipfs/QmNVg8ZqpxWaVE26daQfAsohdCDj3ZRgTPojoWwN4tqaNb"
]
}
},
"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": "6080604052735b38da6a701c568545dcfcb03fcb875f56beddc4600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b50610153806100756000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f2be91f1461003b578063bde2b57314610059575b600080fd5b610043610077565b6040516100509190610102565b60405180910390f35b61006161009d565b60405161006e9190610102565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ec826100c1565b9050919050565b6100fc816100e1565b82525050565b600060208201905061011760008301846100f3565b9291505056fea2646970667358221220d600e999953c81312d96cbd1880da305e52e306a86b85a92ec42ef0b705c27a364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH20 0x5B38DA6A701C568545DCFCB03FCB875F56BEDDC4 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0x65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x153 DUP1 PUSH2 0x75 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4F2BE91F EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xBDE2B573 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEC DUP3 PUSH2 0xC1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC DUP2 PUSH2 0xE1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x117 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 STOP 0xE9 SWAP10 SWAP6 EXTCODECOPY DUP2 BALANCE 0x2D SWAP7 0xCB 0xD1 DUP9 0xD LOG3 SDIV 0xE5 0x2E ADDRESS PUSH11 0x86B85A92EC42EF0B705C27 LOG3 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "91:594:0:-:0;;;634:42;613:63;;;;;;;;;;;;;;;;;;;;91:594;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_6": {
"entryPoint": 119,
"id": 6,
"parameterSlots": 0,
"returnSlots": 0
},
"@hey_3": {
"entryPoint": 157,
"id": 3,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 243,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 258,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 225,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 193,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:590:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
}
]
},
"contents": "{\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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80634f2be91f1461003b578063bde2b57314610059575b600080fd5b610043610077565b6040516100509190610102565b60405180910390f35b61006161009d565b60405161006e9190610102565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100ec826100c1565b9050919050565b6100fc816100e1565b82525050565b600060208201905061011760008301846100f3565b9291505056fea2646970667358221220d600e999953c81312d96cbd1880da305e52e306a86b85a92ec42ef0b705c27a364736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4F2BE91F EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xBDE2B573 EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0x9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEC DUP3 PUSH2 0xC1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xFC DUP2 PUSH2 0xE1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x117 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 STOP 0xE9 SWAP10 SWAP6 EXTCODECOPY DUP2 BALANCE 0x2D SWAP7 0xCB 0xD1 DUP9 0xD LOG3 SDIV 0xE5 0x2E ADDRESS PUSH11 0x86B85A92EC42EF0B705C27 LOG3 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "91:594:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;613:63;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;589:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;613:63;;;;;;;;;;;;;:::o;589:18::-;;;;;;;;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67800",
"executionCost": "24384",
"totalCost": "92184"
},
"external": {
"add()": "2492",
"hey()": "2511"
}
},
"methodIdentifiers": {
"add()": "4f2be91f",
"hey()": "bde2b573"
}
},
"abi": [
{
"inputs": [],
"name": "add",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "hey",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "add",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "hey",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"dataTypes.sol": "DataTypes"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"dataTypes.sol": {
"keccak256": "0xc51e8998c4471e9b8438ca7ca7d657fa46d2ad6233dd30c17c95a9c1257f7414",
"license": "MIT",
"urls": [
"bzz-raw://eeecad45a3080bba7d04dd0024ebb6a2ec1e447cd59dbc953a71d184fdf85865",
"dweb:/ipfs/QmWnAmxsgpigK9MG7ciV3DN9Urvdn2EjBs91wZDbsujUoK"
]
}
},
"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": "608060405234801561001057600080fd5b50610279806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063200d2ed21461005c57806324b8ba5f1461007a5780636d4ce63c14610096578063d826f88f146100b4578063ea8a1af0146100be575b600080fd5b6100646100c8565b60405161007191906101d1565b60405180910390f35b610094600480360381019061008f9190610216565b6100d9565b005b61009e610105565b6040516100ab91906101d1565b60405180910390f35b6100bc61011b565b005b6100c661012e565b005b60008054906101000a900460ff1681565b806000806101000a81548160ff021916908360048111156100fd576100fc61015a565b5b021790555050565b60008060009054906101000a900460ff16905090565b6000806101000a81549060ff0219169055565b60046000806101000a81548160ff021916908360048111156101535761015261015a565b5b0217905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061019a5761019961015a565b5b50565b60008190506101ab82610189565b919050565b60006101bb8261019d565b9050919050565b6101cb816101b0565b82525050565b60006020820190506101e660008301846101c2565b92915050565b600080fd5b600581106101fe57600080fd5b50565b600081359050610210816101f1565b92915050565b60006020828403121561022c5761022b6101ec565b5b600061023a84828501610201565b9150509291505056fea26469706673582212203cd1478973241ce3b47bbe6bc48c4aec788fbd6d2e4da628d4217d3fc36246cf64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x279 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x200D2ED2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x24B8BA5F EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xD826F88F EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xEA8A1AF0 EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x1D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x216 JUMP JUMPDEST PUSH2 0xD9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x105 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x1D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH2 0x11B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH2 0x12E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0xFD JUMPI PUSH2 0xFC PUSH2 0x15A JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x153 JUMPI PUSH2 0x152 PUSH2 0x15A JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x5 DUP2 LT PUSH2 0x19A JUMPI PUSH2 0x199 PUSH2 0x15A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1AB DUP3 PUSH2 0x189 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB DUP3 PUSH2 0x19D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CB DUP2 PUSH2 0x1B0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP2 LT PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x210 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x22C JUMPI PUSH2 0x22B PUSH2 0x1EC JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x23A DUP5 DUP3 DUP6 ADD PUSH2 0x201 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY 0xD1 SELFBALANCE DUP10 PUSH20 0x241CE3B47BBE6BC48C4AEC788FBD6D2E4DA628D4 0x21 PUSH30 0x3FC36246CF64736F6C634300080D00330000000000000000000000000000 ",
"sourceMap": "4053:625:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@cancel_39": {
"entryPoint": 302,
"id": 39,
"parameterSlots": 0,
"returnSlots": 0
},
"@get_19": {
"entryPoint": 261,
"id": 19,
"parameterSlots": 0,
"returnSlots": 1
},
"@reset_46": {
"entryPoint": 283,
"id": 46,
"parameterSlots": 0,
"returnSlots": 0
},
"@set_30": {
"entryPoint": 217,
"id": 30,
"parameterSlots": 1,
"returnSlots": 0
},
"@status_10": {
"entryPoint": 200,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_enum$_Status_$7": {
"entryPoint": 513,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_enum$_Status_$7": {
"entryPoint": 534,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_enum$_Status_$7_to_t_uint8_fromStack": {
"entryPoint": 450,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_enum$_Status_$7__to_t_uint8__fromStack_reversed": {
"entryPoint": 465,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_enum$_Status_$7": {
"entryPoint": 413,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_Status_$7_to_t_uint8": {
"entryPoint": 432,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 346,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 492,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_assert_t_enum$_Status_$7": {
"entryPoint": 393,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_enum$_Status_$7": {
"entryPoint": 497,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1916:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "35:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "52:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "55:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "45:6:1"
},
"nodeType": "YulFunctionCall",
"src": "45:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "45:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "149:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "152:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "142:6:1"
},
"nodeType": "YulFunctionCall",
"src": "142:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "142:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "173:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "176:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "166:6:1"
},
"nodeType": "YulFunctionCall",
"src": "166:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "166:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "7:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "244:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "278:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "280:16:1"
},
"nodeType": "YulFunctionCall",
"src": "280:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "280:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "267:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "274:1:1",
"type": "",
"value": "5"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "264:2:1"
},
"nodeType": "YulFunctionCall",
"src": "264:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "257:6:1"
},
"nodeType": "YulFunctionCall",
"src": "257:20:1"
},
"nodeType": "YulIf",
"src": "254:46:1"
}
]
},
"name": "validator_assert_t_enum$_Status_$7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "237:5:1",
"type": ""
}
],
"src": "193:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "365:74:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "375:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "386:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "375:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "427:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_Status_$7",
"nodeType": "YulIdentifier",
"src": "392:34:1"
},
"nodeType": "YulFunctionCall",
"src": "392:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "392:41:1"
}
]
},
"name": "cleanup_t_enum$_Status_$7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "347:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "357:7:1",
"type": ""
}
],
"src": "312:127:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:61:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:45:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "560:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_Status_$7",
"nodeType": "YulIdentifier",
"src": "534:25:1"
},
"nodeType": "YulFunctionCall",
"src": "534:32:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "521:9:1"
}
]
}
]
},
"name": "convert_t_enum$_Status_$7_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "491:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "501:9:1",
"type": ""
}
],
"src": "445:127:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "649:72:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "666:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "708:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_Status_$7_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "671:36:1"
},
"nodeType": "YulFunctionCall",
"src": "671:43:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "659:6:1"
},
"nodeType": "YulFunctionCall",
"src": "659:56:1"
},
"nodeType": "YulExpressionStatement",
"src": "659:56:1"
}
]
},
"name": "abi_encode_t_enum$_Status_$7_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "637:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "644:3:1",
"type": ""
}
],
"src": "578:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "831:130:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "841:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "853:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "864:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "849:3:1"
},
"nodeType": "YulFunctionCall",
"src": "849:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "841:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "927:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "940:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "951:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "936:3:1"
},
"nodeType": "YulFunctionCall",
"src": "936:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_Status_$7_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "877:49:1"
},
"nodeType": "YulFunctionCall",
"src": "877:77:1"
},
"nodeType": "YulExpressionStatement",
"src": "877:77:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_Status_$7__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "803:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "826:4:1",
"type": ""
}
],
"src": "727:234:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1007:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1017:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1027:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1017:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1000:6:1",
"type": ""
}
],
"src": "967:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1137:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1154:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1157:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1147:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1147:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1147:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1048:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1260:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1277:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1270:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1270:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1270:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1171:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1345:56:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1379:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1388:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1391:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1381:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1381:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1381:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1368:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1375:1:1",
"type": "",
"value": "5"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1365:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1365:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1358:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1358:20:1"
},
"nodeType": "YulIf",
"src": "1355:40:1"
}
]
},
"name": "validator_revert_t_enum$_Status_$7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1338:5:1",
"type": ""
}
],
"src": "1294:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1467:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1477:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1486:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1550:5:1"
}
],
"functionName": {
"name": "validator_revert_t_enum$_Status_$7",
"nodeType": "YulIdentifier",
"src": "1515:34:1"
},
"nodeType": "YulFunctionCall",
"src": "1515:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "1515:41:1"
}
]
},
"name": "abi_decode_t_enum$_Status_$7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1445:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1453:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1461:5:1",
"type": ""
}
],
"src": "1407:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1642:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1688:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1690:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1690:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1690:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1663:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1672:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1659:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1659:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1684:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1655:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1655:32:1"
},
"nodeType": "YulIf",
"src": "1652:119:1"
},
{
"nodeType": "YulBlock",
"src": "1781:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1796:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1810:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1800:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1825:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1868:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1879:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1864:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1864:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1888:7:1"
}
],
"functionName": {
"name": "abi_decode_t_enum$_Status_$7",
"nodeType": "YulIdentifier",
"src": "1835:28:1"
},
"nodeType": "YulFunctionCall",
"src": "1835:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1825:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_enum$_Status_$7",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1612:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1623:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1635:6:1",
"type": ""
}
],
"src": "1568:345: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_$7(value) {\n if iszero(lt(value, 5)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_Status_$7(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_Status_$7(value)\n }\n\n function convert_t_enum$_Status_$7_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_Status_$7(value)\n }\n\n function abi_encode_t_enum$_Status_$7_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_Status_$7_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_Status_$7__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_Status_$7_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 validator_revert_t_enum$_Status_$7(value) {\n if iszero(lt(value, 5)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_Status_$7(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_Status_$7(value)\n }\n\n function abi_decode_tuple_t_enum$_Status_$7(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_enum$_Status_$7(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c8063200d2ed21461005c57806324b8ba5f1461007a5780636d4ce63c14610096578063d826f88f146100b4578063ea8a1af0146100be575b600080fd5b6100646100c8565b60405161007191906101d1565b60405180910390f35b610094600480360381019061008f9190610216565b6100d9565b005b61009e610105565b6040516100ab91906101d1565b60405180910390f35b6100bc61011b565b005b6100c661012e565b005b60008054906101000a900460ff1681565b806000806101000a81548160ff021916908360048111156100fd576100fc61015a565b5b021790555050565b60008060009054906101000a900460ff16905090565b6000806101000a81549060ff0219169055565b60046000806101000a81548160ff021916908360048111156101535761015261015a565b5b0217905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6005811061019a5761019961015a565b5b50565b60008190506101ab82610189565b919050565b60006101bb8261019d565b9050919050565b6101cb816101b0565b82525050565b60006020820190506101e660008301846101c2565b92915050565b600080fd5b600581106101fe57600080fd5b50565b600081359050610210816101f1565b92915050565b60006020828403121561022c5761022b6101ec565b5b600061023a84828501610201565b9150509291505056fea26469706673582212203cd1478973241ce3b47bbe6bc48c4aec788fbd6d2e4da628d4217d3fc36246cf64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x200D2ED2 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x24B8BA5F EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0xD826F88F EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0xEA8A1AF0 EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xC8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x1D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x216 JUMP JUMPDEST PUSH2 0xD9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x9E PUSH2 0x105 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x1D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH2 0x11B JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH2 0x12E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0xFD JUMPI PUSH2 0xFC PUSH2 0x15A JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x153 JUMPI PUSH2 0x152 PUSH2 0x15A JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x5 DUP2 LT PUSH2 0x19A JUMPI PUSH2 0x199 PUSH2 0x15A JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x1AB DUP3 PUSH2 0x189 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BB DUP3 PUSH2 0x19D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CB DUP2 PUSH2 0x1B0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1C2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP2 LT PUSH2 0x1FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x210 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x22C JUMPI PUSH2 0x22B PUSH2 0x1EC JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x23A DUP5 DUP3 DUP6 ADD PUSH2 0x201 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODECOPY 0xD1 SELFBALANCE DUP10 PUSH20 0x241CE3B47BBE6BC48C4AEC788FBD6D2E4DA628D4 0x21 PUSH30 0x3FC36246CF64736F6C634300080D00330000000000000000000000000000 ",
"sourceMap": "4053:625:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4183:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4345:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4614:62;;;:::i;:::-;;4531:74;;;:::i;:::-;;4183:20;;;;;;;;;;;;:::o;4444:77::-;4503:7;4494:6;;:16;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;4444:77;:::o;4345:81::-;4381:6;4409;;;;;;;;;;;4402:13;;4345:81;:::o;4614:62::-;4659:6;;4652:13;;;;;;;;;;;4614:62::o;4531:74::-;4579:15;4570:6;;:24;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;4531:74::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:107;1375:1;1368:5;1365:12;1355:40;;1391:1;1388;1381:12;1355:40;1294:107;:::o;1407:155::-;1461:5;1499:6;1486:20;1477:29;;1515:41;1550:5;1515:41;:::i;:::-;1407:155;;;;:::o;1568:345::-;1635:6;1684:2;1672:9;1663:7;1659:23;1655:32;1652:119;;;1690:79;;:::i;:::-;1652:119;1810:1;1835:61;1888:7;1879:6;1868:9;1864:22;1835:61;:::i;:::-;1825:71;;1781:125;1568:345;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "126600",
"executionCost": "171",
"totalCost": "126771"
},
"external": {
"cancel()": "24497",
"get()": "2590",
"reset()": "24430",
"set(uint8)": "24650",
"status()": "2535"
}
},
"methodIdentifiers": {
"cancel()": "ea8a1af0",
"get()": "6d4ce63c",
"reset()": "d826f88f",
"set(uint8)": "24b8ba5f",
"status()": "200d2ed2"
}
},
"abi": [
{
"inputs": [],
"name": "cancel",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "reset",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum Enum.Status",
"name": "_status",
"type": "uint8"
}
],
"name": "set",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "status",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "cancel",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "enum Enum.Status",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "reset",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "enum Enum.Status",
"name": "_status",
"type": "uint8"
}
],
"name": "set",
"outputs": [],
"stateMutability": "nonpayable",
"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": {
"firstApp.sol": "Enum"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x0677f6c9b902b02656656cec53d3b32a67216a9f54ee698167d49c4742e7a3d6",
"license": "MIT",
"urls": [
"bzz-raw://5e1768a2f8156b4c37e564522318e0f5e4bbebcc148e5fcefefbf8d2708bd119",
"dweb:/ipfs/QmcQX3nLZcYQ5hXYuWQPj9QR53WpDKRDc8GgVXjFPheRTC"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220978b668a971f9da23dca6b8a50859498a907ab2cc2f2ba362131a583ba68acdf64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 DUP12 PUSH7 0x8A971F9DA23DCA PUSH12 0x8A50859498A907AB2CC2F2BA CALLDATASIZE 0x21 BALANCE 0xA5 DUP4 0xBA PUSH9 0xACDF64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "6445:20:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220978b668a971f9da23dca6b8a50859498a907ab2cc2f2ba362131a583ba68acdf64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP8 DUP12 PUSH7 0x8A971F9DA23DCA PUSH12 0x8A50859498A907AB2CC2F2BA CALLDATASIZE 0x21 BALANCE 0xA5 DUP4 0xBA PUSH9 0xACDF64736F6C634300 ADDMOD 0xD STOP CALLER ",
"sourceMap": "6445:20:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"firstApp.sol": "Ev"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"firstApp.sol": {
"keccak256": "0x144bcc4117b7c591443c7e600b8c88505ad99efd00f0fd326e94dfa5453a0d3b",
"license": "MIT",
"urls": [
"bzz-raw://807d6c969c9aace5ecbf96b26720a0968b00d2b2f22bfdd91eb6e5dfa0965447",
"dweb:/ipfs/QmUSHzRBoCGF7jaTSj8iitbL6FKvdu1dbndg4eX8q7kN9D"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220f8b3a1b51b75aba76cf4ca37e57dc3e8e9e70f6720d9a265fa75ed12ca7a985c64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 0xB3 LOG1 0xB5 SHL PUSH22 0xABA76CF4CA37E57DC3E8E9E70F6720D9A265FA75ED12 0xCA PUSH27 0x985C64736F6C634300080D00330000000000000000000000000000 ",
"sourceMap": "58:21:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220f8b3a1b51b75aba76cf4ca37e57dc3e8e9e70f6720d9a265fa75ed12ca7a985c64736f6c634300080d0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 0xB3 LOG1 0xB5 SHL PUSH22 0xABA76CF4CA37E57DC3E8E9E70F6720D9A265FA75ED12 0xCA PUSH27 0x985C64736F6C634300080D00330000000000000000000000000000 ",
"sourceMap": "58:21:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.13+commit.abaa5c0e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"eventTicketContract.sol": "Eve"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"eventTicketContract.sol": {
"keccak256": "0x145aa2e5ef24a366640fd6bdba258482f6b421556884246ac1a4f76e21a4a6cf",
"license": "MIT",
"urls": [
"bzz-raw://300a81059225a50f0a0f996e27e19f9cf6d298c9e39b58bb69aa82b3d4dfdee6",
"dweb:/ipfs/QmSUYEMw6QKVeg1FDKr7jw4H9krQ1kojK95essCRHETttP"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212205dc30435212c78df41bdaeb1de4454c4334972f871a5d6a5fc914711e9cf94f864736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D 0xC3 DIV CALLDATALOAD 0x21 0x2C PUSH25 0xDF41BDAEB1DE4454C4334972F871A5D6A5FC914711E9CF94F8 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "58:23:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212205dc30435212c78df41bdaeb1de4454c4334972f871a5d6a5fc914711e9cf94f864736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D 0xC3 DIV CALLDATALOAD 0x21 0x2C PUSH25 0xDF41BDAEB1DE4454C4334972F871A5D6A5FC914711E9CF94F8 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "58:23:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract BookStore {
uint public tax;
address immutable taxAccount;
uint totalSupply;
BookStruct[] books;
mapping (address=>BookStruct) public booksOf;
mapping (uint=>address) public selleOf;
mapping (address=>BookStruct) public bookExist;
struct BookStruct{
uint id;
address seller;
string name ;
string description;
string author;
uint cost;
uint timestamp;
}
event Sale {
uint id;
address indexed buyer;
address indexed seller;
uint cost;
uint timestamp;
}
event Created {
uint id;
address indexed seller;
uint timestamp;
}
constructor(uint _tax){
tax = _tax;
taxAccount = msg.sender;
}
function createBook(string memory name, string memory description, string memory author, uint cost ) public returns (bool) {
require(bytes(name).length > 0, "Name can't be empty");
require(bytes(description).length > 0, "Description can't be empty");
require(bytes(author).length > 0, "Author can't be empty");
}
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
contract CrowdFunding {
struct Compaign{
address owner;
string title;
string description;
uint256 target;
uint256 deadline;
uint256 amountCollected;
}
mapping(uint=>Compaign) public compaigns;
uint256 numberOfCompagin = 0;
function createCompaign(address _owner, string memory _title, string memory _description, uint256 _target, uint256 _deadline) public returns(uint){
Compaign storage compaign = compaigns[numberOfCompagin];
require(compaign.deadline < block.timestamp, "The deadline should be a date in future");
compaign.owner = _owner;
compaign.title = _title;
compaign.description = _description;
compaign.target = _target;
compaign.deadline = _deadline;
compaign.amountCollected = 0;
numberOfCompagin++;
return numberOfCompagin - 1;
}
function donateToCompaign(uint256 _id) public payable {
uint256 amount = msg.value;
Compaign storage compaign = compaigns[_id];
compaign.donators.push(msg.sender);
compaign.donations.push(amount);
(bool sent,) = payable(compaign.owner).call{value:amount}("");
if(sent){
compaign.amountCollected += amount;
}
}
function getDonators(uint256 _id) view public returns (address[] memory, uint256[] memory){
return (compaigns[_id].donators, compaigns[_id].donations);
}
// function getComapigns() public view returns (Compaign[] memory){
// Compaign[] memory allCompaigns = new Compaign[](numberOfCompagin);
// for(uint256 i=0; i < numberOfCompagin; i++){
// }
// }
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract EventContract {
struct Event{
address organizer;
string name;
uint price;
uint date;
uint ticketCount;
uint ticketRemain;
}
mapping (uint =>Event) public events;
mapping (address =>mapping (uint =>uint)) public tickets;
uint public nextId;
function createEvent(string memory name, uint price, uint date, uint ticketCount, uint ticketRemain) external {
require(date > block.timestamp, "You can organize event for future");
require(ticketCount > 0, "You can organize event if you have more than 0 tickets");
events[nextId] = Event(msg.sender, name, price, date, ticketCount, ticketRemain);
nextId++;
}
function buyTicket(uint id, uint quantity) external payable {
require(events[id].date!=0, "This event does not exist");
require(events[id].date>block.timestamp, "Event already accured");
Event storage _event = events[id];
require(msg.value==(_event.price*quantity), "Ether is not enough");
require(_event.ticketRemain>=quantity, "Not enough tickets");
_event.ticketRemain-=quantity;
tickets[msg.sender][id]+=quantity;
}
function transferTicket(uint id, uint quantity, address to) external {
require(events[id].date!=0, "This event does not exist");
require(events[id].date>block.timestamp, "Event already accured");
require(tickets[msg.sender][id]>=quantity, "You donot have enough tickets");
tickets[msg.sender][id]-=quantity;
tickets[to][id]+=quantity;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.5.0 <0.9.0;
contract Lottery {
address public manager;
address payable[] public participants;
constructor(){
manager = msg.sender; // global variabe
}
receive() external payable {
require(msg.value==1 ether);
participants.push(payable(msg.sender));
}
function getBalance() public view returns (uint) {
require(msg.sender== manager);
return address(this).balance;
}
function random() public view returns(uint){
return uint(keccak256(abi.encodePacked(block.difficulty, block.timestamp, participants.length)));
}
function selectWinner() public {
require(msg.sender==manager);
require(participants.length>=3);
uint r = random();
address payable winner;
uint index = r % participants.length;
winner = participants[index];
// return winner;
winner.transfer(getBalance());
participants=new address payable[](0);
}
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
contract Name {
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract TokenContract {
uint noOfToken ;
uint price = 1 ether;
uint quantity;
uint public remainToken;
uint noOfSaledToken;
address payable tenant;
uint balance ;
uint tokenId ;
mapping (address=>uint) tenants;
constructor(uint _noOfToken){
noOfToken = _noOfToken;
remainToken = _noOfToken;
}
function buyToken(uint _quantity) public payable {
require(_quantity<noOfToken, "Not enough token");
require(msg.value>price*_quantity, "Not enough balance");
balance += msg.value;
remainToken -= _quantity;
noOfSaledToken +=_quantity;
tenants[msg.sender];
}
function showToken() public view returns (uint){
return noOfSaledToken;
}
function showBalance() public view returns (uint){
return balance;
}
}
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50611417806100206000396000f3fe6080604052600436106100555760003560e01c80630b7914301461005a578063298ec2081461009c57806361b8ce8c146100b8578063dae7a13c146100e3578063dbf3f3c914610120578063f086a09b14610149575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190610847565b610172565b60405161009396959493929190610954565b60405180910390f35b6100b660048036038101906100b191906109bc565b610256565b005b3480156100c457600080fd5b506100cd61043a565b6040516100da91906109fc565b60405180910390f35b3480156100ef57600080fd5b5061010a60048036038101906101059190610a43565b610440565b60405161011791906109fc565b60405180910390f35b34801561012c57600080fd5b5061014760048036038101906101429190610bb8565b610465565b005b34801561015557600080fd5b50610170600480360381019061016b9190610c4f565b6105e8565b005b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010180546101bb90610cd1565b80601f01602080910402602001604051908101604052809291908181526020018280546101e790610cd1565b80156102345780601f1061020957610100808354040283529160200191610234565b820191906000526020600020905b81548152906001019060200180831161021757829003601f168201915b5050505050908060020154908060030154908060040154908060050154905086565b600080600084815260200190815260200160002060030154036102ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a590610d4e565b60405180910390fd5b426000808481526020019081526020016000206003015411610305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fc90610dba565b60405180910390fd5b6000806000848152602001908152602001600020905081816002015461032b9190610e09565b341461036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610e97565b60405180910390fd5b81816005015410156103b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa90610f03565b60405180910390fd5b818160050160008282546103c79190610f23565b9250508190555081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600082825461042e9190610f57565b92505081905550505050565b60025481565b6001602052816000526040600020602052806000526040600020600091509150505481565b4283116104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90610ffd565b60405180910390fd5b600082116104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e19061108f565b60405180910390fd5b6040518060c001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184815260200183815260200182815250600080600254815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908161059d919061125b565b5060408201518160020155606082015181600301556080820151816004015560a08201518160050155905050600260008154809291906105dc9061132d565b91905055505050505050565b60008060008581526020019081526020016000206003015403610640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063790610d4e565b60405180910390fd5b426000808581526020019081526020016000206003015411610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068e90610dba565b60405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054101561072a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610721906113c1565b60405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600082825461078a9190610f23565b9250508190555081600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008282546107f19190610f57565b92505081905550505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61082481610811565b811461082f57600080fd5b50565b6000813590506108418161081b565b92915050565b60006020828403121561085d5761085c610807565b5b600061086b84828501610832565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061089f82610874565b9050919050565b6108af81610894565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156108ef5780820151818401526020810190506108d4565b60008484015250505050565b6000601f19601f8301169050919050565b6000610917826108b5565b61092181856108c0565b93506109318185602086016108d1565b61093a816108fb565b840191505092915050565b61094e81610811565b82525050565b600060c08201905061096960008301896108a6565b818103602083015261097b818861090c565b905061098a6040830187610945565b6109976060830186610945565b6109a46080830185610945565b6109b160a0830184610945565b979650505050505050565b600080604083850312156109d3576109d2610807565b5b60006109e185828601610832565b92505060206109f285828601610832565b9150509250929050565b6000602082019050610a116000830184610945565b92915050565b610a2081610894565b8114610a2b57600080fd5b50565b600081359050610a3d81610a17565b92915050565b60008060408385031215610a5a57610a59610807565b5b6000610a6885828601610a2e565b9250506020610a7985828601610832565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610ac5826108fb565b810181811067ffffffffffffffff82111715610ae457610ae3610a8d565b5b80604052505050565b6000610af76107fd565b9050610b038282610abc565b919050565b600067ffffffffffffffff821115610b2357610b22610a8d565b5b610b2c826108fb565b9050602081019050919050565b82818337600083830152505050565b6000610b5b610b5684610b08565b610aed565b905082815260208101848484011115610b7757610b76610a88565b5b610b82848285610b39565b509392505050565b600082601f830112610b9f57610b9e610a83565b5b8135610baf848260208601610b48565b91505092915050565b600080600080600060a08688031215610bd457610bd3610807565b5b600086013567ffffffffffffffff811115610bf257610bf161080c565b5b610bfe88828901610b8a565b9550506020610c0f88828901610832565b9450506040610c2088828901610832565b9350506060610c3188828901610832565b9250506080610c4288828901610832565b9150509295509295909350565b600080600060608486031215610c6857610c67610807565b5b6000610c7686828701610832565b9350506020610c8786828701610832565b9250506040610c9886828701610a2e565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ce957607f821691505b602082108103610cfc57610cfb610ca2565b5b50919050565b7f54686973206576656e7420646f6573206e6f7420657869737400000000000000600082015250565b6000610d386019836108c0565b9150610d4382610d02565b602082019050919050565b60006020820190508181036000830152610d6781610d2b565b9050919050565b7f4576656e7420616c726561647920616363757265640000000000000000000000600082015250565b6000610da46015836108c0565b9150610daf82610d6e565b602082019050919050565b60006020820190508181036000830152610dd381610d97565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e1482610811565b9150610e1f83610811565b9250828202610e2d81610811565b91508282048414831517610e4457610e43610dda565b5b5092915050565b7f4574686572206973206e6f7420656e6f75676800000000000000000000000000600082015250565b6000610e816013836108c0565b9150610e8c82610e4b565b602082019050919050565b60006020820190508181036000830152610eb081610e74565b9050919050565b7f4e6f7420656e6f756768207469636b6574730000000000000000000000000000600082015250565b6000610eed6012836108c0565b9150610ef882610eb7565b602082019050919050565b60006020820190508181036000830152610f1c81610ee0565b9050919050565b6000610f2e82610811565b9150610f3983610811565b9250828203905081811115610f5157610f50610dda565b5b92915050565b6000610f6282610811565b9150610f6d83610811565b9250828201905080821115610f8557610f84610dda565b5b92915050565b7f596f752063616e206f7267616e697a65206576656e7420666f7220667574757260008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fe76021836108c0565b9150610ff282610f8b565b604082019050919050565b6000602082019050818103600083015261101681610fda565b9050919050565b7f596f752063616e206f7267616e697a65206576656e7420696620796f7520686160008201527f7665206d6f7265207468616e2030207469636b65747300000000000000000000602082015250565b60006110796036836108c0565b91506110848261101d565b604082019050919050565b600060208201905081810360008301526110a88161106c565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026111117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826110d4565b61111b86836110d4565b95508019841693508086168417925050509392505050565b6000819050919050565b600061115861115361114e84610811565b611133565b610811565b9050919050565b6000819050919050565b6111728361113d565b61118661117e8261115f565b8484546110e1565b825550505050565b600090565b61119b61118e565b6111a6818484611169565b505050565b5b818110156111ca576111bf600082611193565b6001810190506111ac565b5050565b601f82111561120f576111e0816110af565b6111e9846110c4565b810160208510156111f8578190505b61120c611204856110c4565b8301826111ab565b50505b505050565b600082821c905092915050565b600061123260001984600802611214565b1980831691505092915050565b600061124b8383611221565b9150826002028217905092915050565b611264826108b5565b67ffffffffffffffff81111561127d5761127c610a8d565b5b6112878254610cd1565b6112928282856111ce565b600060209050601f8311600181146112c557600084156112b3578287015190505b6112bd858261123f565b865550611325565b601f1984166112d3866110af565b60005b828110156112fb578489015182556001820191506020850194506020810190506112d6565b868310156113185784890151611314601f891682611221565b8355505b6001600288020188555050505b505050505050565b600061133882610811565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361136a57611369610dda565b5b600182019050919050565b7f596f7520646f6e6f74206861766520656e6f756768207469636b657473000000600082015250565b60006113ab601d836108c0565b91506113b682611375565b602082019050919050565b600060208201905081810360008301526113da8161139e565b905091905056fea26469706673582212201803593f92250912eb24747400e0f3b4d587c95e3e48220de24b5eb8a110ac0964736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1417 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB791430 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x298EC208 EQ PUSH2 0x9C JUMPI DUP1 PUSH4 0x61B8CE8C EQ PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDAE7A13C EQ PUSH2 0xE3 JUMPI DUP1 PUSH4 0xDBF3F3C9 EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0xF086A09B EQ PUSH2 0x149 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x81 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x847 JUMP JUMPDEST PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x93 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x954 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x9BC JUMP JUMPDEST PUSH2 0x256 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCD PUSH2 0x43A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDA SWAP2 SWAP1 PUSH2 0x9FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x10A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x105 SWAP2 SWAP1 PUSH2 0xA43 JUMP JUMPDEST PUSH2 0x440 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x117 SWAP2 SWAP1 PUSH2 0x9FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x147 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x142 SWAP2 SWAP1 PUSH2 0xBB8 JUMP JUMPDEST PUSH2 0x465 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16B SWAP2 SWAP1 PUSH2 0xC4F JUMP JUMPDEST PUSH2 0x5E8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1BB SWAP1 PUSH2 0xCD1 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 0x1E7 SWAP1 PUSH2 0xCD1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x234 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x209 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x234 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x217 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 POP DUP7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SUB PUSH2 0x2AE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2A5 SWAP1 PUSH2 0xD4E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x0 DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD GT PUSH2 0x305 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2FC SWAP1 PUSH2 0xDBA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP2 DUP2 PUSH1 0x2 ADD SLOAD PUSH2 0x32B SWAP2 SWAP1 PUSH2 0xE09 JUMP JUMPDEST CALLVALUE EQ PUSH2 0x36C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x363 SWAP1 PUSH2 0xE97 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x5 ADD SLOAD LT ISZERO PUSH2 0x3B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3AA SWAP1 PUSH2 0xF03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x5 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0xF23 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x42E SWAP2 SWAP1 PUSH2 0xF57 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST TIMESTAMP DUP4 GT PUSH2 0x4A7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49E SWAP1 PUSH2 0xFFD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x4EA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4E1 SWAP1 PUSH2 0x108F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP1 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x59D SWAP2 SWAP1 PUSH2 0x125B JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE SWAP1 POP POP PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5DC SWAP1 PUSH2 0x132D JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD SUB PUSH2 0x640 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x637 SWAP1 PUSH2 0xD4E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH1 0x0 DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD GT PUSH2 0x697 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68E SWAP1 PUSH2 0xDBA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x72A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x721 SWAP1 PUSH2 0x13C1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x78A SWAP2 SWAP1 PUSH2 0xF23 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x7F1 SWAP2 SWAP1 PUSH2 0xF57 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x824 DUP2 PUSH2 0x811 JUMP JUMPDEST DUP2 EQ PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x841 DUP2 PUSH2 0x81B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x85D JUMPI PUSH2 0x85C PUSH2 0x807 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x86B DUP5 DUP3 DUP6 ADD PUSH2 0x832 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x89F DUP3 PUSH2 0x874 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8AF DUP2 PUSH2 0x894 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8EF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x8D4 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x917 DUP3 PUSH2 0x8B5 JUMP JUMPDEST PUSH2 0x921 DUP2 DUP6 PUSH2 0x8C0 JUMP JUMPDEST SWAP4 POP PUSH2 0x931 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8D1 JUMP JUMPDEST PUSH2 0x93A DUP2 PUSH2 0x8FB JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x94E DUP2 PUSH2 0x811 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x969 PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x8A6 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x97B DUP2 DUP9 PUSH2 0x90C JUMP JUMPDEST SWAP1 POP PUSH2 0x98A PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x945 JUMP JUMPDEST PUSH2 0x997 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x945 JUMP JUMPDEST PUSH2 0x9A4 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x945 JUMP JUMPDEST PUSH2 0x9B1 PUSH1 0xA0 DUP4 ADD DUP5 PUSH2 0x945 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9D3 JUMPI PUSH2 0x9D2 PUSH2 0x807 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9E1 DUP6 DUP3 DUP7 ADD PUSH2 0x832 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x9F2 DUP6 DUP3 DUP7 ADD PUSH2 0x832 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA11 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x945 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA20 DUP2 PUSH2 0x894 JUMP JUMPDEST DUP2 EQ PUSH2 0xA2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xA3D DUP2 PUSH2 0xA17 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA5A JUMPI PUSH2 0xA59 PUSH2 0x807 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA68 DUP6 DUP3 DUP7 ADD PUSH2 0xA2E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA79 DUP6 DUP3 DUP7 ADD PUSH2 0x832 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xAC5 DUP3 PUSH2 0x8FB JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xAE4 JUMPI PUSH2 0xAE3 PUSH2 0xA8D JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAF7 PUSH2 0x7FD JUMP JUMPDEST SWAP1 POP PUSH2 0xB03 DUP3 DUP3 PUSH2 0xABC JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xB23 JUMPI PUSH2 0xB22 PUSH2 0xA8D JUMP JUMPDEST JUMPDEST PUSH2 0xB2C DUP3 PUSH2 0x8FB JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB5B PUSH2 0xB56 DUP5 PUSH2 0xB08 JUMP JUMPDEST PUSH2 0xAED JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xB77 JUMPI PUSH2 0xB76 PUSH2 0xA88 JUMP JUMPDEST JUMPDEST PUSH2 0xB82 DUP5 DUP3 DUP6 PUSH2 0xB39 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xB9F JUMPI PUSH2 0xB9E PUSH2 0xA83 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xBAF DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xB48 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0xBD4 JUMPI PUSH2 0xBD3 PUSH2 0x807 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBF2 JUMPI PUSH2 0xBF1 PUSH2 0x80C JUMP JUMPDEST JUMPDEST PUSH2 0xBFE DUP9 DUP3 DUP10 ADD PUSH2 0xB8A JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0xC0F DUP9 DUP3 DUP10 ADD PUSH2 0x832 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0xC20 DUP9 DUP3 DUP10 ADD PUSH2 0x832 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0xC31 DUP9 DUP3 DUP10 ADD PUSH2 0x832 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0xC42 DUP9 DUP3 DUP10 ADD PUSH2 0x832 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC68 JUMPI PUSH2 0xC67 PUSH2 0x807 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xC76 DUP7 DUP3 DUP8 ADD PUSH2 0x832 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xC87 DUP7 DUP3 DUP8 ADD PUSH2 0x832 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC98 DUP7 DUP3 DUP8 ADD PUSH2 0xA2E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xCE9 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xCFC JUMPI PUSH2 0xCFB PUSH2 0xCA2 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x54686973206576656E7420646F6573206E6F7420657869737400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD38 PUSH1 0x19 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0xD43 DUP3 PUSH2 0xD02 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD67 DUP2 PUSH2 0xD2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4576656E7420616C726561647920616363757265640000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDA4 PUSH1 0x15 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0xDAF DUP3 PUSH2 0xD6E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xDD3 DUP2 PUSH2 0xD97 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xE14 DUP3 PUSH2 0x811 JUMP JUMPDEST SWAP2 POP PUSH2 0xE1F DUP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0xE2D DUP2 PUSH2 0x811 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0xE44 JUMPI PUSH2 0xE43 PUSH2 0xDDA JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4574686572206973206E6F7420656E6F75676800000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE81 PUSH1 0x13 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0xE8C DUP3 PUSH2 0xE4B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEB0 DUP2 PUSH2 0xE74 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768207469636B6574730000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEED PUSH1 0x12 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0xEF8 DUP3 PUSH2 0xEB7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF1C DUP2 PUSH2 0xEE0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF2E DUP3 PUSH2 0x811 JUMP JUMPDEST SWAP2 POP PUSH2 0xF39 DUP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xF51 JUMPI PUSH2 0xF50 PUSH2 0xDDA JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF62 DUP3 PUSH2 0x811 JUMP JUMPDEST SWAP2 POP PUSH2 0xF6D DUP4 PUSH2 0x811 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xF85 JUMPI PUSH2 0xF84 PUSH2 0xDDA JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F752063616E206F7267616E697A65206576656E7420666F72206675747572 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFE7 PUSH1 0x21 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0xFF2 DUP3 PUSH2 0xF8B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1016 DUP2 PUSH2 0xFDA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F752063616E206F7267616E697A65206576656E7420696620796F75206861 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7665206D6F7265207468616E2030207469636B65747300000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1079 PUSH1 0x36 DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1084 DUP3 PUSH2 0x101D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x10A8 DUP2 PUSH2 0x106C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x1111 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x10D4 JUMP JUMPDEST PUSH2 0x111B DUP7 DUP4 PUSH2 0x10D4 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 PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1158 PUSH2 0x1153 PUSH2 0x114E DUP5 PUSH2 0x811 JUMP JUMPDEST PUSH2 0x1133 JUMP JUMPDEST PUSH2 0x811 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1172 DUP4 PUSH2 0x113D JUMP JUMPDEST PUSH2 0x1186 PUSH2 0x117E DUP3 PUSH2 0x115F JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x10E1 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x119B PUSH2 0x118E JUMP JUMPDEST PUSH2 0x11A6 DUP2 DUP5 DUP5 PUSH2 0x1169 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x11CA JUMPI PUSH2 0x11BF PUSH1 0x0 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x11AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x120F JUMPI PUSH2 0x11E0 DUP2 PUSH2 0x10AF JUMP JUMPDEST PUSH2 0x11E9 DUP5 PUSH2 0x10C4 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x11F8 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x120C PUSH2 0x1204 DUP6 PUSH2 0x10C4 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x11AB JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1232 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1214 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124B DUP4 DUP4 PUSH2 0x1221 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1264 DUP3 PUSH2 0x8B5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x127D JUMPI PUSH2 0x127C PUSH2 0xA8D JUMP JUMPDEST JUMPDEST PUSH2 0x1287 DUP3 SLOAD PUSH2 0xCD1 JUMP JUMPDEST PUSH2 0x1292 DUP3 DUP3 DUP6 PUSH2 0x11CE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x12C5 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x12B3 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x12BD DUP6 DUP3 PUSH2 0x123F JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1325 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x12D3 DUP7 PUSH2 0x10AF JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x12FB 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 0x12D6 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1318 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1314 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1221 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 PUSH1 0x0 PUSH2 0x1338 DUP3 PUSH2 0x811 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x136A JUMPI PUSH2 0x1369 PUSH2 0xDDA JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F7520646F6E6F74206861766520656E6F756768207469636B657473000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AB PUSH1 0x1D DUP4 PUSH2 0x8C0 JUMP JUMPDEST SWAP2 POP PUSH2 0x13B6 DUP3 PUSH2 0x1375 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13DA DUP2 PUSH2 0x139E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR SUB MSIZE EXTCODEHASH SWAP3 0x25 MULMOD SLT 0xEB 0x24 PUSH21 0x7400E0F3B4D587C95E3E48220DE24B5EB8A110AC09 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "58:1598:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@buyTicket_144": {
"entryPoint": 598,
"id": 144,
"parameterSlots": 2,
"returnSlots": 0
},
"@createEvent_73": {
"entryPoint": 1125,
"id": 73,
"parameterSlots": 5,
"returnSlots": 0
},
"@events_19": {
"entryPoint": 370,
"id": 19,
"parameterSlots": 0,
"returnSlots": 0
},
"@nextId_27": {
"entryPoint": 1082,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@tickets_25": {
"entryPoint": 1088,
"id": 25,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferTicket_204": {
"entryPoint": 1512,
"id": 204,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 2888,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2606,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 2954,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2098,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2627,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_uint256t_uint256": {
"entryPoint": 3000,
"id": null,
"parameterSlots": 2,
"returnSlots": 5
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2119,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 2492,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256t_uint256t_address": {
"entryPoint": 3151,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2214,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2316,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_41a155a71d27ed4c2c50e483422d0e243ac02025d3da2062fc79b306ecedc0f8_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3479,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_4ab15b4d451c3267576d55834b4a88cd93e7c0629c074dcd7b3ca651a6e9d921_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3808,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_6331267dea345ed7151c30a8e7f8b307be2f7920fc65884a3e41a00575a1fce7_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4204,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_765f0d6d75d3268ce21638ae6d2cfc7d9234c05f86050bffe3ab651bab3bdf5c_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3700,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_8c68c2f1ac2d853b2d697ae5761e97cb0451332786b445f98a5017ad9eb6d4ba_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5022,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_be687cc535149e04f4b7b0e8cd25127d61a3a207e84b6eb9acf420dcab81b760_to_t_string_memory_ptr_fromStack": {
"entryPoint": 4058,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_ecd3041b8f41dd1494bc91f8e8a0288aec20cf5fc3f1cf795b6a3c3a7289be35_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3371,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2373,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__to_t_address_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 2388,
"id": null,
"parameterSlots": 7,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_41a155a71d27ed4c2c50e483422d0e243ac02025d3da2062fc79b306ecedc0f8__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_4ab15b4d451c3267576d55834b4a88cd93e7c0629c074dcd7b3ca651a6e9d921__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3843,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_6331267dea345ed7151c30a8e7f8b307be2f7920fc65884a3e41a00575a1fce7__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4239,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_765f0d6d75d3268ce21638ae6d2cfc7d9234c05f86050bffe3ab651bab3bdf5c__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3735,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_8c68c2f1ac2d853b2d697ae5761e97cb0451332786b445f98a5017ad9eb6d4ba__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5057,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_be687cc535149e04f4b7b0e8cd25127d61a3a207e84b6eb9acf420dcab81b760__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4093,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_ecd3041b8f41dd1494bc91f8e8a0288aec20cf5fc3f1cf795b6a3c3a7289be35__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 3406,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2556,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 2797,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 2045,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 2824,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 4271,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2229,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2240,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3927,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 3593,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3875,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 4558,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 2196,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2164,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2065,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 4523,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 4413,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 4699,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 2873,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2257,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 4292,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 3281,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 4671,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 2748,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 4403,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 4909,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 4641,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3546,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 3234,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 2701,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 4447,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 2691,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 2696,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2060,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2055,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2299,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 4308,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 4628,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 4499,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_41a155a71d27ed4c2c50e483422d0e243ac02025d3da2062fc79b306ecedc0f8": {
"entryPoint": 3438,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_4ab15b4d451c3267576d55834b4a88cd93e7c0629c074dcd7b3ca651a6e9d921": {
"entryPoint": 3767,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_6331267dea345ed7151c30a8e7f8b307be2f7920fc65884a3e41a00575a1fce7": {
"entryPoint": 4125,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_765f0d6d75d3268ce21638ae6d2cfc7d9234c05f86050bffe3ab651bab3bdf5c": {
"entryPoint": 3659,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_8c68c2f1ac2d853b2d697ae5761e97cb0451332786b445f98a5017ad9eb6d4ba": {
"entryPoint": 4981,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_be687cc535149e04f4b7b0e8cd25127d61a3a207e84b6eb9acf420dcab81b760": {
"entryPoint": 3979,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_ecd3041b8f41dd1494bc91f8e8a0288aec20cf5fc3f1cf795b6a3c3a7289be35": {
"entryPoint": 3330,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 4321,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 4457,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2583,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2075,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 4494,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:21728:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1095:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1102:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1091:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1202:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1212:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1241:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1223:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1223:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1212:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1184:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1194:7:1",
"type": ""
}
],
"src": "1157:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1346:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:1",
"type": ""
}
],
"src": "1259:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1442:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1453:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1469:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1463:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1463:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1453:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1425:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1435:6:1",
"type": ""
}
],
"src": "1383:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1584:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1601:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1606:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1594:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1594:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1594:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1622:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1641:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1646:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1637:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1637:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1622:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1556:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1561:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1572:11:1",
"type": ""
}
],
"src": "1488:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1725:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1735:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1744:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1739:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1804:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1829:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1834:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1825:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1825:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1848:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1853:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1844:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1838:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1838:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1818:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1818:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1765:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1768:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1762:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1762:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1776:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1778:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1787:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1790:2:1",
"type": "",
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

(Sorry about that, but we can’t show 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