{ "abi": [], "bytecode": { "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f066e1d8e5ab908a20937b029dfa91f4e1ad1f984eda01d3d406b36f4dd3d39464736f6c63430008160033", "sourceMap": "7339:4665:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4665:10;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f066e1d8e5ab908a20937b029dfa91f4e1ad1f984eda01d3d406b36f4dd3d39464736f6c63430008160033", "sourceMap": "7339:4665:10:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.22+commit.4fc1097e" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@uniswap/v3-core/=lib_uniswap/v3-core/", "@uniswap/v3-periphery/=lib_uniswap/v3-periphery/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v3-core/=lib_uniswap/v3-core/", "v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/" ], "optimizer": { "runs": 999999999, "details": { "peephole": true, "inliner": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": true, "yulDetails": { "stackAllocation": true, "optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu" } } }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/StdStorage.sol": "stdStorage" }, "libraries": {} }, "sources": { "lib/forge-std/src/StdStorage.sol": { "keccak256": "0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d", "urls": [ "bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26", "dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5", "urls": [ "bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c", "dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/StdStorage.sol", "id": 9828, "exportedSymbols": { "StdStorage": [ 8374 ], "Vm": [ 13464 ], "stdStorage": [ 9827 ], "stdStorageSafe": [ 9266 ] }, "nodeType": "SourceUnit", "src": "32:11973:10", "nodes": [ { "id": 8344, "nodeType": "PragmaDirective", "src": "32:31:10", "nodes": [], "literals": [ "solidity", ">=", "0.6", ".2", "<", "0.9", ".0" ] }, { "id": 8346, "nodeType": "ImportDirective", "src": "65:28:10", "nodes": [], "absolutePath": "lib/forge-std/src/Vm.sol", "file": "./Vm.sol", "nameLocation": "-1:-1:-1", "scope": 9828, "sourceUnit": 13465, "symbolAliases": [ { "foreign": { "id": 8345, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13464, "src": "73:2:10", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "id": 8374, "nodeType": "StructDefinition", "src": "95:271:10", "nodes": [], "canonicalName": "StdStorage", "members": [ { "constant": false, "id": 8354, "mutability": "mutable", "name": "slots", "nameLocation": "186:5:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "119: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": 8353, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8347, "name": "address", "nodeType": "ElementaryTypeName", "src": "127:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "119: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)))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8352, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8348, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "146:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Mapping", "src": "138:46:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8351, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8349, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "164:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "156:27:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8350, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "175:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } } } }, "visibility": "internal" }, { "constant": false, "id": 8362, "mutability": "mutable", "name": "finds", "nameLocation": "261:5:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "197: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": 8361, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8355, "name": "address", "nodeType": "ElementaryTypeName", "src": "205:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "197: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)))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8360, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8356, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "224:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Mapping", "src": "216:43:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8359, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 8357, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "242:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "234:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 8358, "name": "bool", "nodeType": "ElementaryTypeName", "src": "253:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } } } }, "visibility": "internal" }, { "constant": false, "id": 8365, "mutability": "mutable", "name": "_keys", "nameLocation": "282:5:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "272:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 8363, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "272:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 8364, "nodeType": "ArrayTypeName", "src": "272:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" }, { "constant": false, "id": 8367, "mutability": "mutable", "name": "_sig", "nameLocation": "300:4:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "293:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8366, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "293:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" }, { "constant": false, "id": 8369, "mutability": "mutable", "name": "_depth", "nameLocation": "318:6:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "310:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8368, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "310:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 8371, "mutability": "mutable", "name": "_target", "nameLocation": "338:7:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "330:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8370, "name": "address", "nodeType": "ElementaryTypeName", "src": "330:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 8373, "mutability": "mutable", "name": "_set", "nameLocation": "359:4:10", "nodeType": "VariableDeclaration", "scope": 8374, "src": "351:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8372, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "351:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "name": "StdStorage", "nameLocation": "102:10:10", "scope": 9828, "visibility": "public" }, { "id": 9266, "nodeType": "ContractDefinition", "src": "368:6969:10", "nodes": [ { "id": 8384, "nodeType": "EventDefinition", "src": "397:74:10", "nodes": [], "anonymous": false, "eventSelector": "9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed", "name": "SlotFound", "nameLocation": "403:9:10", "parameters": { "id": 8383, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8376, "indexed": false, "mutability": "mutable", "name": "who", "nameLocation": "421:3:10", "nodeType": "VariableDeclaration", "scope": 8384, "src": "413:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8375, "name": "address", "nodeType": "ElementaryTypeName", "src": "413:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 8378, "indexed": false, "mutability": "mutable", "name": "fsig", "nameLocation": "433:4:10", "nodeType": "VariableDeclaration", "scope": 8384, "src": "426:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8377, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "426:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" }, { "constant": false, "id": 8380, "indexed": false, "mutability": "mutable", "name": "keysHash", "nameLocation": "447:8:10", "nodeType": "VariableDeclaration", "scope": 8384, "src": "439:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8379, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "439:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 8382, "indexed": false, "mutability": "mutable", "name": "slot", "nameLocation": "465:4:10", "nodeType": "VariableDeclaration", "scope": 8384, "src": "457:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8381, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "457:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "412:58:10" } }, { "id": 8390, "nodeType": "EventDefinition", "src": "476:54:10", "nodes": [], "anonymous": false, "eventSelector": "080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5", "name": "WARNING_UninitedSlot", "nameLocation": "482:20:10", "parameters": { "id": 8389, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8386, "indexed": false, "mutability": "mutable", "name": "who", "nameLocation": "511:3:10", "nodeType": "VariableDeclaration", "scope": 8390, "src": "503:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8385, "name": "address", "nodeType": "ElementaryTypeName", "src": "503:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 8388, "indexed": false, "mutability": "mutable", "name": "slot", "nameLocation": "524:4:10", "nodeType": "VariableDeclaration", "scope": 8390, "src": "516:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8387, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "516:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "502:27:10" } }, { "id": 8407, "nodeType": "VariableDeclaration", "src": "536:84:10", "nodes": [], "constant": true, "mutability": "constant", "name": "vm", "nameLocation": "556:2:10", "scope": 9266, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" }, "typeName": { "id": 8392, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8391, "name": "Vm", "nameLocations": [ "536:2:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13464, "src": "536:2:10" }, "referencedDeclaration": 13464, "src": "536:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 8401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "598: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": 8400, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "588:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8402, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "588:28:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8399, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "580:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8398, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "580:7:10", "typeDescriptions": {} } }, "id": 8403, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "580:37:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8397, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "572:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 8396, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "572:7:10", "typeDescriptions": {} } }, "id": 8404, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "572:46:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 8395, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "564:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 8394, "name": "address", "nodeType": "ElementaryTypeName", "src": "564:7:10", "typeDescriptions": {} } }, "id": 8405, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "564:55:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 8393, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13464, "src": "561:2:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$13464_$", "typeString": "type(contract Vm)" } }, "id": 8406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "561:59:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "visibility": "private" }, { "id": 8425, "nodeType": "FunctionDefinition", "src": "627:123:10", "nodes": [], "body": { "id": 8424, "nodeType": "Block", "src": "694:56:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 8419, "name": "sigStr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8409, "src": "734:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 8418, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "728:5:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { "id": 8417, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "728:5:10", "typeDescriptions": {} } }, "id": 8420, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "728:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8416, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "718:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8421, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "718:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "711:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { "id": 8414, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "711:6:10", "typeDescriptions": {} } }, "id": 8422, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "711:32:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "functionReturnParameters": 8413, "id": 8423, "nodeType": "Return", "src": "704:39:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sigs", "nameLocation": "636:4:10", "parameters": { "id": 8410, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8409, "mutability": "mutable", "name": "sigStr", "nameLocation": "655:6:10", "nodeType": "VariableDeclaration", "scope": 8425, "src": "641:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 8408, "name": "string", "nodeType": "ElementaryTypeName", "src": "641:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "640:22:10" }, "returnParameters": { "id": 8413, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8412, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8425, "src": "686:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8411, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "686:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "685:8:10" }, "scope": 9266, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 8869, "nodeType": "FunctionDefinition", "src": "1264:3197:10", "nodes": [], "body": { "id": 8868, "nodeType": "Block", "src": "1330:3131:10", "nodes": [], "statements": [ { "assignments": [ 8435 ], "declarations": [ { "constant": false, "id": 8435, "mutability": "mutable", "name": "who", "nameLocation": "1348:3:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1340:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8434, "name": "address", "nodeType": "ElementaryTypeName", "src": "1340:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 8438, "initialValue": { "expression": { "id": 8436, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1354:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8437, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1359:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "1354:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "1340:26:10" }, { "assignments": [ 8440 ], "declarations": [ { "constant": false, "id": 8440, "mutability": "mutable", "name": "fsig", "nameLocation": "1383:4:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1376:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8439, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1376:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "id": 8443, "initialValue": { "expression": { "id": 8441, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1390:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8442, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1395:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "1390:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", "src": "1376:23:10" }, { "assignments": [ 8445 ], "declarations": [ { "constant": false, "id": 8445, "mutability": "mutable", "name": "field_depth", "nameLocation": "1417:11:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1409:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8444, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1409:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 8448, "initialValue": { "expression": { "id": 8446, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1431:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8447, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1436:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 8369, "src": "1431:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1409:33:10" }, { "assignments": [ 8453 ], "declarations": [ { "constant": false, "id": 8453, "mutability": "mutable", "name": "ins", "nameLocation": "1469:3:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1452:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 8451, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1452:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 8452, "nodeType": "ArrayTypeName", "src": "1452:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "id": 8456, "initialValue": { "expression": { "id": 8454, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1475:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8455, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1480:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "1475:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "1452:33:10" }, { "condition": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8457, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1536:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8458, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1541:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 8362, "src": "1536: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": 8460, "indexExpression": { "id": 8459, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "1547:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1536:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 8462, "indexExpression": { "id": 8461, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "1552:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1536:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 8470, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8466, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "1585:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8467, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "1590: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": 8464, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1568:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8465, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1572:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1568:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8468, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1568:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8463, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1558:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8469, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1558:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1536:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8487, "nodeType": "IfStatement", "src": "1532:174:10", "trueBody": { "id": 8486, "nodeType": "Block", "src": "1606:100:10", "statements": [ { "expression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8471, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "1627:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8472, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "1632:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 8354, "src": "1627: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": 8474, "indexExpression": { "id": 8473, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "1638:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1627:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 8476, "indexExpression": { "id": 8475, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "1643:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1627:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 8484, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8480, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "1676:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8481, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "1681: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": 8478, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1659:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8479, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1663:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1659:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8482, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1659:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8477, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1649:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8483, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1649:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1627:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 8433, "id": 8485, "nodeType": "Return", "src": "1620:75:10" } ] } }, { "assignments": [ 8489 ], "declarations": [ { "constant": false, "id": 8489, "mutability": "mutable", "name": "cald", "nameLocation": "1728:4:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1715:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 8488, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1715:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 8497, "initialValue": { "arguments": [ { "id": 8492, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "1752:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 8494, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "1766: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": 8493, "name": "flatten", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9265, "src": "1758: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": 8495, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1758: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": 8490, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "1735:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8491, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1739:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "1735:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8496, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1735:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "1715:56:10" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 8498, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "1781:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8500, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1784:6:10", "memberName": "record", "nodeType": "MemberAccess", "referencedDeclaration": 12312, "src": "1781:9:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", "typeString": "function () external" } }, "id": 8501, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1781:11:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8502, "nodeType": "ExpressionStatement", "src": "1781:11:10" }, { "assignments": [ 8504 ], "declarations": [ { "constant": false, "id": 8504, "mutability": "mutable", "name": "fdat", "nameLocation": "1810:4:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1802:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8503, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1802:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 8505, "nodeType": "VariableDeclarationStatement", "src": "1802:12:10" }, { "id": 8522, "nodeType": "Block", "src": "1824:128:10", "statements": [ { "assignments": [ null, 8507 ], "declarations": [ null, { "constant": false, "id": 8507, "mutability": "mutable", "name": "rdat", "nameLocation": "1854:4:10", "nodeType": "VariableDeclaration", "scope": 8522, "src": "1841:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 8506, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1841:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 8512, "initialValue": { "arguments": [ { "id": 8510, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8489, "src": "1877:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 8508, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "1862:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 8509, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1866:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "1862: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": 8511, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1862:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "1838:44:10" }, { "expression": { "id": 8520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 8513, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8504, "src": "1896:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 8515, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8507, "src": "1918:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 8516, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1924:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 8517, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "1929:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1924:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8514, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9224, "src": "1903: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": 8519, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1903:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "1896:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 8521, "nodeType": "ExpressionStatement", "src": "1896:45:10" } ] }, { "assignments": [ 8527, null ], "declarations": [ { "constant": false, "id": 8527, "mutability": "mutable", "name": "reads", "nameLocation": "1980:5:10", "nodeType": "VariableDeclaration", "scope": 8868, "src": "1963:22:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 8525, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1963:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 8526, "nodeType": "ArrayTypeName", "src": "1963:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" }, null ], "id": 8535, "initialValue": { "arguments": [ { "arguments": [ { "id": 8532, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2010:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 8531, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2002:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 8530, "name": "address", "nodeType": "ElementaryTypeName", "src": "2002:7:10", "typeDescriptions": {} } }, "id": 8533, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2002:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 8528, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "1990:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1993:8:10", "memberName": "accesses", "nodeType": "MemberAccess", "referencedDeclaration": 12323, "src": "1990: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": 8534, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1990: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": "1962:53:10" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8539, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 8536, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2029:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2035:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2029:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 8538, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2045:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2029:17:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8641, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 8638, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2786:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2792:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2786:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "31", "id": 8640, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2801:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2786:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 8816, "nodeType": "Block", "src": "3986:99:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e", "id": 8813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4007: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_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", "typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" } ], "id": 8812, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "4000:6:10", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 8814, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4000:74:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8815, "nodeType": "ExpressionStatement", "src": "4000:74:10" } ] }, "id": 8817, "nodeType": "IfStatement", "src": "2782:1303:10", "trueBody": { "id": 8811, "nodeType": "Block", "src": "2804:1176:10", "statements": [ { "body": { "id": 8809, "nodeType": "Block", "src": "2861:1109:10", "statements": [ { "assignments": [ 8654 ], "declarations": [ { "constant": false, "id": 8654, "mutability": "mutable", "name": "prev", "nameLocation": "2887:4:10", "nodeType": "VariableDeclaration", "scope": 8809, "src": "2879:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8653, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2879:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 8662, "initialValue": { "arguments": [ { "id": 8657, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2902:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 8658, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2907:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8660, "indexExpression": { "id": 8659, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "2913:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2907:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 8655, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "2894:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2897:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 11994, "src": "2894:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 8661, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2894:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "2879:37:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 8668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8663, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8654, "src": "2938:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "30", "id": 8666, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2954: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": 8665, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2946:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8664, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2946:7:10", "typeDescriptions": {} } }, "id": 8667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2946:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2938:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8680, "nodeType": "IfStatement", "src": "2934:114:10", "trueBody": { "id": 8679, "nodeType": "Block", "src": "2958:90:10", "statements": [ { "eventCall": { "arguments": [ { "id": 8670, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3006:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "baseExpression": { "id": 8673, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3019:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8675, "indexExpression": { "id": 8674, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3025:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3019:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8672, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3011:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8671, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3011:7:10", "typeDescriptions": {} } }, "id": 8676, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3011:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8669, "name": "WARNING_UninitedSlot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8390, "src": "2985:20:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 8677, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2985:44:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8678, "nodeType": "EmitStatement", "src": "2980:49:10" } ] } }, { "expression": { "arguments": [ { "id": 8684, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3099:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 8685, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3104:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8687, "indexExpression": { "id": 8686, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3110:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3104:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "hexValue": "1337", "id": 8690, "isConstant": false, "isLValue": false, "isPure": true, "kind": "hexString", "lValueRequested": false, "nodeType": "Literal", "src": "3122: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": 8689, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3114:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8688, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3114:7:10", "typeDescriptions": {} } }, "id": 8691, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3114: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": 8681, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "3090:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3093:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 13038, "src": "3090:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 8692, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3090:43:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8693, "nodeType": "ExpressionStatement", "src": "3090:43:10" }, { "assignments": [ 8695 ], "declarations": [ { "constant": false, "id": 8695, "mutability": "mutable", "name": "success", "nameLocation": "3156:7:10", "nodeType": "VariableDeclaration", "scope": 8809, "src": "3151:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 8694, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3151:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 8696, "nodeType": "VariableDeclarationStatement", "src": "3151:12:10" }, { "assignments": [ 8698 ], "declarations": [ { "constant": false, "id": 8698, "mutability": "mutable", "name": "rdat", "nameLocation": "3194:4:10", "nodeType": "VariableDeclaration", "scope": 8809, "src": "3181:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 8697, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3181:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 8699, "nodeType": "VariableDeclarationStatement", "src": "3181:17:10" }, { "id": 8718, "nodeType": "Block", "src": "3216:146:10", "statements": [ { "expression": { "id": 8707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "components": [ { "id": 8700, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8695, "src": "3239:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "id": 8701, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8698, "src": "3248:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "id": 8702, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "3238:15:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 8705, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8489, "src": "3271:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 8703, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3256:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 8704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3260:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "3256: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": 8706, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3256:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "src": "3238:38:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8708, "nodeType": "ExpressionStatement", "src": "3238:38:10" }, { "expression": { "id": 8716, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 8709, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8504, "src": "3298:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 8711, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8698, "src": "3320:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8714, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 8712, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3326:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 8713, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "3331:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3326:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8710, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9224, "src": "3305: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": 8715, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3305:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3298:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 8717, "nodeType": "ExpressionStatement", "src": "3298:45:10" } ] }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 8726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8719, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8695, "src": "3384:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 8725, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8720, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8504, "src": "3395:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "1337", "id": 8723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "hexString", "lValueRequested": false, "nodeType": "Literal", "src": "3411: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": 8722, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3403:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8721, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3403:7:10", "typeDescriptions": {} } }, "id": 8724, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3403:18:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "3395:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3384:37:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8798, "nodeType": "IfStatement", "src": "3380:529:10", "trueBody": { "id": 8797, "nodeType": "Block", "src": "3423:486:10", "statements": [ { "eventCall": { "arguments": [ { "id": 8728, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3529:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 8729, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "3534:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "arguments": [ { "id": 8733, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "3567:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8734, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "3572: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": 8731, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3550:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3554:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3550:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8735, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3550:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8730, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3540:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3540:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "baseExpression": { "id": 8739, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3595:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8741, "indexExpression": { "id": 8740, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3601:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3595:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8738, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3587:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8737, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3587:7:10", "typeDescriptions": {} } }, "id": 8742, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3587: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": 8727, "name": "SlotFound", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8384, "src": "3519:9:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (address,bytes4,bytes32,uint256)" } }, "id": 8743, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3519:86:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8744, "nodeType": "EmitStatement", "src": "3514:91:10" }, { "expression": { "id": 8766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8745, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "3627:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8756, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "3632:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 8354, "src": "3627: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": 8757, "indexExpression": { "id": 8747, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3638:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3627:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 8758, "indexExpression": { "id": 8748, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "3643:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3627:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 8759, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8752, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "3676:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8753, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "3681: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": 8750, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3659:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8751, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3663:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3659:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8754, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3659:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8749, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3649:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8755, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3649:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "3627:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "baseExpression": { "id": 8762, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3706:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8764, "indexExpression": { "id": 8763, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3712:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3706:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8761, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3698:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3698:7:10", "typeDescriptions": {} } }, "id": 8765, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3698:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3627:88:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 8767, "nodeType": "ExpressionStatement", "src": "3627:88:10" }, { "expression": { "id": 8784, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8768, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "3737:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8779, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "3742:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 8362, "src": "3737: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": 8780, "indexExpression": { "id": 8770, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3748:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3737:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 8781, "indexExpression": { "id": 8771, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "3753:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3737:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 8782, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8775, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "3786:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8776, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "3791: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": 8773, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3769:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8774, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3773:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3769:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8777, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3769:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8772, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3759:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8778, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3759:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "3737:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 8783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3808:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "3737:75:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8785, "nodeType": "ExpressionStatement", "src": "3737:75:10" }, { "expression": { "arguments": [ { "id": 8789, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3843:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 8790, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3848:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8792, "indexExpression": { "id": 8791, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3854:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3848:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 8793, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8654, "src": "3858: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": 8786, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "3834:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3837:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 13038, "src": "3834:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 8794, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3834:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8795, "nodeType": "ExpressionStatement", "src": "3834:29:10" }, { "id": 8796, "nodeType": "Break", "src": "3885:5:10" } ] } }, { "expression": { "arguments": [ { "id": 8802, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "3935:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 8803, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "3940:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8805, "indexExpression": { "id": 8804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "3946:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "3940:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 8806, "name": "prev", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8654, "src": "3950: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": 8799, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "3926:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3929:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 13038, "src": "3926:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 8807, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3926:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8808, "nodeType": "ExpressionStatement", "src": "3926:29:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8649, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8646, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "2838:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 8647, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2842:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8648, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2848:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "2842:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2838:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8810, "initializationExpression": { "assignments": [ 8643 ], "declarations": [ { "constant": false, "id": 8643, "mutability": "mutable", "name": "i", "nameLocation": "2831:1:10", "nodeType": "VariableDeclaration", "scope": 8810, "src": "2823:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8642, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2823:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 8645, "initialValue": { "hexValue": "30", "id": 8644, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2835:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "2823:13:10" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { "id": 8651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "2856:3:10", "subExpression": { "id": 8650, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8643, "src": "2856:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 8652, "nodeType": "ExpressionStatement", "src": "2856:3:10" }, "nodeType": "ForStatement", "src": "2818:1152:10" } ] } }, "id": 8818, "nodeType": "IfStatement", "src": "2025:2060:10", "trueBody": { "id": 8637, "nodeType": "Block", "src": "2048:728:10", "statements": [ { "assignments": [ 8541 ], "declarations": [ { "constant": false, "id": 8541, "mutability": "mutable", "name": "curr", "nameLocation": "2070:4:10", "nodeType": "VariableDeclaration", "scope": 8637, "src": "2062:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8540, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2062:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 8549, "initialValue": { "arguments": [ { "id": 8544, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2085:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "baseExpression": { "id": 8545, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2090:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8547, "indexExpression": { "hexValue": "30", "id": 8546, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2096: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": "2090:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 8542, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "2077:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 8543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2080:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 11994, "src": "2077:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 8548, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2077:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "2062:37:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 8555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8550, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8541, "src": "2117:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "30", "id": 8553, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2133: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": 8552, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2125:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8551, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2125:7:10", "typeDescriptions": {} } }, "id": 8554, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2125:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2117:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8567, "nodeType": "IfStatement", "src": "2113:106:10", "trueBody": { "id": 8566, "nodeType": "Block", "src": "2137:82:10", "statements": [ { "eventCall": { "arguments": [ { "id": 8557, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2181:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "baseExpression": { "id": 8560, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2194:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8562, "indexExpression": { "hexValue": "30", "id": 8561, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2200: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": "2194:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8559, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2186:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8558, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2186:7:10", "typeDescriptions": {} } }, "id": 8563, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2186:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8556, "name": "WARNING_UninitedSlot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8390, "src": "2160:20:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 8564, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2160:44:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8565, "nodeType": "EmitStatement", "src": "2155:49:10" } ] } }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 8570, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8568, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8504, "src": "2236:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 8569, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8541, "src": "2244:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "2236:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8577, "nodeType": "IfStatement", "src": "2232:238:10", "trueBody": { "id": 8576, "nodeType": "Block", "src": "2250:220:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "66616c7365", "id": 8572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2297:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", "id": 8573, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2324: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": 8571, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "2268:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 8574, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2268:187:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8575, "nodeType": "ExpressionStatement", "src": "2268:187:10" } ] } }, { "eventCall": { "arguments": [ { "id": 8579, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2498:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 8580, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "2503:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "arguments": [ { "id": 8584, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "2536:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8585, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "2541: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": 8582, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2519:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8583, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2523:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2519:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8586, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2519:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8581, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2509:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8587, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2509:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "baseExpression": { "id": 8590, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2564:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8592, "indexExpression": { "hexValue": "30", "id": 8591, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2570: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": "2564:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8589, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2556:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8588, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2556:7:10", "typeDescriptions": {} } }, "id": 8593, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2556: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": 8578, "name": "SlotFound", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8384, "src": "2488:9:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (address,bytes4,bytes32,uint256)" } }, "id": 8594, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2488:86:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8595, "nodeType": "EmitStatement", "src": "2483:91:10" }, { "expression": { "id": 8617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8596, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "2588:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8607, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "2593:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 8354, "src": "2588: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": 8608, "indexExpression": { "id": 8598, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2599:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2588:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 8609, "indexExpression": { "id": 8599, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "2604:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2588:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 8610, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8603, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "2637:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8604, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "2642: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": 8601, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2620:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8602, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2624:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2620:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8605, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2620:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8600, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2610:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8606, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2610:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2588:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "baseExpression": { "id": 8613, "name": "reads", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8527, "src": "2667:5:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 8615, "indexExpression": { "hexValue": "30", "id": 8614, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2673: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": "2667:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8612, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2659:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8611, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2659:7:10", "typeDescriptions": {} } }, "id": 8616, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2659:17:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2588:88:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 8618, "nodeType": "ExpressionStatement", "src": "2588:88:10" }, { "expression": { "id": 8635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8619, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "2690:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8630, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "2695:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 8362, "src": "2690: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": 8631, "indexExpression": { "id": 8621, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "2701:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2690:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 8632, "indexExpression": { "id": 8622, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "2706:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2690:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 8633, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8626, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "2739:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8627, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "2744: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": 8624, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2722:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8625, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2726:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2722:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8628, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2722:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8623, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2712:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8629, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2712:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2690:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 8634, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2761:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "2690:75:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8636, "nodeType": "ExpressionStatement", "src": "2690:75:10" } ] } }, { "expression": { "arguments": [ { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8820, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4116:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8821, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "4121:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 8362, "src": "4116: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": 8823, "indexExpression": { "id": 8822, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "4127:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4116:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 8825, "indexExpression": { "id": 8824, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "4132:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4116:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 8833, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8829, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "4165:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8830, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "4170: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": 8827, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4148:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8828, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4152:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4148:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8831, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4148:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8826, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "4138:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8832, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4138:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4116:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e", "id": 8834, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4198: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": 8819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4095:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 8835, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4095:162:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8836, "nodeType": "ExpressionStatement", "src": "4095:162:10" }, { "expression": { "id": 8839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4268:19:10", "subExpression": { "expression": { "id": 8837, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4275:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8838, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4280:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "4275:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8840, "nodeType": "ExpressionStatement", "src": "4268:19:10" }, { "expression": { "id": 8843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4297:16:10", "subExpression": { "expression": { "id": 8841, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4304:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8842, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4309:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "4304:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8844, "nodeType": "ExpressionStatement", "src": "4297:16:10" }, { "expression": { "id": 8847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4323:17:10", "subExpression": { "expression": { "id": 8845, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4330:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8846, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4335:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "4330:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8848, "nodeType": "ExpressionStatement", "src": "4323:17:10" }, { "expression": { "id": 8851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "4350:18:10", "subExpression": { "expression": { "id": 8849, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4357:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8850, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4362:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 8369, "src": "4357:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8852, "nodeType": "ExpressionStatement", "src": "4350:18:10" }, { "expression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 8853, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8429, "src": "4386:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8854, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "4391:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 8354, "src": "4386: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": 8856, "indexExpression": { "id": 8855, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8435, "src": "4397:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4386:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 8858, "indexExpression": { "id": 8857, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8440, "src": "4402:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4386:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 8866, "indexExpression": { "arguments": [ { "arguments": [ { "id": 8862, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8453, "src": "4435:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 8863, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8445, "src": "4440: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": 8860, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4418:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8861, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4422:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4418:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8864, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4418:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8859, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "4408:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8865, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4408:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "4386:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 8433, "id": 8867, "nodeType": "Return", "src": "4379:75:10" } ] }, "documentation": { "id": 8426, "nodeType": "StructuredDocumentation", "src": "756: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": "1273:4:10", "parameters": { "id": 8430, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8429, "mutability": "mutable", "name": "self", "nameLocation": "1297:4:10", "nodeType": "VariableDeclaration", "scope": 8869, "src": "1278:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8428, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8427, "name": "StdStorage", "nameLocations": [ "1278:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "1278:10:10" }, "referencedDeclaration": 8374, "src": "1278:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "1277:25:10" }, "returnParameters": { "id": 8433, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8432, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8869, "src": "1321:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8431, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1321:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1320:9:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 8889, "nodeType": "FunctionDefinition", "src": "4467:156:10", "nodes": [], "body": { "id": 8888, "nodeType": "Block", "src": "4563:60:10", "nodes": [], "statements": [ { "expression": { "id": 8884, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 8880, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8872, "src": "4573:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8882, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4578:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "4573:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 8883, "name": "_target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8874, "src": "4588:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "4573:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 8885, "nodeType": "ExpressionStatement", "src": "4573:22:10" }, { "expression": { "id": 8886, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8872, "src": "4612:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8879, "id": 8887, "nodeType": "Return", "src": "4605:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "target", "nameLocation": "4476:6:10", "parameters": { "id": 8875, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8872, "mutability": "mutable", "name": "self", "nameLocation": "4502:4:10", "nodeType": "VariableDeclaration", "scope": 8889, "src": "4483:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8871, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8870, "name": "StdStorage", "nameLocations": [ "4483:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4483:10:10" }, "referencedDeclaration": 8374, "src": "4483:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8874, "mutability": "mutable", "name": "_target", "nameLocation": "4516:7:10", "nodeType": "VariableDeclaration", "scope": 8889, "src": "4508:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8873, "name": "address", "nodeType": "ElementaryTypeName", "src": "4508:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4482:42:10" }, "returnParameters": { "id": 8879, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8878, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8889, "src": "4543:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8877, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8876, "name": "StdStorage", "nameLocations": [ "4543:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4543:10:10" }, "referencedDeclaration": 8374, "src": "4543:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4542:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 8909, "nodeType": "FunctionDefinition", "src": "4629:143:10", "nodes": [], "body": { "id": 8908, "nodeType": "Block", "src": "4718:54:10", "nodes": [], "statements": [ { "expression": { "id": 8904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 8900, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8892, "src": "4728:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8902, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4733:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "4728:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 8903, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8894, "src": "4740:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "4728:16:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "id": 8905, "nodeType": "ExpressionStatement", "src": "4728:16:10" }, { "expression": { "id": 8906, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8892, "src": "4761:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8899, "id": 8907, "nodeType": "Return", "src": "4754:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "4638:3:10", "parameters": { "id": 8895, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8892, "mutability": "mutable", "name": "self", "nameLocation": "4661:4:10", "nodeType": "VariableDeclaration", "scope": 8909, "src": "4642:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8891, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8890, "name": "StdStorage", "nameLocations": [ "4642:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4642:10:10" }, "referencedDeclaration": 8374, "src": "4642:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8894, "mutability": "mutable", "name": "_sig", "nameLocation": "4674:4:10", "nodeType": "VariableDeclaration", "scope": 8909, "src": "4667:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8893, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "4667:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "4641:38:10" }, "returnParameters": { "id": 8899, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8898, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8909, "src": "4698:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8897, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8896, "name": "StdStorage", "nameLocations": [ "4698:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4698:10:10" }, "referencedDeclaration": 8374, "src": "4698:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4697:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 8931, "nodeType": "FunctionDefinition", "src": "4778:156:10", "nodes": [], "body": { "id": 8930, "nodeType": "Block", "src": "4874:60:10", "nodes": [], "statements": [ { "expression": { "id": 8926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 8920, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8912, "src": "4884:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8922, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "4889:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "4884:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 8924, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8914, "src": "4901:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 8923, "name": "sigs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8425, "src": "4896:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", "typeString": "function (string memory) pure returns (bytes4)" } }, "id": 8925, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4896:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "4884:22:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "id": 8927, "nodeType": "ExpressionStatement", "src": "4884:22:10" }, { "expression": { "id": 8928, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8912, "src": "4923:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8919, "id": 8929, "nodeType": "Return", "src": "4916:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "4787:3:10", "parameters": { "id": 8915, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8912, "mutability": "mutable", "name": "self", "nameLocation": "4810:4:10", "nodeType": "VariableDeclaration", "scope": 8931, "src": "4791:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8911, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8910, "name": "StdStorage", "nameLocations": [ "4791:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4791:10:10" }, "referencedDeclaration": 8374, "src": "4791:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8914, "mutability": "mutable", "name": "_sig", "nameLocation": "4830:4:10", "nodeType": "VariableDeclaration", "scope": 8931, "src": "4816:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 8913, "name": "string", "nodeType": "ElementaryTypeName", "src": "4816:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "4790:45:10" }, "returnParameters": { "id": 8919, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8918, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8931, "src": "4854:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8917, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8916, "name": "StdStorage", "nameLocations": [ "4854:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4854:10:10" }, "referencedDeclaration": 8374, "src": "4854:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "4853:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 8962, "nodeType": "FunctionDefinition", "src": "4940:179:10", "nodes": [], "body": { "id": 8961, "nodeType": "Block", "src": "5034:85:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "id": 8953, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8936, "src": "5084:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 8952, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5076:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 8951, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "5076:7:10", "typeDescriptions": {} } }, "id": 8954, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5076:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 8950, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5068:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5068:7:10", "typeDescriptions": {} } }, "id": 8955, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5068:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5060:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8947, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5060:7:10", "typeDescriptions": {} } }, "id": 8956, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5060:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 8942, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8934, "src": "5044:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8945, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5049:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "5044:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 8946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5055:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5044:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 8957, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5044:47:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8958, "nodeType": "ExpressionStatement", "src": "5044:47:10" }, { "expression": { "id": 8959, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8934, "src": "5108:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8941, "id": 8960, "nodeType": "Return", "src": "5101:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "4949:8:10", "parameters": { "id": 8937, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8934, "mutability": "mutable", "name": "self", "nameLocation": "4977:4:10", "nodeType": "VariableDeclaration", "scope": 8962, "src": "4958:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8933, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8932, "name": "StdStorage", "nameLocations": [ "4958:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "4958:10:10" }, "referencedDeclaration": 8374, "src": "4958:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8936, "mutability": "mutable", "name": "who", "nameLocation": "4991:3:10", "nodeType": "VariableDeclaration", "scope": 8962, "src": "4983:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8935, "name": "address", "nodeType": "ElementaryTypeName", "src": "4983:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4957:38:10" }, "returnParameters": { "id": 8941, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8940, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8962, "src": "5014:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8939, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8938, "name": "StdStorage", "nameLocations": [ "5014:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5014:10:10" }, "referencedDeclaration": 8374, "src": "5014:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5013:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 8987, "nodeType": "FunctionDefinition", "src": "5125:161:10", "nodes": [], "body": { "id": 8986, "nodeType": "Block", "src": "5219:67:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 8980, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8967, "src": "5253:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8979, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5245:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 8978, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5245:7:10", "typeDescriptions": {} } }, "id": 8981, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5245:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 8973, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8965, "src": "5229:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 8976, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5234:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "5229:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 8977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5240:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5229:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 8982, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5229:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8983, "nodeType": "ExpressionStatement", "src": "5229:29:10" }, { "expression": { "id": 8984, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8965, "src": "5275:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8972, "id": 8985, "nodeType": "Return", "src": "5268:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "5134:8:10", "parameters": { "id": 8968, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8965, "mutability": "mutable", "name": "self", "nameLocation": "5162:4:10", "nodeType": "VariableDeclaration", "scope": 8987, "src": "5143:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8964, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8963, "name": "StdStorage", "nameLocations": [ "5143:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5143:10:10" }, "referencedDeclaration": 8374, "src": "5143:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8967, "mutability": "mutable", "name": "amt", "nameLocation": "5176:3:10", "nodeType": "VariableDeclaration", "scope": 8987, "src": "5168:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5168:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5142:38:10" }, "returnParameters": { "id": 8972, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8971, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8987, "src": "5199:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8970, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8969, "name": "StdStorage", "nameLocations": [ "5199:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5199:10:10" }, "referencedDeclaration": 8374, "src": "5199:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5198:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9009, "nodeType": "FunctionDefinition", "src": "5292:152:10", "nodes": [], "body": { "id": 9008, "nodeType": "Block", "src": "5386:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9003, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8992, "src": "5412:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "expression": { "id": 8998, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8990, "src": "5396:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9001, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5401:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "5396:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "id": 9002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5407:4:10", "memberName": "push", "nodeType": "MemberAccess", "src": "5396:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", "typeString": "function (bytes32[] storage pointer,bytes32)" } }, "id": 9004, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5396:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9005, "nodeType": "ExpressionStatement", "src": "5396:20:10" }, { "expression": { "id": 9006, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8990, "src": "5433:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 8997, "id": 9007, "nodeType": "Return", "src": "5426:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "5301:8:10", "parameters": { "id": 8993, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8990, "mutability": "mutable", "name": "self", "nameLocation": "5329:4:10", "nodeType": "VariableDeclaration", "scope": 9009, "src": "5310:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8989, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8988, "name": "StdStorage", "nameLocations": [ "5310:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5310:10:10" }, "referencedDeclaration": 8374, "src": "5310:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 8992, "mutability": "mutable", "name": "key", "nameLocation": "5343:3:10", "nodeType": "VariableDeclaration", "scope": 9009, "src": "5335:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8991, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5335:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "5309:38:10" }, "returnParameters": { "id": 8997, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8996, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9009, "src": "5366:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 8995, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8994, "name": "StdStorage", "nameLocations": [ "5366:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5366:10:10" }, "referencedDeclaration": 8374, "src": "5366:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5365:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9029, "nodeType": "FunctionDefinition", "src": "5450:152:10", "nodes": [], "body": { "id": 9028, "nodeType": "Block", "src": "5544:58:10", "nodes": [], "statements": [ { "expression": { "id": 9024, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { "id": 9020, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9012, "src": "5554:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9022, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "5559:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 8369, "src": "5554:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 9023, "name": "_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9014, "src": "5568:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5554:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9025, "nodeType": "ExpressionStatement", "src": "5554:20:10" }, { "expression": { "id": 9026, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9012, "src": "5591:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9019, "id": 9027, "nodeType": "Return", "src": "5584:11:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "depth", "nameLocation": "5459:5:10", "parameters": { "id": 9015, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9012, "mutability": "mutable", "name": "self", "nameLocation": "5484:4:10", "nodeType": "VariableDeclaration", "scope": 9029, "src": "5465:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9011, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9010, "name": "StdStorage", "nameLocations": [ "5465:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5465:10:10" }, "referencedDeclaration": 8374, "src": "5465:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9014, "mutability": "mutable", "name": "_depth", "nameLocation": "5498:6:10", "nodeType": "VariableDeclaration", "scope": 9029, "src": "5490:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9013, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5490:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5464:41:10" }, "returnParameters": { "id": 9019, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9018, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9029, "src": "5524:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9017, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9016, "name": "StdStorage", "nameLocations": [ "5524:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5524:10:10" }, "referencedDeclaration": 8374, "src": "5524:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5523:20:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9061, "nodeType": "FunctionDefinition", "src": "5608:194:10", "nodes": [], "body": { "id": 9060, "nodeType": "Block", "src": "5678:124:10", "nodes": [], "statements": [ { "assignments": [ 9038 ], "declarations": [ { "constant": false, "id": 9038, "mutability": "mutable", "name": "t", "nameLocation": "5696:1:10", "nodeType": "VariableDeclaration", "scope": 9060, "src": "5688:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9037, "name": "address", "nodeType": "ElementaryTypeName", "src": "5688:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 9041, "initialValue": { "expression": { "id": 9039, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9032, "src": "5700:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9040, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "5705:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "5700:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "5688:24:10" }, { "assignments": [ 9043 ], "declarations": [ { "constant": false, "id": 9043, "mutability": "mutable", "name": "s", "nameLocation": "5730:1:10", "nodeType": "VariableDeclaration", "scope": 9060, "src": "5722:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9042, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5722:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9047, "initialValue": { "arguments": [ { "id": 9045, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9032, "src": "5739:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9044, "name": "find", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8869, "src": "5734:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 9046, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5734:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "5722:22:10" }, { "expression": { "arguments": [ { "arguments": [ { "id": 9052, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9038, "src": "5780:1:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "id": 9055, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9043, "src": "5791:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9054, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5783:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9053, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5783:7:10", "typeDescriptions": {} } }, "id": 9056, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5783:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 9050, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8407, "src": "5772:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 9051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "5775:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 11994, "src": "5772:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 9057, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5772:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 9048, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "5761:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9049, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "5765:6:10", "memberName": "encode", "nodeType": "MemberAccess", "src": "5761:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 9058, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5761:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 9036, "id": 9059, "nodeType": "Return", "src": "5754:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read", "nameLocation": "5617:4:10", "parameters": { "id": 9033, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9032, "mutability": "mutable", "name": "self", "nameLocation": "5641:4:10", "nodeType": "VariableDeclaration", "scope": 9061, "src": "5622:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9031, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9030, "name": "StdStorage", "nameLocations": [ "5622:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5622:10:10" }, "referencedDeclaration": 8374, "src": "5622:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5621:25:10" }, "returnParameters": { "id": 9036, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9035, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9061, "src": "5664:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9034, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5664:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "5663:14:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "id": 9080, "nodeType": "FunctionDefinition", "src": "5808:131:10", "nodes": [], "body": { "id": 9079, "nodeType": "Block", "src": "5882:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 9072, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9064, "src": "5915:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9071, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9061, "src": "5910:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 9073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5910:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 9075, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "5923:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9074, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5923:7:10", "typeDescriptions": {} } } ], "id": 9076, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "5922: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": 9069, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "5899:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "5903:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "5899:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 9077, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5899:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 9068, "id": 9078, "nodeType": "Return", "src": "5892:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bytes32", "nameLocation": "5817:12:10", "parameters": { "id": 9065, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9064, "mutability": "mutable", "name": "self", "nameLocation": "5849:4:10", "nodeType": "VariableDeclaration", "scope": 9080, "src": "5830:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9063, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9062, "name": "StdStorage", "nameLocations": [ "5830:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5830:10:10" }, "referencedDeclaration": 8374, "src": "5830:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5829:25:10" }, "returnParameters": { "id": 9068, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9067, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9080, "src": "5873:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9066, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5873:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "5872:9:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9111, "nodeType": "FunctionDefinition", "src": "5945:279:10", "nodes": [], "body": { "id": 9110, "nodeType": "Block", "src": "6013:211:10", "nodes": [], "statements": [ { "assignments": [ 9089 ], "declarations": [ { "constant": false, "id": 9089, "mutability": "mutable", "name": "v", "nameLocation": "6030:1:10", "nodeType": "VariableDeclaration", "scope": 9110, "src": "6023:8:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 9088, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6023:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "id": 9093, "initialValue": { "arguments": [ { "id": 9091, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9083, "src": "6043:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9090, "name": "read_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9168, "src": "6034:8:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_int256_$", "typeString": "function (struct StdStorage storage pointer) returns (int256)" } }, "id": 9092, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6034:14:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "VariableDeclarationStatement", "src": "6023:25:10" }, { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 9096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9094, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9089, "src": "6062:1:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 9095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6067:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "6062:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9099, "nodeType": "IfStatement", "src": "6058:24:10", "trueBody": { "expression": { "hexValue": "66616c7365", "id": 9097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "6077:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "functionReturnParameters": 9087, "id": 9098, "nodeType": "Return", "src": "6070:12:10" } }, { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 9102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9100, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9089, "src": "6096:1:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 9101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6101:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6096:6:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9105, "nodeType": "IfStatement", "src": "6092:23:10", "trueBody": { "expression": { "hexValue": "74727565", "id": 9103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "6111:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 9087, "id": 9104, "nodeType": "Return", "src": "6104:11:10" } }, { "expression": { "arguments": [ { "hexValue": "73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e", "id": 9107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6132: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": 9106, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "6125:6:10", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 9108, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6125:92:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9109, "nodeType": "ExpressionStatement", "src": "6125:92:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bool", "nameLocation": "5954:9:10", "parameters": { "id": 9084, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9083, "mutability": "mutable", "name": "self", "nameLocation": "5983:4:10", "nodeType": "VariableDeclaration", "scope": 9111, "src": "5964:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9082, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9081, "name": "StdStorage", "nameLocations": [ "5964:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "5964:10:10" }, "referencedDeclaration": 8374, "src": "5964:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "5963:25:10" }, "returnParameters": { "id": 9087, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9086, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9111, "src": "6007:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 9085, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6007:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "6006:6:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9130, "nodeType": "FunctionDefinition", "src": "6230:131:10", "nodes": [], "body": { "id": 9129, "nodeType": "Block", "src": "6304:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 9122, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9114, "src": "6337:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9121, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9061, "src": "6332:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 9123, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6332:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 9125, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6345:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 9124, "name": "address", "nodeType": "ElementaryTypeName", "src": "6345:7:10", "typeDescriptions": {} } } ], "id": 9126, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6344: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": 9119, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6321:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9120, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6325:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6321:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 9127, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6321:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "functionReturnParameters": 9118, "id": 9128, "nodeType": "Return", "src": "6314:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_address", "nameLocation": "6239:12:10", "parameters": { "id": 9115, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9114, "mutability": "mutable", "name": "self", "nameLocation": "6271:4:10", "nodeType": "VariableDeclaration", "scope": 9130, "src": "6252:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9113, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9112, "name": "StdStorage", "nameLocations": [ "6252:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "6252:10:10" }, "referencedDeclaration": 8374, "src": "6252:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6251:25:10" }, "returnParameters": { "id": 9118, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9117, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9130, "src": "6295:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9116, "name": "address", "nodeType": "ElementaryTypeName", "src": "6295:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "6294:9:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9149, "nodeType": "FunctionDefinition", "src": "6367:128:10", "nodes": [], "body": { "id": 9148, "nodeType": "Block", "src": "6438:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 9141, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9133, "src": "6471:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9140, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9061, "src": "6466:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 9142, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6466:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 9144, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6479:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 9143, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6479:7:10", "typeDescriptions": {} } } ], "id": 9145, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6478: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": 9138, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6455:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9139, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6459:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6455:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 9146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6455:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 9137, "id": 9147, "nodeType": "Return", "src": "6448:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_uint", "nameLocation": "6376:9:10", "parameters": { "id": 9134, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9133, "mutability": "mutable", "name": "self", "nameLocation": "6405:4:10", "nodeType": "VariableDeclaration", "scope": 9149, "src": "6386:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9132, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9131, "name": "StdStorage", "nameLocations": [ "6386:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "6386:10:10" }, "referencedDeclaration": 8374, "src": "6386:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6385:25:10" }, "returnParameters": { "id": 9137, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9136, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9149, "src": "6429:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9135, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6429:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6428:9:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9168, "nodeType": "FunctionDefinition", "src": "6501:125:10", "nodes": [], "body": { "id": 9167, "nodeType": "Block", "src": "6570:56:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "id": 9160, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9152, "src": "6603:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9159, "name": "read", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9061, "src": "6598:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" } }, "id": 9161, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6598:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 9163, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6611:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_int256_$", "typeString": "type(int256)" }, "typeName": { "id": 9162, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6611:6:10", "typeDescriptions": {} } } ], "id": 9164, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6610: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": 9157, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "6587:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9158, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "6591:6:10", "memberName": "decode", "nodeType": "MemberAccess", "src": "6587:10:10", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 9165, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6587:32:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 9156, "id": 9166, "nodeType": "Return", "src": "6580:39:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_int", "nameLocation": "6510:8:10", "parameters": { "id": 9153, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9152, "mutability": "mutable", "name": "self", "nameLocation": "6538:4:10", "nodeType": "VariableDeclaration", "scope": 9168, "src": "6519:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9151, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9150, "name": "StdStorage", "nameLocations": [ "6519:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "6519:10:10" }, "referencedDeclaration": 8374, "src": "6519:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "6518:25:10" }, "returnParameters": { "id": 9156, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9155, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9168, "src": "6562:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 9154, "name": "int256", "nodeType": "ElementaryTypeName", "src": "6562:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "6561:8:10" }, "scope": 9266, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9224, "nodeType": "FunctionDefinition", "src": "6632:304:10", "nodes": [], "body": { "id": 9223, "nodeType": "Block", "src": "6719:217:10", "nodes": [], "statements": [ { "assignments": [ 9178 ], "declarations": [ { "constant": false, "id": 9178, "mutability": "mutable", "name": "out", "nameLocation": "6737:3:10", "nodeType": "VariableDeclaration", "scope": 9223, "src": "6729:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9177, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6729:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9179, "nodeType": "VariableDeclarationStatement", "src": "6729:11:10" }, { "assignments": [ 9181 ], "declarations": [ { "constant": false, "id": 9181, "mutability": "mutable", "name": "max", "nameLocation": "6759:3:10", "nodeType": "VariableDeclaration", "scope": 9223, "src": "6751:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9180, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6751:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9190, "initialValue": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9182, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9170, "src": "6765:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9183, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "6767:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "6765:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "3332", "id": 9184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6776:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "6765:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "expression": { "id": 9187, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9170, "src": "6786:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "6788:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "6786:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "6765:29:10", "trueExpression": { "hexValue": "3332", "id": 9186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6781:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "6751:43:10" }, { "body": { "id": 9219, "nodeType": "Block", "src": "6838:72:10", "statements": [ { "expression": { "id": 9217, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 9201, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9178, "src": "6852:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "|=", "rightHandSide": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 9216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 9210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 9204, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9170, "src": "6867:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9208, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9205, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9172, "src": "6869:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 9206, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9192, "src": "6878:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6869:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6867:13:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "30784646", "id": 9209, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6883:4:10", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xFF" }, "src": "6867:20:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "id": 9203, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "6859:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9202, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6859:7:10", "typeDescriptions": {} } }, "id": 9211, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6859:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9212, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9192, "src": "6893:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "38", "id": 9213, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6897:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "6893:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 9215, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "6892:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6859:40:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "6852:47:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9218, "nodeType": "ExpressionStatement", "src": "6852:47:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9195, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9192, "src": "6824:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 9196, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9181, "src": "6828:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6824:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9220, "initializationExpression": { "assignments": [ 9192 ], "declarations": [ { "constant": false, "id": 9192, "mutability": "mutable", "name": "i", "nameLocation": "6817:1:10", "nodeType": "VariableDeclaration", "scope": 9220, "src": "6809:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9191, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6809:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9194, "initialValue": { "hexValue": "30", "id": 9193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6821:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "6809:13:10" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { "id": 9199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "6833:3:10", "subExpression": { "id": 9198, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9192, "src": "6833:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9200, "nodeType": "ExpressionStatement", "src": "6833:3:10" }, "nodeType": "ForStatement", "src": "6804:106:10" }, { "expression": { "id": 9221, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9178, "src": "6926:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 9176, "id": 9222, "nodeType": "Return", "src": "6919:10:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nameLocation": "6641:14:10", "parameters": { "id": 9173, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9170, "mutability": "mutable", "name": "b", "nameLocation": "6669:1:10", "nodeType": "VariableDeclaration", "scope": 9224, "src": "6656:14:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9169, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6656:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 9172, "mutability": "mutable", "name": "offset", "nameLocation": "6680:6:10", "nodeType": "VariableDeclaration", "scope": 9224, "src": "6672:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9171, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6672:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6655:32:10" }, "returnParameters": { "id": 9176, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9175, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9224, "src": "6710:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9174, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6710:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "6709:9:10" }, "scope": 9266, "stateMutability": "pure", "virtual": false, "visibility": "private" }, { "id": 9265, "nodeType": "FunctionDefinition", "src": "6942:393:10", "nodes": [], "body": { "id": 9264, "nodeType": "Block", "src": "7015:320:10", "nodes": [], "statements": [ { "assignments": [ 9233 ], "declarations": [ { "constant": false, "id": 9233, "mutability": "mutable", "name": "result", "nameLocation": "7038:6:10", "nodeType": "VariableDeclaration", "scope": 9264, "src": "7025:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9232, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7025:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 9241, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9239, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9236, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9227, "src": "7057:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7059:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "7057:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "3332", "id": 9238, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7068:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "7057:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9235, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "7047:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 9234, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7051:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 9240, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7047:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "7025:46:10" }, { "body": { "id": 9260, "nodeType": "Block", "src": "7120:185:10", "statements": [ { "assignments": [ 9254 ], "declarations": [ { "constant": false, "id": 9254, "mutability": "mutable", "name": "k", "nameLocation": "7142:1:10", "nodeType": "VariableDeclaration", "scope": 9260, "src": "7134:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9253, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7134:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9258, "initialValue": { "baseExpression": { "id": 9255, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9227, "src": "7146:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9257, "indexExpression": { "id": 9256, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9243, "src": "7148:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7146:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "7134:16:10" }, { "AST": { "nativeSrc": "7220:75:10", "nodeType": "YulBlock", "src": "7220:75:10", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "result", "nativeSrc": "7249:6:10", "nodeType": "YulIdentifier", "src": "7249:6:10" }, { "arguments": [ { "kind": "number", "nativeSrc": "7261:2:10", "nodeType": "YulLiteral", "src": "7261:2:10", "type": "", "value": "32" }, { "arguments": [ { "kind": "number", "nativeSrc": "7269:2:10", "nodeType": "YulLiteral", "src": "7269:2:10", "type": "", "value": "32" }, { "name": "i", "nativeSrc": "7273:1:10", "nodeType": "YulIdentifier", "src": "7273:1:10" } ], "functionName": { "name": "mul", "nativeSrc": "7265:3:10", "nodeType": "YulIdentifier", "src": "7265:3:10" }, "nativeSrc": "7265:10:10", "nodeType": "YulFunctionCall", "src": "7265:10:10" } ], "functionName": { "name": "add", "nativeSrc": "7257:3:10", "nodeType": "YulIdentifier", "src": "7257:3:10" }, "nativeSrc": "7257:19:10", "nodeType": "YulFunctionCall", "src": "7257:19:10" } ], "functionName": { "name": "add", "nativeSrc": "7245:3:10", "nodeType": "YulIdentifier", "src": "7245:3:10" }, "nativeSrc": "7245:32:10", "nodeType": "YulFunctionCall", "src": "7245:32:10" }, { "name": "k", "nativeSrc": "7279:1:10", "nodeType": "YulIdentifier", "src": "7279:1:10" } ], "functionName": { "name": "mstore", "nativeSrc": "7238:6:10", "nodeType": "YulIdentifier", "src": "7238:6:10" }, "nativeSrc": "7238:43:10", "nodeType": "YulFunctionCall", "src": "7238:43:10" }, "nativeSrc": "7238:43:10", "nodeType": "YulExpressionStatement", "src": "7238:43:10" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [ { "declaration": 9243, "isOffset": false, "isSlot": false, "src": "7273:1:10", "valueSize": 1 }, { "declaration": 9254, "isOffset": false, "isSlot": false, "src": "7279:1:10", "valueSize": 1 }, { "declaration": 9233, "isOffset": false, "isSlot": false, "src": "7249:6:10", "valueSize": 1 } ], "id": 9259, "nodeType": "InlineAssembly", "src": "7211:84:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9246, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9243, "src": "7101:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 9247, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9227, "src": "7105:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7107:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "7105:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7101:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9261, "initializationExpression": { "assignments": [ 9243 ], "declarations": [ { "constant": false, "id": 9243, "mutability": "mutable", "name": "i", "nameLocation": "7094:1:10", "nodeType": "VariableDeclaration", "scope": 9261, "src": "7086:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9242, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7086:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9245, "initialValue": { "hexValue": "30", "id": 9244, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7098:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "7086:13:10" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "7115:3:10", "subExpression": { "id": 9250, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9243, "src": "7115:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9252, "nodeType": "ExpressionStatement", "src": "7115:3:10" }, "nodeType": "ForStatement", "src": "7081:224:10" }, { "expression": { "id": 9262, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9233, "src": "7322:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 9231, "id": 9263, "nodeType": "Return", "src": "7315:13:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "flatten", "nameLocation": "6951:7:10", "parameters": { "id": 9228, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9227, "mutability": "mutable", "name": "b", "nameLocation": "6976:1:10", "nodeType": "VariableDeclaration", "scope": 9265, "src": "6959:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 9225, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6959:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9226, "nodeType": "ArrayTypeName", "src": "6959:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "src": "6958:20:10" }, "returnParameters": { "id": 9231, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9230, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9265, "src": "7001:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9229, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7001:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "7000:14:10" }, "scope": 9266, "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "abstract": false, "baseContracts": [], "canonicalName": "stdStorageSafe", "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, "linearizedBaseContracts": [ 9266 ], "name": "stdStorageSafe", "nameLocation": "376:14:10", "scope": 9828, "usedErrors": [], "usedEvents": [ 8384, 8390 ] }, { "id": 9827, "nodeType": "ContractDefinition", "src": "7339:4665:10", "nodes": [ { "id": 9283, "nodeType": "VariableDeclaration", "src": "7364:84:10", "nodes": [], "constant": true, "mutability": "constant", "name": "vm", "nameLocation": "7384:2:10", "scope": 9827, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" }, "typeName": { "id": 9268, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9267, "name": "Vm", "nameLocations": [ "7364:2:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13464, "src": "7364:2:10" }, "referencedDeclaration": 13464, "src": "7364:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 9277, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7426: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": 9276, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "7416:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 9278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7416:28:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 9275, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7408:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 9274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7408:7:10", "typeDescriptions": {} } }, "id": 9279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7408:37:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9273, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7400:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 9272, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "7400:7:10", "typeDescriptions": {} } }, "id": 9280, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7400:46:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 9271, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "7392:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 9270, "name": "address", "nodeType": "ElementaryTypeName", "src": "7392:7:10", "typeDescriptions": {} } }, "id": 9281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7392:55:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 9269, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13464, "src": "7389:2:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$13464_$", "typeString": "type(contract Vm)" } }, "id": 9282, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7389:59:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "visibility": "private" }, { "id": 9296, "nodeType": "FunctionDefinition", "src": "7455:118:10", "nodes": [], "body": { "id": 9295, "nodeType": "Block", "src": "7522:51:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9292, "name": "sigStr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9285, "src": "7559:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 9290, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "7539:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7554:4:10", "memberName": "sigs", "nodeType": "MemberAccess", "referencedDeclaration": 8425, "src": "7539:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", "typeString": "function (string memory) pure returns (bytes4)" } }, "id": 9293, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7539:27:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "functionReturnParameters": 9289, "id": 9294, "nodeType": "Return", "src": "7532:34:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sigs", "nameLocation": "7464:4:10", "parameters": { "id": 9286, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9285, "mutability": "mutable", "name": "sigStr", "nameLocation": "7483:6:10", "nodeType": "VariableDeclaration", "scope": 9296, "src": "7469:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 9284, "name": "string", "nodeType": "ElementaryTypeName", "src": "7469:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "7468:22:10" }, "returnParameters": { "id": 9289, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9288, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9296, "src": "7514:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 9287, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "7514:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "7513:8:10" }, "scope": 9827, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 9310, "nodeType": "FunctionDefinition", "src": "7579:115:10", "nodes": [], "body": { "id": 9309, "nodeType": "Block", "src": "7645:49:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9306, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9299, "src": "7682:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9304, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "7662:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7677:4:10", "memberName": "find", "nodeType": "MemberAccess", "referencedDeclaration": 8869, "src": "7662:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 9307, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7662:25:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 9303, "id": 9308, "nodeType": "Return", "src": "7655:32:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "find", "nameLocation": "7588:4:10", "parameters": { "id": 9300, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9299, "mutability": "mutable", "name": "self", "nameLocation": "7612:4:10", "nodeType": "VariableDeclaration", "scope": 9310, "src": "7593:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9298, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9297, "name": "StdStorage", "nameLocations": [ "7593:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "7593:10:10" }, "referencedDeclaration": 8374, "src": "7593:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7592:25:10" }, "returnParameters": { "id": 9303, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9302, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9310, "src": "7636:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7636:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "7635:9:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9328, "nodeType": "FunctionDefinition", "src": "7700:156:10", "nodes": [], "body": { "id": 9327, "nodeType": "Block", "src": "7796:60:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9323, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9313, "src": "7835:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9324, "name": "_target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9315, "src": "7841:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 9321, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "7813:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7828:6:10", "memberName": "target", "nodeType": "MemberAccess", "referencedDeclaration": 8889, "src": "7813:21:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" } }, "id": 9325, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7813:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9320, "id": 9326, "nodeType": "Return", "src": "7806:43:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "target", "nameLocation": "7709:6:10", "parameters": { "id": 9316, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9313, "mutability": "mutable", "name": "self", "nameLocation": "7735:4:10", "nodeType": "VariableDeclaration", "scope": 9328, "src": "7716:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9312, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9311, "name": "StdStorage", "nameLocations": [ "7716:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "7716:10:10" }, "referencedDeclaration": 8374, "src": "7716:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9315, "mutability": "mutable", "name": "_target", "nameLocation": "7749:7:10", "nodeType": "VariableDeclaration", "scope": 9328, "src": "7741:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9314, "name": "address", "nodeType": "ElementaryTypeName", "src": "7741:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "7715:42:10" }, "returnParameters": { "id": 9320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9319, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9328, "src": "7776:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9318, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9317, "name": "StdStorage", "nameLocations": [ "7776:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "7776:10:10" }, "referencedDeclaration": 8374, "src": "7776:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7775:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9346, "nodeType": "FunctionDefinition", "src": "7862:143:10", "nodes": [], "body": { "id": 9345, "nodeType": "Block", "src": "7951:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9341, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9331, "src": "7987:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9342, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9333, "src": "7993:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } ], "expression": { "id": 9339, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "7968:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9340, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "7983:3:10", "memberName": "sig", "nodeType": "MemberAccess", "referencedDeclaration": 8909, "src": "7968:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" } }, "id": 9343, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7968:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9338, "id": 9344, "nodeType": "Return", "src": "7961:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "7871:3:10", "parameters": { "id": 9334, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9331, "mutability": "mutable", "name": "self", "nameLocation": "7894:4:10", "nodeType": "VariableDeclaration", "scope": 9346, "src": "7875:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9330, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9329, "name": "StdStorage", "nameLocations": [ "7875:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "7875:10:10" }, "referencedDeclaration": 8374, "src": "7875:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9333, "mutability": "mutable", "name": "_sig", "nameLocation": "7907:4:10", "nodeType": "VariableDeclaration", "scope": 9346, "src": "7900:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 9332, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "7900:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "7874:38:10" }, "returnParameters": { "id": 9338, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9337, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9346, "src": "7931:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9336, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9335, "name": "StdStorage", "nameLocations": [ "7931:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "7931:10:10" }, "referencedDeclaration": 8374, "src": "7931:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "7930:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9364, "nodeType": "FunctionDefinition", "src": "8011:150:10", "nodes": [], "body": { "id": 9363, "nodeType": "Block", "src": "8107:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9359, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9349, "src": "8143:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9360, "name": "_sig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9351, "src": "8149:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 9357, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "8124:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8139:3:10", "memberName": "sig", "nodeType": "MemberAccess", "referencedDeclaration": 8931, "src": "8124:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)" } }, "id": 9361, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8124:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9356, "id": 9362, "nodeType": "Return", "src": "8117:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "sig", "nameLocation": "8020:3:10", "parameters": { "id": 9352, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9349, "mutability": "mutable", "name": "self", "nameLocation": "8043:4:10", "nodeType": "VariableDeclaration", "scope": 9364, "src": "8024:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9348, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9347, "name": "StdStorage", "nameLocations": [ "8024:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8024:10:10" }, "referencedDeclaration": 8374, "src": "8024:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9351, "mutability": "mutable", "name": "_sig", "nameLocation": "8063:4:10", "nodeType": "VariableDeclaration", "scope": 9364, "src": "8049:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 9350, "name": "string", "nodeType": "ElementaryTypeName", "src": "8049:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "8023:45:10" }, "returnParameters": { "id": 9356, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9355, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9364, "src": "8087:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9354, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9353, "name": "StdStorage", "nameLocations": [ "8087:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8087:10:10" }, "referencedDeclaration": 8374, "src": "8087:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8086:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9382, "nodeType": "FunctionDefinition", "src": "8167:152:10", "nodes": [], "body": { "id": 9381, "nodeType": "Block", "src": "8261:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9377, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9367, "src": "8302:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9378, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9369, "src": "8308:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 9375, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "8278:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8293:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 8962, "src": "8278:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" } }, "id": 9379, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8278:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9374, "id": 9380, "nodeType": "Return", "src": "8271:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8176:8:10", "parameters": { "id": 9370, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9367, "mutability": "mutable", "name": "self", "nameLocation": "8204:4:10", "nodeType": "VariableDeclaration", "scope": 9382, "src": "8185:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9366, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9365, "name": "StdStorage", "nameLocations": [ "8185:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8185:10:10" }, "referencedDeclaration": 8374, "src": "8185:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9369, "mutability": "mutable", "name": "who", "nameLocation": "8218:3:10", "nodeType": "VariableDeclaration", "scope": 9382, "src": "8210:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9368, "name": "address", "nodeType": "ElementaryTypeName", "src": "8210:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "8184:38:10" }, "returnParameters": { "id": 9374, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9373, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9382, "src": "8241:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9372, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9371, "name": "StdStorage", "nameLocations": [ "8241:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8241:10:10" }, "referencedDeclaration": 8374, "src": "8241:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8240:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9400, "nodeType": "FunctionDefinition", "src": "8325:152:10", "nodes": [], "body": { "id": 9399, "nodeType": "Block", "src": "8419:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9395, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9385, "src": "8460:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9396, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9387, "src": "8466:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 9393, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "8436:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9394, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8451:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 8987, "src": "8436:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" } }, "id": 9397, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8436:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9392, "id": 9398, "nodeType": "Return", "src": "8429:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8334:8:10", "parameters": { "id": 9388, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9385, "mutability": "mutable", "name": "self", "nameLocation": "8362:4:10", "nodeType": "VariableDeclaration", "scope": 9400, "src": "8343:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9384, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9383, "name": "StdStorage", "nameLocations": [ "8343:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8343:10:10" }, "referencedDeclaration": 8374, "src": "8343:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9387, "mutability": "mutable", "name": "amt", "nameLocation": "8376:3:10", "nodeType": "VariableDeclaration", "scope": 9400, "src": "8368:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9386, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8368:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8342:38:10" }, "returnParameters": { "id": 9392, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9391, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9400, "src": "8399:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9390, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9389, "name": "StdStorage", "nameLocations": [ "8399:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8399:10:10" }, "referencedDeclaration": 8374, "src": "8399:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8398:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9418, "nodeType": "FunctionDefinition", "src": "8483:152:10", "nodes": [], "body": { "id": 9417, "nodeType": "Block", "src": "8577:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9413, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9403, "src": "8618:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9414, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9405, "src": "8624:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 9411, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "8594:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8609:8:10", "memberName": "with_key", "nodeType": "MemberAccess", "referencedDeclaration": 9009, "src": "8594:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)" } }, "id": 9415, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8594:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9410, "id": 9416, "nodeType": "Return", "src": "8587:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "with_key", "nameLocation": "8492:8:10", "parameters": { "id": 9406, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9403, "mutability": "mutable", "name": "self", "nameLocation": "8520:4:10", "nodeType": "VariableDeclaration", "scope": 9418, "src": "8501:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9402, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9401, "name": "StdStorage", "nameLocations": [ "8501:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8501:10:10" }, "referencedDeclaration": 8374, "src": "8501:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9405, "mutability": "mutable", "name": "key", "nameLocation": "8534:3:10", "nodeType": "VariableDeclaration", "scope": 9418, "src": "8526:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9404, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8526:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "8500:38:10" }, "returnParameters": { "id": 9410, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9409, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9418, "src": "8557:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9408, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9407, "name": "StdStorage", "nameLocations": [ "8557:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8557:10:10" }, "referencedDeclaration": 8374, "src": "8557:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8556:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9436, "nodeType": "FunctionDefinition", "src": "8641:152:10", "nodes": [], "body": { "id": 9435, "nodeType": "Block", "src": "8735:58:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9431, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9421, "src": "8773:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9432, "name": "_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9423, "src": "8779:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 9429, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "8752:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "8767:5:10", "memberName": "depth", "nodeType": "MemberAccess", "referencedDeclaration": 9029, "src": "8752:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$", "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)" } }, "id": 9433, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8752:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "functionReturnParameters": 9428, "id": 9434, "nodeType": "Return", "src": "8745:41:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "depth", "nameLocation": "8650:5:10", "parameters": { "id": 9424, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9421, "mutability": "mutable", "name": "self", "nameLocation": "8675:4:10", "nodeType": "VariableDeclaration", "scope": 9436, "src": "8656:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9420, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9419, "name": "StdStorage", "nameLocations": [ "8656:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8656:10:10" }, "referencedDeclaration": 8374, "src": "8656:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9423, "mutability": "mutable", "name": "_depth", "nameLocation": "8689:6:10", "nodeType": "VariableDeclaration", "scope": 9436, "src": "8681:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9422, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8681:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8655:41:10" }, "returnParameters": { "id": 9428, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9427, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9436, "src": "8715:18:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9426, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9425, "name": "StdStorage", "nameLocations": [ "8715:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8715:10:10" }, "referencedDeclaration": 8374, "src": "8715:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "8714:20:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9459, "nodeType": "FunctionDefinition", "src": "8799:138:10", "nodes": [], "body": { "id": 9458, "nodeType": "Block", "src": "8869:68:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9445, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9439, "src": "8893:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "arguments": [ { "arguments": [ { "arguments": [ { "id": 9452, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9441, "src": "8923:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 9451, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8915:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 9450, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "8915:7:10", "typeDescriptions": {} } }, "id": 9453, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8915:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 9449, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8907:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 9448, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8907:7:10", "typeDescriptions": {} } }, "id": 9454, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8907:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9447, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "8899:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9446, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8899:7:10", "typeDescriptions": {} } }, "id": 9455, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8899:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 9444, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 9459, 9476, 9514, 9659 ], "referencedDeclaration": 9659, "src": "8879:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 9456, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8879:51:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9457, "nodeType": "ExpressionStatement", "src": "8879:51:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "8808:13:10", "parameters": { "id": 9442, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9439, "mutability": "mutable", "name": "self", "nameLocation": "8841:4:10", "nodeType": "VariableDeclaration", "scope": 9459, "src": "8822:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9438, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9437, "name": "StdStorage", "nameLocations": [ "8822:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8822:10:10" }, "referencedDeclaration": 8374, "src": "8822:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9441, "mutability": "mutable", "name": "who", "nameLocation": "8855:3:10", "nodeType": "VariableDeclaration", "scope": 9459, "src": "8847:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9440, "name": "address", "nodeType": "ElementaryTypeName", "src": "8847:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "8821:38:10" }, "returnParameters": { "id": 9443, "nodeType": "ParameterList", "parameters": [], "src": "8869:0:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9476, "nodeType": "FunctionDefinition", "src": "8943:120:10", "nodes": [], "body": { "id": 9475, "nodeType": "Block", "src": "9013:50:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9468, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9462, "src": "9037:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "arguments": [ { "id": 9471, "name": "amt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9464, "src": "9051:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9470, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9043:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9469, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9043:7:10", "typeDescriptions": {} } }, "id": 9472, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9043:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 9467, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 9459, 9476, 9514, 9659 ], "referencedDeclaration": 9659, "src": "9023:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 9473, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9023:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9474, "nodeType": "ExpressionStatement", "src": "9023:33:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "8952:13:10", "parameters": { "id": 9465, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9462, "mutability": "mutable", "name": "self", "nameLocation": "8985:4:10", "nodeType": "VariableDeclaration", "scope": 9476, "src": "8966:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9461, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9460, "name": "StdStorage", "nameLocations": [ "8966:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "8966:10:10" }, "referencedDeclaration": 8374, "src": "8966:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9464, "mutability": "mutable", "name": "amt", "nameLocation": "8999:3:10", "nodeType": "VariableDeclaration", "scope": 9476, "src": "8991:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9463, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8991:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8965:38:10" }, "returnParameters": { "id": 9466, "nodeType": "ParameterList", "parameters": [], "src": "9013:0:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9496, "nodeType": "FunctionDefinition", "src": "9069:132:10", "nodes": [], "body": { "id": 9495, "nodeType": "Block", "src": "9142:59:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9485, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9479, "src": "9166:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "arguments": [ { "arguments": [ { "id": 9490, "name": "val", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9481, "src": "9188:3:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 9489, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9180:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 9488, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9180:7:10", "typeDescriptions": {} } }, "id": 9491, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9180:12:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9487, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9172:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9486, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9172:7:10", "typeDescriptions": {} } }, "id": 9492, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9172:21:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 9484, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 9459, 9476, 9514, 9659 ], "referencedDeclaration": 9659, "src": "9152:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 9493, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9152:42:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9494, "nodeType": "ExpressionStatement", "src": "9152:42:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write_int", "nameLocation": "9078:17:10", "parameters": { "id": 9482, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9479, "mutability": "mutable", "name": "self", "nameLocation": "9115:4:10", "nodeType": "VariableDeclaration", "scope": 9496, "src": "9096:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9478, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9477, "name": "StdStorage", "nameLocations": [ "9096:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "9096:10:10" }, "referencedDeclaration": 8374, "src": "9096:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9481, "mutability": "mutable", "name": "val", "nameLocation": "9128:3:10", "nodeType": "VariableDeclaration", "scope": 9496, "src": "9121:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 9480, "name": "int256", "nodeType": "ElementaryTypeName", "src": "9121:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "9095:37:10" }, "returnParameters": { "id": 9483, "nodeType": "ParameterList", "parameters": [], "src": "9142:0:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9514, "nodeType": "FunctionDefinition", "src": "9207:222:10", "nodes": [], "body": { "id": 9513, "nodeType": "Block", "src": "9276:153:10", "nodes": [], "statements": [ { "assignments": [ 9505 ], "declarations": [ { "constant": false, "id": 9505, "mutability": "mutable", "name": "t", "nameLocation": "9294:1:10", "nodeType": "VariableDeclaration", "scope": 9513, "src": "9286:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9504, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9286:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9506, "nodeType": "VariableDeclarationStatement", "src": "9286:9:10" }, { "AST": { "nativeSrc": "9357:34:10", "nodeType": "YulBlock", "src": "9357:34:10", "statements": [ { "nativeSrc": "9371:10:10", "nodeType": "YulAssignment", "src": "9371:10:10", "value": { "name": "write", "nativeSrc": "9376:5:10", "nodeType": "YulIdentifier", "src": "9376:5:10" }, "variableNames": [ { "name": "t", "nativeSrc": "9371:1:10", "nodeType": "YulIdentifier", "src": "9371:1:10" } ] } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [ { "declaration": 9505, "isOffset": false, "isSlot": false, "src": "9371:1:10", "valueSize": 1 }, { "declaration": 9501, "isOffset": false, "isSlot": false, "src": "9376:5:10", "valueSize": 1 } ], "id": 9507, "nodeType": "InlineAssembly", "src": "9348:43:10" }, { "expression": { "arguments": [ { "id": 9509, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9499, "src": "9414:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, { "id": 9510, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9505, "src": "9420:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 9508, "name": "checked_write", "nodeType": "Identifier", "overloadedDeclarations": [ 9459, 9476, 9514, 9659 ], "referencedDeclaration": 9659, "src": "9400:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes32_$returns$__$", "typeString": "function (struct StdStorage storage pointer,bytes32)" } }, "id": 9511, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9400:22:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9512, "nodeType": "ExpressionStatement", "src": "9400:22:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "9216:13:10", "parameters": { "id": 9502, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9499, "mutability": "mutable", "name": "self", "nameLocation": "9249:4:10", "nodeType": "VariableDeclaration", "scope": 9514, "src": "9230:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9498, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9497, "name": "StdStorage", "nameLocations": [ "9230:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "9230:10:10" }, "referencedDeclaration": 8374, "src": "9230:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9501, "mutability": "mutable", "name": "write", "nameLocation": "9260:5:10", "nodeType": "VariableDeclaration", "scope": 9514, "src": "9255:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 9500, "name": "bool", "nodeType": "ElementaryTypeName", "src": "9255:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "9229:37:10" }, "returnParameters": { "id": 9503, "nodeType": "ParameterList", "parameters": [], "src": "9276:0:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9659, "nodeType": "FunctionDefinition", "src": "9435:1095:10", "nodes": [], "body": { "id": 9658, "nodeType": "Block", "src": "9505:1025:10", "nodes": [], "statements": [ { "assignments": [ 9523 ], "declarations": [ { "constant": false, "id": 9523, "mutability": "mutable", "name": "who", "nameLocation": "9523:3:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9515:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9522, "name": "address", "nodeType": "ElementaryTypeName", "src": "9515:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 9526, "initialValue": { "expression": { "id": 9524, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9529:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9525, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9534:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "9529:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "9515:26:10" }, { "assignments": [ 9528 ], "declarations": [ { "constant": false, "id": 9528, "mutability": "mutable", "name": "fsig", "nameLocation": "9558:4:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9551:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 9527, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "9551:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "id": 9531, "initialValue": { "expression": { "id": 9529, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9565:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9530, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9570:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "9565:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "VariableDeclarationStatement", "src": "9551:23:10" }, { "assignments": [ 9533 ], "declarations": [ { "constant": false, "id": 9533, "mutability": "mutable", "name": "field_depth", "nameLocation": "9592:11:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9584:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9532, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9584:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9536, "initialValue": { "expression": { "id": 9534, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9606:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9535, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9611:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 8369, "src": "9606:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "9584:33:10" }, { "assignments": [ 9541 ], "declarations": [ { "constant": false, "id": 9541, "mutability": "mutable", "name": "ins", "nameLocation": "9644:3:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9627:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 9539, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9627:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9540, "nodeType": "ArrayTypeName", "src": "9627:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "id": 9544, "initialValue": { "expression": { "id": 9542, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9650:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9543, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9655:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "9650:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "9627:33:10" }, { "assignments": [ 9546 ], "declarations": [ { "constant": false, "id": 9546, "mutability": "mutable", "name": "cald", "nameLocation": "9684:4:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9671:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9545, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9671:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 9554, "initialValue": { "arguments": [ { "id": 9549, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9528, "src": "9708:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 9551, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9541, "src": "9722: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": 9550, "name": "flatten", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9826, "src": "9714: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": 9552, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9714: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": 9547, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9691:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9548, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9695:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9691:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 9553, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9691:36:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "9671:56:10" }, { "condition": { "id": 9569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9741:69:10", "subExpression": { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 9555, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9742:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9556, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9747:5:10", "memberName": "finds", "nodeType": "MemberAccess", "referencedDeclaration": 8362, "src": "9742: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": 9558, "indexExpression": { "id": 9557, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9523, "src": "9753:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9742:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => bool))" } }, "id": 9560, "indexExpression": { "id": 9559, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9528, "src": "9758:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9742:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, "id": 9568, "indexExpression": { "arguments": [ { "arguments": [ { "id": 9564, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9541, "src": "9791:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 9565, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9533, "src": "9796: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": 9562, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9774:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9563, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9778:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9774:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 9566, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9774:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 9561, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "9764:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 9567, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9764:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9742:68:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9575, "nodeType": "IfStatement", "src": "9737:110:10", "trueBody": { "id": 9574, "nodeType": "Block", "src": "9812:35:10", "statements": [ { "expression": { "arguments": [ { "id": 9571, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9831:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "id": 9570, "name": "find", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9310, "src": "9826:4:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 9572, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9826:10:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9573, "nodeType": "ExpressionStatement", "src": "9826:10:10" } ] } }, { "assignments": [ 9577 ], "declarations": [ { "constant": false, "id": 9577, "mutability": "mutable", "name": "slot", "nameLocation": "9864:4:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9856:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9576, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9856:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9595, "initialValue": { "arguments": [ { "baseExpression": { "baseExpression": { "baseExpression": { "expression": { "id": 9580, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "9879:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9581, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberLocation": "9884:5:10", "memberName": "slots", "nodeType": "MemberAccess", "referencedDeclaration": 8354, "src": "9879: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": 9583, "indexExpression": { "id": 9582, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9523, "src": "9890:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9879:15:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", "typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" } }, "id": 9585, "indexExpression": { "id": 9584, "name": "fsig", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9528, "src": "9895:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9879:21:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, "id": 9593, "indexExpression": { "arguments": [ { "arguments": [ { "id": 9589, "name": "ins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9541, "src": "9928:3:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, { "id": 9590, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9533, "src": "9933: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": 9587, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "9911:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 9588, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "9915:12:10", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "9911:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 9591, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9911:34:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 9586, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "9901:9:10", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 9592, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9901:45:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9879:68:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9579, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9871:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9578, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9871:7:10", "typeDescriptions": {} } }, "id": 9594, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9871:77:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "9856:92:10" }, { "assignments": [ 9597 ], "declarations": [ { "constant": false, "id": 9597, "mutability": "mutable", "name": "fdat", "nameLocation": "9967:4:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "9959:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9596, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9959:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9598, "nodeType": "VariableDeclarationStatement", "src": "9959:12:10" }, { "id": 9615, "nodeType": "Block", "src": "9981:128:10", "statements": [ { "assignments": [ null, 9600 ], "declarations": [ null, { "constant": false, "id": 9600, "mutability": "mutable", "name": "rdat", "nameLocation": "10011:4:10", "nodeType": "VariableDeclaration", "scope": 9615, "src": "9998:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9599, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9998:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 9605, "initialValue": { "arguments": [ { "id": 9603, "name": "cald", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9546, "src": "10034:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 9601, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9523, "src": "10019:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 9602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10023:10:10", "memberName": "staticcall", "nodeType": "MemberAccess", "src": "10019: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": 9604, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10019:20:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "9995:44:10" }, { "expression": { "id": 9613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 9606, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9597, "src": "10053:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 9608, "name": "rdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9600, "src": "10075:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 9609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10081:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "id": 9610, "name": "field_depth", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9533, "src": "10086:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10081:16:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9607, "name": "bytesToBytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9785, "src": "10060: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": 9612, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10060:38:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "10053:45:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9614, "nodeType": "ExpressionStatement", "src": "10053:45:10" } ] }, { "assignments": [ 9617 ], "declarations": [ { "constant": false, "id": 9617, "mutability": "mutable", "name": "curr", "nameLocation": "10126:4:10", "nodeType": "VariableDeclaration", "scope": 9658, "src": "10118:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9616, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "10118:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9623, "initialValue": { "arguments": [ { "id": 9620, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9523, "src": "10141:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 9621, "name": "slot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9577, "src": "10146:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 9618, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9283, "src": "10133:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 9619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10136:4:10", "memberName": "load", "nodeType": "MemberAccess", "referencedDeclaration": 11994, "src": "10133:7:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (address,bytes32) view external returns (bytes32)" } }, "id": 9622, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10133:18:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "10118:33:10" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 9626, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9624, "name": "fdat", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9597, "src": "10166:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 9625, "name": "curr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9617, "src": "10174:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "10166:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9633, "nodeType": "IfStatement", "src": "10162:218:10", "trueBody": { "id": 9632, "nodeType": "Block", "src": "10180:200:10", "statements": [ { "expression": { "arguments": [ { "hexValue": "66616c7365", "id": 9628, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "10219:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", "id": 9629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10242: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": 9627, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "10194:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 9630, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10194:175:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9631, "nodeType": "ExpressionStatement", "src": "10194:175:10" } ] } }, { "expression": { "arguments": [ { "id": 9637, "name": "who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9523, "src": "10398:3:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 9638, "name": "slot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9577, "src": "10403:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 9639, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9519, "src": "10409: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": 9634, "name": "vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9283, "src": "10389:2:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "id": 9636, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10392:5:10", "memberName": "store", "nodeType": "MemberAccess", "referencedDeclaration": 13038, "src": "10389:8:10", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32,bytes32) external" } }, "id": 9640, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10389:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9641, "nodeType": "ExpressionStatement", "src": "10389:24:10" }, { "expression": { "id": 9644, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10423:19:10", "subExpression": { "expression": { "id": 9642, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "10430:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10435:7:10", "memberName": "_target", "nodeType": "MemberAccess", "referencedDeclaration": 8371, "src": "10430:12:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9645, "nodeType": "ExpressionStatement", "src": "10423:19:10" }, { "expression": { "id": 9648, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10452:16:10", "subExpression": { "expression": { "id": 9646, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "10459:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9647, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10464:4:10", "memberName": "_sig", "nodeType": "MemberAccess", "referencedDeclaration": 8367, "src": "10459:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9649, "nodeType": "ExpressionStatement", "src": "10452:16:10" }, { "expression": { "id": 9652, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10478:17:10", "subExpression": { "expression": { "id": 9650, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "10485:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9651, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10490:5:10", "memberName": "_keys", "nodeType": "MemberAccess", "referencedDeclaration": 8365, "src": "10485:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9653, "nodeType": "ExpressionStatement", "src": "10478:17:10" }, { "expression": { "id": 9656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "10505:18:10", "subExpression": { "expression": { "id": 9654, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9517, "src": "10512:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } }, "id": 9655, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberLocation": "10517:6:10", "memberName": "_depth", "nodeType": "MemberAccess", "referencedDeclaration": 8369, "src": "10512:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9657, "nodeType": "ExpressionStatement", "src": "10505:18:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checked_write", "nameLocation": "9444:13:10", "parameters": { "id": 9520, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9517, "mutability": "mutable", "name": "self", "nameLocation": "9477:4:10", "nodeType": "VariableDeclaration", "scope": 9659, "src": "9458:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9516, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9515, "name": "StdStorage", "nameLocations": [ "9458:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "9458:10:10" }, "referencedDeclaration": 8374, "src": "9458:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" }, { "constant": false, "id": 9519, "mutability": "mutable", "name": "set", "nameLocation": "9491:3:10", "nodeType": "VariableDeclaration", "scope": 9659, "src": "9483:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9518, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9483:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "9457:38:10" }, "returnParameters": { "id": 9521, "nodeType": "ParameterList", "parameters": [], "src": "9505:0:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9673, "nodeType": "FunctionDefinition", "src": "10536:131:10", "nodes": [], "body": { "id": 9672, "nodeType": "Block", "src": "10610:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9669, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9662, "src": "10655:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9667, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "10627:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10642:12:10", "memberName": "read_bytes32", "nodeType": "MemberAccess", "referencedDeclaration": 9080, "src": "10627:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bytes32_$", "typeString": "function (struct StdStorage storage pointer) returns (bytes32)" } }, "id": 9670, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10627:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 9666, "id": 9671, "nodeType": "Return", "src": "10620:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bytes32", "nameLocation": "10545:12:10", "parameters": { "id": 9663, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9662, "mutability": "mutable", "name": "self", "nameLocation": "10577:4:10", "nodeType": "VariableDeclaration", "scope": 9673, "src": "10558:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9661, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9660, "name": "StdStorage", "nameLocations": [ "10558:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "10558:10:10" }, "referencedDeclaration": 8374, "src": "10558:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10557:25:10" }, "returnParameters": { "id": 9666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9665, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9673, "src": "10601:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9664, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "10601:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "10600:9:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9687, "nodeType": "FunctionDefinition", "src": "10673:122:10", "nodes": [], "body": { "id": 9686, "nodeType": "Block", "src": "10741:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9683, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9676, "src": "10783:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9681, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "10758:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10773:9:10", "memberName": "read_bool", "nodeType": "MemberAccess", "referencedDeclaration": 9111, "src": "10758:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_bool_$", "typeString": "function (struct StdStorage storage pointer) returns (bool)" } }, "id": 9684, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10758:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 9680, "id": 9685, "nodeType": "Return", "src": "10751:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_bool", "nameLocation": "10682:9:10", "parameters": { "id": 9677, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9676, "mutability": "mutable", "name": "self", "nameLocation": "10711:4:10", "nodeType": "VariableDeclaration", "scope": 9687, "src": "10692:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9675, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9674, "name": "StdStorage", "nameLocations": [ "10692:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "10692:10:10" }, "referencedDeclaration": 8374, "src": "10692:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10691:25:10" }, "returnParameters": { "id": 9680, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9679, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9687, "src": "10735:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 9678, "name": "bool", "nodeType": "ElementaryTypeName", "src": "10735:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "10734:6:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9701, "nodeType": "FunctionDefinition", "src": "10801:131:10", "nodes": [], "body": { "id": 9700, "nodeType": "Block", "src": "10875:57:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9697, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9690, "src": "10920:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9695, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "10892:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9696, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "10907:12:10", "memberName": "read_address", "nodeType": "MemberAccess", "referencedDeclaration": 9130, "src": "10892:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_address_$", "typeString": "function (struct StdStorage storage pointer) returns (address)" } }, "id": 9698, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10892:33:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 9694, "id": 9699, "nodeType": "Return", "src": "10885:40:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_address", "nameLocation": "10810:12:10", "parameters": { "id": 9691, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9690, "mutability": "mutable", "name": "self", "nameLocation": "10842:4:10", "nodeType": "VariableDeclaration", "scope": 9701, "src": "10823:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9689, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9688, "name": "StdStorage", "nameLocations": [ "10823:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "10823:10:10" }, "referencedDeclaration": 8374, "src": "10823:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10822:25:10" }, "returnParameters": { "id": 9694, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9693, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9701, "src": "10866:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9692, "name": "address", "nodeType": "ElementaryTypeName", "src": "10866:7:10", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "10865:9:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9715, "nodeType": "FunctionDefinition", "src": "10938:125:10", "nodes": [], "body": { "id": 9714, "nodeType": "Block", "src": "11009:54:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9711, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9704, "src": "11051:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9709, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "11026:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11041:9:10", "memberName": "read_uint", "nodeType": "MemberAccess", "referencedDeclaration": 9149, "src": "11026:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct StdStorage storage pointer) returns (uint256)" } }, "id": 9712, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11026:30:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 9708, "id": 9713, "nodeType": "Return", "src": "11019:37:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_uint", "nameLocation": "10947:9:10", "parameters": { "id": 9705, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9704, "mutability": "mutable", "name": "self", "nameLocation": "10976:4:10", "nodeType": "VariableDeclaration", "scope": 9715, "src": "10957:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9703, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9702, "name": "StdStorage", "nameLocations": [ "10957:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "10957:10:10" }, "referencedDeclaration": 8374, "src": "10957:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "10956:25:10" }, "returnParameters": { "id": 9708, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9707, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9715, "src": "11000:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9706, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11000:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10999:9:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9729, "nodeType": "FunctionDefinition", "src": "11069:122:10", "nodes": [], "body": { "id": 9728, "nodeType": "Block", "src": "11138:53:10", "nodes": [], "statements": [ { "expression": { "arguments": [ { "id": 9725, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9718, "src": "11179:4:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage storage pointer" } ], "expression": { "id": 9723, "name": "stdStorageSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9266, "src": "11155:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_stdStorageSafe_$9266_$", "typeString": "type(library stdStorageSafe)" } }, "id": 9724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11170:8:10", "memberName": "read_int", "nodeType": "MemberAccess", "referencedDeclaration": 9168, "src": "11155:23:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$returns$_t_int256_$", "typeString": "function (struct StdStorage storage pointer) returns (int256)" } }, "id": 9726, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11155:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "functionReturnParameters": 9722, "id": 9727, "nodeType": "Return", "src": "11148:36:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "read_int", "nameLocation": "11078:8:10", "parameters": { "id": 9719, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9718, "mutability": "mutable", "name": "self", "nameLocation": "11106:4:10", "nodeType": "VariableDeclaration", "scope": 9729, "src": "11087:23:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" }, "typeName": { "id": 9717, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9716, "name": "StdStorage", "nameLocations": [ "11087:10:10" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "11087:10:10" }, "referencedDeclaration": 8374, "src": "11087:10:10", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "src": "11086:25:10" }, "returnParameters": { "id": 9722, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9721, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9729, "src": "11130:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 9720, "name": "int256", "nodeType": "ElementaryTypeName", "src": "11130:6:10", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "11129:8:10" }, "scope": 9827, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 9785, "nodeType": "FunctionDefinition", "src": "11248:304:10", "nodes": [], "body": { "id": 9784, "nodeType": "Block", "src": "11335:217:10", "nodes": [], "statements": [ { "assignments": [ 9739 ], "declarations": [ { "constant": false, "id": 9739, "mutability": "mutable", "name": "out", "nameLocation": "11353:3:10", "nodeType": "VariableDeclaration", "scope": 9784, "src": "11345:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9738, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11345:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9740, "nodeType": "VariableDeclarationStatement", "src": "11345:11:10" }, { "assignments": [ 9742 ], "declarations": [ { "constant": false, "id": 9742, "mutability": "mutable", "name": "max", "nameLocation": "11375:3:10", "nodeType": "VariableDeclaration", "scope": 9784, "src": "11367:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9741, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11367:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9751, "initialValue": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9743, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9731, "src": "11381:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9744, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11383:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11381:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "3332", "id": 9745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11392:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11381:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "expression": { "id": 9748, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9731, "src": "11402:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9749, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11404:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11402:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "11381:29:10", "trueExpression": { "hexValue": "3332", "id": 9747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11397:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "11367:43:10" }, { "body": { "id": 9780, "nodeType": "Block", "src": "11454:72:10", "statements": [ { "expression": { "id": 9778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 9762, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9739, "src": "11468:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "|=", "rightHandSide": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 9777, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 9771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 9765, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9731, "src": "11483:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 9769, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9766, "name": "offset", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9733, "src": "11485:6:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 9767, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9753, "src": "11494:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11485:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11483:13:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { "hexValue": "30784646", "id": 9770, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11499:4:10", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xFF" }, "src": "11483:20:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "id": 9764, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "11475:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 9763, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11475:7:10", "typeDescriptions": {} } }, "id": 9772, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11475:29:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9773, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9753, "src": "11509:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "38", "id": 9774, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11513:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "11509:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 9776, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "11508:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11475:40:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "11468:47:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9779, "nodeType": "ExpressionStatement", "src": "11468:47:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9756, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9753, "src": "11440:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 9757, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9742, "src": "11444:3:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11440:7:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9781, "initializationExpression": { "assignments": [ 9753 ], "declarations": [ { "constant": false, "id": 9753, "mutability": "mutable", "name": "i", "nameLocation": "11433:1:10", "nodeType": "VariableDeclaration", "scope": 9781, "src": "11425:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9752, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11425:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9755, "initialValue": { "hexValue": "30", "id": 9754, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11437:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "11425:13:10" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { "id": 9760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "11449:3:10", "subExpression": { "id": 9759, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9753, "src": "11449:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9761, "nodeType": "ExpressionStatement", "src": "11449:3:10" }, "nodeType": "ForStatement", "src": "11420:106:10" }, { "expression": { "id": 9782, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9739, "src": "11542:3:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "functionReturnParameters": 9737, "id": 9783, "nodeType": "Return", "src": "11535:10:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToBytes32", "nameLocation": "11257:14:10", "parameters": { "id": 9734, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9731, "mutability": "mutable", "name": "b", "nameLocation": "11285:1:10", "nodeType": "VariableDeclaration", "scope": 9785, "src": "11272:14:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9730, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11272:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 9733, "mutability": "mutable", "name": "offset", "nameLocation": "11296:6:10", "nodeType": "VariableDeclaration", "scope": 9785, "src": "11288:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9732, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11288:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "11271:32:10" }, "returnParameters": { "id": 9737, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9736, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9785, "src": "11326:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9735, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11326:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "11325:9:10" }, "scope": 9827, "stateMutability": "pure", "virtual": false, "visibility": "private" }, { "id": 9826, "nodeType": "FunctionDefinition", "src": "11609:393:10", "nodes": [], "body": { "id": 9825, "nodeType": "Block", "src": "11682:320:10", "nodes": [], "statements": [ { "assignments": [ 9794 ], "declarations": [ { "constant": false, "id": 9794, "mutability": "mutable", "name": "result", "nameLocation": "11705:6:10", "nodeType": "VariableDeclaration", "scope": 9825, "src": "11692:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9793, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11692:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 9802, "initialValue": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9797, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9788, "src": "11724:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11726:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11724:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "hexValue": "3332", "id": 9799, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11735:2:10", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "11724:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 9796, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "11714:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 9795, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11718:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 9801, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11714:24:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "11692:46:10" }, { "body": { "id": 9821, "nodeType": "Block", "src": "11787:185:10", "statements": [ { "assignments": [ 9815 ], "declarations": [ { "constant": false, "id": 9815, "mutability": "mutable", "name": "k", "nameLocation": "11809:1:10", "nodeType": "VariableDeclaration", "scope": 9821, "src": "11801:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 9814, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11801:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 9819, "initialValue": { "baseExpression": { "id": 9816, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9788, "src": "11813:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9818, "indexExpression": { "id": 9817, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9804, "src": "11815:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11813:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", "src": "11801:16:10" }, { "AST": { "nativeSrc": "11887:75:10", "nodeType": "YulBlock", "src": "11887:75:10", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "result", "nativeSrc": "11916:6:10", "nodeType": "YulIdentifier", "src": "11916:6:10" }, { "arguments": [ { "kind": "number", "nativeSrc": "11928:2:10", "nodeType": "YulLiteral", "src": "11928:2:10", "type": "", "value": "32" }, { "arguments": [ { "kind": "number", "nativeSrc": "11936:2:10", "nodeType": "YulLiteral", "src": "11936:2:10", "type": "", "value": "32" }, { "name": "i", "nativeSrc": "11940:1:10", "nodeType": "YulIdentifier", "src": "11940:1:10" } ], "functionName": { "name": "mul", "nativeSrc": "11932:3:10", "nodeType": "YulIdentifier", "src": "11932:3:10" }, "nativeSrc": "11932:10:10", "nodeType": "YulFunctionCall", "src": "11932:10:10" } ], "functionName": { "name": "add", "nativeSrc": "11924:3:10", "nodeType": "YulIdentifier", "src": "11924:3:10" }, "nativeSrc": "11924:19:10", "nodeType": "YulFunctionCall", "src": "11924:19:10" } ], "functionName": { "name": "add", "nativeSrc": "11912:3:10", "nodeType": "YulIdentifier", "src": "11912:3:10" }, "nativeSrc": "11912:32:10", "nodeType": "YulFunctionCall", "src": "11912:32:10" }, { "name": "k", "nativeSrc": "11946:1:10", "nodeType": "YulIdentifier", "src": "11946:1:10" } ], "functionName": { "name": "mstore", "nativeSrc": "11905:6:10", "nodeType": "YulIdentifier", "src": "11905:6:10" }, "nativeSrc": "11905:43:10", "nodeType": "YulFunctionCall", "src": "11905:43:10" }, "nativeSrc": "11905:43:10", "nodeType": "YulExpressionStatement", "src": "11905:43:10" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [ { "declaration": 9804, "isOffset": false, "isSlot": false, "src": "11940:1:10", "valueSize": 1 }, { "declaration": 9815, "isOffset": false, "isSlot": false, "src": "11946:1:10", "valueSize": 1 }, { "declaration": 9794, "isOffset": false, "isSlot": false, "src": "11916:6:10", "valueSize": 1 } ], "id": 9820, "nodeType": "InlineAssembly", "src": "11878:84:10" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 9810, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 9807, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9804, "src": "11768:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 9808, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9788, "src": "11772:1:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, "id": 9809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "11774:6:10", "memberName": "length", "nodeType": "MemberAccess", "src": "11772:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11768:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 9822, "initializationExpression": { "assignments": [ 9804 ], "declarations": [ { "constant": false, "id": 9804, "mutability": "mutable", "name": "i", "nameLocation": "11761:1:10", "nodeType": "VariableDeclaration", "scope": 9822, "src": "11753:9:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9803, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11753:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 9806, "initialValue": { "hexValue": "30", "id": 9805, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11765:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "11753:13:10" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { "id": 9812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "11782:3:10", "subExpression": { "id": 9811, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9804, "src": "11782:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9813, "nodeType": "ExpressionStatement", "src": "11782:3:10" }, "nodeType": "ForStatement", "src": "11748:224:10" }, { "expression": { "id": 9823, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9794, "src": "11989:6:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 9792, "id": 9824, "nodeType": "Return", "src": "11982:13:10" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "flatten", "nameLocation": "11618:7:10", "parameters": { "id": 9789, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9788, "mutability": "mutable", "name": "b", "nameLocation": "11643:1:10", "nodeType": "VariableDeclaration", "scope": 9826, "src": "11626:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 9786, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11626:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 9787, "nodeType": "ArrayTypeName", "src": "11626:9:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "internal" } ], "src": "11625:20:10" }, "returnParameters": { "id": 9792, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9791, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9826, "src": "11668:12:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 9790, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11668:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "11667:14:10" }, "scope": 9827, "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "abstract": false, "baseContracts": [], "canonicalName": "stdStorage", "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, "linearizedBaseContracts": [ 9827 ], "name": "stdStorage", "nameLocation": "7347:10:10", "scope": 9828, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, "id": 10 }