{ "contractName": "DecimalMath", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DecimalMath\"},\"userdoc\":{\"methods\":{},\"notice\":\"Functions for fixed point number with 18 decimals\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":\"DecimalMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]}},\"version\":1}", "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a468b0c2955324f5156945f942228fb8f246689c7181eecdf6b95fe100373bf64736f6c63430006090033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207a468b0c2955324f5156945f942228fb8f246689c7181eecdf6b95fe100373bf64736f6c63430006090033", "immutableReferences": {}, "sourceMap": "297:605:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "297:605:36:-:0;;;;;;;;", "source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {SafeMath} from \"./SafeMath.sol\";\n\n\n/**\n * @title DecimalMath\n * @author DODO Breeder\n *\n * @notice Functions for fixed point number with 18 decimals\n */\nlibrary DecimalMath {\n using SafeMath for uint256;\n\n uint256 constant ONE = 10**18;\n\n function mul(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(d) / ONE;\n }\n\n function mulCeil(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(d).divCeil(ONE);\n }\n\n function divFloor(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(ONE).div(d);\n }\n\n function divCeil(uint256 target, uint256 d) internal pure returns (uint256) {\n return target.mul(ONE).divCeil(d);\n }\n}\n", "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", "ast": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", "exportedSymbols": { "DecimalMath": [ 11078 ] }, "id": 11079, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 10994, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:36" }, { "id": 10995, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:36" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", "file": "./SafeMath.sol", "id": 10997, "nodeType": "ImportDirective", "scope": 11079, "sourceUnit": 11624, "src": "136:40:36", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 10996, "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:8:36", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": { "id": 10998, "nodeType": "StructuredDocumentation", "src": "179:117:36", "text": " @title DecimalMath\n @author DODO Breeder\n @notice Functions for fixed point number with 18 decimals" }, "fullyImplemented": true, "id": 11078, "linearizedBaseContracts": [ 11078 ], "name": "DecimalMath", "nodeType": "ContractDefinition", "nodes": [ { "id": 11001, "libraryName": { "contractScope": null, "id": 10999, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11623, "src": "329:8:36", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$11623", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "323:27:36", "typeName": { "id": 11000, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": true, "id": 11006, "mutability": "constant", "name": "ONE", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11078, "src": "356:29:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11002, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "356:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_rational_1000000000000000000_by_1", "typeString": "int_const 1000000000000000000" }, "id": 11005, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3130", "id": 11003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "379:2:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "argumentTypes": null, "hexValue": "3138", "id": 11004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "383:2:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", "typeString": "int_const 18" }, "value": "18" }, "src": "379:6:36", "typeDescriptions": { "typeIdentifier": "t_rational_1000000000000000000_by_1", "typeString": "int_const 1000000000000000000" } }, "visibility": "internal" }, { "body": { "id": 11022, "nodeType": "Block", "src": "464:43:36", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 11020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11017, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11010, "src": "492:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11015, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11008, "src": "481:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "481:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11018, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "481:13:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "id": 11019, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "497:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "481:19:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11014, "id": 11021, "nodeType": "Return", "src": "474:26:36" } ] }, "documentation": null, "id": 11023, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11011, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11008, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "405:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11007, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "405:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11010, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "421:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11009, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "421:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "404:27:36" }, "returnParameters": { "id": 11014, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11013, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "455:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11012, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "455:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "454:9:36" }, "scope": 11078, "src": "392:115:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11040, "nodeType": "Block", "src": "589:50:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11037, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "628:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11034, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11027, "src": "617:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11032, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11025, "src": "606:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "606:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11035, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "606:13:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "divCeil", "nodeType": "MemberAccess", "referencedDeclaration": 11536, "src": "606:21:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11038, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "606:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11031, "id": 11039, "nodeType": "Return", "src": "599:33:36" } ] }, "documentation": null, "id": 11041, "implemented": true, "kind": "function", "modifiers": [], "name": "mulCeil", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11028, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11025, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "530:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "530:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11027, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "546:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11026, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "546:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "529:27:36" }, "returnParameters": { "id": 11031, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11030, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "580:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11029, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "580:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "579:9:36" }, "scope": 11078, "src": "513:126:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11058, "nodeType": "Block", "src": "722:46:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11055, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11045, "src": "759:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11052, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "750:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11050, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11043, "src": "739:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "739:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11053, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:15:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "739:19:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11056, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:22:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11049, "id": 11057, "nodeType": "Return", "src": "732:29:36" } ] }, "documentation": null, "id": 11059, "implemented": true, "kind": "function", "modifiers": [], "name": "divFloor", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11046, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11043, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "663:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11042, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "663:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11045, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "679:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11044, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "679:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "662:27:36" }, "returnParameters": { "id": 11049, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11048, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "713:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11047, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "713:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "712:9:36" }, "scope": 11078, "src": "645:123:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11076, "nodeType": "Block", "src": "850:50:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11073, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11063, "src": "891:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11070, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "878:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11068, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11061, "src": "867:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11069, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "867:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11071, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "867:15:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "divCeil", "nodeType": "MemberAccess", "referencedDeclaration": 11536, "src": "867:23:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11074, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "867:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11067, "id": 11075, "nodeType": "Return", "src": "860:33:36" } ] }, "documentation": null, "id": 11077, "implemented": true, "kind": "function", "modifiers": [], "name": "divCeil", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11064, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11061, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "791:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11060, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "791:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11063, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "807:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "807:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "790:27:36" }, "returnParameters": { "id": 11067, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11066, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "841:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11065, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "841:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "840:9:36" }, "scope": 11078, "src": "774:126:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 11079, "src": "297:605:36" } ], "src": "78:825:36" }, "legacyAST": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol", "exportedSymbols": { "DecimalMath": [ 11078 ] }, "id": 11079, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 10994, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:36" }, { "id": 10995, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:36" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", "file": "./SafeMath.sol", "id": 10997, "nodeType": "ImportDirective", "scope": 11079, "sourceUnit": 11624, "src": "136:40:36", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 10996, "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:8:36", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": { "id": 10998, "nodeType": "StructuredDocumentation", "src": "179:117:36", "text": " @title DecimalMath\n @author DODO Breeder\n @notice Functions for fixed point number with 18 decimals" }, "fullyImplemented": true, "id": 11078, "linearizedBaseContracts": [ 11078 ], "name": "DecimalMath", "nodeType": "ContractDefinition", "nodes": [ { "id": 11001, "libraryName": { "contractScope": null, "id": 10999, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11623, "src": "329:8:36", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$11623", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "323:27:36", "typeName": { "id": 11000, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": true, "id": 11006, "mutability": "constant", "name": "ONE", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11078, "src": "356:29:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11002, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "356:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_rational_1000000000000000000_by_1", "typeString": "int_const 1000000000000000000" }, "id": 11005, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "hexValue": "3130", "id": 11003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "379:2:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "nodeType": "BinaryOperation", "operator": "**", "rightExpression": { "argumentTypes": null, "hexValue": "3138", "id": 11004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "383:2:36", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", "typeString": "int_const 18" }, "value": "18" }, "src": "379:6:36", "typeDescriptions": { "typeIdentifier": "t_rational_1000000000000000000_by_1", "typeString": "int_const 1000000000000000000" } }, "visibility": "internal" }, { "body": { "id": 11022, "nodeType": "Block", "src": "464:43:36", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 11020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11017, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11010, "src": "492:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11015, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11008, "src": "481:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "481:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11018, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "481:13:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "id": 11019, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "497:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "481:19:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11014, "id": 11021, "nodeType": "Return", "src": "474:26:36" } ] }, "documentation": null, "id": 11023, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11011, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11008, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "405:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11007, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "405:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11010, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "421:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11009, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "421:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "404:27:36" }, "returnParameters": { "id": 11014, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11013, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11023, "src": "455:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11012, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "455:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "454:9:36" }, "scope": 11078, "src": "392:115:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11040, "nodeType": "Block", "src": "589:50:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11037, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "628:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11034, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11027, "src": "617:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11032, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11025, "src": "606:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "606:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11035, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "606:13:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "divCeil", "nodeType": "MemberAccess", "referencedDeclaration": 11536, "src": "606:21:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11038, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "606:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11031, "id": 11039, "nodeType": "Return", "src": "599:33:36" } ] }, "documentation": null, "id": 11041, "implemented": true, "kind": "function", "modifiers": [], "name": "mulCeil", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11028, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11025, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "530:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "530:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11027, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "546:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11026, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "546:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "529:27:36" }, "returnParameters": { "id": 11031, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11030, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11041, "src": "580:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11029, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "580:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "579:9:36" }, "scope": 11078, "src": "513:126:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11058, "nodeType": "Block", "src": "722:46:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11055, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11045, "src": "759:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11052, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "750:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11050, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11043, "src": "739:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "739:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11053, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:15:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "739:19:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11056, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "739:22:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11049, "id": 11057, "nodeType": "Return", "src": "732:29:36" } ] }, "documentation": null, "id": 11059, "implemented": true, "kind": "function", "modifiers": [], "name": "divFloor", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11046, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11043, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "663:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11042, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "663:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11045, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "679:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11044, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "679:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "662:27:36" }, "returnParameters": { "id": 11049, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11048, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11059, "src": "713:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11047, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "713:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "712:9:36" }, "scope": 11078, "src": "645:123:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 11076, "nodeType": "Block", "src": "850:50:36", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11073, "name": "d", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11063, "src": "891:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11070, "name": "ONE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11006, "src": "878:3:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 11068, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11061, "src": "867:6:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11069, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "867:10:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11071, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "867:15:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "divCeil", "nodeType": "MemberAccess", "referencedDeclaration": 11536, "src": "867:23:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 11074, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "867:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11067, "id": 11075, "nodeType": "Return", "src": "860:33:36" } ] }, "documentation": null, "id": 11077, "implemented": true, "kind": "function", "modifiers": [], "name": "divCeil", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11064, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11061, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "791:14:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11060, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "791:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11063, "mutability": "mutable", "name": "d", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "807:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "807:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "790:27:36" }, "returnParameters": { "id": 11067, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11066, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11077, "src": "841:7:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11065, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "841:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "840:9:36" }, "scope": 11078, "src": "774:126:36", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], "scope": 11079, "src": "297:605:36" } ], "src": "78:825:36" }, "compiler": { "name": "solc", "version": "0.6.9+commit.3e3065ac.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-11-06T08:03:35.720Z", "devdoc": { "author": "DODO Breeder", "methods": {}, "title": "DecimalMath" }, "userdoc": { "methods": {}, "notice": "Functions for fixed point number with 18 decimals" } }