{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "who", "type": "address" }, { "indexed": false, "internalType": "bytes4", "name": "fsig", "type": "bytes4" }, { "indexed": false, "internalType": "bytes32", "name": "keysHash", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "slot", "type": "uint256" } ], "name": "SlotFound", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "who", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "slot", "type": "uint256" } ], "name": "WARNING_UninitedSlot", "type": "event" } ], "bytecode": { "object": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209640656d885d6dbc4825aa064108a665df056715bda25211a99fb7d6fc936fed64736f6c63430008110033", "sourceMap": "358:6977:10:-:0;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x600080fdfea26469706673582212209640656d885d6dbc4825aa064108a665df056715bda25211a99fb7d6fc936fed64736f6c63430008110033", "sourceMap": "358:6977:10:-:0;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a\",\"dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69\",\"dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "who", "type": "address", "indexed": false }, { "internalType": "bytes4", "name": "fsig", "type": "bytes4", "indexed": false }, { "internalType": "bytes32", "name": "keysHash", "type": "bytes32", "indexed": false }, { "internalType": "uint256", "name": "slot", "type": "uint256", "indexed": false } ], "type": "event", "name": "SlotFound", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "slot", "type": "uint256", "indexed": false } ], "type": "event", "name": "WARNING_UninitedSlot", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":@ensdomains/=node_modules/@ensdomains/", ":@openzeppelin/=node_modules/@openzeppelin/", ":ds-test/=lib/forge-std/lib/ds-test/src/", ":eth-gas-reporter/=node_modules/eth-gas-reporter/", ":forge-std/=lib/forge-std/src/", ":hardhat-deploy/=node_modules/hardhat-deploy/", ":hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/StdStorage.sol": "stdStorageSafe" }, "libraries": {}, "viaIR": true }, "sources": { "lib/forge-std/src/StdStorage.sol": { "keccak256": "0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5", "urls": [ "bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a", "dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7", "urls": [ "bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69", "dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/StdStorage.sol", "id": 7823, "exportedSymbols": { "StdStorage": [ 6388 ], "Vm": [ 9256 ], "VmSafe": [ 8931 ], "stdStorage": [ 7822 ], "stdStorageSafe": [ 7281 ] }, "nodeType": "SourceUnit", "src": "32:11833:10", "nodes": [ { "id": 6359, "nodeType": "PragmaDirective", "src": "32:31:10", "nodes": [], "literals": [ "solidity", ">=", "0.6", ".2", "<", "0.9", ".0" ] }, { "id": 6360, "nodeType": "ImportDirective", "src": "65:18:10", "nodes": [], "absolutePath": "lib/forge-std/src/Vm.sol", "file": "./Vm.sol", "nameLocation": "-1:-1:-1", "scope": 7823, "sourceUnit": 9257, "symbolAliases": [], "unitAlias": "" }, { "id": 6388, "nodeType": "StructDefinition", "src": "85:271:10", "nodes": [], "canonicalName": "StdStorage", "members": [ { "constant": false, "id": 6368, "mutability": "mutable", "name": "slots", "nameLocation": "176:5:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "109:72:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" }, "typeName": { "id": 6367, "keyType": { "id": 6361, "name": "address", "nodeType": "ElementaryTypeName", "src": "117:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "109:66:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" }, "valueType": { "id": 6366, "keyType": { "id": 6362, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "136:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Mapping", "src": "128:46:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" }, "valueType": { "id": 6365, "keyType": { "id": 6363, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "154:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "146:27:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 6364, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "165:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } } } }, "visibility": "internal" }, { "constant": false, "id": 6376, "mutability": "mutable", "name": "finds", "nameLocation": "251:5:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "187:69:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" }, "typeName": { "id": 6375, "keyType": { "id": 6369, "name": "address", "nodeType": "ElementaryTypeName", "src": "195:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "187:63:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" }, "valueType": { "id": 6374, "keyType": { "id": 6370, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "214:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Mapping", "src": "206:43:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" }, "valueType": { "id": 6373, "keyType": { "id": 6371, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "232:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "224:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { "id": 6372, "name": "bool", "nodeType": "ElementaryTypeName", "src": "243:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } } } }, "visibility": "internal" }, { "constant": false, "id": 6379, "mutability": "mutable", "name": "_keys", "nameLocation": "272:5:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "262:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 6377, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "262:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 6378, "nodeType": "ArrayTypeName", "src": "262:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" }, { "constant": false, "id": 6381, "mutability": "mutable", "name": "_sig", "nameLocation": "290:4:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "283:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 6380, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "283:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" }, { "constant": false, "id": 6383, "mutability": "mutable", "name": "_depth", "nameLocation": "308:6:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "300:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6382, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "300:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 6385, "mutability": "mutable", "name": "_target", "nameLocation": "328:7:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "320:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6384, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 6387, "mutability": "mutable", "name": "_set", "nameLocation": "349:4:10", "nodeType": "VariableDeclaration", "scope": 6388, "src": "341:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6386, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "341:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "name": "StdStorage", "nameLocation": "92:10:10", "scope": 7823, "visibility": "public" }, { "id": 7281, "nodeType": "ContractDefinition", "src": "358:6977:10", "nodes": [ { "id": 6398, "nodeType": "EventDefinition", "src": "387:74:10", "nodes": [], "anonymous": false, "eventSelector": "9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed", "name": "SlotFound", "nameLocation": "393:9:10", "parameters": { "id": 6397, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6390, "indexed": false, "mutability": "mutable", "name": "who", "nameLocation": "411:3:10", "nodeType": "VariableDeclaration", "scope": 6398, "src": "403:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6389, "name": "address", "nodeType": "ElementaryTypeName", "src": "403:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 6392, "indexed": false, "mutability": "mutable", "name": "fsig", "nameLocation": "423:4:10", "nodeType": "VariableDeclaration", "scope": 6398, "src": "416:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 6391, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "416:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" }, { "constant": false, "id": 6394, "indexed": false, "mutability": "mutable", "name": "keysHash", "nameLocation": "437:8:10", "nodeType": "VariableDeclaration", "scope": 6398, "src": "429:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6393, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "429:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 6396, "indexed": false, "mutability": "mutable", "name": "slot", "nameLocation": "455:4:10", "nodeType": "VariableDeclaration", "scope": 6398, "src": "447:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6395, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "447:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "402:58:10" } }, { "id": 6404, "nodeType": "EventDefinition", "src": "466:54:10", "nodes": [], "anonymous": false, "eventSelector": "080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5", "name": "WARNING_UninitedSlot", "nameLocation": "472:20:10", "parameters": { "id": 6403, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6400, "indexed": false, "mutability": "mutable", "name": "who", "nameLocation": "501:3:10", "nodeType": "VariableDeclaration", "scope": 6404, "src": "493:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6399, "name": "address", "nodeType": "ElementaryTypeName", "src": "493:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 6402, "indexed": false, "mutability": "mutable", "name": "slot", "nameLocation": "514:4:10", "nodeType": "VariableDeclaration", "scope": 6404, "src": "506:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6401, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "506:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "492:27:10" } }, { "id": 6421, "nodeType": "VariableDeclaration", "src": "526:84:10", "nodes": [], "constant": true, "mutability": "constant", "name": "vm", "nameLocation": "546:2:10", "scope": 7281, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" }, "typeName": { "id": 6406, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6405, "name": "Vm", "nameLocations": [ "526:2:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 9256, "src": "526:2:10" }, "referencedDeclaration": 9256, "src": "526:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 6415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "588:17:10", "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": 6414, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "578:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "578:28:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6413, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "570:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6412, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "570:7:10", "typeDescriptions": {} } }, "id": 6417, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "570:37:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6411, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "562:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 6410, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "562:7:10", "typeDescriptions": {} } }, "id": 6418, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "562:46:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 6409, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "554:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 6408, "name": "address", "nodeType": "ElementaryTypeName", "src": "554:7:10", "typeDescriptions": {} } }, "id": 6419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "554:55:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 6407, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9256, "src": "551:2:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$9256_$", "typeString": "type(contract Vm)" } }, "id": 6420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "551:59:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "visibility": "private" }, { "id": 6439, "nodeType": "FunctionDefinition", "src": "617:123:10", "nodes": [], "body": { "id": 6438, "nodeType": "Block", "src": "684:56:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 6433, "name": "sigStr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6423, "src": "724:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 6432, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "718:5:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 6431, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "718:5:10", "typeDescriptions": {} } }, "id": 6434, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "718:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6430, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "708:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6435, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "708:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6429, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "701:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { "id": 6428, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "701:6:10", "typeDescriptions": {} } }, "id": 6436, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "701:32:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "functionReturnParameters": 6427, "id": 6437, "nodeType": "Return", "src": "694:39:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sigs", "nameLocation": "626:4:10", "parameters": { "id": 6424, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6423, "mutability": "mutable", "name": "sigStr", "nameLocation": "645:6:10", "nodeType": "VariableDeclaration", "scope": 6439, "src": "631:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 6422, "name": "string", "nodeType": "ElementaryTypeName", "src": "631:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "630:22:10" }, "returnParameters": { "id": 6427, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6426, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6439, "src": "676:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 6425, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "676:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "675:8:10" }, "scope": 7281, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 6884, "nodeType": "FunctionDefinition", "src": "1254:3205:10", "nodes": [], "body": { "id": 6883, "nodeType": "Block", "src": "1320:3139:10", "nodes": [], "statements": [ { "assignments": [ 6449 ], "declarations": [ { "constant": false, "id": 6449, "mutability": "mutable", "name": "who", "nameLocation": "1338:3:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1330:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6448, "name": "address", "nodeType": "ElementaryTypeName", "src": "1330:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 6452, "initialValue": { "expression": { "id": 6450, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1344:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6451, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1349:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "1344:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "1330:26:10" }, { "assignments": [ 6454 ], "declarations": [ { "constant": false, "id": 6454, "mutability": "mutable", "name": "fsig", "nameLocation": "1373:4:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1366:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 6453, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1366:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "id": 6457, "initialValue": { "expression": { "id": 6455, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1380:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6456, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1385:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "1380:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", "src": "1366:23:10" }, { "assignments": [ 6459 ], "declarations": [ { "constant": false, "id": 6459, "mutability": "mutable", "name": "field_depth", "nameLocation": "1407:11:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1399:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6458, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1399:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 6462, "initialValue": { "expression": { "id": 6460, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1421:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6461, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1426:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 6383, "src": "1421:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1399:33:10" }, { "assignments": [ 6467 ], "declarations": [ { "constant": false, "id": 6467, "mutability": "mutable", "name": "ins", "nameLocation": "1459:3:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1442:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 6465, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1442:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 6466, "nodeType": "ArrayTypeName", "src": "1442:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "id": 6470, "initialValue": { "expression": { "id": 6468, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1465:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1470:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "1465:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "1442:33:10" }, { "condition": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6471, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1526:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6472, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1531:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "1526:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" } }, "id": 6474, "indexExpression": { "id": 6473, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "1537:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1526:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 6476, "indexExpression": { "id": 6475, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "1542:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1526:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 6484, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6480, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "1575:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6481, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "1580:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6478, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1558:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6479, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1562:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1558:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6482, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1558:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6477, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1548:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6483, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1548:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1526:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6501, "nodeType": "IfStatement", "src": "1522:174:10", "trueBody": { "id": 6500, "nodeType": "Block", "src": "1596:100:10", "statements": [ { "expression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6485, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "1617:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6486, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1622:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 6368, "src": "1617:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" } }, "id": 6488, "indexExpression": { "id": 6487, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "1628:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1617:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 6490, "indexExpression": { "id": 6489, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "1633:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1617:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 6498, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6494, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "1666:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6495, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "1671:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6492, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1649:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6493, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1653:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1649:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6496, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1649:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6491, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1639:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6497, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1639:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1617:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 6447, "id": 6499, "nodeType": "Return", "src": "1610:75:10" } ] } }, { "assignments": [ 6503 ], "declarations": [ { "constant": false, "id": 6503, "mutability": "mutable", "name": "cald", "nameLocation": "1718:4:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1705:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 6502, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1705:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 6511, "initialValue": { "arguments": [ { "id": 6506, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "1742:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 6508, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "1756:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } ], "id": 6507, "name": "flatten", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7280, "src": "1748:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes32[] memory) pure returns (bytes memory)" } }, "id": 6509, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1748:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 6504, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1725:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6505, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1729:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1725:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6510, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1725:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1705:56:10" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 6512, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "1771:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1774:6:10", "memberName": "record", "nodeType": "MemberAccess", "referencedDeclaration": 8471, "src": "1771:9:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", "typeString": "function () external" } }, "id": 6515, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1771:11:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6516, "nodeType": "ExpressionStatement", "src": "1771:11:10" }, { "assignments": [ 6518 ], "declarations": [ { "constant": false, "id": 6518, "mutability": "mutable", "name": "fdat", "nameLocation": "1800:4:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1792:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6517, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1792:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 6519, "nodeType": "VariableDeclarationStatement", "src": "1792:12:10" }, { "id": 6536, "nodeType": "Block", "src": "1814:128:10", "statements": [ { "assignments": [ null, 6521 ], "declarations": [ null, { "constant": false, "id": 6521, "mutability": "mutable", "name": "rdat", "nameLocation": "1844:4:10", "nodeType": "VariableDeclaration", "scope": 6536, "src": "1831:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 6520, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1831:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 6526, "initialValue": { "arguments": [ { "id": 6524, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6503, "src": "1867:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 6522, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "1852:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 6523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1856:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "1852:14:10", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, "id": 6525, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1852:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "1828:44:10" }, { "expression": { "id": 6534, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 6527, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6518, "src": "1886:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 6529, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6521, "src": "1908:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 6532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 6530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1914:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 6531, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "1919:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1914:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6528, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7239, "src": "1893:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes memory,uint256) pure returns (bytes32)" } }, "id": 6533, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1893:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "1886:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 6535, "nodeType": "ExpressionStatement", "src": "1886:45:10" } ] }, { "assignments": [ 6541, null ], "declarations": [ { "constant": false, "id": 6541, "mutability": "mutable", "name": "reads", "nameLocation": "1970:5:10", "nodeType": "VariableDeclaration", "scope": 6883, "src": "1953:22:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 6539, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1953:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 6540, "nodeType": "ArrayTypeName", "src": "1953:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" }, null ], "id": 6549, "initialValue": { "arguments": [ { "arguments": [ { "id": 6546, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2000:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 6545, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1992:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 6544, "name": "address", "nodeType": "ElementaryTypeName", "src": "1992:7:10", "typeDescriptions": {} } }, "id": 6547, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1992:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 6542, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "1980:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1983:8:10", "memberName": "accesses", "nodeType": "MemberAccess", "referencedDeclaration": 8482, "src": "1980:11:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", "typeString": "function (address) external returns (bytes32[] memory,bytes32[] memory)" } }, "id": 6548, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1980:25:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", "typeString": "tuple(bytes32[] memory,bytes32[] memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "1952:53:10" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 6553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 6550, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2019:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2025:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2019:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 6552, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2035:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2019:17:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 6655, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 6652, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2776:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2782:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2776:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "31", "id": 6654, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2791:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2776:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 6831, "nodeType": "Block", "src": "3976:107:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "66616c7365", "id": 6827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3998:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e", "id": 6828, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4005:66:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", "typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" }, "value": "stdStorage find(StdStorage): No storage use detected for target." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", "typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" } ], "id": 6826, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "3990:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 6829, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3990:82:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6830, "nodeType": "ExpressionStatement", "src": "3990:82:10" } ] }, "id": 6832, "nodeType": "IfStatement", "src": "2772:1311:10", "trueBody": { "id": 6825, "nodeType": "Block", "src": "2794:1176:10", "statements": [ { "body": { "id": 6823, "nodeType": "Block", "src": "2851:1109:10", "statements": [ { "assignments": [ 6668 ], "declarations": [ { "constant": false, "id": 6668, "mutability": "mutable", "name": "prev", "nameLocation": "2877:4:10", "nodeType": "VariableDeclaration", "scope": 6823, "src": "2869:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6667, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2869:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 6676, "initialValue": { "arguments": [ { "id": 6671, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2892:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 6672, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2897:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6674, "indexExpression": { "id": 6673, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "2903:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2897:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 6669, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "2884:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2887:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 8307, "src": "2884:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 6675, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2884:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "2869:37:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 6682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6677, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6668, "src": "2928:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "30", "id": 6680, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2944:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 6679, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2936:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6678, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2936:7:10", "typeDescriptions": {} } }, "id": 6681, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2936:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2928:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6694, "nodeType": "IfStatement", "src": "2924:114:10", "trueBody": { "id": 6693, "nodeType": "Block", "src": "2948:90:10", "statements": [ { "eventCall": { "arguments": [ { "id": 6684, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2996:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "baseExpression": { "id": 6687, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3009:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6689, "indexExpression": { "id": 6688, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3015:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3009:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6686, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3001:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6685, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3001:7:10", "typeDescriptions": {} } }, "id": 6690, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3001:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6683, "name": "WARNING_UninitedSlot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6404, "src": "2975:20:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 6691, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2975:44:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6692, "nodeType": "EmitStatement", "src": "2970:49:10" } ] } }, { "expression": { "arguments": [ { "id": 6698, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3089:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 6699, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3094:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6701, "indexExpression": { "id": 6700, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3100:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3094:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "hexValue": "1337", "id": 6704, "isConstant": false, "isLValue": false, "isPure": true, "kind": "hexString", "lValueRequested": false, "nodeType": "Literal", "src": "3112:9:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", "typeString": "literal_string hex\"1337\"" }, "value": "\u00137" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", "typeString": "literal_string hex\"1337\"" } ], "id": 6703, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3104:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6702, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3104:7:10", "typeDescriptions": {} } }, "id": 6705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3104:18:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 6695, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "3080:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3083:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 8967, "src": "3080:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 6706, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3080:43:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6707, "nodeType": "ExpressionStatement", "src": "3080:43:10" }, { "assignments": [ 6709 ], "declarations": [ { "constant": false, "id": 6709, "mutability": "mutable", "name": "success", "nameLocation": "3146:7:10", "nodeType": "VariableDeclaration", "scope": 6823, "src": "3141:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 6708, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3141:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 6710, "nodeType": "VariableDeclarationStatement", "src": "3141:12:10" }, { "assignments": [ 6712 ], "declarations": [ { "constant": false, "id": 6712, "mutability": "mutable", "name": "rdat", "nameLocation": "3184:4:10", "nodeType": "VariableDeclaration", "scope": 6823, "src": "3171:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 6711, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3171:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 6713, "nodeType": "VariableDeclarationStatement", "src": "3171:17:10" }, { "id": 6732, "nodeType": "Block", "src": "3206:146:10", "statements": [ { "expression": { "id": 6721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "components": [ { "id": 6714, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6709, "src": "3229:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "id": 6715, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6712, "src": "3238:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "id": 6716, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "3228:15:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 6719, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6503, "src": "3261:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 6717, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3246:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 6718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3250:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "3246:14:10", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, "id": 6720, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3246:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "src": "3228:38:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6722, "nodeType": "ExpressionStatement", "src": "3228:38:10" }, { "expression": { "id": 6730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 6723, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6518, "src": "3288:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 6725, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6712, "src": "3310:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 6728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 6726, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3316:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 6727, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "3321:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3316:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6724, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7239, "src": "3295:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes memory,uint256) pure returns (bytes32)" } }, "id": 6729, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3295:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3288:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 6731, "nodeType": "ExpressionStatement", "src": "3288:45:10" } ] }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 6740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6733, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6709, "src": "3374:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 6739, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6734, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6518, "src": "3385:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "1337", "id": 6737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "hexString", "lValueRequested": false, "nodeType": "Literal", "src": "3401:9:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", "typeString": "literal_string hex\"1337\"" }, "value": "\u00137" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", "typeString": "literal_string hex\"1337\"" } ], "id": 6736, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3393:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6735, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3393:7:10", "typeDescriptions": {} } }, "id": 6738, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3393:18:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3385:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3374:37:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6812, "nodeType": "IfStatement", "src": "3370:529:10", "trueBody": { "id": 6811, "nodeType": "Block", "src": "3413:486:10", "statements": [ { "eventCall": { "arguments": [ { "id": 6742, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3519:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 6743, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "3524:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "arguments": [ { "id": 6747, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "3557:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6748, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "3562:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6745, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3540:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6746, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3544:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3540:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6749, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3540:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6744, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3530:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6750, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3530:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "baseExpression": { "id": 6753, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3585:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6755, "indexExpression": { "id": 6754, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3591:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3585:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6752, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3577:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6751, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3577:7:10", "typeDescriptions": {} } }, "id": 6756, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3577:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6741, "name": "SlotFound", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6398, "src": "3509:9:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (address,bytes4,bytes32,uint256)" } }, "id": 6757, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3509:86:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6758, "nodeType": "EmitStatement", "src": "3504:91:10" }, { "expression": { "id": 6780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6759, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "3617:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6770, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "3622:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 6368, "src": "3617:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" } }, "id": 6771, "indexExpression": { "id": 6761, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3628:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3617:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 6772, "indexExpression": { "id": 6762, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "3633:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3617:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 6773, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6766, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "3666:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6767, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "3671:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6764, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3649:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6765, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3653:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3649:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6768, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3649:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6763, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3639:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6769, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3639:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "3617:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "baseExpression": { "id": 6776, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3696:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6778, "indexExpression": { "id": 6777, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3702:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3696:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6775, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3688:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6774, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3688:7:10", "typeDescriptions": {} } }, "id": 6779, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3688:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3617:88:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 6781, "nodeType": "ExpressionStatement", "src": "3617:88:10" }, { "expression": { "id": 6798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6782, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "3727:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6793, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "3732:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "3727:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" } }, "id": 6794, "indexExpression": { "id": 6784, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3738:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3727:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 6795, "indexExpression": { "id": 6785, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "3743:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3727:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 6796, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6789, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "3776:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6790, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "3781:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6787, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3759:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6788, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3763:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3759:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6791, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3759:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6786, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3749:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6792, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3749:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "3727:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 6797, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3798:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "3727:75:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6799, "nodeType": "ExpressionStatement", "src": "3727:75:10" }, { "expression": { "arguments": [ { "id": 6803, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3833:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 6804, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3838:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6806, "indexExpression": { "id": 6805, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3844:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3838:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 6807, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6668, "src": "3848:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 6800, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "3824:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6802, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3827:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 8967, "src": "3824:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 6808, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3824:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6809, "nodeType": "ExpressionStatement", "src": "3824:29:10" }, { "id": 6810, "nodeType": "Break", "src": "3875:5:10" } ] } }, { "expression": { "arguments": [ { "id": 6816, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "3925:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 6817, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "3930:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6819, "indexExpression": { "id": 6818, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "3936:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3930:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 6820, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6668, "src": "3940:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 6813, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "3916:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3919:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 8967, "src": "3916:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 6821, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3916:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6822, "nodeType": "ExpressionStatement", "src": "3916:29:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 6663, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6660, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "2828:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 6661, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2832:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6662, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2838:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2832:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2828:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6824, "initializationExpression": { "assignments": [ 6657 ], "declarations": [ { "constant": false, "id": 6657, "mutability": "mutable", "name": "i", "nameLocation": "2821:1:10", "nodeType": "VariableDeclaration", "scope": 6824, "src": "2813:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6656, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2813:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 6659, "initialValue": { "hexValue": "30", "id": 6658, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2825:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "2813:13:10" }, "loopExpression": { "expression": { "id": 6665, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "2846:3:10", "subExpression": { "id": 6664, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6657, "src": "2846:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 6666, "nodeType": "ExpressionStatement", "src": "2846:3:10" }, "nodeType": "ForStatement", "src": "2808:1152:10" } ] } }, "id": 6833, "nodeType": "IfStatement", "src": "2015:2068:10", "trueBody": { "id": 6651, "nodeType": "Block", "src": "2038:728:10", "statements": [ { "assignments": [ 6555 ], "declarations": [ { "constant": false, "id": 6555, "mutability": "mutable", "name": "curr", "nameLocation": "2060:4:10", "nodeType": "VariableDeclaration", "scope": 6651, "src": "2052:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 6554, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2052:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 6563, "initialValue": { "arguments": [ { "id": 6558, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2075:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 6559, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2080:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6561, "indexExpression": { "hexValue": "30", "id": 6560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2086:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2080:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 6556, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "2067:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 6557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2070:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 8307, "src": "2067:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 6562, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2067:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "2052:37:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 6569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6564, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6555, "src": "2107:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "30", "id": 6567, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2123:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 6566, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2115:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6565, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2115:7:10", "typeDescriptions": {} } }, "id": 6568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2115:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2107:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6581, "nodeType": "IfStatement", "src": "2103:106:10", "trueBody": { "id": 6580, "nodeType": "Block", "src": "2127:82:10", "statements": [ { "eventCall": { "arguments": [ { "id": 6571, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2171:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "baseExpression": { "id": 6574, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2184:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6576, "indexExpression": { "hexValue": "30", "id": 6575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2190:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2184:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6573, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2176:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6572, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2176:7:10", "typeDescriptions": {} } }, "id": 6577, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2176:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6570, "name": "WARNING_UninitedSlot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6404, "src": "2150:20:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 6578, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2150:44:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6579, "nodeType": "EmitStatement", "src": "2145:49:10" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 6584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 6582, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6518, "src": "2226:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 6583, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6555, "src": "2234:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2226:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6591, "nodeType": "IfStatement", "src": "2222:238:10", "trueBody": { "id": 6590, "nodeType": "Block", "src": "2240:220:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "66616c7365", "id": 6586, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2287:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", "id": 6587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2314:113:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" }, "value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" } ], "id": 6585, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "2258:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 6588, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2258:187:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6589, "nodeType": "ExpressionStatement", "src": "2258:187:10" } ] } }, { "eventCall": { "arguments": [ { "id": 6593, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2488:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 6594, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "2493:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "arguments": [ { "id": 6598, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "2526:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6599, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "2531:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6596, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2509:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6597, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2513:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2509:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6600, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2509:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6595, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2499:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6601, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2499:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "baseExpression": { "id": 6604, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2554:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6606, "indexExpression": { "hexValue": "30", "id": 6605, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2560:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2554:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6603, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2546:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6602, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2546:7:10", "typeDescriptions": {} } }, "id": 6607, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2546:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6592, "name": "SlotFound", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6398, "src": "2478:9:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (address,bytes4,bytes32,uint256)" } }, "id": 6608, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2478:86:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6609, "nodeType": "EmitStatement", "src": "2473:91:10" }, { "expression": { "id": 6631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6610, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "2578:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6621, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "2583:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 6368, "src": "2578:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" } }, "id": 6622, "indexExpression": { "id": 6612, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2589:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2578:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 6623, "indexExpression": { "id": 6613, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "2594:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2578:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 6624, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6617, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "2627:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6618, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "2632:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6615, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2610:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6616, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2614:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2610:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6619, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2610:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6614, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2600:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6620, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2600:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2578:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "baseExpression": { "id": 6627, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6541, "src": "2657:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 6629, "indexExpression": { "hexValue": "30", "id": 6628, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2663:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2657:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 6626, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2649:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2649:7:10", "typeDescriptions": {} } }, "id": 6630, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2649:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2578:88:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 6632, "nodeType": "ExpressionStatement", "src": "2578:88:10" }, { "expression": { "id": 6649, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6633, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "2680:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6644, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "2685:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "2680:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" } }, "id": 6645, "indexExpression": { "id": 6635, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "2691:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2680:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 6646, "indexExpression": { "id": 6636, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "2696:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2680:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 6647, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6640, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "2729:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6641, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "2734:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6638, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2712:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6639, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2716:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2712:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6642, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2712:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6637, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2702:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6643, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2702:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2680:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 6648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2751:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "2680:75:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 6650, "nodeType": "ExpressionStatement", "src": "2680:75:10" } ] } }, { "expression": { "arguments": [ { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6835, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4114:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6836, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "4119:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "4114:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" } }, "id": 6838, "indexExpression": { "id": 6837, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "4125:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4114:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 6840, "indexExpression": { "id": 6839, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "4130:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4114:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 6848, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6844, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "4163:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6845, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "4168:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6842, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4146:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6843, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4150:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4146:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6846, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4146:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6841, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "4136:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6847, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4136:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4114:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e", "id": 6849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4196:49:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", "typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" }, "value": "stdStorage find(StdStorage): Slot(s) not found." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", "typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" } ], "id": 6834, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4093:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 6850, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4093:162:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6851, "nodeType": "ExpressionStatement", "src": "4093:162:10" }, { "expression": { "id": 6854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4266:19:10", "subExpression": { "expression": { "id": 6852, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4273:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4278:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "4273:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6855, "nodeType": "ExpressionStatement", "src": "4266:19:10" }, { "expression": { "id": 6858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4295:16:10", "subExpression": { "expression": { "id": 6856, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4302:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6857, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4307:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "4302:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6859, "nodeType": "ExpressionStatement", "src": "4295:16:10" }, { "expression": { "id": 6862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4321:17:10", "subExpression": { "expression": { "id": 6860, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4328:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6861, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4333:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "4328:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6863, "nodeType": "ExpressionStatement", "src": "4321:17:10" }, { "expression": { "id": 6866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4348:18:10", "subExpression": { "expression": { "id": 6864, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4355:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6865, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4360:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 6383, "src": "4355:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6867, "nodeType": "ExpressionStatement", "src": "4348:18:10" }, { "expression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 6868, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6443, "src": "4384:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "4389:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 6368, "src": "4384:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" } }, "id": 6871, "indexExpression": { "id": 6870, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6449, "src": "4395:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4384:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 6873, "indexExpression": { "id": 6872, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6454, "src": "4400:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4384:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 6881, "indexExpression": { "arguments": [ { "arguments": [ { "id": 6877, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6467, "src": "4433:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 6878, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6459, "src": "4438:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 6875, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4416:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 6876, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4420:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4416:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 6879, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4416:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 6874, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "4406:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 6880, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4406:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4384:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 6447, "id": 6882, "nodeType": "Return", "src": "4377:75:10" } ] }, "documentation": { "id": 6440, "nodeType": "StructuredDocumentation", "src": "746:129:10", "text": "@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against" }, "implemented": true, "kind": "function", "modifiers": [], "name": "find", "nameLocation": "1263:4:10", "parameters": { "id": 6444, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6443, "mutability": "mutable", "name": "self", "nameLocation": "1287:4:10", "nodeType": "VariableDeclaration", "scope": 6884, "src": "1268:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6442, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6441, "name": "StdStorage", "nameLocations": [ "1268:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "1268:10:10" }, "referencedDeclaration": 6388, "src": "1268:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "1267:25:10" }, "returnParameters": { "id": 6447, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6446, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6884, "src": "1311:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6445, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1311:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1310:9:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 6904, "nodeType": "FunctionDefinition", "src": "4465:156:10", "nodes": [], "body": { "id": 6903, "nodeType": "Block", "src": "4561:60:10", "nodes": [], "statements": [ { "expression": { "id": 6899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 6895, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6887, "src": "4571:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6897, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4576:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "4571:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 6898, "name": "_target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6889, "src": "4586:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "4571:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 6900, "nodeType": "ExpressionStatement", "src": "4571:22:10" }, { "expression": { "id": 6901, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6887, "src": "4610:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 6894, "id": 6902, "nodeType": "Return", "src": "4603:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "target", "nameLocation": "4474:6:10", "parameters": { "id": 6890, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6887, "mutability": "mutable", "name": "self", "nameLocation": "4500:4:10", "nodeType": "VariableDeclaration", "scope": 6904, "src": "4481:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6886, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6885, "name": "StdStorage", "nameLocations": [ "4481:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4481:10:10" }, "referencedDeclaration": 6388, "src": "4481:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 6889, "mutability": "mutable", "name": "_target", "nameLocation": "4514:7:10", "nodeType": "VariableDeclaration", "scope": 6904, "src": "4506:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6888, "name": "address", "nodeType": "ElementaryTypeName", "src": "4506:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4480:42:10" }, "returnParameters": { "id": 6894, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6893, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6904, "src": "4541:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6892, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6891, "name": "StdStorage", "nameLocations": [ "4541:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4541:10:10" }, "referencedDeclaration": 6388, "src": "4541:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4540:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 6924, "nodeType": "FunctionDefinition", "src": "4627:143:10", "nodes": [], "body": { "id": 6923, "nodeType": "Block", "src": "4716:54:10", "nodes": [], "statements": [ { "expression": { "id": 6919, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 6915, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6907, "src": "4726:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6917, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4731:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "4726:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 6918, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6909, "src": "4738:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "4726:16:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "id": 6920, "nodeType": "ExpressionStatement", "src": "4726:16:10" }, { "expression": { "id": 6921, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6907, "src": "4759:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 6914, "id": 6922, "nodeType": "Return", "src": "4752:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "4636:3:10", "parameters": { "id": 6910, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6907, "mutability": "mutable", "name": "self", "nameLocation": "4659:4:10", "nodeType": "VariableDeclaration", "scope": 6924, "src": "4640:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6906, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6905, "name": "StdStorage", "nameLocations": [ "4640:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4640:10:10" }, "referencedDeclaration": 6388, "src": "4640:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 6909, "mutability": "mutable", "name": "_sig", "nameLocation": "4672:4:10", "nodeType": "VariableDeclaration", "scope": 6924, "src": "4665:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 6908, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "4665:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "4639:38:10" }, "returnParameters": { "id": 6914, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6913, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6924, "src": "4696:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6912, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6911, "name": "StdStorage", "nameLocations": [ "4696:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4696:10:10" }, "referencedDeclaration": 6388, "src": "4696:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4695:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 6946, "nodeType": "FunctionDefinition", "src": "4776:156:10", "nodes": [], "body": { "id": 6945, "nodeType": "Block", "src": "4872:60:10", "nodes": [], "statements": [ { "expression": { "id": 6941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 6935, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6927, "src": "4882:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6937, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4887:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "4882:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 6939, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6929, "src": "4899:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 6938, "name": "sigs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6439, "src": "4894:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", "typeString": "function (string memory) pure returns (bytes4)" } }, "id": 6940, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4894:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "4882:22:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "id": 6942, "nodeType": "ExpressionStatement", "src": "4882:22:10" }, { "expression": { "id": 6943, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6927, "src": "4921:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 6934, "id": 6944, "nodeType": "Return", "src": "4914:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "4785:3:10", "parameters": { "id": 6930, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6927, "mutability": "mutable", "name": "self", "nameLocation": "4808:4:10", "nodeType": "VariableDeclaration", "scope": 6946, "src": "4789:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6926, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6925, "name": "StdStorage", "nameLocations": [ "4789:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4789:10:10" }, "referencedDeclaration": 6388, "src": "4789:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 6929, "mutability": "mutable", "name": "_sig", "nameLocation": "4828:4:10", "nodeType": "VariableDeclaration", "scope": 6946, "src": "4814:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 6928, "name": "string", "nodeType": "ElementaryTypeName", "src": "4814:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "4788:45:10" }, "returnParameters": { "id": 6934, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6933, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6946, "src": "4852:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6932, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6931, "name": "StdStorage", "nameLocations": [ "4852:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4852:10:10" }, "referencedDeclaration": 6388, "src": "4852:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4851:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 6977, "nodeType": "FunctionDefinition", "src": "4938:179:10", "nodes": [], "body": { "id": 6976, "nodeType": "Block", "src": "5032:85:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "id": 6968, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6951, "src": "5082:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 6967, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5074:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 6966, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "5074:7:10", "typeDescriptions": {} } }, "id": 6969, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5074:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 6965, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5066:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 6964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5066:7:10", "typeDescriptions": {} } }, "id": 6970, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5066:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6963, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5058:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6962, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5058:7:10", "typeDescriptions": {} } }, "id": 6971, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5058:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 6957, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6949, "src": "5042:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6960, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5047:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "5042:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 6961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5053:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5042:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 6972, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5042:47:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6973, "nodeType": "ExpressionStatement", "src": "5042:47:10" }, { "expression": { "id": 6974, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6949, "src": "5106:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 6956, "id": 6975, "nodeType": "Return", "src": "5099:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "4947:8:10", "parameters": { "id": 6952, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6949, "mutability": "mutable", "name": "self", "nameLocation": "4975:4:10", "nodeType": "VariableDeclaration", "scope": 6977, "src": "4956:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6948, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6947, "name": "StdStorage", "nameLocations": [ "4956:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "4956:10:10" }, "referencedDeclaration": 6388, "src": "4956:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 6951, "mutability": "mutable", "name": "who", "nameLocation": "4989:3:10", "nodeType": "VariableDeclaration", "scope": 6977, "src": "4981:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 6950, "name": "address", "nodeType": "ElementaryTypeName", "src": "4981:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4955:38:10" }, "returnParameters": { "id": 6956, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6955, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 6977, "src": "5012:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6954, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6953, "name": "StdStorage", "nameLocations": [ "5012:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5012:10:10" }, "referencedDeclaration": 6388, "src": "5012:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5011:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7002, "nodeType": "FunctionDefinition", "src": "5123:161:10", "nodes": [], "body": { "id": 7001, "nodeType": "Block", "src": "5217:67:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 6995, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6982, "src": "5251:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 6994, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5243:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 6993, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5243:7:10", "typeDescriptions": {} } }, "id": 6996, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5243:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 6988, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6980, "src": "5227:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 6991, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5232:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "5227:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 6992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5238:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5227:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 6997, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5227:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 6998, "nodeType": "ExpressionStatement", "src": "5227:29:10" }, { "expression": { "id": 6999, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6980, "src": "5273:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 6987, "id": 7000, "nodeType": "Return", "src": "5266:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "5132:8:10", "parameters": { "id": 6983, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6980, "mutability": "mutable", "name": "self", "nameLocation": "5160:4:10", "nodeType": "VariableDeclaration", "scope": 7002, "src": "5141:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6979, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6978, "name": "StdStorage", "nameLocations": [ "5141:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5141:10:10" }, "referencedDeclaration": 6388, "src": "5141:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 6982, "mutability": "mutable", "name": "amt", "nameLocation": "5174:3:10", "nodeType": "VariableDeclaration", "scope": 7002, "src": "5166:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6981, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5166:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5140:38:10" }, "returnParameters": { "id": 6987, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6986, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7002, "src": "5197:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 6985, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6984, "name": "StdStorage", "nameLocations": [ "5197:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5197:10:10" }, "referencedDeclaration": 6388, "src": "5197:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5196:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7024, "nodeType": "FunctionDefinition", "src": "5290:152:10", "nodes": [], "body": { "id": 7023, "nodeType": "Block", "src": "5384:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7018, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7007, "src": "5410:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 7013, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7005, "src": "5394:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7016, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5399:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "5394:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 7017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5405:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5394:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 7019, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5394:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7020, "nodeType": "ExpressionStatement", "src": "5394:20:10" }, { "expression": { "id": 7021, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7005, "src": "5431:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7012, "id": 7022, "nodeType": "Return", "src": "5424:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "5299:8:10", "parameters": { "id": 7008, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7005, "mutability": "mutable", "name": "self", "nameLocation": "5327:4:10", "nodeType": "VariableDeclaration", "scope": 7024, "src": "5308:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7004, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7003, "name": "StdStorage", "nameLocations": [ "5308:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5308:10:10" }, "referencedDeclaration": 6388, "src": "5308:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7007, "mutability": "mutable", "name": "key", "nameLocation": "5341:3:10", "nodeType": "VariableDeclaration", "scope": 7024, "src": "5333:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7006, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5333:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "5307:38:10" }, "returnParameters": { "id": 7012, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7011, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7024, "src": "5364:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7010, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7009, "name": "StdStorage", "nameLocations": [ "5364:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5364:10:10" }, "referencedDeclaration": 6388, "src": "5364:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5363:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7044, "nodeType": "FunctionDefinition", "src": "5448:152:10", "nodes": [], "body": { "id": 7043, "nodeType": "Block", "src": "5542:58:10", "nodes": [], "statements": [ { "expression": { "id": 7039, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 7035, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7027, "src": "5552:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7037, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "5557:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 6383, "src": "5552:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 7038, "name": "_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7029, "src": "5566:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5552:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7040, "nodeType": "ExpressionStatement", "src": "5552:20:10" }, { "expression": { "id": 7041, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7027, "src": "5589:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7034, "id": 7042, "nodeType": "Return", "src": "5582:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "depth", "nameLocation": "5457:5:10", "parameters": { "id": 7030, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7027, "mutability": "mutable", "name": "self", "nameLocation": "5482:4:10", "nodeType": "VariableDeclaration", "scope": 7044, "src": "5463:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7026, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7025, "name": "StdStorage", "nameLocations": [ "5463:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5463:10:10" }, "referencedDeclaration": 6388, "src": "5463:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7029, "mutability": "mutable", "name": "_depth", "nameLocation": "5496:6:10", "nodeType": "VariableDeclaration", "scope": 7044, "src": "5488:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7028, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5488:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5462:41:10" }, "returnParameters": { "id": 7034, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7033, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7044, "src": "5522:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7032, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7031, "name": "StdStorage", "nameLocations": [ "5522:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5522:10:10" }, "referencedDeclaration": 6388, "src": "5522:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5521:20:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7076, "nodeType": "FunctionDefinition", "src": "5606:194:10", "nodes": [], "body": { "id": 7075, "nodeType": "Block", "src": "5676:124:10", "nodes": [], "statements": [ { "assignments": [ 7053 ], "declarations": [ { "constant": false, "id": 7053, "mutability": "mutable", "name": "t", "nameLocation": "5694:1:10", "nodeType": "VariableDeclaration", "scope": 7075, "src": "5686:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7052, "name": "address", "nodeType": "ElementaryTypeName", "src": "5686:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 7056, "initialValue": { "expression": { "id": 7054, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7047, "src": "5698:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7055, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5703:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "5698:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "5686:24:10" }, { "assignments": [ 7058 ], "declarations": [ { "constant": false, "id": 7058, "mutability": "mutable", "name": "s", "nameLocation": "5728:1:10", "nodeType": "VariableDeclaration", "scope": 7075, "src": "5720:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7057, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5720:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7062, "initialValue": { "arguments": [ { "id": 7060, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7047, "src": "5737:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7059, "name": "find", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6884, "src": "5732:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 7061, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5732:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "5720:22:10" }, { "expression": { "arguments": [ { "arguments": [ { "id": 7067, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7053, "src": "5778:1:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "id": 7070, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7058, "src": "5789:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7069, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5781:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7068, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5781:7:10", "typeDescriptions": {} } }, "id": 7071, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5781:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 7065, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6421, "src": "5770:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 7066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5773:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 8307, "src": "5770:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 7072, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5770:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 7063, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "5759:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "5763:6:10", "memberName": "encode", "nodeType": "MemberAccess", "src": "5759:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 7073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5759:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 7051, "id": 7074, "nodeType": "Return", "src": "5752:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read", "nameLocation": "5615:4:10", "parameters": { "id": 7048, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7047, "mutability": "mutable", "name": "self", "nameLocation": "5639:4:10", "nodeType": "VariableDeclaration", "scope": 7076, "src": "5620:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7046, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7045, "name": "StdStorage", "nameLocations": [ "5620:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5620:10:10" }, "referencedDeclaration": 6388, "src": "5620:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5619:25:10" }, "returnParameters": { "id": 7051, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7050, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7076, "src": "5662:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7049, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5662:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "5661:14:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "id": 7095, "nodeType": "FunctionDefinition", "src": "5806:131:10", "nodes": [], "body": { "id": 7094, "nodeType": "Block", "src": "5880:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 7087, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7079, "src": "5913:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7086, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7076, "src": "5908:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 7088, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5908:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 7090, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5921:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7089, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5921:7:10", "typeDescriptions": {} } } ], "id": 7091, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "5920:9:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" } ], "expression": { "id": 7084, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "5897:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7085, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "5901:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "5897:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 7092, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5897:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 7083, "id": 7093, "nodeType": "Return", "src": "5890:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bytes32", "nameLocation": "5815:12:10", "parameters": { "id": 7080, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7079, "mutability": "mutable", "name": "self", "nameLocation": "5847:4:10", "nodeType": "VariableDeclaration", "scope": 7095, "src": "5828:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7078, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7077, "name": "StdStorage", "nameLocations": [ "5828:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5828:10:10" }, "referencedDeclaration": 6388, "src": "5828:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5827:25:10" }, "returnParameters": { "id": 7083, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7082, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7095, "src": "5871:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7081, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5871:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "5870:9:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7126, "nodeType": "FunctionDefinition", "src": "5943:279:10", "nodes": [], "body": { "id": 7125, "nodeType": "Block", "src": "6011:211:10", "nodes": [], "statements": [ { "assignments": [ 7104 ], "declarations": [ { "constant": false, "id": 7104, "mutability": "mutable", "name": "v", "nameLocation": "6028:1:10", "nodeType": "VariableDeclaration", "scope": 7125, "src": "6021:8:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 7103, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6021:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "id": 7108, "initialValue": { "arguments": [ { "id": 7106, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7098, "src": "6041:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7105, "name": "read_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7183, "src": "6032:8:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_int256_$", "typeString": "function (struct StdStorage storage pointer) returns (int256)" } }, "id": 7107, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6032:14:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "VariableDeclarationStatement", "src": "6021:25:10" }, { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 7111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7109, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7104, "src": "6060:1:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 7110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6065:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "6060:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7114, "nodeType": "IfStatement", "src": "6056:24:10", "trueBody": { "expression": { "hexValue": "66616c7365", "id": 7112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "6075:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 7102, "id": 7113, "nodeType": "Return", "src": "6068:12:10" } }, { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 7117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7115, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7104, "src": "6094:1:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 7116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6099:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6094:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7120, "nodeType": "IfStatement", "src": "6090:23:10", "trueBody": { "expression": { "hexValue": "74727565", "id": 7118, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "6109:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 7102, "id": 7119, "nodeType": "Return", "src": "6102:11:10" } }, { "expression": { "arguments": [ { "hexValue": "73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e", "id": 7122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6130:84:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", "typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" }, "value": "stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", "typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" } ], "id": 7121, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "6123:6:10", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 7123, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6123:92:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7124, "nodeType": "ExpressionStatement", "src": "6123:92:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bool", "nameLocation": "5952:9:10", "parameters": { "id": 7099, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7098, "mutability": "mutable", "name": "self", "nameLocation": "5981:4:10", "nodeType": "VariableDeclaration", "scope": 7126, "src": "5962:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7097, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7096, "name": "StdStorage", "nameLocations": [ "5962:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "5962:10:10" }, "referencedDeclaration": 6388, "src": "5962:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5961:25:10" }, "returnParameters": { "id": 7102, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7101, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7126, "src": "6005:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 7100, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6005:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "6004:6:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7145, "nodeType": "FunctionDefinition", "src": "6228:131:10", "nodes": [], "body": { "id": 7144, "nodeType": "Block", "src": "6302:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 7137, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7129, "src": "6335:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7136, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7076, "src": "6330:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 7138, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6330:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 7140, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6343:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 7139, "name": "address", "nodeType": "ElementaryTypeName", "src": "6343:7:10", "typeDescriptions": {} } } ], "id": 7141, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6342:9:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" } ], "expression": { "id": 7134, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6319:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7135, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6323:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6319:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 7142, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6319:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "functionReturnParameters": 7133, "id": 7143, "nodeType": "Return", "src": "6312:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_address", "nameLocation": "6237:12:10", "parameters": { "id": 7130, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7129, "mutability": "mutable", "name": "self", "nameLocation": "6269:4:10", "nodeType": "VariableDeclaration", "scope": 7145, "src": "6250:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7128, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7127, "name": "StdStorage", "nameLocations": [ "6250:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "6250:10:10" }, "referencedDeclaration": 6388, "src": "6250:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6249:25:10" }, "returnParameters": { "id": 7133, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7132, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7145, "src": "6293:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7131, "name": "address", "nodeType": "ElementaryTypeName", "src": "6293:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "6292:9:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7164, "nodeType": "FunctionDefinition", "src": "6365:128:10", "nodes": [], "body": { "id": 7163, "nodeType": "Block", "src": "6436:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 7156, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7148, "src": "6469:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7155, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7076, "src": "6464:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 7157, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6464:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 7159, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6477:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 7158, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6477:7:10", "typeDescriptions": {} } } ], "id": 7160, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6476:9:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" } ], "expression": { "id": 7153, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6453:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7154, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6457:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6453:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 7161, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6453:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7152, "id": 7162, "nodeType": "Return", "src": "6446:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_uint", "nameLocation": "6374:9:10", "parameters": { "id": 7149, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7148, "mutability": "mutable", "name": "self", "nameLocation": "6403:4:10", "nodeType": "VariableDeclaration", "scope": 7164, "src": "6384:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7147, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7146, "name": "StdStorage", "nameLocations": [ "6384:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "6384:10:10" }, "referencedDeclaration": 6388, "src": "6384:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6383:25:10" }, "returnParameters": { "id": 7152, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7151, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7164, "src": "6427:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7150, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6427:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6426:9:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7183, "nodeType": "FunctionDefinition", "src": "6499:125:10", "nodes": [], "body": { "id": 7182, "nodeType": "Block", "src": "6568:56:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 7175, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7167, "src": "6601:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7174, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7076, "src": "6596:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 7176, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6596:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 7178, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6609:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" }, "typeName": { "id": 7177, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6609:6:10", "typeDescriptions": {} } } ], "id": 7179, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6608:8:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" } ], "expression": { "id": 7172, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6585:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7173, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6589:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6585:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 7180, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6585:32:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 7171, "id": 7181, "nodeType": "Return", "src": "6578:39:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_int", "nameLocation": "6508:8:10", "parameters": { "id": 7168, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7167, "mutability": "mutable", "name": "self", "nameLocation": "6536:4:10", "nodeType": "VariableDeclaration", "scope": 7183, "src": "6517:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7166, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7165, "name": "StdStorage", "nameLocations": [ "6517:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "6517:10:10" }, "referencedDeclaration": 6388, "src": "6517:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6516:25:10" }, "returnParameters": { "id": 7171, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7170, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7183, "src": "6560:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 7169, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6560:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "6559:8:10" }, "scope": 7281, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7239, "nodeType": "FunctionDefinition", "src": "6630:304:10", "nodes": [], "body": { "id": 7238, "nodeType": "Block", "src": "6717:217:10", "nodes": [], "statements": [ { "assignments": [ 7193 ], "declarations": [ { "constant": false, "id": 7193, "mutability": "mutable", "name": "out", "nameLocation": "6735:3:10", "nodeType": "VariableDeclaration", "scope": 7238, "src": "6727:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7192, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6727:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7194, "nodeType": "VariableDeclarationStatement", "src": "6727:11:10" }, { "assignments": [ 7196 ], "declarations": [ { "constant": false, "id": 7196, "mutability": "mutable", "name": "max", "nameLocation": "6757:3:10", "nodeType": "VariableDeclaration", "scope": 7238, "src": "6749:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7195, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6749:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7205, "initialValue": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 7197, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7185, "src": "6763:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "6765:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "6763:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "3332", "id": 7199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6774:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "6763:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "expression": { "id": 7202, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7185, "src": "6784:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "6786:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "6784:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "6763:29:10", "trueExpression": { "hexValue": "3332", "id": 7201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6779:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "6749:43:10" }, { "body": { "id": 7234, "nodeType": "Block", "src": "6836:72:10", "statements": [ { "expression": { "id": 7232, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7216, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7193, "src": "6850:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "|=", "rightHandSide": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 7231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 7225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 7219, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7185, "src": "6865:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7223, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7220, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7187, "src": "6867:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 7221, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7207, "src": "6876:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6867:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6865:13:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "30784646", "id": 7224, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6881:4:10", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xFF" }, "src": "6865:20:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "id": 7218, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6857:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7217, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6857:7:10", "typeDescriptions": {} } }, "id": 7226, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6857:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7229, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7227, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7207, "src": "6891:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "38", "id": 7228, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6895:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "6891:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 7230, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6890:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6857:40:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "6850:47:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7233, "nodeType": "ExpressionStatement", "src": "6850:47:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7210, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7207, "src": "6822:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 7211, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7196, "src": "6826:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6822:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7235, "initializationExpression": { "assignments": [ 7207 ], "declarations": [ { "constant": false, "id": 7207, "mutability": "mutable", "name": "i", "nameLocation": "6815:1:10", "nodeType": "VariableDeclaration", "scope": 7235, "src": "6807:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7206, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6807:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7209, "initialValue": { "hexValue": "30", "id": 7208, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6819:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "6807:13:10" }, "loopExpression": { "expression": { "id": 7214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "6831:3:10", "subExpression": { "id": 7213, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7207, "src": "6831:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7215, "nodeType": "ExpressionStatement", "src": "6831:3:10" }, "nodeType": "ForStatement", "src": "6802:106:10" }, { "expression": { "id": 7236, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7193, "src": "6924:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 7191, "id": 7237, "nodeType": "Return", "src": "6917:10:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nameLocation": "6639:14:10", "parameters": { "id": 7188, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7185, "mutability": "mutable", "name": "b", "nameLocation": "6667:1:10", "nodeType": "VariableDeclaration", "scope": 7239, "src": "6654:14:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7184, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6654:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 7187, "mutability": "mutable", "name": "offset", "nameLocation": "6678:6:10", "nodeType": "VariableDeclaration", "scope": 7239, "src": "6670:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7186, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6670:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6653:32:10" }, "returnParameters": { "id": 7191, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7190, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7239, "src": "6708:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7189, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6708:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "6707:9:10" }, "scope": 7281, "stateMutability": "pure", "virtual": false, "visibility": "private" }, { "id": 7280, "nodeType": "FunctionDefinition", "src": "6940:393:10", "nodes": [], "body": { "id": 7279, "nodeType": "Block", "src": "7013:320:10", "nodes": [], "statements": [ { "assignments": [ 7248 ], "declarations": [ { "constant": false, "id": 7248, "mutability": "mutable", "name": "result", "nameLocation": "7036:6:10", "nodeType": "VariableDeclaration", "scope": 7279, "src": "7023:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7247, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7023:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 7256, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7254, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 7251, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7242, "src": "7055:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7057:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "7055:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "3332", "id": 7253, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7066:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "7055:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7250, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "7045:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 7249, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7049:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 7255, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7045:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "7023:46:10" }, { "body": { "id": 7275, "nodeType": "Block", "src": "7118:185:10", "statements": [ { "assignments": [ 7269 ], "declarations": [ { "constant": false, "id": 7269, "mutability": "mutable", "name": "k", "nameLocation": "7140:1:10", "nodeType": "VariableDeclaration", "scope": 7275, "src": "7132:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7268, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7132:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7273, "initialValue": { "baseExpression": { "id": 7270, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7242, "src": "7144:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7272, "indexExpression": { "id": 7271, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7258, "src": "7146:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7144:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "7132:16:10" }, { "AST": { "nodeType": "YulBlock", "src": "7218:75:10", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "result", "nodeType": "YulIdentifier", "src": "7247:6:10" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "7259:2:10", "type": "", "value": "32" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "7267:2:10", "type": "", "value": "32" }, { "name": "i", "nodeType": "YulIdentifier", "src": "7271:1:10" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", "src": "7263:3:10" }, "nodeType": "YulFunctionCall", "src": "7263:10:10" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7255:3:10" }, "nodeType": "YulFunctionCall", "src": "7255:19:10" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7243:3:10" }, "nodeType": "YulFunctionCall", "src": "7243:32:10" }, { "name": "k", "nodeType": "YulIdentifier", "src": "7277:1:10" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7236:6:10" }, "nodeType": "YulFunctionCall", "src": "7236:43:10" }, "nodeType": "YulExpressionStatement", "src": "7236:43:10" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 7258, "isOffset": false, "isSlot": false, "src": "7271:1:10", "valueSize": 1 }, { "declaration": 7269, "isOffset": false, "isSlot": false, "src": "7277:1:10", "valueSize": 1 }, { "declaration": 7248, "isOffset": false, "isSlot": false, "src": "7247:6:10", "valueSize": 1 } ], "id": 7274, "nodeType": "InlineAssembly", "src": "7209:84:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7261, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7258, "src": "7099:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 7262, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7242, "src": "7103:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7105:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "7103:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7099:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7276, "initializationExpression": { "assignments": [ 7258 ], "declarations": [ { "constant": false, "id": 7258, "mutability": "mutable", "name": "i", "nameLocation": "7092:1:10", "nodeType": "VariableDeclaration", "scope": 7276, "src": "7084:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7257, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7084:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7260, "initialValue": { "hexValue": "30", "id": 7259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7096:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "7084:13:10" }, "loopExpression": { "expression": { "id": 7266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "7113:3:10", "subExpression": { "id": 7265, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7258, "src": "7113:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7267, "nodeType": "ExpressionStatement", "src": "7113:3:10" }, "nodeType": "ForStatement", "src": "7079:224:10" }, { "expression": { "id": 7277, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7248, "src": "7320:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 7246, "id": 7278, "nodeType": "Return", "src": "7313:13:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "flatten", "nameLocation": "6949:7:10", "parameters": { "id": 7243, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7242, "mutability": "mutable", "name": "b", "nameLocation": "6974:1:10", "nodeType": "VariableDeclaration", "scope": 7280, "src": "6957:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 7240, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6957:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7241, "nodeType": "ArrayTypeName", "src": "6957:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "src": "6956:20:10" }, "returnParameters": { "id": 7246, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7245, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7280, "src": "6999:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7244, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6999:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "6998:14:10" }, "scope": 7281, "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "abstract": false, "baseContracts": [], "canonicalName": "stdStorageSafe", "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, "linearizedBaseContracts": [ 7281 ], "name": "stdStorageSafe", "nameLocation": "366:14:10", "scope": 7823, "usedErrors": [] }, { "id": 7822, "nodeType": "ContractDefinition", "src": "7337:4527:10", "nodes": [ { "id": 7298, "nodeType": "VariableDeclaration", "src": "7362:84:10", "nodes": [], "constant": true, "mutability": "constant", "name": "vm", "nameLocation": "7382:2:10", "scope": 7822, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" }, "typeName": { "id": 7283, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7282, "name": "Vm", "nameLocations": [ "7362:2:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 9256, "src": "7362:2:10" }, "referencedDeclaration": 9256, "src": "7362:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 7292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7424:17:10", "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": 7291, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "7414:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 7293, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7414:28:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7290, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7406:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 7289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7406:7:10", "typeDescriptions": {} } }, "id": 7294, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7406:37:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7288, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7398:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 7287, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "7398:7:10", "typeDescriptions": {} } }, "id": 7295, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7398:46:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 7286, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7390:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 7285, "name": "address", "nodeType": "ElementaryTypeName", "src": "7390:7:10", "typeDescriptions": {} } }, "id": 7296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7390:55:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 7284, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9256, "src": "7387:2:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$9256_$", "typeString": "type(contract Vm)" } }, "id": 7297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7387:59:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "visibility": "private" }, { "id": 7311, "nodeType": "FunctionDefinition", "src": "7453:118:10", "nodes": [], "body": { "id": 7310, "nodeType": "Block", "src": "7520:51:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7307, "name": "sigStr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7300, "src": "7557:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 7305, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "7537:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7552:4:10", "memberName": "sigs", "nodeType": "MemberAccess", "referencedDeclaration": 6439, "src": "7537:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", "typeString": "function (string memory) pure returns (bytes4)" } }, "id": 7308, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7537:27:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "functionReturnParameters": 7304, "id": 7309, "nodeType": "Return", "src": "7530:34:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sigs", "nameLocation": "7462:4:10", "parameters": { "id": 7301, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7300, "mutability": "mutable", "name": "sigStr", "nameLocation": "7481:6:10", "nodeType": "VariableDeclaration", "scope": 7311, "src": "7467:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 7299, "name": "string", "nodeType": "ElementaryTypeName", "src": "7467:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "7466:22:10" }, "returnParameters": { "id": 7304, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7303, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7311, "src": "7512:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 7302, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "7512:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "7511:8:10" }, "scope": 7822, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 7325, "nodeType": "FunctionDefinition", "src": "7577:115:10", "nodes": [], "body": { "id": 7324, "nodeType": "Block", "src": "7643:49:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7321, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7314, "src": "7680:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7319, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "7660:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7675:4:10", "memberName": "find", "nodeType": "MemberAccess", "referencedDeclaration": 6884, "src": "7660:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 7322, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7660:25:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7318, "id": 7323, "nodeType": "Return", "src": "7653:32:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "find", "nameLocation": "7586:4:10", "parameters": { "id": 7315, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7314, "mutability": "mutable", "name": "self", "nameLocation": "7610:4:10", "nodeType": "VariableDeclaration", "scope": 7325, "src": "7591:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7313, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7312, "name": "StdStorage", "nameLocations": [ "7591:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "7591:10:10" }, "referencedDeclaration": 6388, "src": "7591:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7590:25:10" }, "returnParameters": { "id": 7318, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7317, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7325, "src": "7634:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7316, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7634:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "7633:9:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7343, "nodeType": "FunctionDefinition", "src": "7698:156:10", "nodes": [], "body": { "id": 7342, "nodeType": "Block", "src": "7794:60:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7338, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7328, "src": "7833:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7339, "name": "_target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7330, "src": "7839:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 7336, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "7811:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7826:6:10", "memberName": "target", "nodeType": "MemberAccess", "referencedDeclaration": 6904, "src": "7811:21:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" } }, "id": 7340, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7811:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7335, "id": 7341, "nodeType": "Return", "src": "7804:43:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "target", "nameLocation": "7707:6:10", "parameters": { "id": 7331, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7328, "mutability": "mutable", "name": "self", "nameLocation": "7733:4:10", "nodeType": "VariableDeclaration", "scope": 7343, "src": "7714:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7327, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7326, "name": "StdStorage", "nameLocations": [ "7714:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "7714:10:10" }, "referencedDeclaration": 6388, "src": "7714:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7330, "mutability": "mutable", "name": "_target", "nameLocation": "7747:7:10", "nodeType": "VariableDeclaration", "scope": 7343, "src": "7739:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7329, "name": "address", "nodeType": "ElementaryTypeName", "src": "7739:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "7713:42:10" }, "returnParameters": { "id": 7335, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7334, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7343, "src": "7774:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7333, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7332, "name": "StdStorage", "nameLocations": [ "7774:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "7774:10:10" }, "referencedDeclaration": 6388, "src": "7774:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7773:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7361, "nodeType": "FunctionDefinition", "src": "7860:143:10", "nodes": [], "body": { "id": 7360, "nodeType": "Block", "src": "7949:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7356, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7346, "src": "7985:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7357, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7348, "src": "7991:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } ], "expression": { "id": 7354, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "7966:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7981:3:10", "memberName": "sig", "nodeType": "MemberAccess", "referencedDeclaration": 6924, "src": "7966:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" } }, "id": 7358, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7966:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7353, "id": 7359, "nodeType": "Return", "src": "7959:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "7869:3:10", "parameters": { "id": 7349, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7346, "mutability": "mutable", "name": "self", "nameLocation": "7892:4:10", "nodeType": "VariableDeclaration", "scope": 7361, "src": "7873:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7345, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7344, "name": "StdStorage", "nameLocations": [ "7873:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "7873:10:10" }, "referencedDeclaration": 6388, "src": "7873:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7348, "mutability": "mutable", "name": "_sig", "nameLocation": "7905:4:10", "nodeType": "VariableDeclaration", "scope": 7361, "src": "7898:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 7347, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "7898:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "7872:38:10" }, "returnParameters": { "id": 7353, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7352, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7361, "src": "7929:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7351, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7350, "name": "StdStorage", "nameLocations": [ "7929:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "7929:10:10" }, "referencedDeclaration": 6388, "src": "7929:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7928:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7379, "nodeType": "FunctionDefinition", "src": "8009:150:10", "nodes": [], "body": { "id": 7378, "nodeType": "Block", "src": "8105:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7374, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7364, "src": "8141:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7375, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7366, "src": "8147:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 7372, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "8122:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8137:3:10", "memberName": "sig", "nodeType": "MemberAccess", "referencedDeclaration": 6946, "src": "8122:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)" } }, "id": 7376, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8122:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7371, "id": 7377, "nodeType": "Return", "src": "8115:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "8018:3:10", "parameters": { "id": 7367, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7364, "mutability": "mutable", "name": "self", "nameLocation": "8041:4:10", "nodeType": "VariableDeclaration", "scope": 7379, "src": "8022:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7363, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7362, "name": "StdStorage", "nameLocations": [ "8022:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8022:10:10" }, "referencedDeclaration": 6388, "src": "8022:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7366, "mutability": "mutable", "name": "_sig", "nameLocation": "8061:4:10", "nodeType": "VariableDeclaration", "scope": 7379, "src": "8047:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 7365, "name": "string", "nodeType": "ElementaryTypeName", "src": "8047:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "8021:45:10" }, "returnParameters": { "id": 7371, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7370, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7379, "src": "8085:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7369, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7368, "name": "StdStorage", "nameLocations": [ "8085:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8085:10:10" }, "referencedDeclaration": 6388, "src": "8085:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8084:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7397, "nodeType": "FunctionDefinition", "src": "8165:152:10", "nodes": [], "body": { "id": 7396, "nodeType": "Block", "src": "8259:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7392, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7382, "src": "8300:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7393, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7384, "src": "8306:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 7390, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "8276:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7391, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8291:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 6977, "src": "8276:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" } }, "id": 7394, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8276:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7389, "id": 7395, "nodeType": "Return", "src": "8269:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8174:8:10", "parameters": { "id": 7385, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7382, "mutability": "mutable", "name": "self", "nameLocation": "8202:4:10", "nodeType": "VariableDeclaration", "scope": 7397, "src": "8183:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7381, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7380, "name": "StdStorage", "nameLocations": [ "8183:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8183:10:10" }, "referencedDeclaration": 6388, "src": "8183:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7384, "mutability": "mutable", "name": "who", "nameLocation": "8216:3:10", "nodeType": "VariableDeclaration", "scope": 7397, "src": "8208:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7383, "name": "address", "nodeType": "ElementaryTypeName", "src": "8208:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "8182:38:10" }, "returnParameters": { "id": 7389, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7388, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7397, "src": "8239:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7387, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7386, "name": "StdStorage", "nameLocations": [ "8239:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8239:10:10" }, "referencedDeclaration": 6388, "src": "8239:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8238:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7415, "nodeType": "FunctionDefinition", "src": "8323:152:10", "nodes": [], "body": { "id": 7414, "nodeType": "Block", "src": "8417:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7410, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7400, "src": "8458:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7411, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7402, "src": "8464:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 7408, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "8434:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7409, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8449:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 7002, "src": "8434:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" } }, "id": 7412, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8434:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7407, "id": 7413, "nodeType": "Return", "src": "8427:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8332:8:10", "parameters": { "id": 7403, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7400, "mutability": "mutable", "name": "self", "nameLocation": "8360:4:10", "nodeType": "VariableDeclaration", "scope": 7415, "src": "8341:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7399, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7398, "name": "StdStorage", "nameLocations": [ "8341:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8341:10:10" }, "referencedDeclaration": 6388, "src": "8341:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7402, "mutability": "mutable", "name": "amt", "nameLocation": "8374:3:10", "nodeType": "VariableDeclaration", "scope": 7415, "src": "8366:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7401, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8366:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8340:38:10" }, "returnParameters": { "id": 7407, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7406, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7415, "src": "8397:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7405, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7404, "name": "StdStorage", "nameLocations": [ "8397:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8397:10:10" }, "referencedDeclaration": 6388, "src": "8397:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8396:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7433, "nodeType": "FunctionDefinition", "src": "8481:152:10", "nodes": [], "body": { "id": 7432, "nodeType": "Block", "src": "8575:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7428, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7418, "src": "8616:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7429, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7420, "src": "8622:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 7426, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "8592:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8607:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 7024, "src": "8592:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)" } }, "id": 7430, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8592:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7425, "id": 7431, "nodeType": "Return", "src": "8585:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8490:8:10", "parameters": { "id": 7421, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7418, "mutability": "mutable", "name": "self", "nameLocation": "8518:4:10", "nodeType": "VariableDeclaration", "scope": 7433, "src": "8499:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7417, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7416, "name": "StdStorage", "nameLocations": [ "8499:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8499:10:10" }, "referencedDeclaration": 6388, "src": "8499:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7420, "mutability": "mutable", "name": "key", "nameLocation": "8532:3:10", "nodeType": "VariableDeclaration", "scope": 7433, "src": "8524:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7419, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8524:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "8498:38:10" }, "returnParameters": { "id": 7425, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7424, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7433, "src": "8555:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7423, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7422, "name": "StdStorage", "nameLocations": [ "8555:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8555:10:10" }, "referencedDeclaration": 6388, "src": "8555:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8554:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7451, "nodeType": "FunctionDefinition", "src": "8639:152:10", "nodes": [], "body": { "id": 7450, "nodeType": "Block", "src": "8733:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7446, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7436, "src": "8771:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7447, "name": "_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7438, "src": "8777:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 7444, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "8750:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8765:5:10", "memberName": "depth", "nodeType": "MemberAccess", "referencedDeclaration": 7044, "src": "8750:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$6388_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" } }, "id": 7448, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8750:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 7443, "id": 7449, "nodeType": "Return", "src": "8743:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "depth", "nameLocation": "8648:5:10", "parameters": { "id": 7439, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7436, "mutability": "mutable", "name": "self", "nameLocation": "8673:4:10", "nodeType": "VariableDeclaration", "scope": 7451, "src": "8654:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7435, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7434, "name": "StdStorage", "nameLocations": [ "8654:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8654:10:10" }, "referencedDeclaration": 6388, "src": "8654:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7438, "mutability": "mutable", "name": "_depth", "nameLocation": "8687:6:10", "nodeType": "VariableDeclaration", "scope": 7451, "src": "8679:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7437, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8679:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8653:41:10" }, "returnParameters": { "id": 7443, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7442, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7451, "src": "8713:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7441, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7440, "name": "StdStorage", "nameLocations": [ "8713:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8713:10:10" }, "referencedDeclaration": 6388, "src": "8713:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8712:20:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7474, "nodeType": "FunctionDefinition", "src": "8797:138:10", "nodes": [], "body": { "id": 7473, "nodeType": "Block", "src": "8867:68:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7460, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7454, "src": "8891:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "arguments": [ { "arguments": [ { "arguments": [ { "id": 7467, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7456, "src": "8921:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 7466, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8913:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 7465, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "8913:7:10", "typeDescriptions": {} } }, "id": 7468, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8913:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 7464, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8905:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 7463, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8905:7:10", "typeDescriptions": {} } }, "id": 7469, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8905:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7462, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8897:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7461, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8897:7:10", "typeDescriptions": {} } }, "id": 7470, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8897:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7459, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 7474, 7491, 7509, 7654 ], "referencedDeclaration": 7654, "src": "8877:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 7471, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8877:51:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7472, "nodeType": "ExpressionStatement", "src": "8877:51:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "8806:13:10", "parameters": { "id": 7457, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7454, "mutability": "mutable", "name": "self", "nameLocation": "8839:4:10", "nodeType": "VariableDeclaration", "scope": 7474, "src": "8820:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7453, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7452, "name": "StdStorage", "nameLocations": [ "8820:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8820:10:10" }, "referencedDeclaration": 6388, "src": "8820:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7456, "mutability": "mutable", "name": "who", "nameLocation": "8853:3:10", "nodeType": "VariableDeclaration", "scope": 7474, "src": "8845:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7455, "name": "address", "nodeType": "ElementaryTypeName", "src": "8845:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "8819:38:10" }, "returnParameters": { "id": 7458, "nodeType": "ParameterList", "parameters": [], "src": "8867:0:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7491, "nodeType": "FunctionDefinition", "src": "8941:120:10", "nodes": [], "body": { "id": 7490, "nodeType": "Block", "src": "9011:50:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7483, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7477, "src": "9035:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "arguments": [ { "id": 7486, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7479, "src": "9049:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7485, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9041:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7484, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9041:7:10", "typeDescriptions": {} } }, "id": 7487, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9041:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7482, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 7474, 7491, 7509, 7654 ], "referencedDeclaration": 7654, "src": "9021:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 7488, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9021:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7489, "nodeType": "ExpressionStatement", "src": "9021:33:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "8950:13:10", "parameters": { "id": 7480, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7477, "mutability": "mutable", "name": "self", "nameLocation": "8983:4:10", "nodeType": "VariableDeclaration", "scope": 7491, "src": "8964:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7476, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7475, "name": "StdStorage", "nameLocations": [ "8964:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "8964:10:10" }, "referencedDeclaration": 6388, "src": "8964:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7479, "mutability": "mutable", "name": "amt", "nameLocation": "8997:3:10", "nodeType": "VariableDeclaration", "scope": 7491, "src": "8989:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7478, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8989:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8963:38:10" }, "returnParameters": { "id": 7481, "nodeType": "ParameterList", "parameters": [], "src": "9011:0:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7509, "nodeType": "FunctionDefinition", "src": "9067:222:10", "nodes": [], "body": { "id": 7508, "nodeType": "Block", "src": "9136:153:10", "nodes": [], "statements": [ { "assignments": [ 7500 ], "declarations": [ { "constant": false, "id": 7500, "mutability": "mutable", "name": "t", "nameLocation": "9154:1:10", "nodeType": "VariableDeclaration", "scope": 7508, "src": "9146:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7499, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9146:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7501, "nodeType": "VariableDeclarationStatement", "src": "9146:9:10" }, { "AST": { "nodeType": "YulBlock", "src": "9217:34:10", "statements": [ { "nodeType": "YulAssignment", "src": "9231:10:10", "value": { "name": "write", "nodeType": "YulIdentifier", "src": "9236:5:10" }, "variableNames": [ { "name": "t", "nodeType": "YulIdentifier", "src": "9231:1:10" } ] } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 7500, "isOffset": false, "isSlot": false, "src": "9231:1:10", "valueSize": 1 }, { "declaration": 7496, "isOffset": false, "isSlot": false, "src": "9236:5:10", "valueSize": 1 } ], "id": 7502, "nodeType": "InlineAssembly", "src": "9208:43:10" }, { "expression": { "arguments": [ { "id": 7504, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7494, "src": "9274:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 7505, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7500, "src": "9280:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7503, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 7474, 7491, 7509, 7654 ], "referencedDeclaration": 7654, "src": "9260:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 7506, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9260:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7507, "nodeType": "ExpressionStatement", "src": "9260:22:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "9076:13:10", "parameters": { "id": 7497, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7494, "mutability": "mutable", "name": "self", "nameLocation": "9109:4:10", "nodeType": "VariableDeclaration", "scope": 7509, "src": "9090:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7493, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7492, "name": "StdStorage", "nameLocations": [ "9090:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "9090:10:10" }, "referencedDeclaration": 6388, "src": "9090:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7496, "mutability": "mutable", "name": "write", "nameLocation": "9120:5:10", "nodeType": "VariableDeclaration", "scope": 7509, "src": "9115:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 7495, "name": "bool", "nodeType": "ElementaryTypeName", "src": "9115:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "9089:37:10" }, "returnParameters": { "id": 7498, "nodeType": "ParameterList", "parameters": [], "src": "9136:0:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7654, "nodeType": "FunctionDefinition", "src": "9295:1095:10", "nodes": [], "body": { "id": 7653, "nodeType": "Block", "src": "9365:1025:10", "nodes": [], "statements": [ { "assignments": [ 7518 ], "declarations": [ { "constant": false, "id": 7518, "mutability": "mutable", "name": "who", "nameLocation": "9383:3:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9375:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7517, "name": "address", "nodeType": "ElementaryTypeName", "src": "9375:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 7521, "initialValue": { "expression": { "id": 7519, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9389:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7520, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9394:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "9389:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "9375:26:10" }, { "assignments": [ 7523 ], "declarations": [ { "constant": false, "id": 7523, "mutability": "mutable", "name": "fsig", "nameLocation": "9418:4:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9411:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 7522, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "9411:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "id": 7526, "initialValue": { "expression": { "id": 7524, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9425:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7525, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9430:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "9425:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", "src": "9411:23:10" }, { "assignments": [ 7528 ], "declarations": [ { "constant": false, "id": 7528, "mutability": "mutable", "name": "field_depth", "nameLocation": "9452:11:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9444:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7527, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9444:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7531, "initialValue": { "expression": { "id": 7529, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9466:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7530, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9471:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 6383, "src": "9466:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "9444:33:10" }, { "assignments": [ 7536 ], "declarations": [ { "constant": false, "id": 7536, "mutability": "mutable", "name": "ins", "nameLocation": "9504:3:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9487:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 7534, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9487:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7535, "nodeType": "ArrayTypeName", "src": "9487:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "id": 7539, "initialValue": { "expression": { "id": 7537, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9510:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7538, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9515:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "9510:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "9487:33:10" }, { "assignments": [ 7541 ], "declarations": [ { "constant": false, "id": 7541, "mutability": "mutable", "name": "cald", "nameLocation": "9544:4:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9531:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7540, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9531:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 7549, "initialValue": { "arguments": [ { "id": 7544, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7523, "src": "9568:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 7546, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7536, "src": "9582:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } ], "id": 7545, "name": "flatten", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7821, "src": "9574:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes32[] memory) pure returns (bytes memory)" } }, "id": 7547, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9574:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 7542, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9551:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7543, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9555:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9551:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 7548, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9551:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "9531:56:10" }, { "condition": { "id": 7564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9601:69:10", "subExpression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 7550, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9602:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7551, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9607:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 6376, "src": "9602:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" } }, "id": 7553, "indexExpression": { "id": 7552, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7518, "src": "9613:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9602:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 7555, "indexExpression": { "id": 7554, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7523, "src": "9618:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9602:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 7563, "indexExpression": { "arguments": [ { "arguments": [ { "id": 7559, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7536, "src": "9651:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 7560, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7528, "src": "9656:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 7557, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9634:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7558, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9638:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9634:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 7561, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9634:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 7556, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "9624:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 7562, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9624:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9602:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7570, "nodeType": "IfStatement", "src": "9597:110:10", "trueBody": { "id": 7569, "nodeType": "Block", "src": "9672:35:10", "statements": [ { "expression": { "arguments": [ { "id": 7566, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9691:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 7565, "name": "find", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7325, "src": "9686:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 7567, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9686:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7568, "nodeType": "ExpressionStatement", "src": "9686:10:10" } ] } }, { "assignments": [ 7572 ], "declarations": [ { "constant": false, "id": 7572, "mutability": "mutable", "name": "slot", "nameLocation": "9724:4:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9716:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7571, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9716:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7590, "initialValue": { "arguments": [ { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 7575, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "9739:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7576, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9744:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 6368, "src": "9739:10:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", "typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" } }, "id": 7578, "indexExpression": { "id": 7577, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7518, "src": "9750:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9739:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 7580, "indexExpression": { "id": 7579, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7523, "src": "9755:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9739:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 7588, "indexExpression": { "arguments": [ { "arguments": [ { "id": 7584, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7536, "src": "9788:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 7585, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7528, "src": "9793:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 7582, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9771:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 7583, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9775:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9771:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 7586, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9771:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 7581, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "9761:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 7587, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9761:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9739:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7574, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9731:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7573, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9731:7:10", "typeDescriptions": {} } }, "id": 7589, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9731:77:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "9716:92:10" }, { "assignments": [ 7592 ], "declarations": [ { "constant": false, "id": 7592, "mutability": "mutable", "name": "fdat", "nameLocation": "9827:4:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9819:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7591, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9819:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7593, "nodeType": "VariableDeclarationStatement", "src": "9819:12:10" }, { "id": 7610, "nodeType": "Block", "src": "9841:128:10", "statements": [ { "assignments": [ null, 7595 ], "declarations": [ null, { "constant": false, "id": 7595, "mutability": "mutable", "name": "rdat", "nameLocation": "9871:4:10", "nodeType": "VariableDeclaration", "scope": 7610, "src": "9858:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7594, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9858:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 7600, "initialValue": { "arguments": [ { "id": 7598, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7541, "src": "9894:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 7596, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7518, "src": "9879:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 7597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "9883:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "9879:14:10", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, "id": 7599, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9879:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "9855:44:10" }, { "expression": { "id": 7608, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7601, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7592, "src": "9913:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 7603, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7595, "src": "9935:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 7604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9941:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 7605, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7528, "src": "9946:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9941:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7602, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7780, "src": "9920:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes memory,uint256) pure returns (bytes32)" } }, "id": 7607, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9920:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "9913:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7609, "nodeType": "ExpressionStatement", "src": "9913:45:10" } ] }, { "assignments": [ 7612 ], "declarations": [ { "constant": false, "id": 7612, "mutability": "mutable", "name": "curr", "nameLocation": "9986:4:10", "nodeType": "VariableDeclaration", "scope": 7653, "src": "9978:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7611, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9978:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7618, "initialValue": { "arguments": [ { "id": 7615, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7518, "src": "10001:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 7616, "name": "slot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7572, "src": "10006:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 7613, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7298, "src": "9993:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 7614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "9996:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 8307, "src": "9993:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 7617, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9993:18:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "9978:33:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 7621, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7619, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7592, "src": "10026:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 7620, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7612, "src": "10034:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "10026:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7628, "nodeType": "IfStatement", "src": "10022:218:10", "trueBody": { "id": 7627, "nodeType": "Block", "src": "10040:200:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "66616c7365", "id": 7623, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "10079:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", "id": 7624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10102:113:10", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" }, "value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", "typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" } ], "id": 7622, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "10054:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 7625, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10054:175:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7626, "nodeType": "ExpressionStatement", "src": "10054:175:10" } ] } }, { "expression": { "arguments": [ { "id": 7632, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7518, "src": "10258:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 7633, "name": "slot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7572, "src": "10263:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 7634, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7514, "src": "10269:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 7629, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7298, "src": "10249:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$9256", "typeString": "contract Vm" } }, "id": 7631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10252:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 8967, "src": "10249:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 7635, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10249:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7636, "nodeType": "ExpressionStatement", "src": "10249:24:10" }, { "expression": { "id": 7639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10283:19:10", "subExpression": { "expression": { "id": 7637, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "10290:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7638, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10295:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 6385, "src": "10290:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7640, "nodeType": "ExpressionStatement", "src": "10283:19:10" }, { "expression": { "id": 7643, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10312:16:10", "subExpression": { "expression": { "id": 7641, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "10319:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7642, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10324:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 6381, "src": "10319:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7644, "nodeType": "ExpressionStatement", "src": "10312:16:10" }, { "expression": { "id": 7647, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10338:17:10", "subExpression": { "expression": { "id": 7645, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "10345:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7646, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10350:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 6379, "src": "10345:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7648, "nodeType": "ExpressionStatement", "src": "10338:17:10" }, { "expression": { "id": 7651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10365:18:10", "subExpression": { "expression": { "id": 7649, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7512, "src": "10372:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 7650, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10377:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 6383, "src": "10372:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7652, "nodeType": "ExpressionStatement", "src": "10365:18:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "9304:13:10", "parameters": { "id": 7515, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7512, "mutability": "mutable", "name": "self", "nameLocation": "9337:4:10", "nodeType": "VariableDeclaration", "scope": 7654, "src": "9318:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7511, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7510, "name": "StdStorage", "nameLocations": [ "9318:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "9318:10:10" }, "referencedDeclaration": 6388, "src": "9318:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 7514, "mutability": "mutable", "name": "set", "nameLocation": "9351:3:10", "nodeType": "VariableDeclaration", "scope": 7654, "src": "9343:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7513, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9343:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "9317:38:10" }, "returnParameters": { "id": 7516, "nodeType": "ParameterList", "parameters": [], "src": "9365:0:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7668, "nodeType": "FunctionDefinition", "src": "10396:131:10", "nodes": [], "body": { "id": 7667, "nodeType": "Block", "src": "10470:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7664, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7657, "src": "10515:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7662, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "10487:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7663, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10502:12:10", "memberName": "read_bytes32", "nodeType": "MemberAccess", "referencedDeclaration": 7095, "src": "10487:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bytes32_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes32)" } }, "id": 7665, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10487:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 7661, "id": 7666, "nodeType": "Return", "src": "10480:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bytes32", "nameLocation": "10405:12:10", "parameters": { "id": 7658, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7657, "mutability": "mutable", "name": "self", "nameLocation": "10437:4:10", "nodeType": "VariableDeclaration", "scope": 7668, "src": "10418:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7656, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7655, "name": "StdStorage", "nameLocations": [ "10418:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "10418:10:10" }, "referencedDeclaration": 6388, "src": "10418:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10417:25:10" }, "returnParameters": { "id": 7661, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7660, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7668, "src": "10461:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7659, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "10461:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "10460:9:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7682, "nodeType": "FunctionDefinition", "src": "10533:122:10", "nodes": [], "body": { "id": 7681, "nodeType": "Block", "src": "10601:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7678, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7671, "src": "10643:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7676, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "10618:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10633:9:10", "memberName": "read_bool", "nodeType": "MemberAccess", "referencedDeclaration": 7126, "src": "10618:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct StdStorage storage pointer) returns (bool)" } }, "id": 7679, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10618:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 7675, "id": 7680, "nodeType": "Return", "src": "10611:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bool", "nameLocation": "10542:9:10", "parameters": { "id": 7672, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7671, "mutability": "mutable", "name": "self", "nameLocation": "10571:4:10", "nodeType": "VariableDeclaration", "scope": 7682, "src": "10552:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7670, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7669, "name": "StdStorage", "nameLocations": [ "10552:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "10552:10:10" }, "referencedDeclaration": 6388, "src": "10552:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10551:25:10" }, "returnParameters": { "id": 7675, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7674, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7682, "src": "10595:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 7673, "name": "bool", "nodeType": "ElementaryTypeName", "src": "10595:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "10594:6:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7696, "nodeType": "FunctionDefinition", "src": "10661:131:10", "nodes": [], "body": { "id": 7695, "nodeType": "Block", "src": "10735:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7692, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7685, "src": "10780:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7690, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "10752:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7691, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10767:12:10", "memberName": "read_address", "nodeType": "MemberAccess", "referencedDeclaration": 7145, "src": "10752:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_address_$", "typeString": "function (struct StdStorage storage pointer) returns (address)" } }, "id": 7693, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10752:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7689, "id": 7694, "nodeType": "Return", "src": "10745:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_address", "nameLocation": "10670:12:10", "parameters": { "id": 7686, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7685, "mutability": "mutable", "name": "self", "nameLocation": "10702:4:10", "nodeType": "VariableDeclaration", "scope": 7696, "src": "10683:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7684, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7683, "name": "StdStorage", "nameLocations": [ "10683:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "10683:10:10" }, "referencedDeclaration": 6388, "src": "10683:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10682:25:10" }, "returnParameters": { "id": 7689, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7688, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7696, "src": "10726:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7687, "name": "address", "nodeType": "ElementaryTypeName", "src": "10726:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "10725:9:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7710, "nodeType": "FunctionDefinition", "src": "10798:125:10", "nodes": [], "body": { "id": 7709, "nodeType": "Block", "src": "10869:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7706, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7699, "src": "10911:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7704, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "10886:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7705, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10901:9:10", "memberName": "read_uint", "nodeType": "MemberAccess", "referencedDeclaration": 7164, "src": "10886:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 7707, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10886:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7703, "id": 7708, "nodeType": "Return", "src": "10879:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_uint", "nameLocation": "10807:9:10", "parameters": { "id": 7700, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7699, "mutability": "mutable", "name": "self", "nameLocation": "10836:4:10", "nodeType": "VariableDeclaration", "scope": 7710, "src": "10817:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7698, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7697, "name": "StdStorage", "nameLocations": [ "10817:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "10817:10:10" }, "referencedDeclaration": 6388, "src": "10817:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10816:25:10" }, "returnParameters": { "id": 7703, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7702, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7710, "src": "10860:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7701, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10860:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10859:9:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7724, "nodeType": "FunctionDefinition", "src": "10929:122:10", "nodes": [], "body": { "id": 7723, "nodeType": "Block", "src": "10998:53:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 7720, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7713, "src": "11039:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 7718, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7281, "src": "11015:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$7281_$", "typeString": "type(library stdStorageSafe)" } }, "id": 7719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11030:8:10", "memberName": "read_int", "nodeType": "MemberAccess", "referencedDeclaration": 7183, "src": "11015:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$6388_storage_ptr_$returns$_t_int256_$", "typeString": "function (struct StdStorage storage pointer) returns (int256)" } }, "id": 7721, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11015:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 7717, "id": 7722, "nodeType": "Return", "src": "11008:36:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_int", "nameLocation": "10938:8:10", "parameters": { "id": 7714, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7713, "mutability": "mutable", "name": "self", "nameLocation": "10966:4:10", "nodeType": "VariableDeclaration", "scope": 7724, "src": "10947:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 7712, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 7711, "name": "StdStorage", "nameLocations": [ "10947:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 6388, "src": "10947:10:10" }, "referencedDeclaration": 6388, "src": "10947:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$6388_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10946:25:10" }, "returnParameters": { "id": 7717, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7716, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7724, "src": "10990:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 7715, "name": "int256", "nodeType": "ElementaryTypeName", "src": "10990:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "10989:8:10" }, "scope": 7822, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 7780, "nodeType": "FunctionDefinition", "src": "11108:304:10", "nodes": [], "body": { "id": 7779, "nodeType": "Block", "src": "11195:217:10", "nodes": [], "statements": [ { "assignments": [ 7734 ], "declarations": [ { "constant": false, "id": 7734, "mutability": "mutable", "name": "out", "nameLocation": "11213:3:10", "nodeType": "VariableDeclaration", "scope": 7779, "src": "11205:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7733, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11205:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7735, "nodeType": "VariableDeclarationStatement", "src": "11205:11:10" }, { "assignments": [ 7737 ], "declarations": [ { "constant": false, "id": 7737, "mutability": "mutable", "name": "max", "nameLocation": "11235:3:10", "nodeType": "VariableDeclaration", "scope": 7779, "src": "11227:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7736, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11227:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7746, "initialValue": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 7738, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7726, "src": "11241:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7739, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11243:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11241:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "3332", "id": 7740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11252:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11241:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "expression": { "id": 7743, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7726, "src": "11262:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7744, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11264:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11262:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7745, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "11241:29:10", "trueExpression": { "hexValue": "3332", "id": 7742, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11257:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "11227:43:10" }, { "body": { "id": 7775, "nodeType": "Block", "src": "11314:72:10", "statements": [ { "expression": { "id": 7773, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7757, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7734, "src": "11328:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "|=", "rightHandSide": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 7772, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 7766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 7760, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7726, "src": "11343:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 7764, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7763, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7761, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7728, "src": "11345:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 7762, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7748, "src": "11354:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11345:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11343:13:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "30784646", "id": 7765, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11359:4:10", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xFF" }, "src": "11343:20:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "id": 7759, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "11335:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 7758, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11335:7:10", "typeDescriptions": {} } }, "id": 7767, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11335:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7770, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7768, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7748, "src": "11369:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "38", "id": 7769, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11373:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "11369:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 7771, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "11368:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11335:40:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "11328:47:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7774, "nodeType": "ExpressionStatement", "src": "11328:47:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7753, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7751, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7748, "src": "11300:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 7752, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7737, "src": "11304:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11300:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7776, "initializationExpression": { "assignments": [ 7748 ], "declarations": [ { "constant": false, "id": 7748, "mutability": "mutable", "name": "i", "nameLocation": "11293:1:10", "nodeType": "VariableDeclaration", "scope": 7776, "src": "11285:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7747, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11285:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7750, "initialValue": { "hexValue": "30", "id": 7749, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11297:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "11285:13:10" }, "loopExpression": { "expression": { "id": 7755, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "11309:3:10", "subExpression": { "id": 7754, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7748, "src": "11309:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7756, "nodeType": "ExpressionStatement", "src": "11309:3:10" }, "nodeType": "ForStatement", "src": "11280:106:10" }, { "expression": { "id": 7777, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7734, "src": "11402:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 7732, "id": 7778, "nodeType": "Return", "src": "11395:10:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nameLocation": "11117:14:10", "parameters": { "id": 7729, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7726, "mutability": "mutable", "name": "b", "nameLocation": "11145:1:10", "nodeType": "VariableDeclaration", "scope": 7780, "src": "11132:14:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7725, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11132:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 7728, "mutability": "mutable", "name": "offset", "nameLocation": "11156:6:10", "nodeType": "VariableDeclaration", "scope": 7780, "src": "11148:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7727, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11148:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "11131:32:10" }, "returnParameters": { "id": 7732, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7731, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7780, "src": "11186:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7730, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11186:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "11185:9:10" }, "scope": 7822, "stateMutability": "pure", "virtual": false, "visibility": "private" }, { "id": 7821, "nodeType": "FunctionDefinition", "src": "11469:393:10", "nodes": [], "body": { "id": 7820, "nodeType": "Block", "src": "11542:320:10", "nodes": [], "statements": [ { "assignments": [ 7789 ], "declarations": [ { "constant": false, "id": 7789, "mutability": "mutable", "name": "result", "nameLocation": "11565:6:10", "nodeType": "VariableDeclaration", "scope": 7820, "src": "11552:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7788, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11552:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 7797, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 7792, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7783, "src": "11584:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7793, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11586:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11584:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "3332", "id": 7794, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11595:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11584:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7791, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "11574:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 7790, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11578:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 7796, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11574:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "11552:46:10" }, { "body": { "id": 7816, "nodeType": "Block", "src": "11647:185:10", "statements": [ { "assignments": [ 7810 ], "declarations": [ { "constant": false, "id": 7810, "mutability": "mutable", "name": "k", "nameLocation": "11669:1:10", "nodeType": "VariableDeclaration", "scope": 7816, "src": "11661:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 7809, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11661:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 7814, "initialValue": { "baseExpression": { "id": 7811, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7783, "src": "11673:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7813, "indexExpression": { "id": 7812, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7799, "src": "11675:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11673:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "11661:16:10" }, { "AST": { "nodeType": "YulBlock", "src": "11747:75:10", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "result", "nodeType": "YulIdentifier", "src": "11776:6:10" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "11788:2:10", "type": "", "value": "32" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "11796:2:10", "type": "", "value": "32" }, { "name": "i", "nodeType": "YulIdentifier", "src": "11800:1:10" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", "src": "11792:3:10" }, "nodeType": "YulFunctionCall", "src": "11792:10:10" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "11784:3:10" }, "nodeType": "YulFunctionCall", "src": "11784:19:10" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "11772:3:10" }, "nodeType": "YulFunctionCall", "src": "11772:32:10" }, { "name": "k", "nodeType": "YulIdentifier", "src": "11806:1:10" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "11765:6:10" }, "nodeType": "YulFunctionCall", "src": "11765:43:10" }, "nodeType": "YulExpressionStatement", "src": "11765:43:10" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "london", "externalReferences": [ { "declaration": 7799, "isOffset": false, "isSlot": false, "src": "11800:1:10", "valueSize": 1 }, { "declaration": 7810, "isOffset": false, "isSlot": false, "src": "11806:1:10", "valueSize": 1 }, { "declaration": 7789, "isOffset": false, "isSlot": false, "src": "11776:6:10", "valueSize": 1 } ], "id": 7815, "nodeType": "InlineAssembly", "src": "11738:84:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7802, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7799, "src": "11628:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 7803, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7783, "src": "11632:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 7804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11634:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11632:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11628:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7817, "initializationExpression": { "assignments": [ 7799 ], "declarations": [ { "constant": false, "id": 7799, "mutability": "mutable", "name": "i", "nameLocation": "11621:1:10", "nodeType": "VariableDeclaration", "scope": 7817, "src": "11613:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7798, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11613:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7801, "initialValue": { "hexValue": "30", "id": 7800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11625:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "11613:13:10" }, "loopExpression": { "expression": { "id": 7807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "11642:3:10", "subExpression": { "id": 7806, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7799, "src": "11642:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7808, "nodeType": "ExpressionStatement", "src": "11642:3:10" }, "nodeType": "ForStatement", "src": "11608:224:10" }, { "expression": { "id": 7818, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7789, "src": "11849:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 7787, "id": 7819, "nodeType": "Return", "src": "11842:13:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "flatten", "nameLocation": "11478:7:10", "parameters": { "id": 7784, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7783, "mutability": "mutable", "name": "b", "nameLocation": "11503:1:10", "nodeType": "VariableDeclaration", "scope": 7821, "src": "11486:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 7781, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11486:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 7782, "nodeType": "ArrayTypeName", "src": "11486:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "src": "11485:20:10" }, "returnParameters": { "id": 7787, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7786, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 7821, "src": "11528:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7785, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11528:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "11527:14:10" }, "scope": 7822, "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "abstract": false, "baseContracts": [], "canonicalName": "stdStorage", "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, "linearizedBaseContracts": [ 7822 ], "name": "stdStorage", "nameLocation": "7345:10:10", "scope": 7823, "usedErrors": [] } ], "license": "MIT" }, "id": 10 }