{ "abi": [ { "inputs": [], "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.16+commit.07a7930e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xa0ede8e0d3dc3246912530aed6cacbc4703e4430c4b4acd91963ccea709755ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a28e7d00aab57ad5159247b0f0f268eda4c6980b29eee7f903578254a2be677f\",\"dweb:/ipfs/QmZrM8gY5BpW8o1QckmPNCYbBP5Q7k5DkcHdaVULKVntxp\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.16+commit.07a7930e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":ds-test/=lib/forge-std/lib/ds-test/src/", ":forge-std/=lib/forge-std/src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/Script.sol": "Script" }, "libraries": {} }, "sources": { "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0xa0ede8e0d3dc3246912530aed6cacbc4703e4430c4b4acd91963ccea709755ea", "urls": [ "bzz-raw://a28e7d00aab57ad5159247b0f0f268eda4c6980b29eee7f903578254a2be677f", "dweb:/ipfs/QmZrM8gY5BpW8o1QckmPNCYbBP5Q7k5DkcHdaVULKVntxp" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/Script.sol", "id": 2023, "exportedSymbols": { "Script": [ 2022 ], "Vm": [ 5434 ], "console": [ 13498 ], "console2": [ 21562 ] }, "nodeType": "SourceUnit", "src": "32:2593:1", "nodes": [ { "id": 1788, "nodeType": "PragmaDirective", "src": "32:31:1", "literals": [ "solidity", ">=", "0.6", ".0", "<", "0.9", ".0" ] }, { "id": 1789, "nodeType": "ImportDirective", "src": "65:18:1", "absolutePath": "lib/forge-std/src/Vm.sol", "file": "./Vm.sol", "nameLocation": "-1:-1:-1", "scope": 2023, "sourceUnit": 5435, "symbolAliases": [], "unitAlias": "" }, { "id": 1790, "nodeType": "ImportDirective", "src": "84:23:1", "absolutePath": "lib/forge-std/src/console.sol", "file": "./console.sol", "nameLocation": "-1:-1:-1", "scope": 2023, "sourceUnit": 13499, "symbolAliases": [], "unitAlias": "" }, { "id": 1791, "nodeType": "ImportDirective", "src": "108:24:1", "absolutePath": "lib/forge-std/src/console2.sol", "file": "./console2.sol", "nameLocation": "-1:-1:-1", "scope": 2023, "sourceUnit": 21563, "symbolAliases": [], "unitAlias": "" }, { "id": 2022, "nodeType": "ContractDefinition", "src": "134:2490:1", "nodes": [ { "id": 1794, "nodeType": "VariableDeclaration", "src": "165:28:1", "constant": false, "functionSelector": "f8ccbf47", "mutability": "mutable", "name": "IS_SCRIPT", "nameLocation": "177:9:1", "scope": 2022, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1792, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": { "hexValue": "74727565", "id": 1793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "189:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "visibility": "public" }, { "id": 1811, "nodeType": "VariableDeclaration", "src": "199:110:1", "constant": true, "mutability": "constant", "name": "VM_ADDRESS", "nameLocation": "224:10:1", "scope": 2022, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1795, "name": "address", "nodeType": "ElementaryTypeName", "src": "199:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 1805, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "287:17:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", "typeString": "literal_string \"hevm cheat code\"" }, "value": "hevm cheat code" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", "typeString": "literal_string \"hevm cheat code\"" } ], "id": 1804, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "277:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "277:28:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1803, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "269:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 1802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "269:7:1", "typeDescriptions": {} } }, "id": 1807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "269:37:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1801, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "261:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 1800, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "261:7:1", "typeDescriptions": {} } }, "id": 1808, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "261:46:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 1799, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "253:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes20_$", "typeString": "type(bytes20)" }, "typeName": { "id": 1798, "name": "bytes20", "nodeType": "ElementaryTypeName", "src": "253:7:1", "typeDescriptions": {} } }, "id": 1809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "253:55:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } ], "id": 1797, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "245:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 1796, "name": "address", "nodeType": "ElementaryTypeName", "src": "245:7:1", "typeDescriptions": {} } }, "id": 1810, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "245:64:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "private" }, { "id": 1817, "nodeType": "VariableDeclaration", "src": "316:38:1", "constant": true, "functionSelector": "3a768463", "mutability": "constant", "name": "vm", "nameLocation": "335:2:1", "scope": 2022, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$5434", "typeString": "contract Vm" }, "typeName": { "id": 1813, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1812, "name": "Vm", "nameLocations": [ "316:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 5434, "src": "316:2:1" }, "referencedDeclaration": 5434, "src": "316:2:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$5434", "typeString": "contract Vm" } }, "value": { "arguments": [ { "id": 1815, "name": "VM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1811, "src": "343:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1814, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5434, "src": "340:2:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$5434_$", "typeString": "type(contract Vm)" } }, "id": 1816, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "340:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$5434", "typeString": "contract Vm" } }, "visibility": "public" }, { "id": 2002, "nodeType": "FunctionDefinition", "src": "593:1878:1", "body": { "id": 2001, "nodeType": "Block", "src": "688:1783:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1827, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "979:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30783030", "id": 1828, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "988:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x00" }, "src": "979:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1851, "nodeType": "IfStatement", "src": "975:141:1", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786436", "id": 1836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1070:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" }, "value": "0xd6" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" } ], "id": 1835, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1063:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1834, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1063:6:1", "typeDescriptions": {} } }, "id": 1837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1063:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1084:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1839, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1077:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1838, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1077:6:1", "typeDescriptions": {} } }, "id": 1841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1077:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1842, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "1091:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783830", "id": 1845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1108:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "0x80" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" } ], "id": 1844, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1101:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1843, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1101:6:1", "typeDescriptions": {} } }, "id": 1846, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1101:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "expression": { "id": 1832, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1046:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1833, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1050:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1046:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1847, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1046:68:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1831, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1036:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1848, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1036:79:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1830, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "1013:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1849, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1013:103:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 1850, "nodeType": "Return", "src": "1006:110:1" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1852, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1130:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "hexValue": "30783766", "id": 1853, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1139:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_127_by_1", "typeString": "int_const 127" }, "value": "0x7f" }, "src": "1130:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1876, "nodeType": "IfStatement", "src": "1126:141:1", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786436", "id": 1861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1221:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" }, "value": "0xd6" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" } ], "id": 1860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1214:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1859, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1214:6:1", "typeDescriptions": {} } }, "id": 1862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1214:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1235:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1864, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1228:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1863, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1228:6:1", "typeDescriptions": {} } }, "id": 1866, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1228:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1867, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "1242:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "id": 1870, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1258:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1869, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1252:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 1868, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1252:5:1", "typeDescriptions": {} } }, "id": 1871, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1252:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "expression": { "id": 1857, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1197:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1858, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1201:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1197:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1872, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1197:68:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1856, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1187:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1873, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1187:79:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1855, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "1164:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1874, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1164:103:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 1875, "nodeType": "Return", "src": "1157:110:1" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1877, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1420:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "id": 1882, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "id": 1880, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 1878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1429:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "38", "id": 1879, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1432:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "1429:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 1881, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1436:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1429:8:1", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" } }, "src": "1420:17:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1909, "nodeType": "IfStatement", "src": "1416:148:1", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786437", "id": 1890, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1504:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_215_by_1", "typeString": "int_const 215" }, "value": "0xd7" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_215_by_1", "typeString": "int_const 215" } ], "id": 1889, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1497:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1888, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1497:6:1", "typeDescriptions": {} } }, "id": 1891, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1497:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1894, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1518:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1893, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1511:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1892, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1511:6:1", "typeDescriptions": {} } }, "id": 1895, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1511:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1896, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "1525:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783831", "id": 1899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1542:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_129_by_1", "typeString": "int_const 129" }, "value": "0x81" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_129_by_1", "typeString": "int_const 129" } ], "id": 1898, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1535:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1897, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1535:6:1", "typeDescriptions": {} } }, "id": 1900, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1535:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 1903, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1555:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1902, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1549:5:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 1901, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1549:5:1", "typeDescriptions": {} } }, "id": 1904, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1549:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "expression": { "id": 1886, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1480:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1887, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1484:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1480:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1480:82:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1885, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1470:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1906, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1470:93:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1884, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "1447:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1907, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1447:117:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 1908, "nodeType": "Return", "src": "1440:124:1" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1910, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1578:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_65535_by_1", "typeString": "int_const 65535" }, "id": 1915, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" }, "id": 1913, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1587:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3136", "id": 1912, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1590:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "1587:5:1", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 1914, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1595:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1587:9:1", "typeDescriptions": { "typeIdentifier": "t_rational_65535_by_1", "typeString": "int_const 65535" } }, "src": "1578:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1942, "nodeType": "IfStatement", "src": "1574:149:1", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786438", "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1662:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_216_by_1", "typeString": "int_const 216" }, "value": "0xd8" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_216_by_1", "typeString": "int_const 216" } ], "id": 1922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1655:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1921, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1655:6:1", "typeDescriptions": {} } }, "id": 1924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1655:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1676:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1926, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1669:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1925, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1669:6:1", "typeDescriptions": {} } }, "id": 1928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1669:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1929, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "1683:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783832", "id": 1932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1700:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_130_by_1", "typeString": "int_const 130" }, "value": "0x82" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_130_by_1", "typeString": "int_const 130" } ], "id": 1931, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1693:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1930, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1693:6:1", "typeDescriptions": {} } }, "id": 1933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1693:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 1936, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1714:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1935, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1707:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint16_$", "typeString": "type(uint16)" }, "typeName": { "id": 1934, "name": "uint16", "nodeType": "ElementaryTypeName", "src": "1707:6:1", "typeDescriptions": {} } }, "id": 1937, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1707:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint16", "typeString": "uint16" } ], "expression": { "id": 1919, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1638:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1920, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1642:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1638:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1938, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1638:83:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1918, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1628:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1939, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1628:94:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1917, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "1605:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1940, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1605:118:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 1941, "nodeType": "Return", "src": "1598:125:1" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1949, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1943, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1737:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_16777215_by_1", "typeString": "int_const 16777215" }, "id": 1948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" }, "id": 1946, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 1944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1746:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3234", "id": 1945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1749:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_24_by_1", "typeString": "int_const 24" }, "value": "24" }, "src": "1746:5:1", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 1947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1754:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1746:9:1", "typeDescriptions": { "typeIdentifier": "t_rational_16777215_by_1", "typeString": "int_const 16777215" } }, "src": "1737:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1975, "nodeType": "IfStatement", "src": "1733:149:1", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786439", "id": 1956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1821:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_217_by_1", "typeString": "int_const 217" }, "value": "0xd9" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_217_by_1", "typeString": "int_const 217" } ], "id": 1955, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1814:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1954, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1814:6:1", "typeDescriptions": {} } }, "id": 1957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1814:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1835:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1959, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1828:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1958, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1828:6:1", "typeDescriptions": {} } }, "id": 1961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1828:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1962, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "1842:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783833", "id": 1965, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1859:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_131_by_1", "typeString": "int_const 131" }, "value": "0x83" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_131_by_1", "typeString": "int_const 131" } ], "id": 1964, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1852:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1963, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1852:6:1", "typeDescriptions": {} } }, "id": 1966, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1852:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 1969, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "1873:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1968, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1866:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint24_$", "typeString": "type(uint24)" }, "typeName": { "id": 1967, "name": "uint24", "nodeType": "ElementaryTypeName", "src": "1866:6:1", "typeDescriptions": {} } }, "id": 1970, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1866:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint24", "typeString": "uint24" } ], "expression": { "id": 1952, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1797:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1953, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1801:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1797:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1971, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1797:83:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1951, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1787:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1972, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1787:94:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1950, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "1764:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1973, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1764:118:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 1974, "nodeType": "Return", "src": "1757:125:1" } }, { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786461", "id": 1982, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2403:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_218_by_1", "typeString": "int_const 218" }, "value": "0xda" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_218_by_1", "typeString": "int_const 218" } ], "id": 1981, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2396:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1980, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2396:6:1", "typeDescriptions": {} } }, "id": 1983, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2396:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 1986, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2417:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 1985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2410:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1984, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2410:6:1", "typeDescriptions": {} } }, "id": 1987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2410:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 1988, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1820, "src": "2424:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783834", "id": 1991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2441:4:1", "typeDescriptions": { "typeIdentifier": "t_rational_132_by_1", "typeString": "int_const 132" }, "value": "0x84" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_132_by_1", "typeString": "int_const 132" } ], "id": 1990, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2434:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 1989, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2434:6:1", "typeDescriptions": {} } }, "id": 1992, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2434:12:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 1995, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1822, "src": "2455:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1994, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2448:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": { "id": 1993, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2448:6:1", "typeDescriptions": {} } }, "id": 1996, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2448:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" } ], "expression": { "id": 1978, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2379:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1979, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2383:12:1", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2379:16:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1997, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2379:83:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1977, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2369:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1998, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2369:94:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 1976, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2021, "src": "2346:22:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 1999, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2346:118:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 1826, "id": 2000, "nodeType": "Return", "src": "2339:125:1" } ] }, "documentation": { "id": 1818, "nodeType": "StructuredDocumentation", "src": "361:227:1", "text": "@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/transmissions11/solmate/blob/main/src/utils/LibRLP.sol)" }, "implemented": true, "kind": "function", "modifiers": [], "name": "computeCreateAddress", "nameLocation": "602:20:1", "parameters": { "id": 1823, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1820, "mutability": "mutable", "name": "deployer", "nameLocation": "631:8:1", "nodeType": "VariableDeclaration", "scope": 2002, "src": "623:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1819, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 1822, "mutability": "mutable", "name": "nonce", "nameLocation": "649:5:1", "nodeType": "VariableDeclaration", "scope": 2002, "src": "641:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1821, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "641:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "622:33:1" }, "returnParameters": { "id": 1826, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1825, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2002, "src": "679:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1824, "name": "address", "nodeType": "ElementaryTypeName", "src": "679:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "678:9:1" }, "scope": 2022, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 2021, "nodeType": "FunctionDefinition", "src": "2477:145:1", "body": { "id": 2020, "nodeType": "Block", "src": "2561:61:1", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 2015, "name": "bytesValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2004, "src": "2602:10:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 2014, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2594:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 2013, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2594:7:1", "typeDescriptions": {} } }, "id": 2016, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2594:19:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2012, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2586:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 2011, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2586:7:1", "typeDescriptions": {} } }, "id": 2017, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2586:28:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 2010, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2578:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 2009, "name": "address", "nodeType": "ElementaryTypeName", "src": "2578:7:1", "typeDescriptions": {} } }, "id": 2018, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2578:37:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 2008, "id": 2019, "nodeType": "Return", "src": "2571:44:1" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "addressFromLast20Bytes", "nameLocation": "2486:22:1", "parameters": { "id": 2005, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2004, "mutability": "mutable", "name": "bytesValue", "nameLocation": "2517:10:1", "nodeType": "VariableDeclaration", "scope": 2021, "src": "2509:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 2003, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2509:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "2508:20:1" }, "returnParameters": { "id": 2008, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2007, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 2021, "src": "2552:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2006, "name": "address", "nodeType": "ElementaryTypeName", "src": "2552:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2551:9:1" }, "scope": 2022, "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "abstract": true, "baseContracts": [], "canonicalName": "Script", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 2022 ], "name": "Script", "nameLocation": "152:6:1", "scope": 2023, "usedErrors": [] } ], "license": "MIT" }, "id": 1 }