UNPKG

@gooddollar/goodcontracts

Version:
1,210 lines (1,209 loc) 78.5 kB
{ "contractName": "Math", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Assorted math operations\",\"methods\":{},\"title\":\"Math\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/math/Math.sol\":\"Math\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/math/Math.sol\":{\"keccak256\":\"0x37605dd0606b349cfb1b679892e1bb0ef4ddc16dedb06e229cc4402610a7a848\",\"urls\":[\"bzz-raw://c44b0c7fe0523f3f9a10d2924d7d7137b1349b1e71cd4be57550e185a098ca55\",\"dweb:/ipfs/QmbBLBCBPpqna3QZTiomSwyBdtt5Ua9DqkFgYicMd7Coya\"]}},\"version\":1}", "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582017fffebf575488e1e42fb7e5d60991ff4cc0a4e64b84ae58d4aec5600e80f37364736f6c63430005100032", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582017fffebf575488e1e42fb7e5d60991ff4cc0a4e64b84ae58d4aec5600e80f37364736f6c63430005100032", "sourceMap": "81:744:75:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", "deployedSourceMap": "81:744:75:-;;;;;;;;", "source": "pragma solidity ^0.5.0;\n\n/**\n * @title Math\n * @dev Assorted math operations\n */\nlibrary Math {\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a >= b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Calculates the average of two numbers. Since these are integers,\n * averages of an even and odd number cannot be represented, and will be\n * rounded down.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow, so we distribute\n return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/math/Math.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/math/Math.sol", "exportedSymbols": { "Math": [ 21180 ] }, "id": 21181, "nodeType": "SourceUnit", "nodes": [ { "id": 21113, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:75" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": "@title Math\n@dev Assorted math operations", "fullyImplemented": true, "id": 21180, "linearizedBaseContracts": [ 21180 ], "name": "Math", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 21129, "nodeType": "Block", "src": "229:38:75", "statements": [ { "expression": { "argumentTypes": null, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21122, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21115, "src": "246:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "id": 21123, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21117, "src": "251:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "246:6:75", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "argumentTypes": null, "id": 21126, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21117, "src": "259:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 21127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "246:14:75", "trueExpression": { "argumentTypes": null, "id": 21125, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21115, "src": "255:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 21121, "id": 21128, "nodeType": "Return", "src": "239:21:75" } ] }, "documentation": "@dev Returns the largest of two numbers.", "id": 21130, "implemented": true, "kind": "function", "modifiers": [], "name": "max", "nodeType": "FunctionDefinition", "parameters": { "id": 21118, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21115, "name": "a", "nodeType": "VariableDeclaration", "scope": 21130, "src": "175:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21114, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "175:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 21117, "name": "b", "nodeType": "VariableDeclaration", "scope": 21130, "src": "186:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21116, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "186:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "174:22:75" }, "returnParameters": { "id": 21121, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21120, "name": "", "nodeType": "VariableDeclaration", "scope": 21130, "src": "220:7:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21119, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "220:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "219:9:75" }, "scope": 21180, "src": "162:105:75", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 21146, "nodeType": "Block", "src": "403:37:75", "statements": [ { "expression": { "argumentTypes": null, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21139, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21132, "src": "420:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "id": 21140, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21134, "src": "424:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "420:5:75", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "argumentTypes": null, "id": 21143, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21134, "src": "432:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 21144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "420:13:75", "trueExpression": { "argumentTypes": null, "id": 21142, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21132, "src": "428:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 21138, "id": 21145, "nodeType": "Return", "src": "413:20:75" } ] }, "documentation": "@dev Returns the smallest of two numbers.", "id": 21147, "implemented": true, "kind": "function", "modifiers": [], "name": "min", "nodeType": "FunctionDefinition", "parameters": { "id": 21135, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21132, "name": "a", "nodeType": "VariableDeclaration", "scope": 21147, "src": "349:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21131, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "349:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 21134, "name": "b", "nodeType": "VariableDeclaration", "scope": 21147, "src": "360:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21133, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "360:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "348:22:75" }, "returnParameters": { "id": 21138, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21137, "name": "", "nodeType": "VariableDeclaration", "scope": 21147, "src": "394:7:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21136, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "394:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "393:9:75" }, "scope": 21180, "src": "336:104:75", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 21178, "nodeType": "Block", "src": "704:119:75", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21164, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21156, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21149, "src": "776:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "hexValue": "32", "id": 21157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "780:1:75", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "776:5:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 21159, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "775:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21160, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21151, "src": "786:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "hexValue": "32", "id": 21161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "790:1:75", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "786:5:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 21163, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "785:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "775:17:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21167, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21165, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21149, "src": "797:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "argumentTypes": null, "hexValue": "32", "id": 21166, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "801:1:75", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "797:5:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21170, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21168, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21151, "src": "805:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "argumentTypes": null, "hexValue": "32", "id": 21169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "809:1:75", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "805:5:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "797:13:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 21172, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "796:15:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "hexValue": "32", "id": 21173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "814:1:75", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, "src": "796:19:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 21175, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "795:21:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "775:41:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 21155, "id": 21177, "nodeType": "Return", "src": "768:48:75" } ] }, "documentation": "@dev Calculates the average of two numbers. Since these are integers,\naverages of an even and odd number cannot be represented, and will be\nrounded down.", "id": 21179, "implemented": true, "kind": "function", "modifiers": [], "name": "average", "nodeType": "FunctionDefinition", "parameters": { "id": 21152, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21149, "name": "a", "nodeType": "VariableDeclaration", "scope": 21179, "src": "650:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21148, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "650:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 21151, "name": "b", "nodeType": "VariableDeclaration", "scope": 21179, "src": "661:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21150, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "661:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "649:22:75" }, "returnParameters": { "id": 21155, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21154, "name": "", "nodeType": "VariableDeclaration", "scope": 21179, "src": "695:7:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21153, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "695:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "694:9:75" }, "scope": 21180, "src": "633:190:75", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 21181, "src": "81:744:75" } ], "src": "0:826:75" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/math/Math.sol", "exportedSymbols": { "Math": [ 21180 ] }, "id": 21181, "nodeType": "SourceUnit", "nodes": [ { "id": 21113, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:75" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": "@title Math\n@dev Assorted math operations", "fullyImplemented": true, "id": 21180, "linearizedBaseContracts": [ 21180 ], "name": "Math", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 21129, "nodeType": "Block", "src": "229:38:75", "statements": [ { "expression": { "argumentTypes": null, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21122, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21115, "src": "246:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "id": 21123, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21117, "src": "251:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "246:6:75", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { "argumentTypes": null, "id": 21126, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21117, "src": "259:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 21127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", "src": "246:14:75", "trueExpression": { "argumentTypes": null, "id": 21125, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21115, "src": "255:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 21121, "id": 21128, "nodeType": "Return", "src": "239:21:75" } ] }, "documentation": "@dev Returns the largest of two numbers.", "id": 21130, "implemented": true, "kind": "function", "modifiers": [], "name": "max", "nodeType": "FunctionDefinition", "parameters": { "id": 21118, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21115, "name": "a", "nodeType": "VariableDeclaration", "scope": 21130, "src": "175:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21114, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "175:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 21117, "name": "b", "nodeType": "VariableDeclaration", "scope": 21130, "src": "186:9:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21116, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "186:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "174:22:75" }, "returnParameters": { "id": 21121, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21120, "name": "", "nodeType": "VariableDeclaration", "scope": 21130, "src": "220:7:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21119, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "220:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "219:9:75" }, "scope": 21180, "src": "162:105:75", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 21146, "nodeType": "Block", "src": "403:37:75", "statements": [ { "expression": { "argumentTypes": null, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 21141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 21139, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21132, "src": "420:1:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256"