Created
September 17, 2021 01:37
-
-
Save jsonMartin/b69a837cf505d5d8ce3bef54eb9dd861 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REMIX EXAMPLE PROJECT | |
Remix example project is present when Remix loads very first time or there are no files existing in the File Explorer. | |
It contains 3 directories: | |
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name. | |
2. 'scripts': Holds two scripts to deploy a contract. It is explained below. | |
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity. | |
SCRIPTS | |
The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract. | |
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required). | |
Scripts have full access to the web3.js and ethers.js libraries. | |
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
Output from script will appear in remix terminal. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": { | |
"@_63": { | |
"entryPoint": null, | |
"id": 63, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 395, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 488, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 498, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 552, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x21": { | |
"entryPoint": 599, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 646, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1282:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "51:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "61:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "84:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "66:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "61:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "95:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "118:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "100:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "100:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "95:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "258:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "260:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "260:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "260:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "179:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "186:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "254:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "182:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "182:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "176:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "176:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "173:107:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "290:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "301:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "304:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "297:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "297:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "290:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "38:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "41:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "47:3:1", | |
"type": "" | |
} | |
], | |
"src": "7:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "363:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "373:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "384:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "373:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "345:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "355:7:1", | |
"type": "" | |
} | |
], | |
"src": "318:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "452:269:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "462:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "476:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "482:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "472:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "472:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "462:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "493:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "523:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "529:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "519:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "519:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "497:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "570:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "584:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "598:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "606:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "594:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "584:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "550:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "543:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "543:26:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "540:81:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "673:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "687:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "687:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "687:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "637:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "660:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "668:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "657:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "657:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "634:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "634:38:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "631:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "436:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "445:6:1", | |
"type": "" | |
} | |
], | |
"src": "401:320:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "755:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "772:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "775:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "765:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "765:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "765:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "869:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "872:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "862:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "862:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "862:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "893:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "896:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "886:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "886:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "886:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "727:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "941:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "958:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "961:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "951:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "951:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "951:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1055:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1058:4:1", | |
"type": "", | |
"value": "0x21" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1048:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1048:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1048:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1079:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1082:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1072:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1072:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1072:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x21", | |
"nodeType": "YulFunctionDefinition", | |
"src": "913:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1127:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1144:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1147:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1137:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1137:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1137:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1241:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1244:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1234:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1234:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1234:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1265:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1268:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1258:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1258:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1258:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1099:180:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006101000a81548160ff021916908360038111156200007b576200007a62000257565b5b02179055504360018190555060036001546200009891906200018b565b6002819055506040518060200160405280600081525060039080519060200190620000c5929190620000db565b50670de0b6b3a7640000600881905550620002b5565b828054620000e990620001f2565b90600052602060002090601f0160209004810192826200010d576000855562000159565b82601f106200012857805160ff191683800117855562000159565b8280016001018555821562000159579182015b82811115620001585782518255916020019190600101906200013b565b5b5090506200016891906200016c565b5090565b5b80821115620001875760008160009055506001016200016d565b5090565b60006200019882620001e8565b9150620001a583620001e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620001dd57620001dc62000228565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200020b57607f821691505b6020821081141562000222576200022162000286565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610eac80620002c56000396000f3fe60806040526004361061009c5760003560e01c80638fa8b790116100645780638fa8b7901461018a57806391f90157146101a1578063c623674f146101cc578063ecfc7ecc146101f7578063f5b56c5614610215578063f77282ab146102405761009c565b8063083c6323146100a157806348cd4cb1146100cc57806362ea82db146100f75780637fb45099146101345780638da5cb5b1461015f575b600080fd5b3480156100ad57600080fd5b506100b6610257565b6040516100c39190610c03565b60405180910390f35b3480156100d857600080fd5b506100e161025d565b6040516100ee9190610c03565b60405180910390f35b34801561010357600080fd5b5061011e60048036038101906101199190610aee565b610263565b60405161012b9190610c03565b60405180910390f35b34801561014057600080fd5b5061014961027b565b6040516101569190610bc6565b60405180910390f35b34801561016b57600080fd5b5061017461028e565b6040516101819190610b90565b60405180910390f35b34801561019657600080fd5b5061019f6102b2565b005b3480156101ad57600080fd5b506101b6610337565b6040516101c39190610b90565b60405180910390f35b3480156101d857600080fd5b506101e161035d565b6040516101ee9190610be1565b60405180910390f35b6101ff6103eb565b60405161020c9190610bab565b60405180910390f35b34801561022157600080fd5b5061022a6106f9565b6040516102379190610c03565b60405180910390f35b34801561024c57600080fd5b506102556106ff565b005b60025481565b60015481565b60076020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461030a57600080fd5b6003600460006101000a81548160ff021916908360038111156103305761032f610dd7565b5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003805461036a90610d76565b80601f016020809104026020016040519081016040528092919081815260200182805461039690610d76565b80156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561044757600080fd5b60015443101561045657600080fd5b60025443111561046557600080fd5b6001600381111561047957610478610dd7565b5b600460009054906101000a900460ff16600381111561049b5761049a610dd7565b5b146104a557600080fd5b600034600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f29190610c3a565b9050600554811161050257600080fd5b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811161063157610626600854826105bf9190610c3a565b60076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610abe565b6005819055506106f1565b6106a98160085460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106a49190610c3a565b610abe565b60058190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600191505090565b60055481565b60038081111561071257610711610dd7565b5b600460009054906101000a900460ff16600381111561073457610733610dd7565b5b1480610741575060025443115b61074a57600080fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107e357506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b6107ec57600080fd5b60008060038081111561080257610801610dd7565b5b600460009054906101000a900460ff16600381111561082457610823610dd7565b5b141561087457339150600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a2e565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156108f55760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506005549050610a2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156109e657600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060055460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109df9190610c90565b9050610a2c565b339150600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b5b5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ab9573d6000803e3d6000fd5b505050565b6000818311610acf57829050610ad3565b8190505b92915050565b600081359050610ae881610e5f565b92915050565b600060208284031215610b0457610b03610e35565b5b6000610b1284828501610ad9565b91505092915050565b610b2481610cd6565b82525050565b610b3381610ce8565b82525050565b610b4281610d31565b82525050565b6000610b5382610c1e565b610b5d8185610c29565b9350610b6d818560208601610d43565b610b7681610e3a565b840191505092915050565b610b8a81610d27565b82525050565b6000602082019050610ba56000830184610b1b565b92915050565b6000602082019050610bc06000830184610b2a565b92915050565b6000602082019050610bdb6000830184610b39565b92915050565b60006020820190508181036000830152610bfb8184610b48565b905092915050565b6000602082019050610c186000830184610b81565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610c4582610d27565b9150610c5083610d27565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c8557610c84610da8565b5b828201905092915050565b6000610c9b82610d27565b9150610ca683610d27565b925082821015610cb957610cb8610da8565b5b828203905092915050565b6000610ccf82610d07565b9050919050565b6000610ce182610d07565b9050919050565b60008115159050919050565b6000819050610d0282610e4b565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610d3c82610cf4565b9050919050565b60005b83811015610d61578082015181840152602081019050610d46565b83811115610d70576000848401525b50505050565b60006002820490506001821680610d8e57607f821691505b60208210811415610da257610da1610e06565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60048110610e5c57610e5b610dd7565b5b50565b610e6881610cc4565b8114610e7357600080fd5b5056fea264697066735822122009c9a04f7303b951c0c8d63758bb6a5762b2e1d27dd2541898f16b4d0a38112864736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH3 0x7B JUMPI PUSH3 0x7A PUSH3 0x257 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP NUMBER PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x1 SLOAD PUSH3 0x98 SWAP2 SWAP1 PUSH3 0x18B JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0xC5 SWAP3 SWAP2 SWAP1 PUSH3 0xDB JUMP JUMPDEST POP PUSH8 0xDE0B6B3A7640000 PUSH1 0x8 DUP2 SWAP1 SSTORE POP PUSH3 0x2B5 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xE9 SWAP1 PUSH3 0x1F2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x10D JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x159 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x128 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x159 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x159 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x158 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x13B JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x168 SWAP2 SWAP1 PUSH3 0x16C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x187 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x16D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x198 DUP3 PUSH3 0x1E8 JUMP JUMPDEST SWAP2 POP PUSH3 0x1A5 DUP4 PUSH3 0x1E8 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0x1DD JUMPI PUSH3 0x1DC PUSH3 0x228 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x20B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x222 JUMPI PUSH3 0x221 PUSH3 0x286 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xEAC DUP1 PUSH3 0x2C5 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8FA8B790 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8FA8B790 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x91F90157 EQ PUSH2 0x1A1 JUMPI DUP1 PUSH4 0xC623674F EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xECFC7ECC EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xF5B56C56 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xF77282AB EQ PUSH2 0x240 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x83C6323 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x48CD4CB1 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x62EA82DB EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x7FB45099 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x15F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH2 0x257 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEE SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xAEE JUMP JUMPDEST PUSH2 0x263 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x149 PUSH2 0x27B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x156 SWAP2 SWAP1 PUSH2 0xBC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x174 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x181 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19F PUSH2 0x2B2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B6 PUSH2 0x337 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C3 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xBE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x3EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0xBAB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22A PUSH2 0x6F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 PUSH2 0x6FF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 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 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x330 JUMPI PUSH2 0x32F PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x36A SWAP1 PUSH2 0xD76 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 0x396 SWAP1 PUSH2 0xD76 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E3 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 0x3C6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x447 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD NUMBER LT ISZERO PUSH2 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD NUMBER GT ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x479 JUMPI PUSH2 0x478 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x49B JUMPI PUSH2 0x49A PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4F2 SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST SWAP1 POP PUSH1 0x5 SLOAD DUP2 GT PUSH2 0x502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT PUSH2 0x631 JUMPI PUSH2 0x626 PUSH1 0x8 SLOAD DUP3 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xABE JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x6A9 DUP2 PUSH1 0x8 SLOAD PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x6A4 SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST PUSH2 0xABE JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x734 JUMPI PUSH2 0x733 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ DUP1 PUSH2 0x741 JUMPI POP PUSH1 0x2 SLOAD NUMBER GT JUMPDEST PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x7E3 JUMPI POP PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT JUMPDEST PUSH2 0x7EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x802 JUMPI PUSH2 0x801 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x824 JUMPI PUSH2 0x823 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x874 JUMPI CALLER SWAP2 POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xA2E JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x8F5 JUMPI PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP PUSH1 0x5 SLOAD SWAP1 POP PUSH2 0xA2D JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9E6 JUMPI PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP PUSH1 0x5 SLOAD PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x9DF SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 POP PUSH2 0xA2C JUMP JUMPDEST CALLER SWAP2 POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP JUMPDEST JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xAB9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0xACF JUMPI DUP3 SWAP1 POP PUSH2 0xAD3 JUMP JUMPDEST DUP2 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE8 DUP2 PUSH2 0xE5F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB04 JUMPI PUSH2 0xB03 PUSH2 0xE35 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB12 DUP5 DUP3 DUP6 ADD PUSH2 0xAD9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB24 DUP2 PUSH2 0xCD6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB33 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB42 DUP2 PUSH2 0xD31 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB53 DUP3 PUSH2 0xC1E JUMP JUMPDEST PUSH2 0xB5D DUP2 DUP6 PUSH2 0xC29 JUMP JUMPDEST SWAP4 POP PUSH2 0xB6D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xD43 JUMP JUMPDEST PUSH2 0xB76 DUP2 PUSH2 0xE3A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB8A DUP2 PUSH2 0xD27 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBC0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB2A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBDB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBFB DUP2 DUP5 PUSH2 0xB48 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC18 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB81 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC45 DUP3 PUSH2 0xD27 JUMP JUMPDEST SWAP2 POP PUSH2 0xC50 DUP4 PUSH2 0xD27 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xC85 JUMPI PUSH2 0xC84 PUSH2 0xDA8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9B DUP3 PUSH2 0xD27 JUMP JUMPDEST SWAP2 POP PUSH2 0xCA6 DUP4 PUSH2 0xD27 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xCB9 JUMPI PUSH2 0xCB8 PUSH2 0xDA8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCCF DUP3 PUSH2 0xD07 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0xD07 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xD02 DUP3 PUSH2 0xE4B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD3C DUP3 PUSH2 0xCF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD61 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xD46 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD70 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xD8E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xDA2 JUMPI PUSH2 0xDA1 PUSH2 0xE06 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xE5C JUMPI PUSH2 0xE5B PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0xE68 DUP2 PUSH2 0xCC4 JUMP JUMPDEST DUP2 EQ PUSH2 0xE73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD 0xC9 LOG0 0x4F PUSH20 0x3B951C0C8D63758BB6A5762B2E1D27DD2541898 CALL PUSH12 0x4D0A38112864736F6C634300 ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "73:3962:0:-:0;;;464:278;;;;;;;;;;503:10;487:5;;:27;;;;;;;;;;;;;;;;;;539:13;524:12;;:28;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;584:12;571:10;:25;;;;630:1;617:10;;:14;;;;:::i;:::-;606:8;:25;;;;648:13;;;;;;;;;;;;:8;:13;;;;;;;;;;;;:::i;:::-;;686:19;671:12;:34;;;;73:3962;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:305:1:-;47:3;66:20;84:1;66:20;:::i;:::-;61:25;;100:20;118:1;100:20;:::i;:::-;95:25;;254:1;186:66;182:74;179:1;176:81;173:107;;;260:18;;:::i;:::-;173:107;304:1;301;297:9;290:16;;7:305;;;;:::o;318:77::-;355:7;384:5;373:16;;318:77;;;:::o;401:320::-;445:6;482:1;476:4;472:12;462:22;;529:1;523:4;519:12;550:18;540:81;;606:4;598:6;594:17;584:27;;540:81;668:2;660:6;657:14;637:18;634:38;631:84;;;687:18;;:::i;:::-;631:84;452:269;401:320;;;:::o;727:180::-;775:77;772:1;765:88;872:4;869:1;862:15;896:4;893:1;886:15;913:180;961:77;958:1;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1099:180;1147:77;1144:1;1137:88;1244:4;1241:1;1234:15;1268:4;1265:1;1258:15;73:3962:0;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@auctionState_17": { | |
"entryPoint": 635, | |
"id": 17, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@bids_25": { | |
"entryPoint": 611, | |
"id": 25, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@cancelAuction_138": { | |
"entryPoint": 690, | |
"id": 138, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@endBlock_7": { | |
"entryPoint": 599, | |
"id": 7, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@finalizeAuction_339": { | |
"entryPoint": 1791, | |
"id": 339, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@highestBidder_21": { | |
"entryPoint": 823, | |
"id": 21, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@highestBindingBid_19": { | |
"entryPoint": 1785, | |
"id": 19, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@ipfsHash_9": { | |
"entryPoint": 861, | |
"id": 9, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@min_127": { | |
"entryPoint": 2750, | |
"id": 127, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@owner_3": { | |
"entryPoint": 654, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@placeBid_220": { | |
"entryPoint": 1003, | |
"id": 220, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@startBlock_5": { | |
"entryPoint": 605, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 2777, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 2798, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
"entryPoint": 2843, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 2858, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_enum$_State_$14_to_t_uint8_fromStack": { | |
"entryPoint": 2873, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2888, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 2945, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": { | |
"entryPoint": 2960, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { | |
"entryPoint": 2987, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_enum$_State_$14__to_t_uint8__fromStack_reversed": { | |
"entryPoint": 3014, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3041, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 3075, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 3102, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3113, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 3130, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 3216, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 3268, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address_payable": { | |
"entryPoint": 3286, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 3304, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_enum$_State_$14": { | |
"entryPoint": 3316, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 3335, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 3367, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_enum$_State_$14_to_t_uint8": { | |
"entryPoint": 3377, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 3395, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 3446, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 3496, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x21": { | |
"entryPoint": 3543, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 3590, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 3637, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 3642, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"validator_assert_t_enum$_State_$14": { | |
"entryPoint": 3659, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 3679, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:6109:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "59:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "69:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "91:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "78:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "78:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "69:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "134:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "107:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "107:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "107:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "37:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "45:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "53:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "218:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "264:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "266:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "266:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "266:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "239:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "248:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "235:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "235:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "260:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "231:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "231:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "228:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "357:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "372:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "386:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "376:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "401:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "436:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "447:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "432:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "432:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "456:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "411:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "411:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "401:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "188:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "199:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "211:6:1", | |
"type": "" | |
} | |
], | |
"src": "152:329:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "568:61:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "585:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "616:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "590:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "590:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "578:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "578:45:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "578:45:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "556:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "563:3:1", | |
"type": "" | |
} | |
], | |
"src": "487:142:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "694:50:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "711:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "731:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "716:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "716:21:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "704:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "704:34:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "704:34:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "682:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "689:3:1", | |
"type": "" | |
} | |
], | |
"src": "635:109:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "821:72:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "838:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "880:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_enum$_State_$14_to_t_uint8", | |
"nodeType": "YulIdentifier", | |
"src": "843:36:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "843:43:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "831:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "831:56:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "831:56:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_enum$_State_$14_to_t_uint8_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "809:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "816:3:1", | |
"type": "" | |
} | |
], | |
"src": "750:143:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "991:272:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1001:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1048:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1015:32:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1015:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1005:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1063:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1129:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1134:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1070:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1070:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1063:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1176:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1183:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1172:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1172:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1190:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1195:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "1150:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1150:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1150:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1211:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1222:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1249:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "1227:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1227:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1218:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1218:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1211:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "972:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "979:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "987:3:1", | |
"type": "" | |
} | |
], | |
"src": "899:364:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1334:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1351:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1374:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1356:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1356:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1344:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1344:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1344:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1322:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1329:3:1", | |
"type": "" | |
} | |
], | |
"src": "1269:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1507:140:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1517:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1529:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1540:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1525:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1525:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1517:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1613:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1626:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1637:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1622:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1622:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1553:59:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1553:87:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1553:87:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1479:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1491:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1502:4:1", | |
"type": "" | |
} | |
], | |
"src": "1393:254:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1745:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1755:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1767:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1778:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1763:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1763:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1755:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1829:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1842:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1853:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1838:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1838:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1791:37:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1791:65:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1791:65:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1717:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1729:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1740:4:1", | |
"type": "" | |
} | |
], | |
"src": "1653:210:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1973:130:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1983:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1995:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2006:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1991:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1991:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1983:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2069:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2082:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2093:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2078:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2078:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_enum$_State_$14_to_t_uint8_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2019:49:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2019:77:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2019:77:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_enum$_State_$14__to_t_uint8__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1945:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1957:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1968:4:1", | |
"type": "" | |
} | |
], | |
"src": "1869:234:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2227:195:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2237:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2249:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2260:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2245:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2245:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2237:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2284:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2295:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2280:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2280:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2303:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2309:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2299:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2299:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2273:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2273:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2273:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2329:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2401:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2410:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2337:63:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2337:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2329: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": "2199:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2211:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2222:4:1", | |
"type": "" | |
} | |
], | |
"src": "2109:313:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2526:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2536:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2548:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2559:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2544:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2544:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2536:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2616:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2629:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2640:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2625:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2625:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2572:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2572:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2572:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2498:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2510:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2521:4:1", | |
"type": "" | |
} | |
], | |
"src": "2428:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2696:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2706:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2722:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2716:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2716:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "2706:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "2689:6:1", | |
"type": "" | |
} | |
], | |
"src": "2656:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2796:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2807:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2823:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "2817:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2817:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2807:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2779:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2789:6:1", | |
"type": "" | |
} | |
], | |
"src": "2737:99:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2938:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2955:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2960:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2948:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2948:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2948:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2976:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2995:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3000:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2991:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2991:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2976:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2910:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2915:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2926:11:1", | |
"type": "" | |
} | |
], | |
"src": "2842:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3061:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3071:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3094:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3076:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3076:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3071:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3105:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3128:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3110:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3110:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3105:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3268:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "3270:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3270:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3270:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3189:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3196:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3264:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3192:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3192:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "3186:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3186:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3183:107:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3300:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3311:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3314:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3307:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3307:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "3300:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "3048:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "3051:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "3057:3:1", | |
"type": "" | |
} | |
], | |
"src": "3017:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3373:146:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3383:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3406:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3388:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3388:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3383:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3417:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3440:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3422:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3422:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3417:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3464:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "3466:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3466:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3466:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3458:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3461:1:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "3455:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3455:8:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "3452:34:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3496:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3508:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3511:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3504:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3504:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "3496:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "3359:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "3362:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "3368:4:1", | |
"type": "" | |
} | |
], | |
"src": "3328:191:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3570:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3580:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3609:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3591:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3591:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3580:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3552:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3562:7:1", | |
"type": "" | |
} | |
], | |
"src": "3525:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3680:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3690:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3719:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3701:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3701:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3690:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3662:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3672:7:1", | |
"type": "" | |
} | |
], | |
"src": "3627:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3779:48:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3789:32:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3814:5:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "3807:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3807:13:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "3800:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3800:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3789:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3761:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3771:7:1", | |
"type": "" | |
} | |
], | |
"src": "3737:90:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3886:74:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3896:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3907:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3896:7:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3948:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_assert_t_enum$_State_$14", | |
"nodeType": "YulIdentifier", | |
"src": "3913:34:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3913:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3913:41:1" | |
} | |
] | |
}, | |
"name": "cleanup_t_enum$_State_$14", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3868:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3878:7:1", | |
"type": "" | |
} | |
], | |
"src": "3833:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4011:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4021:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4036:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4043:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4032:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4032:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4021:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3993:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4003:7:1", | |
"type": "" | |
} | |
], | |
"src": "3966:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4143:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4153:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4164:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4153:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4125:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4135:7:1", | |
"type": "" | |
} | |
], | |
"src": "4098:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4247:61:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4257:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4296:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_enum$_State_$14", | |
"nodeType": "YulIdentifier", | |
"src": "4270:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4270:32:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "4257:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_enum$_State_$14_to_t_uint8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4227:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "4237:9:1", | |
"type": "" | |
} | |
], | |
"src": "4181:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4363:258:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4373:10:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4382:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "4377:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4442:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "4467:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4472:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4463:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4463:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "4486:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4491:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4482:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4482:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "4476:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4476:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4456:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4456:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4456:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4403:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4406:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "4400:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4400:13:1" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "4414:19:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4416:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4425:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4428:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4421:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4421:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4416:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "4396:3:1", | |
"statements": [] | |
}, | |
"src": "4392:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4539:76:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "4589:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4594:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4585:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4585:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4603:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4578:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4578:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4578:27:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4520:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4523:6:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "4517:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4517:13:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4514:101:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "4345:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "4350:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4355:6:1", | |
"type": "" | |
} | |
], | |
"src": "4314:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4678:269:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4688:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "4702:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4708:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "4698:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4698:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4688:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4719:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "4749:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4755:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4745:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4745:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "4723:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4796:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4810:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4824:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4832:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4820:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4820:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4810:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "4776:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4769:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4769:26:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4766:81:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4899:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "4913:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4913:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4913:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "4863:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4886:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4894:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "4883:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4883:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4860:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4860:38:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "4857:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "4662:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4671:6:1", | |
"type": "" | |
} | |
], | |
"src": "4627:320:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4981:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4998:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5001:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4991:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4991:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4991:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5095:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5098:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5088:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5088:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5088:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5119:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5122:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5112:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5112:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5112:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4953:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5167:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5184:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5187:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5177:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5177:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5177:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5281:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5284:4:1", | |
"type": "", | |
"value": "0x21" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5274:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5274:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5274:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5305:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5308:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5298:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5298:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5298:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x21", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5139:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5353:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5370:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5373:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5363:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5363:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5363:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5467:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5470:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5460:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5460:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5460:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5491:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5494:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5484:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5484:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5484:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5325:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5600:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5617:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5620:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5610:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5610:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5610:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5511:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5723:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5740:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5743:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5733:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5733:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5733:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "5634:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5805:54:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5815:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5833:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5840:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5829:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5829:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5849:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "5845:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5845:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "5825:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5825:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "5815:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5788:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "5798:6:1", | |
"type": "" | |
} | |
], | |
"src": "5757:102:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5916:62:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5950:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x21", | |
"nodeType": "YulIdentifier", | |
"src": "5952:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5952:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5952:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5939:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5946:1:1", | |
"type": "", | |
"value": "4" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "5936:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5936:12:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5929:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5929:20:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "5926:46:1" | |
} | |
] | |
}, | |
"name": "validator_assert_t_enum$_State_$14", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5909:5:1", | |
"type": "" | |
} | |
], | |
"src": "5865:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6027:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6084:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6093:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6096:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "6086:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6086:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6086:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6050:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6075:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "6057:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6057:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6047:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6047:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6040:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6040:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "6037:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6020:5:1", | |
"type": "" | |
} | |
], | |
"src": "5984:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_enum$_State_$14_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_State_$14_to_t_uint8(value))\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_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_enum$_State_$14__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_State_$14_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_enum$_State_$14(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_State_$14(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_enum$_State_$14_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_State_$14(value)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_assert_t_enum$_State_$14(value) {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "60806040526004361061009c5760003560e01c80638fa8b790116100645780638fa8b7901461018a57806391f90157146101a1578063c623674f146101cc578063ecfc7ecc146101f7578063f5b56c5614610215578063f77282ab146102405761009c565b8063083c6323146100a157806348cd4cb1146100cc57806362ea82db146100f75780637fb45099146101345780638da5cb5b1461015f575b600080fd5b3480156100ad57600080fd5b506100b6610257565b6040516100c39190610c03565b60405180910390f35b3480156100d857600080fd5b506100e161025d565b6040516100ee9190610c03565b60405180910390f35b34801561010357600080fd5b5061011e60048036038101906101199190610aee565b610263565b60405161012b9190610c03565b60405180910390f35b34801561014057600080fd5b5061014961027b565b6040516101569190610bc6565b60405180910390f35b34801561016b57600080fd5b5061017461028e565b6040516101819190610b90565b60405180910390f35b34801561019657600080fd5b5061019f6102b2565b005b3480156101ad57600080fd5b506101b6610337565b6040516101c39190610b90565b60405180910390f35b3480156101d857600080fd5b506101e161035d565b6040516101ee9190610be1565b60405180910390f35b6101ff6103eb565b60405161020c9190610bab565b60405180910390f35b34801561022157600080fd5b5061022a6106f9565b6040516102379190610c03565b60405180910390f35b34801561024c57600080fd5b506102556106ff565b005b60025481565b60015481565b60076020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461030a57600080fd5b6003600460006101000a81548160ff021916908360038111156103305761032f610dd7565b5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6003805461036a90610d76565b80601f016020809104026020016040519081016040528092919081815260200182805461039690610d76565b80156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561044757600080fd5b60015443101561045657600080fd5b60025443111561046557600080fd5b6001600381111561047957610478610dd7565b5b600460009054906101000a900460ff16600381111561049b5761049a610dd7565b5b146104a557600080fd5b600034600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f29190610c3a565b9050600554811161050257600080fd5b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811161063157610626600854826105bf9190610c3a565b60076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610abe565b6005819055506106f1565b6106a98160085460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106a49190610c3a565b610abe565b60058190555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600191505090565b60055481565b60038081111561071257610711610dd7565b5b600460009054906101000a900460ff16600381111561073457610733610dd7565b5b1480610741575060025443115b61074a57600080fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107e357506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b6107ec57600080fd5b60008060038081111561080257610801610dd7565b5b600460009054906101000a900460ff16600381111561082457610823610dd7565b5b141561087457339150600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610a2e565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156108f55760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506005549050610a2d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156109e657600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915060055460076000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109df9190610c90565b9050610a2c565b339150600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b5b5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ab9573d6000803e3d6000fd5b505050565b6000818311610acf57829050610ad3565b8190505b92915050565b600081359050610ae881610e5f565b92915050565b600060208284031215610b0457610b03610e35565b5b6000610b1284828501610ad9565b91505092915050565b610b2481610cd6565b82525050565b610b3381610ce8565b82525050565b610b4281610d31565b82525050565b6000610b5382610c1e565b610b5d8185610c29565b9350610b6d818560208601610d43565b610b7681610e3a565b840191505092915050565b610b8a81610d27565b82525050565b6000602082019050610ba56000830184610b1b565b92915050565b6000602082019050610bc06000830184610b2a565b92915050565b6000602082019050610bdb6000830184610b39565b92915050565b60006020820190508181036000830152610bfb8184610b48565b905092915050565b6000602082019050610c186000830184610b81565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610c4582610d27565b9150610c5083610d27565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c8557610c84610da8565b5b828201905092915050565b6000610c9b82610d27565b9150610ca683610d27565b925082821015610cb957610cb8610da8565b5b828203905092915050565b6000610ccf82610d07565b9050919050565b6000610ce182610d07565b9050919050565b60008115159050919050565b6000819050610d0282610e4b565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610d3c82610cf4565b9050919050565b60005b83811015610d61578082015181840152602081019050610d46565b83811115610d70576000848401525b50505050565b60006002820490506001821680610d8e57607f821691505b60208210811415610da257610da1610e06565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60048110610e5c57610e5b610dd7565b5b50565b610e6881610cc4565b8114610e7357600080fd5b5056fea264697066735822122009c9a04f7303b951c0c8d63758bb6a5762b2e1d27dd2541898f16b4d0a38112864736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8FA8B790 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8FA8B790 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x91F90157 EQ PUSH2 0x1A1 JUMPI DUP1 PUSH4 0xC623674F EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xECFC7ECC EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xF5B56C56 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xF77282AB EQ PUSH2 0x240 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x83C6323 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x48CD4CB1 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x62EA82DB EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x7FB45099 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x15F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH2 0x257 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEE SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xAEE JUMP JUMPDEST PUSH2 0x263 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x149 PUSH2 0x27B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x156 SWAP2 SWAP1 PUSH2 0xBC6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x174 PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x181 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19F PUSH2 0x2B2 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B6 PUSH2 0x337 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C3 SWAP2 SWAP1 PUSH2 0xB90 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xBE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FF PUSH2 0x3EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20C SWAP2 SWAP1 PUSH2 0xBAB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22A PUSH2 0x6F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x237 SWAP2 SWAP1 PUSH2 0xC03 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 PUSH2 0x6FF JUMP JUMPDEST STOP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 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 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x30A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x330 JUMPI PUSH2 0x32F PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x36A SWAP1 PUSH2 0xD76 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 0x396 SWAP1 PUSH2 0xD76 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E3 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 0x3C6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x447 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD NUMBER LT ISZERO PUSH2 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD NUMBER GT ISZERO PUSH2 0x465 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x479 JUMPI PUSH2 0x478 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x49B JUMPI PUSH2 0x49A PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x4A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLVALUE PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4F2 SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST SWAP1 POP PUSH1 0x5 SLOAD DUP2 GT PUSH2 0x502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 GT PUSH2 0x631 JUMPI PUSH2 0x626 PUSH1 0x8 SLOAD DUP3 PUSH2 0x5BF SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xABE JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x6A9 DUP2 PUSH1 0x8 SLOAD PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x6A4 SWAP2 SWAP1 PUSH2 0xC3A JUMP JUMPDEST PUSH2 0xABE JUMP JUMPDEST PUSH1 0x5 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x712 JUMPI PUSH2 0x711 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x734 JUMPI PUSH2 0x733 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ DUP1 PUSH2 0x741 JUMPI POP PUSH1 0x2 SLOAD NUMBER GT JUMPDEST PUSH2 0x74A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ DUP1 PUSH2 0x7E3 JUMPI POP PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT JUMPDEST PUSH2 0x7EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x3 DUP1 DUP2 GT ISZERO PUSH2 0x802 JUMPI PUSH2 0x801 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x824 JUMPI PUSH2 0x823 PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST EQ ISZERO PUSH2 0x874 JUMPI CALLER SWAP2 POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH2 0xA2E JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x8F5 JUMPI PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP PUSH1 0x5 SLOAD SWAP1 POP PUSH2 0xA2D JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9E6 JUMPI PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP PUSH1 0x5 SLOAD PUSH1 0x7 PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x9DF SWAP2 SWAP1 PUSH2 0xC90 JUMP JUMPDEST SWAP1 POP PUSH2 0xA2C JUMP JUMPDEST CALLER SWAP2 POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP JUMPDEST JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xAB9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT PUSH2 0xACF JUMPI DUP3 SWAP1 POP PUSH2 0xAD3 JUMP JUMPDEST DUP2 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE8 DUP2 PUSH2 0xE5F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB04 JUMPI PUSH2 0xB03 PUSH2 0xE35 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xB12 DUP5 DUP3 DUP6 ADD PUSH2 0xAD9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB24 DUP2 PUSH2 0xCD6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB33 DUP2 PUSH2 0xCE8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB42 DUP2 PUSH2 0xD31 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB53 DUP3 PUSH2 0xC1E JUMP JUMPDEST PUSH2 0xB5D DUP2 DUP6 PUSH2 0xC29 JUMP JUMPDEST SWAP4 POP PUSH2 0xB6D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xD43 JUMP JUMPDEST PUSH2 0xB76 DUP2 PUSH2 0xE3A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB8A DUP2 PUSH2 0xD27 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB1B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBC0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB2A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBDB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xBFB DUP2 DUP5 PUSH2 0xB48 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC18 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB81 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC45 DUP3 PUSH2 0xD27 JUMP JUMPDEST SWAP2 POP PUSH2 0xC50 DUP4 PUSH2 0xD27 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xC85 JUMPI PUSH2 0xC84 PUSH2 0xDA8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9B DUP3 PUSH2 0xD27 JUMP JUMPDEST SWAP2 POP PUSH2 0xCA6 DUP4 PUSH2 0xD27 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xCB9 JUMPI PUSH2 0xCB8 PUSH2 0xDA8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCCF DUP3 PUSH2 0xD07 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE1 DUP3 PUSH2 0xD07 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xD02 DUP3 PUSH2 0xE4B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD3C DUP3 PUSH2 0xCF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD61 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xD46 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xD70 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xD8E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xDA2 JUMPI PUSH2 0xDA1 PUSH2 0xE06 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0xE5C JUMPI PUSH2 0xE5B PUSH2 0xDD7 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0xE68 DUP2 PUSH2 0xCC4 JUMP JUMPDEST DUP2 EQ PUSH2 0xE73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD 0xC9 LOG0 0x4F PUSH20 0x3B951C0C8D63758BB6A5762B2E1D27DD2541898 CALL PUSH12 0x4D0A38112864736F6C634300 ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "73:3962:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;157:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;129:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;392:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;269:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;95:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1438:87;;;;;;;;;;;;;:::i;:::-;;350:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;183:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1587:994;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;305:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2601:1430;;;;;;;;;;;;;:::i;:::-;;157:20;;;;:::o;129:22::-;;;;:::o;392:36::-;;;;;;;;;;;;;;;;;:::o;269:25::-;;;;;;;;;;;;;:::o;95:28::-;;;;;;;;;;;;:::o;1438:87::-;925:5;;;;;;;;;;911:19;;:10;:19;;;903:28;;;;;;1504:14:::1;1489:12;;:29;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1438:87::o:0;350:36::-;;;;;;;;;;;;;:::o;183:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1587:994::-;1660:4;839:5;;;;;;;;;;;825:19;;:10;:19;;;;817:28;;;;;;1014:10:::1;;998:12;:26;;990:35;;;::::0;::::1;;1107:8:::2;;1091:12;:24;;1083:33;;;::::0;::::2;;1751:13:::3;1735:29;;;;;;;;:::i;:::-;;:12;;;;;;;;;;;:29;;;;;;;;:::i;:::-;;;1727:38;;;::::0;::::3;;1874:15;1911:9;1892:4;:16;1897:10;1892:16;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;1874:46;;2077:17;;2064:10;:30;2056:39;;;::::0;::::3;;2174:10;2155:4;:16;2160:10;2155:16;;;;;;;;;;;;;;;:29;;;;2221:4;:19;2226:13;;;;;;;;;;;2221:19;;;;;;;;;;;;;;;;2207:10;:33;2203:355;;2310:51;2327:12;;2314:10;:25;;;;:::i;:::-;2341:4;:19;2346:13;;;;;;;;;;;2341:19;;;;;;;;;;;;;;;;2310:3;:51::i;:::-;2290:17;:71;;;;2203:355;;;2446:51;2450:10;2484:12;;2462:4;:19;2467:13;;;;;;;;;;;2462:19;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;2446:3;:51::i;:::-;2426:17;:71;;;;2536:10;2512:13;;:35;;;;;;;;;;;;;;;;;;2203:355;2570:4;2563:11;;;1587:994:::0;:::o;305:29::-;;;;:::o;2601:1430::-;2716:14;2700:30;;;;;;;;:::i;:::-;;:12;;;;;;;;;;;:30;;;;;;;;:::i;:::-;;;:57;;;;2749:8;;2734:12;:23;2700:57;2692:66;;;;;;2858:5;;;;;;;;;;2844:19;;:10;:19;;;:43;;;;2886:1;2867:4;:16;2872:10;2867:16;;;;;;;;;;;;;;;;:20;2844:43;2836:52;;;;;;2948:25;2982:10;3028:14;3012:30;;;;;;;;:::i;:::-;;:12;;;;;;;;;;;:30;;;;;;;;:::i;:::-;;;3009:804;;;3107:10;3087:31;;3139:4;:16;3144:10;3139:16;;;;;;;;;;;;;;;;3131:24;;3009:804;;;3229:5;;;;;;;;;;3215:19;;:10;:19;;;3212:592;;;3298:5;;;;;;;;;;3286:17;;3328;;3320:25;;3212:592;;;3451:13;;;;;;;;;;;3437:27;;:10;:27;;;3433:358;;;3498:13;;;;;;;;;;;3486:25;;3562:17;;3540:4;:19;3545:13;;;;;;;;;;;3540:19;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;3532:47;;3433:358;;;3717:10;3697:31;;3757:4;:16;3762:10;3757:16;;;;;;;;;;;;;;;;3749:24;;3433:358;3212:592;3009:804;3943:1;3925:4;:15;3930:9;3925:15;;;;;;;;;;;;;;;:19;;;;3993:9;:18;;:25;4012:5;3993:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2634:1397;;2601:1430::o;1230:153::-;1281:4;1305:1;1300;:6;1296:81;;1328:1;1321:8;;;;1296:81;1365:1;1358:8;;1230:153;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:142::-;590:32;616:5;590:32;:::i;:::-;585:3;578:45;487:142;;:::o;635:109::-;716:21;731:5;716:21;:::i;:::-;711:3;704:34;635:109;;:::o;750:143::-;843:43;880:5;843:43;:::i;:::-;838:3;831:56;750:143;;:::o;899:364::-;987:3;1015:39;1048:5;1015:39;:::i;:::-;1070:71;1134:6;1129:3;1070:71;:::i;:::-;1063:78;;1150:52;1195:6;1190:3;1183:4;1176:5;1172:16;1150:52;:::i;:::-;1227:29;1249:6;1227:29;:::i;:::-;1222:3;1218:39;1211:46;;991:272;899:364;;;;:::o;1269:118::-;1356:24;1374:5;1356:24;:::i;:::-;1351:3;1344:37;1269:118;;:::o;1393:254::-;1502:4;1540:2;1529:9;1525:18;1517:26;;1553:87;1637:1;1626:9;1622:17;1613:6;1553:87;:::i;:::-;1393:254;;;;:::o;1653:210::-;1740:4;1778:2;1767:9;1763:18;1755:26;;1791:65;1853:1;1842:9;1838:17;1829:6;1791:65;:::i;:::-;1653:210;;;;:::o;1869:234::-;1968:4;2006:2;1995:9;1991:18;1983:26;;2019:77;2093:1;2082:9;2078:17;2069:6;2019:77;:::i;:::-;1869:234;;;;:::o;2109:313::-;2222:4;2260:2;2249:9;2245:18;2237:26;;2309:9;2303:4;2299:20;2295:1;2284:9;2280:17;2273:47;2337:78;2410:4;2401:6;2337:78;:::i;:::-;2329:86;;2109:313;;;;:::o;2428:222::-;2521:4;2559:2;2548:9;2544:18;2536:26;;2572:71;2640:1;2629:9;2625:17;2616:6;2572:71;:::i;:::-;2428:222;;;;:::o;2737:99::-;2789:6;2823:5;2817:12;2807:22;;2737:99;;;:::o;2842:169::-;2926:11;2960:6;2955:3;2948:19;3000:4;2995:3;2991:14;2976:29;;2842:169;;;;:::o;3017:305::-;3057:3;3076:20;3094:1;3076:20;:::i;:::-;3071:25;;3110:20;3128:1;3110:20;:::i;:::-;3105:25;;3264:1;3196:66;3192:74;3189:1;3186:81;3183:107;;;3270:18;;:::i;:::-;3183:107;3314:1;3311;3307:9;3300:16;;3017:305;;;;:::o;3328:191::-;3368:4;3388:20;3406:1;3388:20;:::i;:::-;3383:25;;3422:20;3440:1;3422:20;:::i;:::-;3417:25;;3461:1;3458;3455:8;3452:34;;;3466:18;;:::i;:::-;3452:34;3511:1;3508;3504:9;3496:17;;3328:191;;;;:::o;3525:96::-;3562:7;3591:24;3609:5;3591:24;:::i;:::-;3580:35;;3525:96;;;:::o;3627:104::-;3672:7;3701:24;3719:5;3701:24;:::i;:::-;3690:35;;3627:104;;;:::o;3737:90::-;3771:7;3814:5;3807:13;3800:21;3789:32;;3737:90;;;:::o;3833:127::-;3878:7;3907:5;3896:16;;3913:41;3948:5;3913:41;:::i;:::-;3833:127;;;:::o;3966:126::-;4003:7;4043:42;4036:5;4032:54;4021:65;;3966:126;;;:::o;4098:77::-;4135:7;4164:5;4153:16;;4098:77;;;:::o;4181:127::-;4237:9;4270:32;4296:5;4270:32;:::i;:::-;4257:45;;4181:127;;;:::o;4314:307::-;4382:1;4392:113;4406:6;4403:1;4400:13;4392:113;;;4491:1;4486:3;4482:11;4476:18;4472:1;4467:3;4463:11;4456:39;4428:2;4425:1;4421:10;4416:15;;4392:113;;;4523:6;4520:1;4517:13;4514:101;;;4603:1;4594:6;4589:3;4585:16;4578:27;4514:101;4363:258;4314:307;;;:::o;4627:320::-;4671:6;4708:1;4702:4;4698:12;4688:22;;4755:1;4749:4;4745:12;4776:18;4766:81;;4832:4;4824:6;4820:17;4810:27;;4766:81;4894:2;4886:6;4883:14;4863:18;4860:38;4857:84;;;4913:18;;:::i;:::-;4857:84;4678:269;4627:320;;;:::o;4953:180::-;5001:77;4998:1;4991:88;5098:4;5095:1;5088:15;5122:4;5119:1;5112:15;5139:180;5187:77;5184:1;5177:88;5284:4;5281:1;5274:15;5308:4;5305:1;5298:15;5325:180;5373:77;5370:1;5363:88;5470:4;5467:1;5460:15;5494:4;5491:1;5484:15;5634:117;5743:1;5740;5733:12;5757:102;5798:6;5849:2;5845:7;5840:2;5833:5;5829:14;5825:28;5815:38;;5757:102;;;:::o;5865:113::-;5946:1;5939:5;5936:12;5926:46;;5952:18;;:::i;:::-;5926:46;5865:113;:::o;5984:122::-;6057:24;6075:5;6057:24;:::i;:::-;6050:5;6047:35;6037:63;;6096:1;6093;6086:12;6037:63;5984:122;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "751200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"auctionState()": "2627", | |
"bids(address)": "2859", | |
"cancelAuction()": "26598", | |
"endBlock()": "2430", | |
"finalizeAuction()": "infinite", | |
"highestBidder()": "2536", | |
"highestBindingBid()": "2517", | |
"ipfsHash()": "infinite", | |
"owner()": "2600", | |
"placeBid()": "infinite", | |
"startBlock()": "2452" | |
}, | |
"internal": { | |
"min(uint256,uint256)": "64" | |
} | |
}, | |
"methodIdentifiers": { | |
"auctionState()": "7fb45099", | |
"bids(address)": "62ea82db", | |
"cancelAuction()": "8fa8b790", | |
"endBlock()": "083c6323", | |
"finalizeAuction()": "f77282ab", | |
"highestBidder()": "91f90157", | |
"highestBindingBid()": "f5b56c56", | |
"ipfsHash()": "c623674f", | |
"owner()": "8da5cb5b", | |
"placeBid()": "ecfc7ecc", | |
"startBlock()": "48cd4cb1" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "auctionState", | |
"outputs": [ | |
{ | |
"internalType": "enum Auction.State", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "bids", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "cancelAuction", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "endBlock", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "finalizeAuction", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "highestBidder", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "highestBindingBid", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "ipfsHash", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "placeBid", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "startBlock", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "auctionState", | |
"outputs": [ | |
{ | |
"internalType": "enum Auction.State", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "bids", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "cancelAuction", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "endBlock", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "finalizeAuction", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "highestBidder", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "highestBindingBid", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "ipfsHash", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address payable", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "placeBid", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "startBlock", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/crowdfunding.sol": "Auction" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/crowdfunding.sol": { | |
"keccak256": "0x2e6d58e13829d84ca53769f4c586fa59a100d67366cb7a9ba7586e0edb731443", | |
"license": "GPL-3.0", | |
"urls": [ | |
"bzz-raw://766571fc5594ccbd1f6259f409f1f227c7e5975623c6dd9277196003034f2d27", | |
"dweb:/ipfs/QmUtrUPqrtgkNkDhFd2rndTf85GipvVqkitEdHTCTMy9UZ" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"deploy": { | |
"VM:-": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"main:1": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"ropsten:3": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"rinkeby:4": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"kovan:42": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"görli:5": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
}, | |
"Custom": { | |
"linkReferences": {}, | |
"autoDeployLib": true | |
} | |
}, | |
"data": { | |
"bytecode": { | |
"functionDebugData": { | |
"@_67": { | |
"entryPoint": null, | |
"id": 67, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 163, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256t_uint256_fromMemory": { | |
"entryPoint": 186, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 257, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 350, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 360, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 407, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 412, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1701:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "70:80:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "80:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "95:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "89:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "89:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "80:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "138:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "111:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "111:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "111:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "48:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "56:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "64:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:143:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "250:413:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "296:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "298:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "298:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "298:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "271:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "280:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "267:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "267:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "292:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "263:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "263:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "260:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "389:128:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "404:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "418:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "408:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "433:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "479:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "490:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "475:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "475:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "499:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "443:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "443:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "433:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "527:129:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "542:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "556:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "546:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "572:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "618:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "629:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "614:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "614:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "638:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "582:31:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "582:64:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "572:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "212:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "223:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "235:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "243:6:1", | |
"type": "" | |
} | |
], | |
"src": "156:507:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "709:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "719:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "735:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "729:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "729:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "719:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "702:6:1", | |
"type": "" | |
} | |
], | |
"src": "669:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "794:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "804:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "827:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "809:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "809:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "804:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "838:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "861:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "843:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "843:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "838:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1001:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1003:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1003:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1003:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "922:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "929:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "997:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "925:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "925:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "919:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "919:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "916:107:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1033:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1044:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1047:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1040:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1040:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "1033:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "781:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "784:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "790:3:1", | |
"type": "" | |
} | |
], | |
"src": "750:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1106:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1116:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1127:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1116:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1088:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1098:7:1", | |
"type": "" | |
} | |
], | |
"src": "1061:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1172:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1189:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1192:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1182:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1182:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1182:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1286:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1289:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1279:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1279:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1279:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1310:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1313:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1303:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1303:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1303:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1144:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1419:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1436:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1439:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1429:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1429:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1429:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1330:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1542:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1559:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1562:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1552:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1552:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1552:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1453:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1619:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1676:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1685:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1688:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1678:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1678:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1678:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1642:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1667:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1649:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1649:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1639:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1639:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1632:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1632:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1629:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1612:5:1", | |
"type": "" | |
} | |
], | |
"src": "1576:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60806040523480156200001157600080fd5b5060405162001a1738038062001a178339818101604052810190620000379190620000ba565b8160058190555080426200004c919062000101565b600481905550606460038190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620001b6565b600081519050620000b4816200019c565b92915050565b60008060408385031215620000d457620000d362000197565b5b6000620000e485828601620000a3565b9250506020620000f785828601620000a3565b9150509250929050565b60006200010e826200015e565b91506200011b836200015e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000153576200015262000168565b5b828201905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b620001a7816200015e565b8114620001b357600080fd5b50565b61185180620001c66000396000f3fe6080604052600436106100ec5760003560e01c80635114cb521161008a578063c59ee1dc11610059578063c59ee1dc146102c4578063d7bb99ba146102ef578063d845a4b3146102f9578063f851a4401461033a576100fb565b80635114cb521461023b578063937e09b1146102645780639fb42b1f1461028f578063b2d5ae44146102ba576100fb565b806329dcb0cf116100c657806329dcb0cf1461019157806340193883146101bc5780634cb6f4a5146101e75780634e260f6f14610210576100fb565b806312065fe0146101005780631b16bb5c1461012b5780631f6d494214610154576100fb565b366100fb576100f9610365565b005b600080fd5b34801561010c57600080fd5b506101156104f7565b60405161012291906112f2565b60405180910390f35b34801561013757600080fd5b50610152600480360381019061014d9190610e72565b6104ff565b005b34801561016057600080fd5b5061017b60048036038101906101769190610e45565b610689565b60405161018891906112f2565b60405180910390f35b34801561019d57600080fd5b506101a66106a1565b6040516101b391906112f2565b60405180910390f35b3480156101c857600080fd5b506101d16106a7565b6040516101de91906112f2565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190610ee1565b6106ad565b005b34801561021c57600080fd5b50610225610852565b60405161023291906112f2565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190610ee1565b610858565b005b34801561027057600080fd5b50610279610ae2565b60405161028691906112f2565b60405180910390f35b34801561029b57600080fd5b506102a4610ae8565b6040516102b191906112f2565b60405180910390f35b6102c2610aee565b005b3480156102d057600080fd5b506102d9610bdc565b6040516102e691906112f2565b60405180910390f35b6102f7610365565b005b34801561030557600080fd5b50610320600480360381019061031b9190610ee1565b610be2565b604051610331959493929190611178565b60405180910390f35b34801561034657600080fd5b5061034f610ccd565b60405161035c91906110cd565b60405180910390f35b60045442106103a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a090611232565b60405180910390fd5b6003543410156103ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e590611272565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561044e57600260008154809291906104489061153b565b91905055505b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461049c919061137f565b9250508190555034600660008282546104b5919061137f565b925050819055507f2daf61dec57a2c194e9e87958b1a40a5c236b5e8c6041655d664ddbd16c2932033346040516104ed929190611111565b60405180910390a1565b600047905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610586906112b2565b60405180910390fd5b600060076000600860008154809291906105a89061153b565b9190505581526020019081526020016000209050838160000190805190602001906105d4929190610cf3565b50828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081816002018190555060008160030160006101000a81548160ff021916908315150217905550600081600401819055507f5392bd80651676ccaaedec1afbe841d47e369223df0ba1586110b6426ee87a3a84848460405161067b9392919061113a565b60405180910390a150505050565b60006020528060005260406000206000915090505481565b60045481565b60055481565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161072e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072590611212565b60405180910390fd5b6000600760008381526020019081526020016000209050600015158160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d1906111d2565b60405180910390fd5b60018160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508060040160008154809291906108499061153b565b91905055505050565b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df906112b2565b60405180910390fd5b600554600654101561092f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610926906111f2565b60405180910390fd5b6000600760008381526020019081526020016000209050600015158160030160009054906101000a900460ff1615151461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099590611252565b60405180910390fd5b600280546109ac91906113d5565b8160040154116109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890611292565b60405180910390fd5b8060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600201549081150290604051600060405180830381858888f19350505050158015610a5f573d6000803e3d6000fd5b5060018160030160006101000a81548160ff0219169083151502179055507f516e1673e5e85c44620165259173329adda2ad25e7bb15020c732be060b5b7908160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260020154604051610ad69291906110e8565b60405180910390a15050565b60035481565b60085481565b60045442118015610b025750600554600654105b610b0b57600080fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811015610b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b89906112d2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bd8573d6000803e3d6000fd5b5050565b60065481565b6007602052806000526040600020600091509050806000018054610c05906114d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c31906114d8565b8015610c7e5780601f10610c5357610100808354040283529160200191610c7e565b820191906000526020600020905b815481529060010190602001808311610c6157829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030160009054906101000a900460ff16908060040154905085565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054610cff906114d8565b90600052602060002090601f016020900481019282610d215760008555610d68565b82601f10610d3a57805160ff1916838001178555610d68565b82800160010185558215610d68579182015b82811115610d67578251825591602001919060010190610d4c565b5b509050610d759190610d79565b5090565b5b80821115610d92576000816000905550600101610d7a565b5090565b6000610da9610da484611332565b61130d565b905082815260208101848484011115610dc557610dc4611645565b5b610dd0848285611496565b509392505050565b600081359050610de7816117d6565b92915050565b600081359050610dfc816117ed565b92915050565b600082601f830112610e1757610e16611640565b5b8135610e27848260208601610d96565b91505092915050565b600081359050610e3f81611804565b92915050565b600060208284031215610e5b57610e5a61164f565b5b6000610e6984828501610dd8565b91505092915050565b600080600060608486031215610e8b57610e8a61164f565b5b600084013567ffffffffffffffff811115610ea957610ea861164a565b5b610eb586828701610e02565b9350506020610ec686828701610ded565b9250506040610ed786828701610e30565b9150509250925092565b600060208284031215610ef757610ef661164f565b5b6000610f0584828501610e30565b91505092915050565b610f1781611460565b82525050565b610f2681611418565b82525050565b610f3581611406565b82525050565b610f448161142a565b82525050565b6000610f5582611363565b610f5f818561136e565b9350610f6f8185602086016114a5565b610f7881611654565b840191505092915050565b6000610f90600d8361136e565b9150610f9b82611665565b602082019050919050565b6000610fb360128361136e565b9150610fbe8261168e565b602082019050919050565b6000610fd660158361136e565b9150610fe1826116b7565b602082019050919050565b6000610ff960138361136e565b9150611004826116e0565b602082019050919050565b600061101c601e8361136e565b915061102782611709565b602082019050919050565b600061103f60198361136e565b915061104a82611732565b602082019050919050565b6000611062601f8361136e565b915061106d8261175b565b602082019050919050565b600061108560098361136e565b915061109082611784565b602082019050919050565b60006110a860118361136e565b91506110b3826117ad565b602082019050919050565b6110c781611456565b82525050565b60006020820190506110e26000830184610f2c565b92915050565b60006040820190506110fd6000830185610f0e565b61110a60208301846110be565b9392505050565b60006040820190506111266000830185610f2c565b61113360208301846110be565b9392505050565b600060608201905081810360008301526111548186610f4a565b90506111636020830185610f0e565b61117060408301846110be565b949350505050565b600060a08201905081810360008301526111928188610f4a565b90506111a16020830187610f1d565b6111ae60408301866110be565b6111bb6060830185610f3b565b6111c860808301846110be565b9695505050505050565b600060208201905081810360008301526111eb81610f83565b9050919050565b6000602082019050818103600083015261120b81610fa6565b9050919050565b6000602082019050818103600083015261122b81610fc9565b9050919050565b6000602082019050818103600083015261124b81610fec565b9050919050565b6000602082019050818103600083015261126b8161100f565b9050919050565b6000602082019050818103600083015261128b81611032565b9050919050565b600060208201905081810360008301526112ab81611055565b9050919050565b600060208201905081810360008301526112cb81611078565b9050919050565b600060208201905081810360008301526112eb8161109b565b9050919050565b600060208201905061130760008301846110be565b92915050565b6000611317611328565b9050611323828261150a565b919050565b6000604051905090565b600067ffffffffffffffff82111561134d5761134c611611565b5b61135682611654565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061138a82611456565b915061139583611456565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113ca576113c9611584565b5b828201905092915050565b60006113e082611456565b91506113eb83611456565b9250826113fb576113fa6115b3565b5b828204905092915050565b600061141182611436565b9050919050565b600061142382611436565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061146b82611472565b9050919050565b600061147d82611484565b9050919050565b600061148f82611436565b9050919050565b82818337600083830152505050565b60005b838110156114c35780820151818401526020810190506114a8565b838111156114d2576000848401525b50505050565b600060028204905060018216806114f057607f821691505b60208210811415611504576115036115e2565b5b50919050565b61151382611654565b810181811067ffffffffffffffff8211171561153257611531611611565b5b80604052505050565b600061154682611456565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561157957611578611584565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416c726561647920766f74656400000000000000000000000000000000000000600082015250565b7f42656c6f7720676f616c206d696e696d756d0000000000000000000000000000600082015250565b7f4d757374206265206120636f6e7472696275746f720000000000000000000000600082015250565b7f446561646c696e65206861732070617373656400000000000000000000000000600082015250565b7f546865207265717565737420686173206265656e20636f6d706c657465640000600082015250565b7f42656c6f77206d696e696d756d436f6e747269627574696f6e00000000000000600082015250565b7f4d7573742068617665206d6f7265207468616e20353025206f6620766f746500600082015250565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f4e6f74206120636f6e7472696275746f72000000000000000000000000000000600082015250565b6117df81611406565b81146117ea57600080fd5b50565b6117f681611418565b811461180157600080fd5b50565b61180d81611456565b811461181857600080fd5b5056fea264697066735822122098a6be09763b2dbb01799158f1e148fff01c2b6809b63194a2fe7e499a3ebd2664736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1A17 CODESIZE SUB DUP1 PUSH3 0x1A17 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0xBA JUMP JUMPDEST DUP2 PUSH1 0x5 DUP2 SWAP1 SSTORE POP DUP1 TIMESTAMP PUSH3 0x4C SWAP2 SWAP1 PUSH3 0x101 JUMP JUMPDEST PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH1 0x64 PUSH1 0x3 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP PUSH3 0x1B6 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0xB4 DUP2 PUSH3 0x19C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0xD4 JUMPI PUSH3 0xD3 PUSH3 0x197 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0xE4 DUP6 DUP3 DUP7 ADD PUSH3 0xA3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH3 0xF7 DUP6 DUP3 DUP7 ADD PUSH3 0xA3 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x10E DUP3 PUSH3 0x15E JUMP JUMPDEST SWAP2 POP PUSH3 0x11B DUP4 PUSH3 0x15E JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0x153 JUMPI PUSH3 0x152 PUSH3 0x168 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x1A7 DUP2 PUSH3 0x15E JUMP JUMPDEST DUP2 EQ PUSH3 0x1B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1851 DUP1 PUSH3 0x1C6 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEC JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5114CB52 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xC59EE1DC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xC59EE1DC EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0xD7BB99BA EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0xD845A4B3 EQ PUSH2 0x2F9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x33A JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x5114CB52 EQ PUSH2 0x23B JUMPI DUP1 PUSH4 0x937E09B1 EQ PUSH2 0x264 JUMPI DUP1 PUSH4 0x9FB42B1F EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0xB2D5AE44 EQ PUSH2 0x2BA JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x29DCB0CF GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x29DCB0CF EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x40193883 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x4CB6F4A5 EQ PUSH2 0x1E7 JUMPI DUP1 PUSH4 0x4E260F6F EQ PUSH2 0x210 JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x1B16BB5C EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0x1F6D4942 EQ PUSH2 0x154 JUMPI PUSH2 0xFB JUMP JUMPDEST CALLDATASIZE PUSH2 0xFB JUMPI PUSH2 0xF9 PUSH2 0x365 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x115 PUSH2 0x4F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x137 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x152 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14D SWAP2 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH2 0x4FF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xE45 JUMP JUMPDEST PUSH2 0x689 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x19D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x6A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D1 PUSH2 0x6A7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DE SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x209 SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0x6AD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x232 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x262 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0x858 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x279 PUSH2 0xAE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A4 PUSH2 0xAE8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xAEE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D9 PUSH2 0xBDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E6 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F7 PUSH2 0x365 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x320 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31B SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x331 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x346 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x34F PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x10CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 SLOAD TIMESTAMP LT PUSH2 0x3A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A0 SWAP1 PUSH2 0x1232 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD CALLVALUE LT ISZERO PUSH2 0x3EE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E5 SWAP1 PUSH2 0x1272 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO PUSH2 0x44E JUMPI PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x448 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x137F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLVALUE PUSH1 0x6 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x137F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x2DAF61DEC57A2C194E9E87958B1A40A5C236B5E8C6041655D664DDBD16C29320 CALLER CALLVALUE PUSH1 0x40 MLOAD PUSH2 0x4ED SWAP3 SWAP2 SWAP1 PUSH2 0x1111 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x58F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x586 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5A8 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP4 DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5D4 SWAP3 SWAP2 SWAP1 PUSH2 0xCF3 JUMP JUMPDEST POP DUP3 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH32 0x5392BD80651676CCAAEDEC1AFBE841D47E369223DF0BA1586110B6426EE87A3A DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x67B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x113A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 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 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x72E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x1212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x5 ADD 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x7DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D1 SWAP1 PUSH2 0x11D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x5 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x4 ADD PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x849 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD LT ISZERO PUSH2 0x92F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x926 SWAP1 PUSH2 0x11F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x99E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x995 SWAP1 PUSH2 0x1252 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x9AC SWAP2 SWAP1 PUSH2 0x13D5 JUMP JUMPDEST DUP2 PUSH1 0x4 ADD SLOAD GT PUSH2 0x9F1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9E8 SWAP1 PUSH2 0x1292 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 PUSH1 0x2 ADD SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xA5F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 DUP2 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x516E1673E5E85C44620165259173329ADDA2AD25E7BB15020C732BE060B5B790 DUP2 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH1 0x2 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0xAD6 SWAP3 SWAP2 SWAP1 PUSH2 0x10E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD TIMESTAMP GT DUP1 ISZERO PUSH2 0xB02 JUMPI POP PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD LT JUMPDEST PUSH2 0xB0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 DUP2 LT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB89 SWAP1 PUSH2 0x12D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xBD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xC05 SWAP1 PUSH2 0x14D8 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 0xC31 SWAP1 PUSH2 0x14D8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC7E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC53 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC7E 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 0xC61 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xCFF SWAP1 PUSH2 0x14D8 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xD21 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xD68 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xD3A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xD68 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xD68 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xD67 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xD4C JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xD75 SWAP2 SWAP1 PUSH2 0xD79 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xD7A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDA9 PUSH2 0xDA4 DUP5 PUSH2 0x1332 JUMP JUMPDEST PUSH2 0x130D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xDC5 JUMPI PUSH2 0xDC4 PUSH2 0x1645 JUMP JUMPDEST JUMPDEST PUSH2 0xDD0 DUP5 DUP3 DUP6 PUSH2 0x1496 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDE7 DUP2 PUSH2 0x17D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDFC DUP2 PUSH2 0x17ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE17 JUMPI PUSH2 0xE16 PUSH2 0x1640 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE27 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xD96 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE3F DUP2 PUSH2 0x1804 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE5B JUMPI PUSH2 0xE5A PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE69 DUP5 DUP3 DUP6 ADD PUSH2 0xDD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE8B JUMPI PUSH2 0xE8A PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEA9 JUMPI PUSH2 0xEA8 PUSH2 0x164A JUMP JUMPDEST JUMPDEST PUSH2 0xEB5 DUP7 DUP3 DUP8 ADD PUSH2 0xE02 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xEC6 DUP7 DUP3 DUP8 ADD PUSH2 0xDED JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xED7 DUP7 DUP3 DUP8 ADD PUSH2 0xE30 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEF7 JUMPI PUSH2 0xEF6 PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF05 DUP5 DUP3 DUP6 ADD PUSH2 0xE30 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF17 DUP2 PUSH2 0x1460 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF26 DUP2 PUSH2 0x1418 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF35 DUP2 PUSH2 0x1406 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF44 DUP2 PUSH2 0x142A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF55 DUP3 PUSH2 0x1363 JUMP JUMPDEST PUSH2 0xF5F DUP2 DUP6 PUSH2 0x136E JUMP JUMPDEST SWAP4 POP PUSH2 0xF6F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH2 0xF78 DUP2 PUSH2 0x1654 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF90 PUSH1 0xD DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xF9B DUP3 PUSH2 0x1665 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB3 PUSH1 0x12 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xFBE DUP3 PUSH2 0x168E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFD6 PUSH1 0x15 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xFE1 DUP3 PUSH2 0x16B7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF9 PUSH1 0x13 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1004 DUP3 PUSH2 0x16E0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x101C PUSH1 0x1E DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1027 DUP3 PUSH2 0x1709 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x103F PUSH1 0x19 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x104A DUP3 PUSH2 0x1732 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1062 PUSH1 0x1F DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x106D DUP3 PUSH2 0x175B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1085 PUSH1 0x9 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1090 DUP3 PUSH2 0x1784 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10A8 PUSH1 0x11 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x10B3 DUP3 PUSH2 0x17AD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C7 DUP2 PUSH2 0x1456 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF2C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x10FD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF0E JUMP JUMPDEST PUSH2 0x110A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1126 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF2C JUMP JUMPDEST PUSH2 0x1133 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1154 DUP2 DUP7 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP PUSH2 0x1163 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xF0E JUMP JUMPDEST PUSH2 0x1170 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1192 DUP2 DUP9 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP PUSH2 0x11A1 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xF1D JUMP JUMPDEST PUSH2 0x11AE PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x10BE JUMP JUMPDEST PUSH2 0x11BB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x11C8 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11EB DUP2 PUSH2 0xF83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x120B DUP2 PUSH2 0xFA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x122B DUP2 PUSH2 0xFC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x124B DUP2 PUSH2 0xFEC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x126B DUP2 PUSH2 0x100F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x128B DUP2 PUSH2 0x1032 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12AB DUP2 PUSH2 0x1055 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12CB DUP2 PUSH2 0x1078 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12EB DUP2 PUSH2 0x109B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1307 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1317 PUSH2 0x1328 JUMP JUMPDEST SWAP1 POP PUSH2 0x1323 DUP3 DUP3 PUSH2 0x150A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x134D JUMPI PUSH2 0x134C PUSH2 0x1611 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP3 PUSH2 0x1654 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x138A DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH2 0x1395 DUP4 PUSH2 0x1456 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13CA JUMPI PUSH2 0x13C9 PUSH2 0x1584 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E0 DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH2 0x13EB DUP4 PUSH2 0x1456 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x13FB JUMPI PUSH2 0x13FA PUSH2 0x15B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1411 DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1423 DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x146B DUP3 PUSH2 0x1472 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147D DUP3 PUSH2 0x1484 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x148F DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x14A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x14D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x14F0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x15E2 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1513 DUP3 PUSH2 0x1654 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1531 PUSH2 0x1611 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1546 DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1584 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C726561647920766F74656400000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x42656C6F7720676F616C206D696E696D756D0000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4D757374206265206120636F6E7472696275746F720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x446561646C696E65206861732070617373656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865207265717565737420686173206265656E20636F6D706C657465640000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x42656C6F77206D696E696D756D436F6E747269627574696F6E00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4D7573742068617665206D6F7265207468616E20353025206F6620766F746500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F74206120636F6E7472696275746F72000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x17DF DUP2 PUSH2 0x1406 JUMP JUMPDEST DUP2 EQ PUSH2 0x17EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x17F6 DUP2 PUSH2 0x1418 JUMP JUMPDEST DUP2 EQ PUSH2 0x1801 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x180D DUP2 PUSH2 0x1456 JUMP JUMPDEST DUP2 EQ PUSH2 0x1818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP9 0xA6 0xBE MULMOD PUSH23 0x3B2DBB01799158F1E148FFF01C2B6809B63194A2FE7E49 SWAP11 RETURNDATACOPY 0xBD 0x26 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "70:3498:0:-:0;;;635:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;692:5;685:4;:12;;;;736:9;718:15;:27;;;;:::i;:::-;707:8;:38;;;;777:7;755:19;:29;;;;802:10;794:5;;:18;;;;;;;;;;;;;;;;;;635:184;;70:3498;;7:143:1;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:507::-;235:6;243;292:2;280:9;271:7;267:23;263:32;260:119;;;298:79;;:::i;:::-;260:119;418:1;443:64;499:7;490:6;479:9;475:22;443:64;:::i;:::-;433:74;;389:128;556:2;582:64;638:7;629:6;618:9;614:22;582:64;:::i;:::-;572:74;;527:129;156:507;;;;;:::o;750:305::-;790:3;809:20;827:1;809:20;:::i;:::-;804:25;;843:20;861:1;843:20;:::i;:::-;838:25;;997:1;929:66;925:74;922:1;919:81;916:107;;;1003:18;;:::i;:::-;916:107;1047:1;1044;1040:9;1033:16;;750:305;;;;:::o;1061:77::-;1098:7;1127:5;1116:16;;1061:77;;;:::o;1144:180::-;1192:77;1189:1;1182:88;1289:4;1286:1;1279:15;1313:4;1310:1;1303:15;1453:117;1562:1;1559;1552:12;1576:122;1649:24;1667:5;1649:24;:::i;:::-;1642:5;1639:35;1629:63;;1688:1;1685;1678:12;1629:63;1576:122;:::o;70:3498:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_144": { | |
"entryPoint": null, | |
"id": 144, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@admin_7": { | |
"entryPoint": 3277, | |
"id": 7, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@contribute_137": { | |
"entryPoint": 869, | |
"id": 137, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@contributors_5": { | |
"entryPoint": 1673, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@createRequest_262": { | |
"entryPoint": 1279, | |
"id": 262, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"@deadline_13": { | |
"entryPoint": 1697, | |
"id": 13, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@getBalance_156": { | |
"entryPoint": 1271, | |
"id": 156, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@getRefund_194": { | |
"entryPoint": 2798, | |
"id": 194, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@goal_15": { | |
"entryPoint": 1703, | |
"id": 15, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@makePayment_378": { | |
"entryPoint": 2136, | |
"id": 378, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@minimumContribution_11": { | |
"entryPoint": 2786, | |
"id": 11, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@noOfContributors_9": { | |
"entryPoint": 2130, | |
"id": 9, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@numRequests_39": { | |
"entryPoint": 2792, | |
"id": 39, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@raisedAmount_17": { | |
"entryPoint": 3036, | |
"id": 17, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@request_37": { | |
"entryPoint": 3042, | |
"id": 37, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@voteRequest_316": { | |
"entryPoint": 1709, | |
"id": 316, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 3478, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 3544, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address_payable": { | |
"entryPoint": 3565, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 3586, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 3632, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 3653, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256": { | |
"entryPoint": 3698, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 3 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 3809, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_payable_to_t_address_fromStack": { | |
"entryPoint": 3854, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
"entryPoint": 3869, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 3884, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 3899, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3914, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3971, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4006, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4041, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4076, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4111, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4146, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4181, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4216, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4251, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 4286, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 4301, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed": { | |
"entryPoint": 4328, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { | |
"entryPoint": 4369, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256__to_t_string_memory_ptr_t_address_t_uint256__fromStack_reversed": { | |
"entryPoint": 4410, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__to_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__fromStack_reversed": { | |
"entryPoint": 4472, | |
"id": null, | |
"parameterSlots": 6, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4562, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4594, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4626, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4658, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4690, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4722, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4754, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4786, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4818, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 4850, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 4877, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 4904, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 4914, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 4963, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4974, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 4991, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint256": { | |
"entryPoint": 5077, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 5126, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address_payable": { | |
"entryPoint": 5144, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 5162, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 5174, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 5206, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_address_payable_to_t_address": { | |
"entryPoint": 5216, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_address": { | |
"entryPoint": 5234, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_uint160": { | |
"entryPoint": 5252, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_calldata_to_memory": { | |
"entryPoint": 5270, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 5285, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"extract_byte_array_length": { | |
"entryPoint": 5336, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 5386, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"increment_t_uint256": { | |
"entryPoint": 5435, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 5508, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 5555, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x22": { | |
"entryPoint": 5602, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 5649, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 5696, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 5701, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 5706, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 5711, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 5716, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6": { | |
"entryPoint": 5733, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120": { | |
"entryPoint": 5774, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380": { | |
"entryPoint": 5815, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8": { | |
"entryPoint": 5856, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869": { | |
"entryPoint": 5897, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e": { | |
"entryPoint": 5938, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1": { | |
"entryPoint": 5979, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682": { | |
"entryPoint": 6020, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99": { | |
"entryPoint": 6061, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 6102, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address_payable": { | |
"entryPoint": 6125, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 6148, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:20296:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "91:328:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "101:75:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "168:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "126:41:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "126:49:1" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "110:15:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "110:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "101:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "192:5:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "199:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "185:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "185:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "185:21:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "215:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "230:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "237:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "226:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "226:16:1" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "219:3:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "280:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulIdentifier", | |
"src": "282:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "282:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "282:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "266:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "257:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "257:16:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "275:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "254:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "254:25:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "251:112:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "396:3:1" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "401:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "406:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "372:23:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "372:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "372:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "64:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "69:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "77:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "85:5:1", | |
"type": "" | |
} | |
], | |
"src": "7:412:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "477:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "487:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "509:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "496:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "496:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "487:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "552:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "525:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "525:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "525:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "455:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "463:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "471:5:1", | |
"type": "" | |
} | |
], | |
"src": "425:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "630:95:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "640:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "662:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "649:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "649:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "640:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "713:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "678:34:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "678:41:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "678:41:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "608:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "616:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "624:5:1", | |
"type": "" | |
} | |
], | |
"src": "570:155:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "807:278:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "856:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "858:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "858:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "858:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "835:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "843:4:1", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "831:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "831:17:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "850:3:1" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "827:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "827:27:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "820:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "820:35:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "817:122:1" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "948:34:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "975:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "962:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "962:20:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "952:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "991:88:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1052:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1060:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1048:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1048:17:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1067:6:1" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1075:3:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1000:47:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1000:79:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "991:5:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "785:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "793:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "801:5:1", | |
"type": "" | |
} | |
], | |
"src": "745:340:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1143:87:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1153:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1175:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1162:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1162:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1153:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1218:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1191:26:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1191:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1191:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1121:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1129:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1137:5:1", | |
"type": "" | |
} | |
], | |
"src": "1091:139:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1302:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1348:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1350:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1350:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1350:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1323:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1332:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1319:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1319:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1344:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1315:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1315:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1312:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1441:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1456:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1470:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1460:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1485:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1520:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1531:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1516:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1516:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1540:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1495:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1495:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1485:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1272:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1283:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1295:6:1", | |
"type": "" | |
} | |
], | |
"src": "1236:329:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1689:697:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1735:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1737:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1737:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1737:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1710:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1719:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1706:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1706:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1731:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1702:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1702:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1699:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1828:287:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1843:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1874:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1885:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1870:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1870:17:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1857:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1857:31:1" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1847:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1935:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "1937:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1937:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1937:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1907:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1915:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1904:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1904:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1901:117:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2032:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2077:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2088:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2073:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2073:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2097:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2042:30:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2042:63:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2032:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2125:126:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2140:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2154:2:1", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2144:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2170:71:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2213:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2224:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2209:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2209:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2233:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "2180:28:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2180:61:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2170:6:1" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2261:118:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2276:16:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2290:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2280:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2306:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2341:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2352:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2337:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2337:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2361:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2316:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2316:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "2306:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1643:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1654:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1666:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1674:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "1682:6:1", | |
"type": "" | |
} | |
], | |
"src": "1571:815:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2458:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2504:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2506:77:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2506:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2506:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2479:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2488:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2475:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2475:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2500:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2471:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2471:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "2468:119:1" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2597:117:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2612:15:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2626:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2616:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2641:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2676:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2687:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2672:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2672:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2696:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2651:20:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2651:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2641:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2428:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2439:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2451:6:1", | |
"type": "" | |
} | |
], | |
"src": "2392:329:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2800:74:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2817:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2861:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_address_payable_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "2822:38:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2822:45:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2810:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2810:58:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2810:58:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2788:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2795:3:1", | |
"type": "" | |
} | |
], | |
"src": "2727:147:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2961:61:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2978:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3009:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "2983:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2983:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2971:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2971:45:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2971:45:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2949:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2956:3:1", | |
"type": "" | |
} | |
], | |
"src": "2880:142:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3093:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3110:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3133:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3115:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3115:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3103:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3103:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3103:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3081:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3088:3:1", | |
"type": "" | |
} | |
], | |
"src": "3028:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3211:50:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3228:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3248:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "3233:14:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3233:21:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3221:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3221:34:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3221:34:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3199:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3206:3:1", | |
"type": "" | |
} | |
], | |
"src": "3152:109:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3359:272:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3369:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3416:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3383:32:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3383:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3373:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3431:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3497:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3502:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3438:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3438:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3431:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3544:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3551:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3540:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3540:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3558:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3563:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "3518:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3518:52:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3518:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3579:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3590:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3617:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "3595:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3595:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3586:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3586:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3579:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3340:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3347:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3355:3:1", | |
"type": "" | |
} | |
], | |
"src": "3267:364:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3783:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3793:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3859:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3864:2:1", | |
"type": "", | |
"value": "13" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3800:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3800:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3793:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3965:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6", | |
"nodeType": "YulIdentifier", | |
"src": "3876:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3876:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3876:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3978:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3989:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3994:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3985:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3985:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3978:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3771:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3779:3:1", | |
"type": "" | |
} | |
], | |
"src": "3637:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4155:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4165:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4231:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4236:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4172:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4172:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4165:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4337:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120", | |
"nodeType": "YulIdentifier", | |
"src": "4248:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4248:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4248:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4350:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4361:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4366:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4357:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4357:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4350:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4143:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4151:3:1", | |
"type": "" | |
} | |
], | |
"src": "4009:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4527:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4537:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4603:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4608:2:1", | |
"type": "", | |
"value": "21" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4544:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4544:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4537:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4709:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380", | |
"nodeType": "YulIdentifier", | |
"src": "4620:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4620:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4620:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4722:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4733:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4738:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4729:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4729:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4722:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4515:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4523:3:1", | |
"type": "" | |
} | |
], | |
"src": "4381:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4899:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4909:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4975:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4980:2:1", | |
"type": "", | |
"value": "19" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4916:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4916:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4909:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5081:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8", | |
"nodeType": "YulIdentifier", | |
"src": "4992:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4992:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4992:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5094:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5105:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5110:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5101:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5101:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5094:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4887:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4895:3:1", | |
"type": "" | |
} | |
], | |
"src": "4753:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5271:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5281:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5347:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5352:2:1", | |
"type": "", | |
"value": "30" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5288:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5288:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5281:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5453:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869", | |
"nodeType": "YulIdentifier", | |
"src": "5364:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5364:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5364:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5466:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5477:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5482:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5473:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5473:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5466:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5259:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5267:3:1", | |
"type": "" | |
} | |
], | |
"src": "5125:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5643:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5653:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5719:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5724:2:1", | |
"type": "", | |
"value": "25" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5660:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5660:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5653:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5825:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e", | |
"nodeType": "YulIdentifier", | |
"src": "5736:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5736:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5736:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5838:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5849:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5854:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5845:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5845:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5838:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5631:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5639:3:1", | |
"type": "" | |
} | |
], | |
"src": "5497:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6015:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6025:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6091:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6096:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6032:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6032:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6025:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6197:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1", | |
"nodeType": "YulIdentifier", | |
"src": "6108:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6108:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6108:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6210:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6221:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6226:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6217:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6217:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6210:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6003:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6011:3:1", | |
"type": "" | |
} | |
], | |
"src": "5869:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6387:219:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6397:73:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6463:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6468:1:1", | |
"type": "", | |
"value": "9" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6404:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6404:66:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6397:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6568:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682", | |
"nodeType": "YulIdentifier", | |
"src": "6479:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6479:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6479:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6581:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6592:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6597:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6588:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6588:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6581:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6375:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6383:3:1", | |
"type": "" | |
} | |
], | |
"src": "6241:365:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6758:220:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6768:74:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6834:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6839:2:1", | |
"type": "", | |
"value": "17" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6775:58:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6775:67:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6768:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6940:3:1" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99", | |
"nodeType": "YulIdentifier", | |
"src": "6851:88:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6851:93:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6851:93:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6953:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6964:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6969:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6960:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6960:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6953:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6746:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6754:3:1", | |
"type": "" | |
} | |
], | |
"src": "6612:366:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7049:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7066:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7089:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "7071:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7071:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7059:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7059:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7059:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7037:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7044:3:1", | |
"type": "" | |
} | |
], | |
"src": "6984:118:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7206:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7216:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7228:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7239:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7224:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7224:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7216:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7296:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7309:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7320:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7305:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7305:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7252:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7252:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7252:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7178:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7190:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7201:4:1", | |
"type": "" | |
} | |
], | |
"src": "7108:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7470:214:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7480:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7492:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7503:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7488:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7488:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7480:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7568:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7581:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7592:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7577:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7577:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7516:51:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7516:79:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7516:79:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7649:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7662:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7673:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7658:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7658:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7605:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7605:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7605:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7434:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7446:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7454:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7465:4:1", | |
"type": "" | |
} | |
], | |
"src": "7336:348:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7816:206:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7826:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7838:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7849:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7834:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7834:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7826:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7906:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7919:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7930:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7915:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7915:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7862:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7862:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7862:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7987:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8000:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8011:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7996:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7996:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7943:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7943:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7943:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7780:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7792:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7800:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7811:4:1", | |
"type": "" | |
} | |
], | |
"src": "7690:332:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8210:367:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8220:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8232:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8243:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8228:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8228:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8220:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8267:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8278:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8263:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8263:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8286:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8292:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8282:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8282:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8256:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8256:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8256:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8312:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8384:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8393:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8320:63:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8320:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8312:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "8460:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8473:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8484:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8469:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8469:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8408:51:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8408:80:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8408:80:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "8542:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8555:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8566:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8551:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8551:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8498:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8498:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8498:72:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256__to_t_string_memory_ptr_t_address_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8166:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "8178:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8186:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8194:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8205:4:1", | |
"type": "" | |
} | |
], | |
"src": "8028:549:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8823:535:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8833:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8845:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8856:3:1", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8841:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8841:19:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8833:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8881:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8892:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8877:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8877:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8900:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8906:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8896:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8896:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8870:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8870:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8870:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8926:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8998:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9007:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8934:63:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8934:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8926:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9082:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9095:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9106:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9091:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9091:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9022:59:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9022:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9022:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "9164:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9177:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9188:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9173:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9173:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9120:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9120:72:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9120:72:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "9240:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9253:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9264:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9249:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9249:18:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9202:37:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9202:66:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9202:66:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "9322:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9335:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9346:3:1", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9331:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9331:19:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9278:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9278:73:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9278:73:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__to_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8763:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "8775:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "8783:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "8791:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8799:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8807:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8818:4:1", | |
"type": "" | |
} | |
], | |
"src": "8583:775:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9535:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9545:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9557:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9568:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9553:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9553:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9545:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9592:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9603:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9588:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9588:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9611:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9617:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9607:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9607:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9581:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9581:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9581:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9637:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9771:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9645:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9645:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9637:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9515:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9530:4:1", | |
"type": "" | |
} | |
], | |
"src": "9364:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9960:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9970:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9982:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9993:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9978:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9978:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9970:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10017:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10028:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10013:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10013:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10036:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10042:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10032:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10032:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10006:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10006:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10006:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10062:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10196:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10070:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10070:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10062:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9940:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9955:4:1", | |
"type": "" | |
} | |
], | |
"src": "9789:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10385:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10395:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10407:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10418:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10403:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10403:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10395:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10442:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10453:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10438:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10438:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10461:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10467:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10457:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10457:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10431:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10431:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10431:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10487:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10621:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10495:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10495:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10487:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10365:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10380:4:1", | |
"type": "" | |
} | |
], | |
"src": "10214:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10810:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10820:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10832:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10843:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10828:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10828:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10820:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10867:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10878:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10863:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10863:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10886:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10892:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10882:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10882:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10856:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10856:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10856:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10912:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11046:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10920:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10920:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10912:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10790:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10805:4:1", | |
"type": "" | |
} | |
], | |
"src": "10639:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11235:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11245:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11257:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11268:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11253:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11253:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11245:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11292:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11303:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11288:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11288:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11311:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11317:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11307:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11307:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11281:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11281:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11281:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11337:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11471:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11345:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11345:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11337:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11215:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11230:4:1", | |
"type": "" | |
} | |
], | |
"src": "11064:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11660:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11670:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11682:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11693:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11678:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11678:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11670:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11717:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11728:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11713:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11713:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11736:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11742:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11732:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11732:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11706:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11706:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11706:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11762:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11896:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11770:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11770:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11762:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11640:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11655:4:1", | |
"type": "" | |
} | |
], | |
"src": "11489:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12085:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12095:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12107:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12118:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12103:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12103:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12095:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12142:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12153:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12138:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12138:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12161:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12167:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12157:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12157:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12131:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12131:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12131:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12187:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12321:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12195:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12195:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12187:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12065:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12080:4:1", | |
"type": "" | |
} | |
], | |
"src": "11914:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12510:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12520:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12532:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12543:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12528:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12528:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12520:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12567:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12578:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12563:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12563:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12586:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12592:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12582:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12582:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12556:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12556:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12556:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12612:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12746:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12620:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12620:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12612:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12490:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12505:4:1", | |
"type": "" | |
} | |
], | |
"src": "12339:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12935:248:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12945:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12957:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12968:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12953:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12953:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12945:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12992:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13003:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12988:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12988:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13011:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13017:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13007:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13007:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12981:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12981:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12981:47:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13037:139:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13171:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13045:124:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13045:131:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13037:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12915:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12930:4:1", | |
"type": "" | |
} | |
], | |
"src": "12764:419:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13287:124:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13297:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13309:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13320:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13305:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13305:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13297:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "13377:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13390:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13401:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13386:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13386:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13333:43:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13333:71:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13333:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13259:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "13271:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13282:4:1", | |
"type": "" | |
} | |
], | |
"src": "13189:222:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13458:88:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13468:30:1", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "13478:18:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13478:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13468:6:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13527:6:1" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "13535:4:1" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "13507:19:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13507:33:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13507:33:1" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "13442:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "13451:6:1", | |
"type": "" | |
} | |
], | |
"src": "13417:129:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13592:35:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13602:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13618:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "13612:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13612:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13602:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "13585:6:1", | |
"type": "" | |
} | |
], | |
"src": "13552:75:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13700:241:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13805:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "13807:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13807:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13807:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13777:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13785:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "13774:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13774:30:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "13771:56:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13837:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13867:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "13845:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13845:29:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "13837:4:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13911:23:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "13923:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13929:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13919:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13919:15:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "13911:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13684:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "13695:4:1", | |
"type": "" | |
} | |
], | |
"src": "13633:308:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14006:40:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14017:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14033:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "14027:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14027:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "14017:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13989:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13999:6:1", | |
"type": "" | |
} | |
], | |
"src": "13947:99:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14148:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14165:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "14170:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14158:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14158:19:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14158:19:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14186:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14205:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14210:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14201:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14201:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "14186:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "14120:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "14125:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "14136:11:1", | |
"type": "" | |
} | |
], | |
"src": "14052:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14271:261:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14281:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14304:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "14286:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14286:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14281:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14315:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14338:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "14320:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14320:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14315:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14478:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "14480:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14480:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14480:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14399:1:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14406:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14474:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14402:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14402:74:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "14396:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14396:81:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "14393:107:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14510:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14521:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14524:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14517:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14517:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "14510:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "14258:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "14261:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "14267:3:1", | |
"type": "" | |
} | |
], | |
"src": "14227:305:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14580:143:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14590:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14613:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "14595:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14595:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14590:1:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14624:25:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14647:1:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "14629:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14629:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14624:1:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14671:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "14673:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14673:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14673:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14668:1:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "14661:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14661:9:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "14658:35:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14703:14:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14712:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14715:1:1" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "14708:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14708:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "14703:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "14569:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "14572:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "14578:1:1", | |
"type": "" | |
} | |
], | |
"src": "14538:185:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14774:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14784:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14813:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "14795:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14795:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14784:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14756:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14766:7:1", | |
"type": "" | |
} | |
], | |
"src": "14729:96:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14884:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14894:35:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14923:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "14905:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14905:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14894:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14866:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14876:7:1", | |
"type": "" | |
} | |
], | |
"src": "14831:104:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14983:48:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14993:32:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15018:5:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15011:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15011:13:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15004:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15004:21:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14993:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14965:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14975:7:1", | |
"type": "" | |
} | |
], | |
"src": "14941:90:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15082:81:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15092:65:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15107:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15114:42:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "15103:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15103:54:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "15092:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15064:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "15074:7:1", | |
"type": "" | |
} | |
], | |
"src": "15037:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15214:32:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15224:16:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15235:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "15224:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15196:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "15206:7:1", | |
"type": "" | |
} | |
], | |
"src": "15169:77:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15320:66:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15330:50:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15374:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "15343:30:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15343:37:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "15330:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_address_payable_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15300:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "15310:9:1", | |
"type": "" | |
} | |
], | |
"src": "15252:134:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15452:66:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15462:50:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15506:5:1" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "15475:30:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15475:37:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "15462:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15432:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "15442:9:1", | |
"type": "" | |
} | |
], | |
"src": "15392:126:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15584:53:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15594:37:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15625:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "15607:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15607:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "15594:9:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15564:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "15574:9:1", | |
"type": "" | |
} | |
], | |
"src": "15524:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15694:103:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "15717:3:1" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "15722:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15727:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "15704:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15704:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15704:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "15775:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15780:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15771:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15771:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15789:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15764:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15764:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15764:27:1" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "15676:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "15681:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "15686:6:1", | |
"type": "" | |
} | |
], | |
"src": "15643:154:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15852:258:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "15862:10:1", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15871:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "15866:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15931:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "15956:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15961:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15952:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15952:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "15975:3:1" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15980:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15971:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15971:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "15965:5:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15965:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15945:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15945:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15945:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15892:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15895:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "15889:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15889:13:1" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "15903:19:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15905:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15914:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15917:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15910:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15910:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15905:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "15885:3:1", | |
"statements": [] | |
}, | |
"src": "15881:113:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16028:76:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "16078:3:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16083:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16074:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16074:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16092:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16067:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16067:27:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16067:27:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "16009:1:1" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16012:6:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "16006:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16006:13:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "16003:101:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "15834:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "15839:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "15844:6:1", | |
"type": "" | |
} | |
], | |
"src": "15803:307:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16167:269:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16177:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "16191:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16197:1:1", | |
"type": "", | |
"value": "2" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "16187:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16187:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16177:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "16208:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "16238:4:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16244:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "16234:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16234:12:1" | |
}, | |
"variables": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulTypedName", | |
"src": "16212:18:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16285:51:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16299:27:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16313:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16321:4:1", | |
"type": "", | |
"value": "0x7f" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "16309:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16309:17:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16299:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "16265:18:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "16258:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16258:26:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "16255:81:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16388:42:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x22", | |
"nodeType": "YulIdentifier", | |
"src": "16402:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16402:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16402:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "outOfPlaceEncoding", | |
"nodeType": "YulIdentifier", | |
"src": "16352:18:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "16375:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16383:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "16372:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16372:14:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "16349:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16349:38:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "16346:84:1" | |
} | |
] | |
}, | |
"name": "extract_byte_array_length", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "16151:4:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "16160:6:1", | |
"type": "" | |
} | |
], | |
"src": "16116:320:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16485:238:1", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "16495:58:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16517:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "16547:4:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "16525:21:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16525:27:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16513:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16513:40:1" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "16499:10:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16664:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "16666:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16666:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16666:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "16607:10:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16619:18:1", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "16604:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16604:34:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "16643:10:1" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16655:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "16640:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16640:22:1" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "16601:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16601:62:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "16598:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16702:2:1", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "16706:10:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16695:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16695:22:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16695:22:1" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "16471:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "16479:4:1", | |
"type": "" | |
} | |
], | |
"src": "16442:281:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16772:190:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16782:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16809:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "16791:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16791:24:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16782:5:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16905:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "16907:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16907:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16907:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16830:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16837:66:1", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "16827:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16827:77:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "16824:103:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16936:20:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16947:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16954:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16943:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16943:13:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "16936:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "increment_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "16758:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "16768:3:1", | |
"type": "" | |
} | |
], | |
"src": "16729:233:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16996:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17013:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17016:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17006:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17006:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17006:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17110:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17113:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17103:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17103:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17103:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17134:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17137:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17127:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17127:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17127:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "16968:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17182:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17199:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17202:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17192:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17192:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17192:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17296:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17299:4:1", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17289:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17289:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17289:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17320:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17323:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17313:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17313:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17313:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17154:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17368:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17385:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17388:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17378:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17378:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17378:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17482:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17485:4:1", | |
"type": "", | |
"value": "0x22" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17475:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17475:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17475:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17506:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17509:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17499:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17499:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17499:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x22", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17340:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17554:152:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17571:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17574:77:1", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17564:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17564:88:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17564:88:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17668:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17671:4:1", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17661:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17661:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17661:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17692:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17695:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17685:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17685:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17685:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17526:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17801:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17818:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17821:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17811:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17811:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17811:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17712:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17924:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17941:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17944:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17934:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17934:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17934:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17835:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18047:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18064:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18067:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "18057:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18057:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18057:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "17958:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18170:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18187:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18190:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "18180:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18180:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18180:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "18081:117:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18252:54:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18262:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "18280:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18287:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18276:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18276:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18296:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "18292:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18292:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "18272:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18272:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "18262:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "18235:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "18245:6:1", | |
"type": "" | |
} | |
], | |
"src": "18204:102:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18418:57:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18440:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18448:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18436:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18436:14:1" | |
}, | |
{ | |
"hexValue": "416c726561647920766f746564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "18452:15:1", | |
"type": "", | |
"value": "Already voted" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18429:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18429:39:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18429:39:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18410:6:1", | |
"type": "" | |
} | |
], | |
"src": "18312:163:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18587:62:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18609:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18617:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18605:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18605:14:1" | |
}, | |
{ | |
"hexValue": "42656c6f7720676f616c206d696e696d756d", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "18621:20:1", | |
"type": "", | |
"value": "Below goal minimum" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18598:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18598:44:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18598:44:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18579:6:1", | |
"type": "" | |
} | |
], | |
"src": "18481:168:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18761:65:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18783:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18791:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18779:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18779:14:1" | |
}, | |
{ | |
"hexValue": "4d757374206265206120636f6e7472696275746f72", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "18795:23:1", | |
"type": "", | |
"value": "Must be a contributor" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18772:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18772:47:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18772:47:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18753:6:1", | |
"type": "" | |
} | |
], | |
"src": "18655:171:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18938:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "18960:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18968:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18956:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18956:14:1" | |
}, | |
{ | |
"hexValue": "446561646c696e652068617320706173736564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "18972:21:1", | |
"type": "", | |
"value": "Deadline has passed" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18949:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18949:45:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18949:45:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "18930:6:1", | |
"type": "" | |
} | |
], | |
"src": "18832:169:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19113:74:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19135:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19143:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19131:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19131:14:1" | |
}, | |
{ | |
"hexValue": "546865207265717565737420686173206265656e20636f6d706c65746564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19147:32:1", | |
"type": "", | |
"value": "The request has been completed" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19124:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19124:56:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19124:56:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19105:6:1", | |
"type": "" | |
} | |
], | |
"src": "19007:180:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19299:69:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19321:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19329:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19317:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19317:14:1" | |
}, | |
{ | |
"hexValue": "42656c6f77206d696e696d756d436f6e747269627574696f6e", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19333:27:1", | |
"type": "", | |
"value": "Below minimumContribution" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19310:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19310:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19310:51:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19291:6:1", | |
"type": "" | |
} | |
], | |
"src": "19193:175:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19480:75:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19502:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19510:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19498:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19498:14:1" | |
}, | |
{ | |
"hexValue": "4d7573742068617665206d6f7265207468616e20353025206f6620766f7465", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19514:33:1", | |
"type": "", | |
"value": "Must have more than 50% of vote" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19491:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19491:57:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19491:57:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19472:6:1", | |
"type": "" | |
} | |
], | |
"src": "19374:181:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19667:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19689:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19697:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19685:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19685:14:1" | |
}, | |
{ | |
"hexValue": "4e6f74206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19701:11:1", | |
"type": "", | |
"value": "Not owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19678:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19678:35:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19678:35:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19659:6:1", | |
"type": "" | |
} | |
], | |
"src": "19561:159:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19832:61:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19854:6:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19862:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19850:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19850:14:1" | |
}, | |
{ | |
"hexValue": "4e6f74206120636f6e7472696275746f72", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19866:19:1", | |
"type": "", | |
"value": "Not a contributor" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19843:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19843:43:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19843:43:1" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19824:6:1", | |
"type": "" | |
} | |
], | |
"src": "19726:167:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19942:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19999:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20008:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20011:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "20001:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20001:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20001:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19965:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "19990:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "19972:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19972:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "19962:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19962:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "19955:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19955:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "19952:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "19935:5:1", | |
"type": "" | |
} | |
], | |
"src": "19899:122:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20078:87:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20143:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20152:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20155:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "20145:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20145:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20145:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20101:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20134:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address_payable", | |
"nodeType": "YulIdentifier", | |
"src": "20108:25:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20108:32:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "20098:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20098:43:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20091:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20091:51:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "20088:71:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20071:5:1", | |
"type": "" | |
} | |
], | |
"src": "20027:138:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20214:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20271:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20280:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20283:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "20273:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20273:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20273:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20237:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "20262:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "20244:17:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20244:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "20234:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20234:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "20227:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20227:43:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "20224:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "20207:5:1", | |
"type": "" | |
} | |
], | |
"src": "20171:122:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_address_payable_to_t_address(value))\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 13)\n store_literal_in_memory_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n store_literal_in_memory_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 9)\n store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_payable_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256__to_t_string_memory_ptr_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_payable_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__to_t_string_memory_ptr_t_address_payable_t_uint256_t_bool_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bool_to_t_bool_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_encode_tuple_t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6__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_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120__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_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380__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_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8__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_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869__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_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e__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_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1__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_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__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_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99__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_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_address_payable_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6(memPtr) {\n\n mstore(add(memPtr, 0), \"Already voted\")\n\n }\n\n function store_literal_in_memory_5625d5794331d551bb2bb3d1237f9a70973a4ebe95185365fc6615a824164120(memPtr) {\n\n mstore(add(memPtr, 0), \"Below goal minimum\")\n\n }\n\n function store_literal_in_memory_56bc7fcc097ef5021c6474c4992536a054fa748f15a6fc3f51cc2ce5a2d40380(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be a contributor\")\n\n }\n\n function store_literal_in_memory_7421a191034bc374ccb6dd52063911398cf9e445e873b3cd1b99e7d03b2574c8(memPtr) {\n\n mstore(add(memPtr, 0), \"Deadline has passed\")\n\n }\n\n function store_literal_in_memory_8d5486388a24aa08d55ff86ae4ea5c6da4e7b07657f0af0b50b872c36177c869(memPtr) {\n\n mstore(add(memPtr, 0), \"The request has been completed\")\n\n }\n\n function store_literal_in_memory_93b8bd44ebf4d9f24e1c7181f3ab2b13f8dea904b293a2e05c03389d131ac38e(memPtr) {\n\n mstore(add(memPtr, 0), \"Below minimumContribution\")\n\n }\n\n function store_literal_in_memory_9a6ce075e65af8613973d592e4173942a549d176065a37d30e8f39c8fb1f41d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Must have more than 50% of vote\")\n\n }\n\n function store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(memPtr) {\n\n mstore(add(memPtr, 0), \"Not owner\")\n\n }\n\n function store_literal_in_memory_d2462c71b171855df8ff6c61c1f03db8b6ca2af5e10203fd98a435f4fba43c99(memPtr) {\n\n mstore(add(memPtr, 0), \"Not a contributor\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100ec5760003560e01c80635114cb521161008a578063c59ee1dc11610059578063c59ee1dc146102c4578063d7bb99ba146102ef578063d845a4b3146102f9578063f851a4401461033a576100fb565b80635114cb521461023b578063937e09b1146102645780639fb42b1f1461028f578063b2d5ae44146102ba576100fb565b806329dcb0cf116100c657806329dcb0cf1461019157806340193883146101bc5780634cb6f4a5146101e75780634e260f6f14610210576100fb565b806312065fe0146101005780631b16bb5c1461012b5780631f6d494214610154576100fb565b366100fb576100f9610365565b005b600080fd5b34801561010c57600080fd5b506101156104f7565b60405161012291906112f2565b60405180910390f35b34801561013757600080fd5b50610152600480360381019061014d9190610e72565b6104ff565b005b34801561016057600080fd5b5061017b60048036038101906101769190610e45565b610689565b60405161018891906112f2565b60405180910390f35b34801561019d57600080fd5b506101a66106a1565b6040516101b391906112f2565b60405180910390f35b3480156101c857600080fd5b506101d16106a7565b6040516101de91906112f2565b60405180910390f35b3480156101f357600080fd5b5061020e60048036038101906102099190610ee1565b6106ad565b005b34801561021c57600080fd5b50610225610852565b60405161023291906112f2565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190610ee1565b610858565b005b34801561027057600080fd5b50610279610ae2565b60405161028691906112f2565b60405180910390f35b34801561029b57600080fd5b506102a4610ae8565b6040516102b191906112f2565b60405180910390f35b6102c2610aee565b005b3480156102d057600080fd5b506102d9610bdc565b6040516102e691906112f2565b60405180910390f35b6102f7610365565b005b34801561030557600080fd5b50610320600480360381019061031b9190610ee1565b610be2565b604051610331959493929190611178565b60405180910390f35b34801561034657600080fd5b5061034f610ccd565b60405161035c91906110cd565b60405180910390f35b60045442106103a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a090611232565b60405180910390fd5b6003543410156103ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e590611272565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561044e57600260008154809291906104489061153b565b91905055505b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461049c919061137f565b9250508190555034600660008282546104b5919061137f565b925050819055507f2daf61dec57a2c194e9e87958b1a40a5c236b5e8c6041655d664ddbd16c2932033346040516104ed929190611111565b60405180910390a1565b600047905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461058f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610586906112b2565b60405180910390fd5b600060076000600860008154809291906105a89061153b565b9190505581526020019081526020016000209050838160000190805190602001906105d4929190610cf3565b50828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081816002018190555060008160030160006101000a81548160ff021916908315150217905550600081600401819055507f5392bd80651676ccaaedec1afbe841d47e369223df0ba1586110b6426ee87a3a84848460405161067b9392919061113a565b60405180910390a150505050565b60006020528060005260406000206000915090505481565b60045481565b60055481565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161072e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072590611212565b60405180910390fd5b6000600760008381526020019081526020016000209050600015158160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d1906111d2565b60405180910390fd5b60018160050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508060040160008154809291906108499061153b565b91905055505050565b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df906112b2565b60405180910390fd5b600554600654101561092f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610926906111f2565b60405180910390fd5b6000600760008381526020019081526020016000209050600015158160030160009054906101000a900460ff1615151461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099590611252565b60405180910390fd5b600280546109ac91906113d5565b8160040154116109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890611292565b60405180910390fd5b8060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc82600201549081150290604051600060405180830381858888f19350505050158015610a5f573d6000803e3d6000fd5b5060018160030160006101000a81548160ff0219169083151502179055507f516e1673e5e85c44620165259173329adda2ad25e7bb15020c732be060b5b7908160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260020154604051610ad69291906110e8565b60405180910390a15050565b60035481565b60085481565b60045442118015610b025750600554600654105b610b0b57600080fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811015610b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b89906112d2565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bd8573d6000803e3d6000fd5b5050565b60065481565b6007602052806000526040600020600091509050806000018054610c05906114d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c31906114d8565b8015610c7e5780601f10610c5357610100808354040283529160200191610c7e565b820191906000526020600020905b815481529060010190602001808311610c6157829003601f168201915b5050505050908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030160009054906101000a900460ff16908060040154905085565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054610cff906114d8565b90600052602060002090601f016020900481019282610d215760008555610d68565b82601f10610d3a57805160ff1916838001178555610d68565b82800160010185558215610d68579182015b82811115610d67578251825591602001919060010190610d4c565b5b509050610d759190610d79565b5090565b5b80821115610d92576000816000905550600101610d7a565b5090565b6000610da9610da484611332565b61130d565b905082815260208101848484011115610dc557610dc4611645565b5b610dd0848285611496565b509392505050565b600081359050610de7816117d6565b92915050565b600081359050610dfc816117ed565b92915050565b600082601f830112610e1757610e16611640565b5b8135610e27848260208601610d96565b91505092915050565b600081359050610e3f81611804565b92915050565b600060208284031215610e5b57610e5a61164f565b5b6000610e6984828501610dd8565b91505092915050565b600080600060608486031215610e8b57610e8a61164f565b5b600084013567ffffffffffffffff811115610ea957610ea861164a565b5b610eb586828701610e02565b9350506020610ec686828701610ded565b9250506040610ed786828701610e30565b9150509250925092565b600060208284031215610ef757610ef661164f565b5b6000610f0584828501610e30565b91505092915050565b610f1781611460565b82525050565b610f2681611418565b82525050565b610f3581611406565b82525050565b610f448161142a565b82525050565b6000610f5582611363565b610f5f818561136e565b9350610f6f8185602086016114a5565b610f7881611654565b840191505092915050565b6000610f90600d8361136e565b9150610f9b82611665565b602082019050919050565b6000610fb360128361136e565b9150610fbe8261168e565b602082019050919050565b6000610fd660158361136e565b9150610fe1826116b7565b602082019050919050565b6000610ff960138361136e565b9150611004826116e0565b602082019050919050565b600061101c601e8361136e565b915061102782611709565b602082019050919050565b600061103f60198361136e565b915061104a82611732565b602082019050919050565b6000611062601f8361136e565b915061106d8261175b565b602082019050919050565b600061108560098361136e565b915061109082611784565b602082019050919050565b60006110a860118361136e565b91506110b3826117ad565b602082019050919050565b6110c781611456565b82525050565b60006020820190506110e26000830184610f2c565b92915050565b60006040820190506110fd6000830185610f0e565b61110a60208301846110be565b9392505050565b60006040820190506111266000830185610f2c565b61113360208301846110be565b9392505050565b600060608201905081810360008301526111548186610f4a565b90506111636020830185610f0e565b61117060408301846110be565b949350505050565b600060a08201905081810360008301526111928188610f4a565b90506111a16020830187610f1d565b6111ae60408301866110be565b6111bb6060830185610f3b565b6111c860808301846110be565b9695505050505050565b600060208201905081810360008301526111eb81610f83565b9050919050565b6000602082019050818103600083015261120b81610fa6565b9050919050565b6000602082019050818103600083015261122b81610fc9565b9050919050565b6000602082019050818103600083015261124b81610fec565b9050919050565b6000602082019050818103600083015261126b8161100f565b9050919050565b6000602082019050818103600083015261128b81611032565b9050919050565b600060208201905081810360008301526112ab81611055565b9050919050565b600060208201905081810360008301526112cb81611078565b9050919050565b600060208201905081810360008301526112eb8161109b565b9050919050565b600060208201905061130760008301846110be565b92915050565b6000611317611328565b9050611323828261150a565b919050565b6000604051905090565b600067ffffffffffffffff82111561134d5761134c611611565b5b61135682611654565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061138a82611456565b915061139583611456565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113ca576113c9611584565b5b828201905092915050565b60006113e082611456565b91506113eb83611456565b9250826113fb576113fa6115b3565b5b828204905092915050565b600061141182611436565b9050919050565b600061142382611436565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061146b82611472565b9050919050565b600061147d82611484565b9050919050565b600061148f82611436565b9050919050565b82818337600083830152505050565b60005b838110156114c35780820151818401526020810190506114a8565b838111156114d2576000848401525b50505050565b600060028204905060018216806114f057607f821691505b60208210811415611504576115036115e2565b5b50919050565b61151382611654565b810181811067ffffffffffffffff8211171561153257611531611611565b5b80604052505050565b600061154682611456565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561157957611578611584565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416c726561647920766f74656400000000000000000000000000000000000000600082015250565b7f42656c6f7720676f616c206d696e696d756d0000000000000000000000000000600082015250565b7f4d757374206265206120636f6e7472696275746f720000000000000000000000600082015250565b7f446561646c696e65206861732070617373656400000000000000000000000000600082015250565b7f546865207265717565737420686173206265656e20636f6d706c657465640000600082015250565b7f42656c6f77206d696e696d756d436f6e747269627574696f6e00000000000000600082015250565b7f4d7573742068617665206d6f7265207468616e20353025206f6620766f746500600082015250565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b7f4e6f74206120636f6e7472696275746f72000000000000000000000000000000600082015250565b6117df81611406565b81146117ea57600080fd5b50565b6117f681611418565b811461180157600080fd5b50565b61180d81611456565b811461181857600080fd5b5056fea264697066735822122098a6be09763b2dbb01799158f1e148fff01c2b6809b63194a2fe7e499a3ebd2664736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEC JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5114CB52 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xC59EE1DC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xC59EE1DC EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0xD7BB99BA EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0xD845A4B3 EQ PUSH2 0x2F9 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x33A JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x5114CB52 EQ PUSH2 0x23B JUMPI DUP1 PUSH4 0x937E09B1 EQ PUSH2 0x264 JUMPI DUP1 PUSH4 0x9FB42B1F EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0xB2D5AE44 EQ PUSH2 0x2BA JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x29DCB0CF GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x29DCB0CF EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x40193883 EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x4CB6F4A5 EQ PUSH2 0x1E7 JUMPI DUP1 PUSH4 0x4E260F6F EQ PUSH2 0x210 JUMPI PUSH2 0xFB JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x1B16BB5C EQ PUSH2 0x12B JUMPI DUP1 PUSH4 0x1F6D4942 EQ PUSH2 0x154 JUMPI PUSH2 0xFB JUMP JUMPDEST CALLDATASIZE PUSH2 0xFB JUMPI PUSH2 0xF9 PUSH2 0x365 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x115 PUSH2 0x4F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x122 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x137 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x152 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14D SWAP2 SWAP1 PUSH2 0xE72 JUMP JUMPDEST PUSH2 0x4FF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x176 SWAP2 SWAP1 PUSH2 0xE45 JUMP JUMPDEST PUSH2 0x689 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x19D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x6A1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D1 PUSH2 0x6A7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DE SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x20E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x209 SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0x6AD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 PUSH2 0x852 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x232 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x262 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25D SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0x858 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x279 PUSH2 0xAE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A4 PUSH2 0xAE8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B1 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C2 PUSH2 0xAEE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D9 PUSH2 0xBDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E6 SWAP2 SWAP1 PUSH2 0x12F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F7 PUSH2 0x365 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x320 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31B SWAP2 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x331 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x346 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x34F PUSH2 0xCCD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35C SWAP2 SWAP1 PUSH2 0x10CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 SLOAD TIMESTAMP LT PUSH2 0x3A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A0 SWAP1 PUSH2 0x1232 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD CALLVALUE LT ISZERO PUSH2 0x3EE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E5 SWAP1 PUSH2 0x1272 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD EQ ISZERO PUSH2 0x44E JUMPI PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x448 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x137F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLVALUE PUSH1 0x6 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4B5 SWAP2 SWAP1 PUSH2 0x137F JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0x2DAF61DEC57A2C194E9E87958B1A40A5C236B5E8C6041655D664DDBD16C29320 CALLER CALLVALUE PUSH1 0x40 MLOAD PUSH2 0x4ED SWAP3 SWAP2 SWAP1 PUSH2 0x1111 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x58F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x586 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5A8 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP4 DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x5D4 SWAP3 SWAP2 SWAP1 PUSH2 0xCF3 JUMP JUMPDEST POP DUP3 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x0 DUP2 PUSH1 0x4 ADD DUP2 SWAP1 SSTORE POP PUSH32 0x5392BD80651676CCAAEDEC1AFBE841D47E369223DF0BA1586110B6426EE87A3A DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x67B SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x113A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 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 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT PUSH2 0x72E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x725 SWAP1 PUSH2 0x1212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x5 ADD 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 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x7DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7D1 SWAP1 PUSH2 0x11D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x5 ADD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x4 ADD PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x849 SWAP1 PUSH2 0x153B JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8DF SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD LT ISZERO PUSH2 0x92F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x926 SWAP1 PUSH2 0x11F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x99E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x995 SWAP1 PUSH2 0x1252 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x9AC SWAP2 SWAP1 PUSH2 0x13D5 JUMP JUMPDEST DUP2 PUSH1 0x4 ADD SLOAD GT PUSH2 0x9F1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9E8 SWAP1 PUSH2 0x1292 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 PUSH1 0x2 ADD SLOAD SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xA5F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 DUP2 PUSH1 0x3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0x516E1673E5E85C44620165259173329ADDA2AD25E7BB15020C732BE060B5B790 DUP2 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH1 0x2 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0xAD6 SWAP3 SWAP2 SWAP1 PUSH2 0x10E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 SLOAD TIMESTAMP GT DUP1 ISZERO PUSH2 0xB02 JUMPI POP PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD LT JUMPDEST PUSH2 0xB0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP PUSH1 0x0 DUP2 LT ISZERO PUSH2 0xB92 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB89 SWAP1 PUSH2 0x12D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xBD8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xC05 SWAP1 PUSH2 0x14D8 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 0xC31 SWAP1 PUSH2 0x14D8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xC7E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xC53 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xC7E 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 0xC61 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xCFF SWAP1 PUSH2 0x14D8 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xD21 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xD68 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xD3A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xD68 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xD68 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xD67 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xD4C JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xD75 SWAP2 SWAP1 PUSH2 0xD79 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xD92 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xD7A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDA9 PUSH2 0xDA4 DUP5 PUSH2 0x1332 JUMP JUMPDEST PUSH2 0x130D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xDC5 JUMPI PUSH2 0xDC4 PUSH2 0x1645 JUMP JUMPDEST JUMPDEST PUSH2 0xDD0 DUP5 DUP3 DUP6 PUSH2 0x1496 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDE7 DUP2 PUSH2 0x17D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xDFC DUP2 PUSH2 0x17ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE17 JUMPI PUSH2 0xE16 PUSH2 0x1640 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xE27 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xD96 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE3F DUP2 PUSH2 0x1804 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE5B JUMPI PUSH2 0xE5A PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xE69 DUP5 DUP3 DUP6 ADD PUSH2 0xDD8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE8B JUMPI PUSH2 0xE8A PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xEA9 JUMPI PUSH2 0xEA8 PUSH2 0x164A JUMP JUMPDEST JUMPDEST PUSH2 0xEB5 DUP7 DUP3 DUP8 ADD PUSH2 0xE02 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xEC6 DUP7 DUP3 DUP8 ADD PUSH2 0xDED JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xED7 DUP7 DUP3 DUP8 ADD PUSH2 0xE30 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEF7 JUMPI PUSH2 0xEF6 PUSH2 0x164F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF05 DUP5 DUP3 DUP6 ADD PUSH2 0xE30 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF17 DUP2 PUSH2 0x1460 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF26 DUP2 PUSH2 0x1418 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF35 DUP2 PUSH2 0x1406 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xF44 DUP2 PUSH2 0x142A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF55 DUP3 PUSH2 0x1363 JUMP JUMPDEST PUSH2 0xF5F DUP2 DUP6 PUSH2 0x136E JUMP JUMPDEST SWAP4 POP PUSH2 0xF6F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x14A5 JUMP JUMPDEST PUSH2 0xF78 DUP2 PUSH2 0x1654 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF90 PUSH1 0xD DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xF9B DUP3 PUSH2 0x1665 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB3 PUSH1 0x12 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xFBE DUP3 PUSH2 0x168E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFD6 PUSH1 0x15 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0xFE1 DUP3 PUSH2 0x16B7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF9 PUSH1 0x13 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1004 DUP3 PUSH2 0x16E0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x101C PUSH1 0x1E DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1027 DUP3 PUSH2 0x1709 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x103F PUSH1 0x19 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x104A DUP3 PUSH2 0x1732 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1062 PUSH1 0x1F DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x106D DUP3 PUSH2 0x175B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1085 PUSH1 0x9 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x1090 DUP3 PUSH2 0x1784 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10A8 PUSH1 0x11 DUP4 PUSH2 0x136E JUMP JUMPDEST SWAP2 POP PUSH2 0x10B3 DUP3 PUSH2 0x17AD JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C7 DUP2 PUSH2 0x1456 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x10E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF2C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x10FD PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF0E JUMP JUMPDEST PUSH2 0x110A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1126 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xF2C JUMP JUMPDEST PUSH2 0x1133 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1154 DUP2 DUP7 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP PUSH2 0x1163 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xF0E JUMP JUMPDEST PUSH2 0x1170 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1192 DUP2 DUP9 PUSH2 0xF4A JUMP JUMPDEST SWAP1 POP PUSH2 0x11A1 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xF1D JUMP JUMPDEST PUSH2 0x11AE PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x10BE JUMP JUMPDEST PUSH2 0x11BB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x11C8 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11EB DUP2 PUSH2 0xF83 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x120B DUP2 PUSH2 0xFA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x122B DUP2 PUSH2 0xFC9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x124B DUP2 PUSH2 0xFEC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x126B DUP2 PUSH2 0x100F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x128B DUP2 PUSH2 0x1032 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12AB DUP2 PUSH2 0x1055 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12CB DUP2 PUSH2 0x1078 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12EB DUP2 PUSH2 0x109B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1307 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x10BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1317 PUSH2 0x1328 JUMP JUMPDEST SWAP1 POP PUSH2 0x1323 DUP3 DUP3 PUSH2 0x150A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x134D JUMPI PUSH2 0x134C PUSH2 0x1611 JUMP JUMPDEST JUMPDEST PUSH2 0x1356 DUP3 PUSH2 0x1654 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x138A DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH2 0x1395 DUP4 PUSH2 0x1456 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x13CA JUMPI PUSH2 0x13C9 PUSH2 0x1584 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13E0 DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH2 0x13EB DUP4 PUSH2 0x1456 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x13FB JUMPI PUSH2 0x13FA PUSH2 0x15B3 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1411 DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1423 DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x146B DUP3 PUSH2 0x1472 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147D DUP3 PUSH2 0x1484 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x148F DUP3 PUSH2 0x1436 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14C3 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x14A8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x14D2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x14F0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1504 JUMPI PUSH2 0x1503 PUSH2 0x15E2 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1513 DUP3 PUSH2 0x1654 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1532 JUMPI PUSH2 0x1531 PUSH2 0x1611 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1546 DUP3 PUSH2 0x1456 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1579 JUMPI PUSH2 0x1578 PUSH2 0x1584 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x416C726561647920766F74656400000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x42656C6F7720676F616C206D696E696D756D0000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4D757374206265206120636F6E7472696275746F720000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x446561646C696E65206861732070617373656400000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x546865207265717565737420686173206265656E20636F6D706C657465640000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x42656C6F77206D696E696D756D436F6E747269627574696F6E00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4D7573742068617665206D6F7265207468616E20353025206F6620766F746500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F74206120636F6E7472696275746F72000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x17DF DUP2 PUSH2 0x1406 JUMP JUMPDEST DUP2 EQ PUSH2 0x17EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x17F6 DUP2 PUSH2 0x1418 JUMP JUMPDEST DUP2 EQ PUSH2 0x1801 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x180D DUP2 PUSH2 0x1456 JUMP JUMPDEST DUP2 EQ PUSH2 0x1818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP9 0xA6 0xBE MULMOD PUSH23 0x3B2DBB01799158F1E148FFF01C2B6809B63194A2FE7E49 SWAP11 RETURNDATACOPY 0xBD 0x26 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "70:3498:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1499:12;:10;:12::i;:::-;70:3498;;;;;1528:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2026:486;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;98:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;250:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;289:16;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:340;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2997:569;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;213:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;601:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1631:289;;;:::i;:::-;;311:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1036:416;;;:::i;:::-;;551:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;148:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1036:416;1109:8;;1091:15;:26;1083:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1172:19;;1159:9;:32;;1151:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;1271:1;1243:12;:24;1256:10;1243:24;;;;;;;;;;;;;;;;:29;1240:52;;;1274:16;;:18;;;;;;;;;:::i;:::-;;;;;;1240:52;1339:9;1311:12;:24;1324:10;1311:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;1374:9;1358:12;;:25;;;;;;;:::i;:::-;;;;;;;;1407:38;1423:10;1435:9;1407:38;;;;;;;:::i;:::-;;;;;;;;1036:416::o;1528:93::-;1570:4;1593:21;1586:28;;1528:93;:::o;2026:486::-;1983:5;;;;;;;;;;;1969:19;;:10;:19;;;1961:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2145:26:::1;2174:7;:22;2182:11;;:13;;;;;;;;;:::i;:::-;;;;;2174:22;;;;;;;;;;;2145:51;;2266:12;2241:10;:22;;:37;;;;;;;;;;;;:::i;:::-;;2311:10;2288;:20;;;:33;;;;;;;;;;;;;;;;;;2350:6;2331:10;:16;;:25;;;;2389:5;2366:10;:20;;;:28;;;;;;;;;;;;;;;;;;2428:1;2404:10;:21;;:25;;;;2453:52;2472:12;2486:10;2498:6;2453:52;;;;;;;;:::i;:::-;;;;;;;;2135:377;2026:486:::0;;;:::o;98:44::-;;;;;;;;;;;;;;;;;:::o;250:20::-;;;;:::o;289:16::-;;;;:::o;2647:340::-;2592:1;2565:12;:24;2578:10;2565:24;;;;;;;;;;;;;;;;:28;2557:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;2715:27:::1;2745:7;:18;2753:9;2745:18;;;;;;;;;;;2715:48;;2824:5;2790:39;;:11;:18;;:30;2809:10;2790:30;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;2782:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2890:4;2857:11;:18;;:30;2876:10;2857:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;2904:11;:22;;;:24;;;;;;;;;:::i;:::-;;;;;;2705:282;2647:340:::0;:::o;174:28::-;;;;:::o;2997:569::-;1983:5;;;;;;;;;;;1969:19;;:10;:19;;;1961:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;3085:4:::1;;3069:12;;:20;;3061:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;3131:27;3161:7;:18;3169:9;3161:18;;;;;;;;;;;3131:48;;3231:5;3206:30;;:11;:21;;;;;;;;;;;;:30;;;3198:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3342:1;3323:16:::0;::::1;:20;;;;:::i;:::-;3298:11;:22;;;:45;3290:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;3390:11;:21;;;;;;;;;;;;:30;;:49;3421:11;:17;;;3390:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;3473:4;3449:11;:21;;;:28;;;;;;;;;;;;;;;;;;3501:58;3518:11;:21;;;;;;;;;;;;3541:11;:17;;;3501:58;;;;;;;:::i;:::-;;;;;;;;3051:515;2997:569:::0;:::o;213:31::-;;;;:::o;601:23::-;;;;:::o;1631:289::-;1703:8;;1685:15;:26;:49;;;;;1730:4;;1715:12;;:19;1685:49;1677:58;;;;;;1745:22;1770:12;:24;1783:10;1770:24;;;;;;;;;;;;;;;;1745:49;;1833:1;1812:17;:22;;1804:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1874:10;1866:28;;:47;1895:17;1866:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1667:253;1631:289::o;311:24::-;;;;:::o;551:39::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;148:20::-;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:155::-;624:5;662:6;649:20;640:29;;678:41;713:5;678:41;:::i;:::-;570:155;;;;:::o;745:340::-;801:5;850:3;843:4;835:6;831:17;827:27;817:122;;858:79;;:::i;:::-;817:122;975:6;962:20;1000:79;1075:3;1067:6;1060:4;1052:6;1048:17;1000:79;:::i;:::-;991:88;;807:278;745:340;;;;:::o;1091:139::-;1137:5;1175:6;1162:20;1153:29;;1191:33;1218:5;1191:33;:::i;:::-;1091:139;;;;:::o;1236:329::-;1295:6;1344:2;1332:9;1323:7;1319:23;1315:32;1312:119;;;1350:79;;:::i;:::-;1312:119;1470:1;1495:53;1540:7;1531:6;1520:9;1516:22;1495:53;:::i;:::-;1485:63;;1441:117;1236:329;;;;:::o;1571:815::-;1666:6;1674;1682;1731:2;1719:9;1710:7;1706:23;1702:32;1699:119;;;1737:79;;:::i;:::-;1699:119;1885:1;1874:9;1870:17;1857:31;1915:18;1907:6;1904:30;1901:117;;;1937:79;;:::i;:::-;1901:117;2042:63;2097:7;2088:6;2077:9;2073:22;2042:63;:::i;:::-;2032:73;;1828:287;2154:2;2180:61;2233:7;2224:6;2213:9;2209:22;2180:61;:::i;:::-;2170:71;;2125:126;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1571:815;;;;;:::o;2392:329::-;2451:6;2500:2;2488:9;2479:7;2475:23;2471:32;2468:119;;;2506:79;;:::i;:::-;2468:119;2626:1;2651:53;2696:7;2687:6;2676:9;2672:22;2651:53;:::i;:::-;2641:63;;2597:117;2392:329;;;;:::o;2727:147::-;2822:45;2861:5;2822:45;:::i;:::-;2817:3;2810:58;2727:147;;:::o;2880:142::-;2983:32;3009:5;2983:32;:::i;:::-;2978:3;2971:45;2880:142;;:::o;3028:118::-;3115:24;3133:5;3115:24;:::i;:::-;3110:3;3103:37;3028:118;;:::o;3152:109::-;3233:21;3248:5;3233:21;:::i;:::-;3228:3;3221:34;3152:109;;:::o;3267:364::-;3355:3;3383:39;3416:5;3383:39;:::i;:::-;3438:71;3502:6;3497:3;3438:71;:::i;:::-;3431:78;;3518:52;3563:6;3558:3;3551:4;3544:5;3540:16;3518:52;:::i;:::-;3595:29;3617:6;3595:29;:::i;:::-;3590:3;3586:39;3579:46;;3359:272;3267:364;;;;:::o;3637:366::-;3779:3;3800:67;3864:2;3859:3;3800:67;:::i;:::-;3793:74;;3876:93;3965:3;3876:93;:::i;:::-;3994:2;3989:3;3985:12;3978:19;;3637:366;;;:::o;4009:::-;4151:3;4172:67;4236:2;4231:3;4172:67;:::i;:::-;4165:74;;4248:93;4337:3;4248:93;:::i;:::-;4366:2;4361:3;4357:12;4350:19;;4009:366;;;:::o;4381:::-;4523:3;4544:67;4608:2;4603:3;4544:67;:::i;:::-;4537:74;;4620:93;4709:3;4620:93;:::i;:::-;4738:2;4733:3;4729:12;4722:19;;4381:366;;;:::o;4753:::-;4895:3;4916:67;4980:2;4975:3;4916:67;:::i;:::-;4909:74;;4992:93;5081:3;4992:93;:::i;:::-;5110:2;5105:3;5101:12;5094:19;;4753:366;;;:::o;5125:::-;5267:3;5288:67;5352:2;5347:3;5288:67;:::i;:::-;5281:74;;5364:93;5453:3;5364:93;:::i;:::-;5482:2;5477:3;5473:12;5466:19;;5125:366;;;:::o;5497:::-;5639:3;5660:67;5724:2;5719:3;5660:67;:::i;:::-;5653:74;;5736:93;5825:3;5736:93;:::i;:::-;5854:2;5849:3;5845:12;5838:19;;5497:366;;;:::o;5869:::-;6011:3;6032:67;6096:2;6091:3;6032:67;:::i;:::-;6025:74;;6108:93;6197:3;6108:93;:::i;:::-;6226:2;6221:3;6217:12;6210:19;;5869:366;;;:::o;6241:365::-;6383:3;6404:66;6468:1;6463:3;6404:66;:::i;:::-;6397:73;;6479:93;6568:3;6479:93;:::i;:::-;6597:2;6592:3;6588:12;6581:19;;6241:365;;;:::o;6612:366::-;6754:3;6775:67;6839:2;6834:3;6775:67;:::i;:::-;6768:74;;6851:93;6940:3;6851:93;:::i;:::-;6969:2;6964:3;6960:12;6953:19;;6612:366;;;:::o;6984:118::-;7071:24;7089:5;7071:24;:::i;:::-;7066:3;7059:37;6984:118;;:::o;7108:222::-;7201:4;7239:2;7228:9;7224:18;7216:26;;7252:71;7320:1;7309:9;7305:17;7296:6;7252:71;:::i;:::-;7108:222;;;;:::o;7336:348::-;7465:4;7503:2;7492:9;7488:18;7480:26;;7516:79;7592:1;7581:9;7577:17;7568:6;7516:79;:::i;:::-;7605:72;7673:2;7662:9;7658:18;7649:6;7605:72;:::i;:::-;7336:348;;;;;:::o;7690:332::-;7811:4;7849:2;7838:9;7834:18;7826:26;;7862:71;7930:1;7919:9;7915:17;7906:6;7862:71;:::i;:::-;7943:72;8011:2;8000:9;7996:18;7987:6;7943:72;:::i;:::-;7690:332;;;;;:::o;8028:549::-;8205:4;8243:2;8232:9;8228:18;8220:26;;8292:9;8286:4;8282:20;8278:1;8267:9;8263:17;8256:47;8320:78;8393:4;8384:6;8320:78;:::i;:::-;8312:86;;8408:80;8484:2;8473:9;8469:18;8460:6;8408:80;:::i;:::-;8498:72;8566:2;8555:9;8551:18;8542:6;8498:72;:::i;:::-;8028:549;;;;;;:::o;8583:775::-;8818:4;8856:3;8845:9;8841:19;8833:27;;8906:9;8900:4;8896:20;8892:1;8881:9;8877:17;8870:47;8934:78;9007:4;8998:6;8934:78;:::i;:::-;8926:86;;9022:88;9106:2;9095:9;9091:18;9082:6;9022:88;:::i;:::-;9120:72;9188:2;9177:9;9173:18;9164:6;9120:72;:::i;:::-;9202:66;9264:2;9253:9;9249:18;9240:6;9202:66;:::i;:::-;9278:73;9346:3;9335:9;9331:19;9322:6;9278:73;:::i;:::-;8583:775;;;;;;;;:::o;9364:419::-;9530:4;9568:2;9557:9;9553:18;9545:26;;9617:9;9611:4;9607:20;9603:1;9592:9;9588:17;9581:47;9645:131;9771:4;9645:131;:::i;:::-;9637:139;;9364:419;;;:::o;9789:::-;9955:4;9993:2;9982:9;9978:18;9970:26;;10042:9;10036:4;10032:20;10028:1;10017:9;10013:17;10006:47;10070:131;10196:4;10070:131;:::i;:::-;10062:139;;9789:419;;;:::o;10214:::-;10380:4;10418:2;10407:9;10403:18;10395:26;;10467:9;10461:4;10457:20;10453:1;10442:9;10438:17;10431:47;10495:131;10621:4;10495:131;:::i;:::-;10487:139;;10214:419;;;:::o;10639:::-;10805:4;10843:2;10832:9;10828:18;10820:26;;10892:9;10886:4;10882:20;10878:1;10867:9;10863:17;10856:47;10920:131;11046:4;10920:131;:::i;:::-;10912:139;;10639:419;;;:::o;11064:::-;11230:4;11268:2;11257:9;11253:18;11245:26;;11317:9;11311:4;11307:20;11303:1;11292:9;11288:17;11281:47;11345:131;11471:4;11345:131;:::i;:::-;11337:139;;11064:419;;;:::o;11489:::-;11655:4;11693:2;11682:9;11678:18;11670:26;;11742:9;11736:4;11732:20;11728:1;11717:9;11713:17;11706:47;11770:131;11896:4;11770:131;:::i;:::-;11762:139;;11489:419;;;:::o;11914:::-;12080:4;12118:2;12107:9;12103:18;12095:26;;12167:9;12161:4;12157:20;12153:1;12142:9;12138:17;12131:47;12195:131;12321:4;12195:131;:::i;:::-;12187:139;;11914:419;;;:::o;12339:::-;12505:4;12543:2;12532:9;12528:18;12520:26;;12592:9;12586:4;12582:20;12578:1;12567:9;12563:17;12556:47;12620:131;12746:4;12620:131;:::i;:::-;12612:139;;12339:419;;;:::o;12764:::-;12930:4;12968:2;12957:9;12953:18;12945:26;;13017:9;13011:4;13007:20;13003:1;12992:9;12988:17;12981:47;13045:131;13171:4;13045:131;:::i;:::-;13037:139;;12764:419;;;:::o;13189:222::-;13282:4;13320:2;13309:9;13305:18;13297:26;;13333:71;13401:1;13390:9;13386:17;13377:6;13333:71;:::i;:::-;13189:222;;;;:::o;13417:129::-;13451:6;13478:20;;:::i;:::-;13468:30;;13507:33;13535:4;13527:6;13507:33;:::i;:::-;13417:129;;;:::o;13552:75::-;13585:6;13618:2;13612:9;13602:19;;13552:75;:::o;13633:308::-;13695:4;13785:18;13777:6;13774:30;13771:56;;;13807:18;;:::i;:::-;13771:56;13845:29;13867:6;13845:29;:::i;:::-;13837:37;;13929:4;13923;13919:15;13911:23;;13633:308;;;:::o;13947:99::-;13999:6;14033:5;14027:12;14017:22;;13947:99;;;:::o;14052:169::-;14136:11;14170:6;14165:3;14158:19;14210:4;14205:3;14201:14;14186:29;;14052:169;;;;:::o;14227:305::-;14267:3;14286:20;14304:1;14286:20;:::i;:::-;14281:25;;14320:20;14338:1;14320:20;:::i;:::-;14315:25;;14474:1;14406:66;14402:74;14399:1;14396:81;14393:107;;;14480:18;;:::i;:::-;14393:107;14524:1;14521;14517:9;14510:16;;14227:305;;;;:::o;14538:185::-;14578:1;14595:20;14613:1;14595:20;:::i;:::-;14590:25;;14629:20;14647:1;14629:20;:::i;:::-;14624:25;;14668:1;14658:35;;14673:18;;:::i;:::-;14658:35;14715:1;14712;14708:9;14703:14;;14538:185;;;;:::o;14729:96::-;14766:7;14795:24;14813:5;14795:24;:::i;:::-;14784:35;;14729:96;;;:::o;14831:104::-;14876:7;14905:24;14923:5;14905:24;:::i;:::-;14894:35;;14831:104;;;:::o;14941:90::-;14975:7;15018:5;15011:13;15004:21;14993:32;;14941:90;;;:::o;15037:126::-;15074:7;15114:42;15107:5;15103:54;15092:65;;15037:126;;;:::o;15169:77::-;15206:7;15235:5;15224:16;;15169:77;;;:::o;15252:134::-;15310:9;15343:37;15374:5;15343:37;:::i;:::-;15330:50;;15252:134;;;:::o;15392:126::-;15442:9;15475:37;15506:5;15475:37;:::i;:::-;15462:50;;15392:126;;;:::o;15524:113::-;15574:9;15607:24;15625:5;15607:24;:::i;:::-;15594:37;;15524:113;;;:::o;15643:154::-;15727:6;15722:3;15717;15704:30;15789:1;15780:6;15775:3;15771:16;15764:27;15643:154;;;:::o;15803:307::-;15871:1;15881:113;15895:6;15892:1;15889:13;15881:113;;;15980:1;15975:3;15971:11;15965:18;15961:1;15956:3;15952:11;15945:39;15917:2;15914:1;15910:10;15905:15;;15881:113;;;16012:6;16009:1;16006:13;16003:101;;;16092:1;16083:6;16078:3;16074:16;16067:27;16003:101;15852:258;15803:307;;;:::o;16116:320::-;16160:6;16197:1;16191:4;16187:12;16177:22;;16244:1;16238:4;16234:12;16265:18;16255:81;;16321:4;16313:6;16309:17;16299:27;;16255:81;16383:2;16375:6;16372:14;16352:18;16349:38;16346:84;;;16402:18;;:::i;:::-;16346:84;16167:269;16116:320;;;:::o;16442:281::-;16525:27;16547:4;16525:27;:::i;:::-;16517:6;16513:40;16655:6;16643:10;16640:22;16619:18;16607:10;16604:34;16601:62;16598:88;;;16666:18;;:::i;:::-;16598:88;16706:10;16702:2;16695:22;16485:238;16442:281;;:::o;16729:233::-;16768:3;16791:24;16809:5;16791:24;:::i;:::-;16782:33;;16837:66;16830:5;16827:77;16824:103;;;16907:18;;:::i;:::-;16824:103;16954:1;16947:5;16943:13;16936:20;;16729:233;;;:::o;16968:180::-;17016:77;17013:1;17006:88;17113:4;17110:1;17103:15;17137:4;17134:1;17127:15;17154:180;17202:77;17199:1;17192:88;17299:4;17296:1;17289:15;17323:4;17320:1;17313:15;17340:180;17388:77;17385:1;17378:88;17485:4;17482:1;17475:15;17509:4;17506:1;17499:15;17526:180;17574:77;17571:1;17564:88;17671:4;17668:1;17661:15;17695:4;17692:1;17685:15;17712:117;17821:1;17818;17811:12;17835:117;17944:1;17941;17934:12;17958:117;18067:1;18064;18057:12;18081:117;18190:1;18187;18180:12;18204:102;18245:6;18296:2;18292:7;18287:2;18280:5;18276:14;18272:28;18262:38;;18204:102;;;:::o;18312:163::-;18452:15;18448:1;18440:6;18436:14;18429:39;18312:163;:::o;18481:168::-;18621:20;18617:1;18609:6;18605:14;18598:44;18481:168;:::o;18655:171::-;18795:23;18791:1;18783:6;18779:14;18772:47;18655:171;:::o;18832:169::-;18972:21;18968:1;18960:6;18956:14;18949:45;18832:169;:::o;19007:180::-;19147:32;19143:1;19135:6;19131:14;19124:56;19007:180;:::o;19193:175::-;19333:27;19329:1;19321:6;19317:14;19310:51;19193:175;:::o;19374:181::-;19514:33;19510:1;19502:6;19498:14;19491:57;19374:181;:::o;19561:159::-;19701:11;19697:1;19689:6;19685:14;19678:35;19561:159;:::o;19726:167::-;19866:19;19862:1;19854:6;19850:14;19843:43;19726:167;:::o;19899:122::-;19972:24;19990:5;19972:24;:::i;:::-;19965:5;19962:35;19952:63;;20011:1;20008;20001:12;19952:63;19899:122;:::o;20027:138::-;20108:32;20134:5;20108:32;:::i;:::-;20101:5;20098:43;20088:71;;20155:1;20152;20145:12;20088:71;20027:138;:::o;20171:122::-;20244:24;20262:5;20244:24;:::i;:::-;20237:5;20234:35;20224:63;;20283:1;20280;20273:12;20224:63;20171:122;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1245000", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"admin()": "2602", | |
"contribute()": "infinite", | |
"contributors(address)": "2882", | |
"createRequest(string,address,uint256)": "infinite", | |
"deadline()": "2452", | |
"getBalance()": "363", | |
"getRefund()": "infinite", | |
"goal()": "2474", | |
"makePayment(uint256)": "infinite", | |
"minimumContribution()": "2474", | |
"noOfContributors()": "2518", | |
"numRequests()": "2496", | |
"raisedAmount()": "2451", | |
"request(uint256)": "infinite", | |
"voteRequest(uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"admin()": "f851a440", | |
"contribute()": "d7bb99ba", | |
"contributors(address)": "1f6d4942", | |
"createRequest(string,address,uint256)": "1b16bb5c", | |
"deadline()": "29dcb0cf", | |
"getBalance()": "12065fe0", | |
"getRefund()": "b2d5ae44", | |
"goal()": "40193883", | |
"makePayment(uint256)": "5114cb52", | |
"minimumContribution()": "937e09b1", | |
"noOfContributors()": "4e260f6f", | |
"numRequests()": "9fb42b1f", | |
"raisedAmount()": "c59ee1dc", | |
"request(uint256)": "d845a4b3", | |
"voteRequest(uint256)": "4cb6f4a5" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_goal", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_deadline", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_sender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "ContributeEvent", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "string", | |
"name": "_description", | |
"type": "string" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "CreateRequestEvent", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "MakePaymentEvent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "contribute", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "contributors", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_description", | |
"type": "string" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "createRequest", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "deadline", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRefund", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "goal", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "makePayment", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "minimumContribution", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "noOfContributors", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "numRequests", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "raisedAmount", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "request", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "description", | |
"type": "string" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "completed", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "noOfVoters", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "voteRequest", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_goal", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_deadline", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_sender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "ContributeEvent", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "string", | |
"name": "_description", | |
"type": "string" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "CreateRequestEvent", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "MakePaymentEvent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "contribute", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "contributors", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "_description", | |
"type": "string" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "_recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_value", | |
"type": "uint256" | |
} | |
], | |
"name": "createRequest", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "deadline", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getBalance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRefund", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "goal", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "makePayment", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "minimumContribution", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "noOfContributors", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "numRequests", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "raisedAmount", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "request", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "description", | |
"type": "string" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "completed", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "noOfVoters", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "voteRequest", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/crowdfunding.sol": "CrowdFunding" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/crowdfunding.sol": { | |
"keccak256": "0x5c21e45dd2008f1967a0a7b6bb975659960c18c77be4dc5630f4914641166280", | |
"license": "GPL-3.0", | |
"urls": [ | |
"bzz-raw://79da3e5d34cf00c350ee41845ad612c02e23ffabbcefb1a62ef3547e96a1589a", | |
"dweb:/ipfs/QmV9EZNjNKTiunipi596VqZHfP36RWD6FcJtBGyo4jjE5H" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.5.0 <0.9.0; | |
contract CrowdFunding { | |
mapping(address => uint) public contributors; | |
address public admin; | |
uint public noOfContributors; | |
uint public minimumContribution; | |
uint public deadline; // timestamp | |
uint public goal; | |
uint public raisedAmount; | |
struct Request { | |
string description; | |
address payable recipient; | |
uint value; | |
bool completed; | |
uint noOfVoters; | |
mapping(address => bool) voters; | |
} | |
mapping(uint => Request) public request; | |
uint public numRequests; | |
constructor(uint _goal, uint _deadline) { | |
goal = _goal; | |
deadline = block.timestamp + _deadline; | |
minimumContribution = 100 wei; | |
admin = msg.sender; | |
} | |
event ContributeEvent(address _sender, uint _value); | |
event CreateRequestEvent(string _description, address _recipient, uint _value); | |
event MakePaymentEvent(address _recipient, uint _value); | |
function contribute() public payable { | |
require(block.timestamp < deadline, "Deadline has passed"); | |
require(msg.value >= minimumContribution, "Below minimumContribution"); | |
if(contributors[msg.sender] == 0) noOfContributors++; | |
contributors[msg.sender] += msg.value; | |
raisedAmount += msg.value; | |
emit ContributeEvent(msg.sender, msg.value); | |
} | |
receive() payable external { | |
contribute(); | |
} | |
function getBalance() public view returns(uint) { | |
return address(this).balance; | |
} | |
function getRefund() public payable { | |
require(block.timestamp > deadline && raisedAmount < goal); | |
uint amountContributed = contributors[msg.sender]; | |
require(amountContributed >= 0, "Not a contributor"); | |
payable(msg.sender).transfer(amountContributed); | |
} | |
modifier onlyAdmin() { | |
require(msg.sender == admin, "Not owner"); | |
_; | |
} | |
function createRequest(string memory _description, address payable _recipient, uint _value) onlyAdmin public { | |
Request storage newRequest = request[numRequests++]; | |
// numRequests++; | |
newRequest.description = _description; | |
newRequest.recipient = _recipient; | |
newRequest.value = _value; | |
newRequest.completed = false; | |
newRequest.noOfVoters = 0; | |
emit CreateRequestEvent(_description, _recipient, _value); | |
} | |
modifier isContributor() { | |
require(contributors[msg.sender] > 0, "Must be a contributor"); | |
_; | |
} | |
function voteRequest(uint requestId) isContributor public { | |
Request storage thisRequest = request[requestId]; | |
require(thisRequest.voters[msg.sender] == false, "Already voted"); | |
thisRequest.voters[msg.sender] = true; | |
thisRequest.noOfVoters++; // Because maps in Solidity have no Length function | |
} | |
function makePayment(uint requestId) public onlyAdmin { | |
require(raisedAmount >= goal, "Below goal minimum"); | |
Request storage thisRequest = request[requestId]; | |
require(thisRequest.completed == false, "The request has been completed"); | |
require(thisRequest.noOfVoters > noOfContributors / 2, "Must have more than 50% of vote"); | |
thisRequest.recipient.transfer(thisRequest.value); | |
thisRequest.completed = true; | |
emit MakePaymentEvent(thisRequest.recipient, thisRequest.value); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Right click on the script name and hit "Run" to execute | |
(async () => { | |
try { | |
console.log('Running deployWithEthers script...') | |
const contractName = 'Storage' // Change this for other contract | |
const constructorArgs = [] // Put constructor args (if any) here for your contract | |
// Note that the script needs the ABI which is generated from the compilation artifact. | |
// Make sure contract is compiled and artifacts are generated | |
const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path | |
const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
// 'web3Provider' is a remix global variable object | |
const signer = (new ethers.providers.Web3Provider(web3Provider)).getSigner() | |
let factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer); | |
let contract = await factory.deploy(...constructorArgs); | |
console.log('Contract Address: ', contract.address); | |
// The contract is NOT deployed yet; we must wait until it is mined | |
await contract.deployed() | |
console.log('Deployment successful.') | |
} catch (e) { | |
console.log(e.message) | |
} | |
})() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Right click on the script name and hit "Run" to execute | |
(async () => { | |
try { | |
console.log('Running deployWithWeb3 script...') | |
const contractName = 'Storage' // Change this for other contract | |
const constructorArgs = [] // Put constructor args (if any) here for your contract | |
// Note that the script needs the ABI which is generated from the compilation artifact. | |
// Make sure contract is compiled and artifacts are generated | |
const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path | |
const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
const accounts = await web3.eth.getAccounts() | |
let contract = new web3.eth.Contract(metadata.abi) | |
contract = contract.deploy({ | |
data: metadata.data.bytecode.object, | |
arguments: constructorArgs | |
}) | |
const newContractInstance = await contract.send({ | |
from: accounts[0], | |
gas: 1500000, | |
gasPrice: '30000000000' | |
}) | |
console.log('Contract deployed at address: ', newContractInstance.options.address) | |
} catch (e) { | |
console.log(e.message) | |
} | |
})() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.7.0 <0.9.0; | |
import "remix_tests.sol"; // this import is automatically injected by Remix. | |
import "../contracts/3_Ballot.sol"; | |
contract BallotTest { | |
bytes32[] proposalNames; | |
Ballot ballotToTest; | |
function beforeAll () public { | |
proposalNames.push(bytes32("candidate1")); | |
ballotToTest = new Ballot(proposalNames); | |
} | |
function checkWinningProposal () public { | |
ballotToTest.vote(0); | |
Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); | |
Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); | |
} | |
function checkWinninProposalWithReturnValue () public view returns (bool) { | |
return ballotToTest.winningProposal() == 0; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment