{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x216818221765c43713791708d7dc83fcd5ada81766c9d4ce54551528c191a59f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f03d0ef065ce600e5922f3e9c92f0f54ff7c12895a250fa97d83e9ee38e7e2b\",\"dweb:/ipfs/QmX59m9mNRNEhjhEZnxbDirniesi26pnDaNzF5hPB4A3E8\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa\",\"dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ ":@ensdomains/=node_modules/@ensdomains/", ":@openzeppelin/=node_modules/@openzeppelin/", ":ds-test/=lib/forge-std/lib/ds-test/src/", ":eth-gas-reporter/=node_modules/eth-gas-reporter/", ":forge-std/=lib/forge-std/src/", ":hardhat-deploy/=node_modules/hardhat-deploy/", ":hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/StdUtils.sol": "StdUtils" }, "libraries": {}, "viaIR": true }, "sources": { "lib/forge-std/src/StdUtils.sol": { "keccak256": "0x216818221765c43713791708d7dc83fcd5ada81766c9d4ce54551528c191a59f", "urls": [ "bzz-raw://3f03d0ef065ce600e5922f3e9c92f0f54ff7c12895a250fa97d83e9ee38e7e2b", "dweb:/ipfs/QmX59m9mNRNEhjhEZnxbDirniesi26pnDaNzF5hPB4A3E8" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f", "urls": [ "bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa", "dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/StdUtils.sol", "id": 8252, "exportedSymbols": { "StdUtils": [ 8251 ], "console2": [ 25385 ] }, "nodeType": "SourceUnit", "src": "32:4585:11", "nodes": [ { "id": 7824, "nodeType": "PragmaDirective", "src": "32:31:11", "nodes": [], "literals": [ "solidity", ">=", "0.6", ".2", "<", "0.9", ".0" ] }, { "id": 7825, "nodeType": "ImportDirective", "src": "65:24:11", "nodes": [], "absolutePath": "lib/forge-std/src/console2.sol", "file": "./console2.sol", "nameLocation": "-1:-1:-1", "scope": 8252, "sourceUnit": 25386, "symbolAliases": [], "unitAlias": "" }, { "id": 8251, "nodeType": "ContractDefinition", "src": "91:4525:11", "nodes": [ { "id": 7828, "nodeType": "VariableDeclaration", "src": "124:125:11", "nodes": [], "constant": true, "mutability": "constant", "name": "UINT256_MAX", "nameLocation": "149:11:11", "scope": 8251, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7826, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "124:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", "id": 7827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "171:78:11", "typeDescriptions": { "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", "typeString": "int_const 1157...(70 digits omitted)...9935" }, "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" }, "visibility": "private" }, { "id": 7958, "nodeType": "FunctionDefinition", "src": "256:1264:11", "nodes": [], "body": { "id": 7957, "nodeType": "Block", "src": "356:1164:11", "nodes": [], "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7840, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "374:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 7841, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "381:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "374:10:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e", "id": 7843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "386:64:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2", "typeString": "literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\"" }, "value": "StdUtils bound(uint256,uint256,uint256): Max is less than min." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2", "typeString": "literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\"" } ], "id": 7839, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "366:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 7844, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "366:85:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7845, "nodeType": "ExpressionStatement", "src": "366:85:11" }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 7852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7846, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "681:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 7847, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "686:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "681:8:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7849, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "693:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 7850, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "698:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "693:8:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "681:20:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7855, "nodeType": "IfStatement", "src": "677:34:11", "trueBody": { "expression": { "id": 7853, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "710:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7838, "id": 7854, "nodeType": "Return", "src": "703:8:11" } }, { "assignments": [ 7857 ], "declarations": [ { "constant": false, "id": 7857, "mutability": "mutable", "name": "size", "nameLocation": "730:4:11", "nodeType": "VariableDeclaration", "scope": 7957, "src": "722:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7856, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "722:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7863, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7858, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "737:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7859, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "743:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "737:9:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 7861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "749:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "737:13:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "722:28:11" }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 7870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7864, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "940:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "hexValue": "33", "id": 7865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "945:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "src": "940:6:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7867, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7857, "src": "950:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 7868, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "957:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "950:8:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "940:18:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7875, "nodeType": "IfStatement", "src": "936:38:11", "trueBody": { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7871, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "967:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 7872, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "973:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "967:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7838, "id": 7874, "nodeType": "Return", "src": "960:14:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 7886, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7876, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "988:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7879, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "id": 7877, "name": "UINT256_MAX", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7828, "src": "993:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "33", "id": 7878, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1007:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, "src": "993:15:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "988:20:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7881, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7857, "src": "1012:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7884, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7882, "name": "UINT256_MAX", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7828, "src": "1019:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7883, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1033:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1019:15:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1012:22:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "988:46:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7894, "nodeType": "IfStatement", "src": "984:82:11", "trueBody": { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7892, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7887, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "1043:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7890, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7888, "name": "UINT256_MAX", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7828, "src": "1050:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7889, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1064:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1050:15:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 7891, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1049:17:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1043:23:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7838, "id": 7893, "nodeType": "Return", "src": "1036:30:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7895, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1166:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 7896, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "1170:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1166:7:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7925, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1345:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 7926, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "1349:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1345:7:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7955, "nodeType": "IfStatement", "src": "1341:173:11", "trueBody": { "id": 7954, "nodeType": "Block", "src": "1354:160:11", "statements": [ { "assignments": [ 7929 ], "declarations": [ { "constant": false, "id": 7929, "mutability": "mutable", "name": "diff", "nameLocation": "1376:4:11", "nodeType": "VariableDeclaration", "scope": 7954, "src": "1368:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7928, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1368:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7933, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7932, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7930, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "1383:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7931, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1389:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1383:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1368:22:11" }, { "assignments": [ 7935 ], "declarations": [ { "constant": false, "id": 7935, "mutability": "mutable", "name": "rem", "nameLocation": "1412:3:11", "nodeType": "VariableDeclaration", "scope": 7954, "src": "1404:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7934, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1404:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7939, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7936, "name": "diff", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7929, "src": "1418:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "id": 7937, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7857, "src": "1425:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1418:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1404:25:11" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7940, "name": "rem", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7935, "src": "1447:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 7941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1454:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1447:8:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7945, "nodeType": "IfStatement", "src": "1443:24:11", "trueBody": { "expression": { "id": 7943, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "1464:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7838, "id": 7944, "nodeType": "Return", "src": "1457:10:11" } }, { "expression": { "id": 7952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7946, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7837, "src": "1481:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7949, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7947, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "1490:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7948, "name": "rem", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7935, "src": "1496:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1490:9:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "hexValue": "31", "id": 7950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1502:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1490:13:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1481:22:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7953, "nodeType": "ExpressionStatement", "src": "1481:22:11" } ] } }, "id": 7956, "nodeType": "IfStatement", "src": "1162:352:11", "trueBody": { "id": 7924, "nodeType": "Block", "src": "1175:160:11", "statements": [ { "assignments": [ 7899 ], "declarations": [ { "constant": false, "id": 7899, "mutability": "mutable", "name": "diff", "nameLocation": "1197:4:11", "nodeType": "VariableDeclaration", "scope": 7924, "src": "1189:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7898, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1189:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7903, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7900, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7830, "src": "1204:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 7901, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "1208:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1204:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1189:22:11" }, { "assignments": [ 7905 ], "declarations": [ { "constant": false, "id": 7905, "mutability": "mutable", "name": "rem", "nameLocation": "1233:3:11", "nodeType": "VariableDeclaration", "scope": 7924, "src": "1225:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7904, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1225:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 7909, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7906, "name": "diff", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7899, "src": "1239:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "id": 7907, "name": "size", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7857, "src": "1246:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1239:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1225:25:11" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7910, "name": "rem", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7905, "src": "1268:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 7911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1275:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1268:8:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 7915, "nodeType": "IfStatement", "src": "1264:24:11", "trueBody": { "expression": { "id": 7913, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7834, "src": "1285:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 7838, "id": 7914, "nodeType": "Return", "src": "1278:10:11" } }, { "expression": { "id": 7922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7916, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7837, "src": "1302:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7919, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7917, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7832, "src": "1311:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 7918, "name": "rem", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7905, "src": "1317:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1311:9:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 7920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1323:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "1311:13:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1302:22:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7923, "nodeType": "ExpressionStatement", "src": "1302:22:11" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "_bound", "nameLocation": "265:6:11", "parameters": { "id": 7835, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7830, "mutability": "mutable", "name": "x", "nameLocation": "280:1:11", "nodeType": "VariableDeclaration", "scope": 7958, "src": "272:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7829, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "272:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7832, "mutability": "mutable", "name": "min", "nameLocation": "291:3:11", "nodeType": "VariableDeclaration", "scope": 7958, "src": "283:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7831, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "283:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7834, "mutability": "mutable", "name": "max", "nameLocation": "304:3:11", "nodeType": "VariableDeclaration", "scope": 7958, "src": "296:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7833, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "296:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "271:37:11" }, "returnParameters": { "id": 7838, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7837, "mutability": "mutable", "name": "result", "nameLocation": "348:6:11", "nodeType": "VariableDeclaration", "scope": 7958, "src": "340:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7836, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "340:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "339:16:11" }, "scope": 8251, "stateMutability": "pure", "virtual": true, "visibility": "internal" }, { "id": 7985, "nodeType": "FunctionDefinition", "src": "1526:190:11", "nodes": [], "body": { "id": 7984, "nodeType": "Block", "src": "1625:91:11", "nodes": [], "statements": [ { "expression": { "id": 7975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 7969, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7967, "src": "1635:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 7971, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7960, "src": "1651:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 7972, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7962, "src": "1654:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 7973, "name": "max", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7964, "src": "1659:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7970, "name": "_bound", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7958, "src": "1644:6:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, "id": 7974, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1644:19:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1635:28:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7976, "nodeType": "ExpressionStatement", "src": "1635:28:11" }, { "expression": { "arguments": [ { "hexValue": "426f756e6420526573756c74", "id": 7980, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1686:14:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", "typeString": "literal_string \"Bound Result\"" }, "value": "Bound Result" }, { "id": 7981, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7967, "src": "1702:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", "typeString": "literal_string \"Bound Result\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 7977, "name": "console2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25385, "src": "1673:8:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_console2_$25385_$", "typeString": "type(library console2)" } }, "id": 7979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1682:3:11", "memberName": "log", "nodeType": "MemberAccess", "referencedDeclaration": 18029, "src": "1673:12:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256) view" } }, "id": 7982, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1673:36:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7983, "nodeType": "ExpressionStatement", "src": "1673:36:11" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bound", "nameLocation": "1535:5:11", "parameters": { "id": 7965, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7960, "mutability": "mutable", "name": "x", "nameLocation": "1549:1:11", "nodeType": "VariableDeclaration", "scope": 7985, "src": "1541:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7959, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1541:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7962, "mutability": "mutable", "name": "min", "nameLocation": "1560:3:11", "nodeType": "VariableDeclaration", "scope": 7985, "src": "1552:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7961, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1552:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7964, "mutability": "mutable", "name": "max", "nameLocation": "1573:3:11", "nodeType": "VariableDeclaration", "scope": 7985, "src": "1565:11:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7963, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1565:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1540:37:11" }, "returnParameters": { "id": 7968, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7967, "mutability": "mutable", "name": "result", "nameLocation": "1617:6:11", "nodeType": "VariableDeclaration", "scope": 7985, "src": "1609:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7966, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1609:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1608:16:11" }, "scope": 8251, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "id": 8170, "nodeType": "FunctionDefinition", "src": "1951:1962:11", "nodes": [], "body": { "id": 8169, "nodeType": "Block", "src": "2054:1859:11", "nodes": [], "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7997, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 7995, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2380:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30783030", "id": 7996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2389:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0x00" }, "src": "2380:13:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8019, "nodeType": "IfStatement", "src": "2376:134:11", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786436", "id": 8004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2464:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" }, "value": "0xd6" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" } ], "id": 8003, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2457:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8002, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2457:6:11", "typeDescriptions": {} } }, "id": 8005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2457:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8008, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2478:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8007, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2471:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8006, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2471:6:11", "typeDescriptions": {} } }, "id": 8009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2471:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8010, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "2485:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783830", "id": 8013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2502:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "0x80" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" } ], "id": 8012, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2495:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8011, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2495:6:11", "typeDescriptions": {} } }, "id": 8014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2495:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } ], "expression": { "id": 8000, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2440:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8001, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2444:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2440:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8015, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2440:68:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 7999, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2430:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8016, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2430:79:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 7998, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "2407:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8017, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2407:103:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8018, "nodeType": "Return", "src": "2400:110:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8022, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8020, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2524:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "hexValue": "30783766", "id": 8021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2533:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_127_by_1", "typeString": "int_const 127" }, "value": "0x7f" }, "src": "2524:13:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8044, "nodeType": "IfStatement", "src": "2520:134:11", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786436", "id": 8029, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2608:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" }, "value": "0xd6" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_214_by_1", "typeString": "int_const 214" } ], "id": 8028, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2601:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8027, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2601:6:11", "typeDescriptions": {} } }, "id": 8030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2601:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2622:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8032, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2615:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8031, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2615:6:11", "typeDescriptions": {} } }, "id": 8034, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2615:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8035, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "2629:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "id": 8038, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2645:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8037, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2639:5:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 8036, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2639:5:11", "typeDescriptions": {} } }, "id": 8039, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2639:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "expression": { "id": 8025, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2584:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8026, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2588:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2584:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8040, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2584:68:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8024, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2574:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8041, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2574:79:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8023, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "2551:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8042, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2551:103:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8043, "nodeType": "Return", "src": "2544:110:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8045, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2807:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "id": 8050, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "id": 8048, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 8046, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2816:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "38", "id": 8047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2819:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" }, "value": "8" }, "src": "2816:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 8049, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2823:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2816:8:11", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" } }, "src": "2807:17:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8077, "nodeType": "IfStatement", "src": "2803:148:11", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786437", "id": 8058, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2891:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_215_by_1", "typeString": "int_const 215" }, "value": "0xd7" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_215_by_1", "typeString": "int_const 215" } ], "id": 8057, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2884:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8056, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2884:6:11", "typeDescriptions": {} } }, "id": 8059, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2884:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2905:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8061, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2898:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8060, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2898:6:11", "typeDescriptions": {} } }, "id": 8063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2898:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8064, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "2912:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783831", "id": 8067, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2929:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_129_by_1", "typeString": "int_const 129" }, "value": "0x81" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_129_by_1", "typeString": "int_const 129" } ], "id": 8066, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2922:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8065, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2922:6:11", "typeDescriptions": {} } }, "id": 8068, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2922:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 8071, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2942:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2936:5:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": { "id": 8069, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2936:5:11", "typeDescriptions": {} } }, "id": 8072, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2936:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "expression": { "id": 8054, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2867:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8055, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2871:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2867:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2867:82:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8053, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2857:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8074, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2857:93:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8052, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "2834:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8075, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2834:117:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8076, "nodeType": "Return", "src": "2827:124:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8078, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "2965:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_65535_by_1", "typeString": "int_const 65535" }, "id": 8083, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" }, "id": 8081, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 8079, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2974:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3136", "id": 8080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2977:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" }, "value": "16" }, "src": "2974:5:11", "typeDescriptions": { "typeIdentifier": "t_rational_65536_by_1", "typeString": "int_const 65536" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 8082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2982:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "2974:9:11", "typeDescriptions": { "typeIdentifier": "t_rational_65535_by_1", "typeString": "int_const 65535" } }, "src": "2965:18:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8110, "nodeType": "IfStatement", "src": "2961:149:11", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786438", "id": 8091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3049:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_216_by_1", "typeString": "int_const 216" }, "value": "0xd8" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_216_by_1", "typeString": "int_const 216" } ], "id": 8090, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3042:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8089, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3042:6:11", "typeDescriptions": {} } }, "id": 8092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3042:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3063:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8094, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3056:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8093, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3056:6:11", "typeDescriptions": {} } }, "id": 8096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3056:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8097, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "3070:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783832", "id": 8100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3087:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_130_by_1", "typeString": "int_const 130" }, "value": "0x82" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_130_by_1", "typeString": "int_const 130" } ], "id": 8099, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3080:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8098, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3080:6:11", "typeDescriptions": {} } }, "id": 8101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3080:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 8104, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "3101:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8103, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3094:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint16_$", "typeString": "type(uint16)" }, "typeName": { "id": 8102, "name": "uint16", "nodeType": "ElementaryTypeName", "src": "3094:6:11", "typeDescriptions": {} } }, "id": 8105, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3094:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint16", "typeString": "uint16" } ], "expression": { "id": 8087, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3025:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8088, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3029:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3025:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8106, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3025:83:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8086, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3015:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8107, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3015:94:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8085, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "2992:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8108, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2992:118:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8109, "nodeType": "Return", "src": "2985:125:11" } }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 8111, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "3124:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "commonType": { "typeIdentifier": "t_rational_16777215_by_1", "typeString": "int_const 16777215" }, "id": 8116, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" }, "id": 8114, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "hexValue": "32", "id": 8112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3133:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "hexValue": "3234", "id": 8113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3136:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_24_by_1", "typeString": "int_const 24" }, "value": "24" }, "src": "3133:5:11", "typeDescriptions": { "typeIdentifier": "t_rational_16777216_by_1", "typeString": "int_const 16777216" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "hexValue": "31", "id": 8115, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3141:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3133:9:11", "typeDescriptions": { "typeIdentifier": "t_rational_16777215_by_1", "typeString": "int_const 16777215" } }, "src": "3124:18:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 8143, "nodeType": "IfStatement", "src": "3120:149:11", "trueBody": { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786439", "id": 8124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3208:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_217_by_1", "typeString": "int_const 217" }, "value": "0xd9" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_217_by_1", "typeString": "int_const 217" } ], "id": 8123, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3201:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8122, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3201:6:11", "typeDescriptions": {} } }, "id": 8125, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3201:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3222:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8127, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3215:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8126, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3215:6:11", "typeDescriptions": {} } }, "id": 8129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3215:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8130, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "3229:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783833", "id": 8133, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3246:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_131_by_1", "typeString": "int_const 131" }, "value": "0x83" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_131_by_1", "typeString": "int_const 131" } ], "id": 8132, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3239:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8131, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3239:6:11", "typeDescriptions": {} } }, "id": 8134, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3239:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 8137, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "3260:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8136, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3253:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint24_$", "typeString": "type(uint24)" }, "typeName": { "id": 8135, "name": "uint24", "nodeType": "ElementaryTypeName", "src": "3253:6:11", "typeDescriptions": {} } }, "id": 8138, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3253:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint24", "typeString": "uint24" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint24", "typeString": "uint24" } ], "expression": { "id": 8120, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3184:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8121, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3188:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3184:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8139, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3184:83:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8119, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3174:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8140, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3174:94:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8118, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "3151:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8141, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3151:118:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8142, "nodeType": "Return", "src": "3144:125:11" } }, { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786461", "id": 8150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3836:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_218_by_1", "typeString": "int_const 218" }, "value": "0xda" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_218_by_1", "typeString": "int_const 218" } ], "id": 8149, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3829:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8148, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3829:6:11", "typeDescriptions": {} } }, "id": 8151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3829:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "hexValue": "30783934", "id": 8154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3850:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" }, "value": "0x94" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_148_by_1", "typeString": "int_const 148" } ], "id": 8153, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3843:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8152, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3843:6:11", "typeDescriptions": {} } }, "id": 8155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3843:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8156, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7988, "src": "3857:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "30783834", "id": 8159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3874:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_132_by_1", "typeString": "int_const 132" }, "value": "0x84" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_132_by_1", "typeString": "int_const 132" } ], "id": 8158, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3867:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8157, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "3867:6:11", "typeDescriptions": {} } }, "id": 8160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3867:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "arguments": [ { "id": 8163, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7990, "src": "3888:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8162, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3881:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint32_$", "typeString": "type(uint32)" }, "typeName": { "id": 8161, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3881:6:11", "typeDescriptions": {} } }, "id": 8164, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3881:13:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_uint32", "typeString": "uint32" } ], "expression": { "id": 8146, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "3812:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8147, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "3816:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "3812:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8165, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3812:83:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8145, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "3802:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8166, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3802:94:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8144, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "3766:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8167, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3766:140:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 7994, "id": 8168, "nodeType": "Return", "src": "3759:147:11" } ] }, "documentation": { "id": 7986, "nodeType": "StructuredDocumentation", "src": "1722:224:11", "text": "@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapated from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)" }, "implemented": true, "kind": "function", "modifiers": [], "name": "computeCreateAddress", "nameLocation": "1960:20:11", "parameters": { "id": 7991, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7988, "mutability": "mutable", "name": "deployer", "nameLocation": "1989:8:11", "nodeType": "VariableDeclaration", "scope": 8170, "src": "1981:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7987, "name": "address", "nodeType": "ElementaryTypeName", "src": "1981:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 7990, "mutability": "mutable", "name": "nonce", "nameLocation": "2007:5:11", "nodeType": "VariableDeclaration", "scope": 8170, "src": "1999:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7989, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1999:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1980:33:11" }, "returnParameters": { "id": 7994, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7993, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8170, "src": "2045:7:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7992, "name": "address", "nodeType": "ElementaryTypeName", "src": "2045:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "2044:9:11" }, "scope": 8251, "stateMutability": "pure", "virtual": true, "visibility": "internal" }, { "id": 8197, "nodeType": "FunctionDefinition", "src": "3919:280:11", "nodes": [], "body": { "id": 8196, "nodeType": "Block", "src": "4080:119:11", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "30786666", "id": 8187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4154:4:11", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xff" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" } ], "id": 8186, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "4147:6:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": { "id": 8185, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "4147:6:11", "typeDescriptions": {} } }, "id": 8188, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4147:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, { "id": 8189, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8176, "src": "4161:8:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 8190, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8172, "src": "4171:4:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 8191, "name": "initcodeHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8174, "src": "4177:12:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 8183, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4130:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8184, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4134:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4130:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8192, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4130:60:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 8182, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "4120:9:11", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 8193, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4120:71:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8181, "name": "addressFromLast20Bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8250, "src": "4097:22:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) pure returns (address)" } }, "id": 8194, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4097:95:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 8180, "id": 8195, "nodeType": "Return", "src": "4090:102:11" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "computeCreate2Address", "nameLocation": "3928:21:11", "parameters": { "id": 8177, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8172, "mutability": "mutable", "name": "salt", "nameLocation": "3958:4:11", "nodeType": "VariableDeclaration", "scope": 8197, "src": "3950:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8171, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3950:7:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 8174, "mutability": "mutable", "name": "initcodeHash", "nameLocation": "3972:12:11", "nodeType": "VariableDeclaration", "scope": 8197, "src": "3964:20:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8173, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3964:7:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 8176, "mutability": "mutable", "name": "deployer", "nameLocation": "3994:8:11", "nodeType": "VariableDeclaration", "scope": 8197, "src": "3986:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8175, "name": "address", "nodeType": "ElementaryTypeName", "src": "3986:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "3949:54:11" }, "returnParameters": { "id": 8180, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8179, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8197, "src": "4067:7:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8178, "name": "address", "nodeType": "ElementaryTypeName", "src": "4067:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4066:9:11" }, "scope": 8251, "stateMutability": "pure", "virtual": true, "visibility": "internal" }, { "id": 8231, "nodeType": "FunctionDefinition", "src": "4205:259:11", "nodes": [], "body": { "id": 8230, "nodeType": "Block", "src": "4282:182:11", "nodes": [], "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 8205, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8199, "src": "4300:1:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 8206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "4302:6:11", "memberName": "length", "nodeType": "MemberAccess", "src": "4300:8:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "hexValue": "3332", "id": 8207, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4312:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "src": "4300:14:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e", "id": 8209, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4316:55:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88", "typeString": "literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\"" }, "value": "StdUtils bytesToUint(bytes): Bytes length exceeds 32." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88", "typeString": "literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\"" } ], "id": 8204, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4292:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 8210, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4292:80:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8211, "nodeType": "ExpressionStatement", "src": "4292:80:11" }, { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 8221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", "id": 8218, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4427:2:11", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "expression": { "id": 8219, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8199, "src": "4432:1:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 8220, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "4434:6:11", "memberName": "length", "nodeType": "MemberAccess", "src": "4432:8:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "4427:13:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8217, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "4417:9:11", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 8216, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4421:5:11", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 8222, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4417:24:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "id": 8223, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8199, "src": "4443:1:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 8214, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4400:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8215, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4404:12:11", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "4400:16:11", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 8224, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4400:45:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 8226, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "4448:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8225, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4448:7:11", "typeDescriptions": {} } } ], "id": 8227, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "4447:9:11", "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": 8212, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "4389:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 8213, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "4393:6:11", "memberName": "decode", "nodeType": "MemberAccess", "src": "4389:10:11", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 8228, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4389:68:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 8203, "id": 8229, "nodeType": "Return", "src": "4382:75:11" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesToUint", "nameLocation": "4214:11:11", "parameters": { "id": 8200, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8199, "mutability": "mutable", "name": "b", "nameLocation": "4239:1:11", "nodeType": "VariableDeclaration", "scope": 8231, "src": "4226:14:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 8198, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4226:5:11", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "4225:16:11" }, "returnParameters": { "id": 8203, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8202, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8231, "src": "4273:7:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8201, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4273:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "4272:9:11" }, "scope": 8251, "stateMutability": "pure", "virtual": true, "visibility": "internal" }, { "id": 8250, "nodeType": "FunctionDefinition", "src": "4470:144:11", "nodes": [], "body": { "id": 8249, "nodeType": "Block", "src": "4553:61:11", "nodes": [], "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [ { "id": 8244, "name": "bytesValue", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8233, "src": "4594:10:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 8243, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "4586:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 8242, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4586:7:11", "typeDescriptions": {} } }, "id": 8245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4586:19:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8241, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "4578:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 8240, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "4578:7:11", "typeDescriptions": {} } }, "id": 8246, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4578:28:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 8239, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "4570:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 8238, "name": "address", "nodeType": "ElementaryTypeName", "src": "4570:7:11", "typeDescriptions": {} } }, "id": 8247, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4570:37:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 8237, "id": 8248, "nodeType": "Return", "src": "4563:44:11" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "addressFromLast20Bytes", "nameLocation": "4479:22:11", "parameters": { "id": 8234, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8233, "mutability": "mutable", "name": "bytesValue", "nameLocation": "4510:10:11", "nodeType": "VariableDeclaration", "scope": 8250, "src": "4502:18:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 8232, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4502:7:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "4501:20:11" }, "returnParameters": { "id": 8237, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8236, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 8250, "src": "4544:7:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8235, "name": "address", "nodeType": "ElementaryTypeName", "src": "4544:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "4543:9:11" }, "scope": 8251, "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "abstract": true, "baseContracts": [], "canonicalName": "StdUtils", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 8251 ], "name": "StdUtils", "nameLocation": "109:8:11", "scope": 8252, "usedErrors": [] } ], "license": "MIT" }, "id": 11 }