{ "contractName": "DODOMineReader", "abi": [ { "inputs": [ { "internalType": "address", "name": "_dodoMine", "type": "address" }, { "internalType": "address", "name": "_dodo", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getUserStakedBalance", "outputs": [ { "internalType": "uint256", "name": "baseBalance", "type": "uint256" }, { "internalType": "uint256", "name": "quoteBalance", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoMine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_dodo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserStakedBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":\"DODOMineReader\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol\":{\"keccak256\":\"0x8fd9ec49ff1517e33698dc8dd4022da05f3a1ae6e4bf97c48f5f5b6714df2123\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cfaa388f09d627ad26c66e6c4a73c232d494010b73b989392e264f815a84cd1d\",\"dweb:/ipfs/QmSBNeEyjgFSAtcYpKjyQfKZx7ahZKFwUtnnbpSSpS3p2H\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol\":{\"keccak256\":\"0xacdbbc17ce75a41a7656e2ff50c85633af00f5c57240269a3bcfcc4800427574\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b915a0b00401e7355693594d02a1b606172e29c8886fe909749b4422bd8accb3\",\"dweb:/ipfs/QmbaER9zTzjuUh4x4YMDMiXu4cHzMCqihBUP7h2DP4ERmq\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b506105d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634e41de7f14610030575b600080fd5b61004361003e36600461048f565b61005a565b604051610051929190610579565b60405180910390f35b6000806000846001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561009857600080fd5b505afa1580156100ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d09190610473565b90506000856001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610473565b90506000876001600160a01b03166319a78f5584886040518363ffffffff1660e01b8152600401610177929190610514565b60206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c791906104d9565b90506000886001600160a01b03166319a78f5584896040518363ffffffff1660e01b81526004016101f9929190610514565b60206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024991906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be91906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033391906104d9565b90506000808b6001600160a01b031663ffa642256040518163ffffffff1660e01b8152600401604080518083038186803b15801561037057600080fd5b505afa158015610384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a891906104f1565b90925090506103cd846103c1848963ffffffff6103f516565b9063ffffffff61044116565b99506103e3836103c1838863ffffffff6103f516565b98505050505050505050935093915050565b6000826104045750600061043b565b8282028284828161041157fe5b04146104385760405162461bcd60e51b815260040161042f90610556565b60405180910390fd5b90505b92915050565b60008082116104625760405162461bcd60e51b815260040161042f9061052e565b81838161046b57fe5b049392505050565b600060208284031215610484578081fd5b815161043881610587565b6000806000606084860312156104a3578182fd5b83356104ae81610587565b925060208401356104be81610587565b915060408401356104ce81610587565b809150509250925092565b6000602082840312156104ea578081fd5b5051919050565b60008060408385031215610503578182fd5b505080516020909101519092909150565b6001600160a01b0392831681529116602082015260400190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b918252602082015260400190565b6001600160a01b038116811461059c57600080fd5b5056fea264697066735822122058a9b2316ed397b51ced2cada4331ee4342b25e67e74fb636333495dc36ed57c64736f6c63430006090033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80634e41de7f14610030575b600080fd5b61004361003e36600461048f565b61005a565b604051610051929190610579565b60405180910390f35b6000806000846001600160a01b031663d689107c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561009857600080fd5b505afa1580156100ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d09190610473565b90506000856001600160a01b031663ac1fbc986040518163ffffffff1660e01b815260040160206040518083038186803b15801561010d57600080fd5b505afa158015610121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101459190610473565b90506000876001600160a01b03166319a78f5584886040518363ffffffff1660e01b8152600401610177929190610514565b60206040518083038186803b15801561018f57600080fd5b505afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c791906104d9565b90506000886001600160a01b03166319a78f5584896040518363ffffffff1660e01b81526004016101f9929190610514565b60206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024991906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102be91906104d9565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fb57600080fd5b505afa15801561030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033391906104d9565b90506000808b6001600160a01b031663ffa642256040518163ffffffff1660e01b8152600401604080518083038186803b15801561037057600080fd5b505afa158015610384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a891906104f1565b90925090506103cd846103c1848963ffffffff6103f516565b9063ffffffff61044116565b99506103e3836103c1838863ffffffff6103f516565b98505050505050505050935093915050565b6000826104045750600061043b565b8282028284828161041157fe5b04146104385760405162461bcd60e51b815260040161042f90610556565b60405180910390fd5b90505b92915050565b60008082116104625760405162461bcd60e51b815260040161042f9061052e565b81838161046b57fe5b049392505050565b600060208284031215610484578081fd5b815161043881610587565b6000806000606084860312156104a3578182fd5b83356104ae81610587565b925060208401356104be81610587565b915060408401356104ce81610587565b809150509250925092565b6000602082840312156104ea578081fd5b5051919050565b60008060408385031215610503578182fd5b505080516020909101519092909150565b6001600160a01b0392831681529116602082015260400190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b918252602082015260400190565b6001600160a01b038116811461059c57600080fd5b5056fea264697066735822122058a9b2316ed397b51ced2cada4331ee4342b25e67e74fb636333495dc36ed57c64736f6c63430006090033", "immutableReferences": {}, "sourceMap": "390:1001:44:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "390:1001:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:936;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;585:19;606:20;638:19;666:5;-1:-1:-1;;;;;660:33:44;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;638:57;;705:20;734:5;-1:-1:-1;;;;;728:34:44;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:59;;775:21;809:9;-1:-1:-1;;;;;799:37:44;;837:11;850:5;799:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:81;;866:22;901:9;-1:-1:-1;;;;;891:37:44;;929:12;943:5;891:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;866:83;;960:25;995:11;-1:-1:-1;;;;;988:31:44;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;960:61;;1031:26;1067:12;-1:-1:-1;;;;;1060:32:44;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:63;;1106:18;1126:19;1155:5;-1:-1:-1;;;;;1149:30:44;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1105:76;;-1:-1:-1;1105:76:44;-1:-1:-1;1205:52:44;1239:17;1205:29;1105:76;1220:13;1205:29;:14;:29;:::i;:::-;:33;:52;:33;:52;:::i;:::-;1191:66;-1:-1:-1;1282:55:44;1318:18;1282:31;:11;1298:14;1282:31;:15;:31;:::i;:55::-;1267:70;-1:-1:-1;;;;;;;;;453:936:44;;;;;;:::o;281:217:41:-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;;;;;;;;;;490:1;-1:-1:-1;281:217:41;;;;;:::o;504:138::-;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;;;;504:138;-1:-1:-1;;;504:138:41:o;424:263:-1:-;;539:2;527:9;518:7;514:23;510:32;507:2;;;-1:-1;;545:12;507:2;226:6;220:13;238:33;265:5;238:33;;694:491;;;;832:2;820:9;811:7;807:23;803:32;800:2;;;-1:-1;;838:12;800:2;85:6;72:20;97:33;124:5;97:33;;;890:63;-1:-1;990:2;1029:22;;72:20;97:33;72:20;97:33;;;998:63;-1:-1;1098:2;1137:22;;72:20;97:33;72:20;97:33;;;1106:63;;;;794:391;;;;;;1192:263;;1307:2;1295:9;1286:7;1282:23;1278:32;1275:2;;;-1:-1;;1313:12;1275:2;-1:-1;361:13;;1269:186;-1:-1;1269:186;1462:399;;;1594:2;1582:9;1573:7;1569:23;1565:32;1562:2;;;-1:-1;;1600:12;1562:2;-1:-1;;361:13;;1763:2;1813:22;;;361:13;;;;;-1:-1;1556:305;2748:333;-1:-1;;;;;4606:54;;;1939:37;;4606:54;;3067:2;3052:18;;1939:37;2903:2;2888:18;;2874:207;3088:416;3288:2;3302:47;;;2213:2;3273:18;;;4378:19;-1:-1;;;4418:14;;;2229:37;2285:12;;;3259:245;3511:416;3711:2;3725:47;;;2536:1;3696:18;;;4378:19;-1:-1;;;4418:14;;;2551:32;2602:12;;;3682:245;3934:333;2699:37;;;4253:2;4238:18;;2699:37;4089:2;4074:18;;4060:207;4751:117;-1:-1;;;;;4606:54;;4810:35;;4800:2;;4859:1;;4849:12;4800:2;4794:74;", "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 {IDODO} from \"../intf/IDODO.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\nimport {SafeMath} from \"../lib/SafeMath.sol\";\n\n\ninterface IDODOMine {\n function getUserLpBalance(address _lpToken, address _user) external view returns (uint256);\n}\n\n\ncontract DODOMineReader {\n using SafeMath for uint256;\n\n function getUserStakedBalance(\n address _dodoMine,\n address _dodo,\n address _user\n ) external view returns (uint256 baseBalance, uint256 quoteBalance) {\n address baseLpToken = IDODO(_dodo)._BASE_CAPITAL_TOKEN_();\n address quoteLpToken = IDODO(_dodo)._QUOTE_CAPITAL_TOKEN_();\n\n uint256 baseLpBalance = IDODOMine(_dodoMine).getUserLpBalance(baseLpToken, _user);\n uint256 quoteLpBalance = IDODOMine(_dodoMine).getUserLpBalance(quoteLpToken, _user);\n\n uint256 baseLpTotalSupply = IERC20(baseLpToken).totalSupply();\n uint256 quoteLpTotalSupply = IERC20(quoteLpToken).totalSupply();\n\n (uint256 baseTarget, uint256 quoteTarget) = IDODO(_dodo).getExpectedTarget();\n baseBalance = baseTarget.mul(baseLpBalance).div(baseLpTotalSupply);\n quoteBalance = quoteTarget.mul(quoteLpBalance).div(quoteLpTotalSupply);\n\n return (baseBalance, quoteBalance);\n }\n}\n", "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", "ast": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", "exportedSymbols": { "DODOMineReader": [ 12945 ], "IDODOMine": [ 12841 ] }, "id": 12946, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 12824, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:44" }, { "id": 12825, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:44" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", "file": "../intf/IDODO.sol", "id": 12827, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 10492, "src": "136:40:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12826, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:5:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", "file": "../intf/IERC20.sol", "id": 12829, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 10608, "src": "177:42:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12828, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "185:6:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", "file": "../lib/SafeMath.sol", "id": 12831, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 11624, "src": "220:45:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12830, "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "228:8:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 12841, "linearizedBaseContracts": [ 12841 ], "name": "IDODOMine", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "functionSelector": "19a78f55", "id": 12840, "implemented": false, "kind": "function", "modifiers": [], "name": "getUserLpBalance", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12836, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12833, "mutability": "mutable", "name": "_lpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "320:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12832, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12835, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "338:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12834, "name": "address", "nodeType": "ElementaryTypeName", "src": "338:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "319:33:44" }, "returnParameters": { "id": 12839, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12838, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "376:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12837, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "376:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "375:9:44" }, "scope": 12841, "src": "294:91:44", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 12946, "src": "268:119:44" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 12945, "linearizedBaseContracts": [ 12945 ], "name": "DODOMineReader", "nodeType": "ContractDefinition", "nodes": [ { "id": 12844, "libraryName": { "contractScope": null, "id": 12842, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11623, "src": "426:8:44", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$11623", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "420:27:44", "typeName": { "id": 12843, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "439:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "body": { "id": 12943, "nodeType": "Block", "src": "628:761:44", "statements": [ { "assignments": [ 12858 ], "declarations": [ { "constant": false, "id": 12858, "mutability": "mutable", "name": "baseLpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "638:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12857, "name": "address", "nodeType": "ElementaryTypeName", "src": "638:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 12864, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12860, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "666:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12859, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "660:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12861, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "660:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_BASE_CAPITAL_TOKEN_", "nodeType": "MemberAccess", "referencedDeclaration": 10475, "src": "660:33:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 12863, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "660:35:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "638:57:44" }, { "assignments": [ 12866 ], "declarations": [ { "constant": false, "id": 12866, "mutability": "mutable", "name": "quoteLpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "705:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12865, "name": "address", "nodeType": "ElementaryTypeName", "src": "705:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 12872, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12868, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "734:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12867, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "728:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12869, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "728:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_QUOTE_CAPITAL_TOKEN_", "nodeType": "MemberAccess", "referencedDeclaration": 10480, "src": "728:34:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 12871, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "728:36:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "705:59:44" }, { "assignments": [ 12874 ], "declarations": [ { "constant": false, "id": 12874, "mutability": "mutable", "name": "baseLpBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "775:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12873, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "775:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12882, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12879, "name": "baseLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12858, "src": "837:11:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12880, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12850, "src": "850:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12876, "name": "_dodoMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12846, "src": "809:9:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12875, "name": "IDODOMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12841, "src": "799:9:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", "typeString": "type(contract IDODOMine)" } }, "id": 12877, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "799:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODOMine_$12841", "typeString": "contract IDODOMine" } }, "id": 12878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUserLpBalance", "nodeType": "MemberAccess", "referencedDeclaration": 12840, "src": "799:37:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, "id": 12881, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "799:57:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "775:81:44" }, { "assignments": [ 12884 ], "declarations": [ { "constant": false, "id": 12884, "mutability": "mutable", "name": "quoteLpBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "866:22:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12883, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "866:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12892, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12889, "name": "quoteLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12866, "src": "929:12:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12890, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12850, "src": "943:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12886, "name": "_dodoMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12846, "src": "901:9:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12885, "name": "IDODOMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12841, "src": "891:9:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", "typeString": "type(contract IDODOMine)" } }, "id": 12887, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "891:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODOMine_$12841", "typeString": "contract IDODOMine" } }, "id": 12888, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUserLpBalance", "nodeType": "MemberAccess", "referencedDeclaration": 12840, "src": "891:37:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, "id": 12891, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "891:58:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "866:83:44" }, { "assignments": [ 12894 ], "declarations": [ { "constant": false, "id": 12894, "mutability": "mutable", "name": "baseLpTotalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "960:25:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12893, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "960:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12900, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12896, "name": "baseLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12858, "src": "995:11:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12895, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "988:6:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12897, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "988:19:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12898, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 10546, "src": "988:31:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 12899, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "988:33:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "960:61:44" }, { "assignments": [ 12902 ], "declarations": [ { "constant": false, "id": 12902, "mutability": "mutable", "name": "quoteLpTotalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1031:26:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12901, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1031:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12908, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12904, "name": "quoteLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12866, "src": "1067:12:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12903, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "1060:6:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12905, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1060:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12906, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 10546, "src": "1060:32:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 12907, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1060:34:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1031:63:44" }, { "assignments": [ 12910, 12912 ], "declarations": [ { "constant": false, "id": 12910, "mutability": "mutable", "name": "baseTarget", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1106:18:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12909, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1106:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12912, "mutability": "mutable", "name": "quoteTarget", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1126:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12911, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1126:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12918, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12914, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "1155:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12913, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "1149:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12915, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1149:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getExpectedTarget", "nodeType": "MemberAccess", "referencedDeclaration": 10428, "src": "1149:30:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", "typeString": "function () view external returns (uint256,uint256)" } }, "id": 12917, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1149:32:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", "src": "1105:76:44" }, { "expression": { "argumentTypes": null, "id": 12927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12919, "name": "baseBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12853, "src": "1191:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12925, "name": "baseLpTotalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12894, "src": "1239:17:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12922, "name": "baseLpBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12874, "src": "1220:13:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 12920, "name": "baseTarget", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12910, "src": "1205:10:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "1205:14:44", "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": 12923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1205:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "1205:33:44", "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": 12926, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1205:52:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1191:66:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12928, "nodeType": "ExpressionStatement", "src": "1191:66:44" }, { "expression": { "argumentTypes": null, "id": 12937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12929, "name": "quoteBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12855, "src": "1267:12:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12935, "name": "quoteLpTotalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12902, "src": "1318:18:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12932, "name": "quoteLpBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12884, "src": "1298:14:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 12930, "name": "quoteTarget", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12912, "src": "1282:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "1282:15:44", "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": 12933, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1282:31:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "1282:35:44", "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": 12936, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1282:55:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1267:70:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12938, "nodeType": "ExpressionStatement", "src": "1267:70:44" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "id": 12939, "name": "baseBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12853, "src": "1356:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 12940, "name": "quoteBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12855, "src": "1369:12:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 12941, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1355:27:44", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "functionReturnParameters": 12856, "id": 12942, "nodeType": "Return", "src": "1348:34:44" } ] }, "documentation": null, "functionSelector": "4e41de7f", "id": 12944, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserStakedBalance", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12846, "mutability": "mutable", "name": "_dodoMine", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "492:17:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12845, "name": "address", "nodeType": "ElementaryTypeName", "src": "492:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12848, "mutability": "mutable", "name": "_dodo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "519:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12847, "name": "address", "nodeType": "ElementaryTypeName", "src": "519:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12850, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "542:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12849, "name": "address", "nodeType": "ElementaryTypeName", "src": "542:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "482:79:44" }, "returnParameters": { "id": 12856, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12853, "mutability": "mutable", "name": "baseBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "585:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12852, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "585:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12855, "mutability": "mutable", "name": "quoteBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "606:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12854, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "606:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "584:43:44" }, "scope": 12945, "src": "453:936:44", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 12946, "src": "390:1001:44" } ], "src": "78:1314:44" }, "legacyAST": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODOMineReader.sol", "exportedSymbols": { "DODOMineReader": [ 12945 ], "IDODOMine": [ 12841 ] }, "id": 12946, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 12824, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:44" }, { "id": 12825, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:44" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODO.sol", "file": "../intf/IDODO.sol", "id": 12827, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 10492, "src": "136:40:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12826, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:5:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol", "file": "../intf/IERC20.sol", "id": 12829, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 10608, "src": "177:42:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12828, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "185:6:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol", "file": "../lib/SafeMath.sol", "id": 12831, "nodeType": "ImportDirective", "scope": 12946, "sourceUnit": 11624, "src": "220:45:44", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12830, "name": "SafeMath", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "228:8:44", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 12841, "linearizedBaseContracts": [ 12841 ], "name": "IDODOMine", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "functionSelector": "19a78f55", "id": 12840, "implemented": false, "kind": "function", "modifiers": [], "name": "getUserLpBalance", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12836, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12833, "mutability": "mutable", "name": "_lpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "320:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12832, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12835, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "338:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12834, "name": "address", "nodeType": "ElementaryTypeName", "src": "338:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "319:33:44" }, "returnParameters": { "id": 12839, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12838, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12840, "src": "376:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12837, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "376:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "375:9:44" }, "scope": 12841, "src": "294:91:44", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 12946, "src": "268:119:44" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 12945, "linearizedBaseContracts": [ 12945 ], "name": "DODOMineReader", "nodeType": "ContractDefinition", "nodes": [ { "id": 12844, "libraryName": { "contractScope": null, "id": 12842, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11623, "src": "426:8:44", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$11623", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "420:27:44", "typeName": { "id": 12843, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "439:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "body": { "id": 12943, "nodeType": "Block", "src": "628:761:44", "statements": [ { "assignments": [ 12858 ], "declarations": [ { "constant": false, "id": 12858, "mutability": "mutable", "name": "baseLpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "638:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12857, "name": "address", "nodeType": "ElementaryTypeName", "src": "638:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 12864, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12860, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "666:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12859, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "660:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12861, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "660:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_BASE_CAPITAL_TOKEN_", "nodeType": "MemberAccess", "referencedDeclaration": 10475, "src": "660:33:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 12863, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "660:35:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "638:57:44" }, { "assignments": [ 12866 ], "declarations": [ { "constant": false, "id": 12866, "mutability": "mutable", "name": "quoteLpToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "705:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12865, "name": "address", "nodeType": "ElementaryTypeName", "src": "705:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 12872, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12868, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "734:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12867, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "728:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12869, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "728:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12870, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_QUOTE_CAPITAL_TOKEN_", "nodeType": "MemberAccess", "referencedDeclaration": 10480, "src": "728:34:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 12871, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "728:36:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "705:59:44" }, { "assignments": [ 12874 ], "declarations": [ { "constant": false, "id": 12874, "mutability": "mutable", "name": "baseLpBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "775:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12873, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "775:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12882, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12879, "name": "baseLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12858, "src": "837:11:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12880, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12850, "src": "850:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12876, "name": "_dodoMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12846, "src": "809:9:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12875, "name": "IDODOMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12841, "src": "799:9:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", "typeString": "type(contract IDODOMine)" } }, "id": 12877, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "799:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODOMine_$12841", "typeString": "contract IDODOMine" } }, "id": 12878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUserLpBalance", "nodeType": "MemberAccess", "referencedDeclaration": 12840, "src": "799:37:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, "id": 12881, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "799:57:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "775:81:44" }, { "assignments": [ 12884 ], "declarations": [ { "constant": false, "id": 12884, "mutability": "mutable", "name": "quoteLpBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "866:22:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12883, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "866:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12892, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12889, "name": "quoteLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12866, "src": "929:12:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12890, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12850, "src": "943:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12886, "name": "_dodoMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12846, "src": "901:9:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12885, "name": "IDODOMine", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12841, "src": "891:9:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODOMine_$12841_$", "typeString": "type(contract IDODOMine)" } }, "id": 12887, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "891:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODOMine_$12841", "typeString": "contract IDODOMine" } }, "id": 12888, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getUserLpBalance", "nodeType": "MemberAccess", "referencedDeclaration": 12840, "src": "891:37:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, "id": 12891, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "891:58:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "866:83:44" }, { "assignments": [ 12894 ], "declarations": [ { "constant": false, "id": 12894, "mutability": "mutable", "name": "baseLpTotalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "960:25:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12893, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "960:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12900, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12896, "name": "baseLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12858, "src": "995:11:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12895, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "988:6:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12897, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "988:19:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12898, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 10546, "src": "988:31:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 12899, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "988:33:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "960:61:44" }, { "assignments": [ 12902 ], "declarations": [ { "constant": false, "id": 12902, "mutability": "mutable", "name": "quoteLpTotalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1031:26:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12901, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1031:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12908, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12904, "name": "quoteLpToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12866, "src": "1067:12:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12903, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "1060:6:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12905, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1060:20:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12906, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "totalSupply", "nodeType": "MemberAccess", "referencedDeclaration": 10546, "src": "1060:32:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 12907, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1060:34:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1031:63:44" }, { "assignments": [ 12910, 12912 ], "declarations": [ { "constant": false, "id": 12910, "mutability": "mutable", "name": "baseTarget", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1106:18:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12909, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1106:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12912, "mutability": "mutable", "name": "quoteTarget", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12943, "src": "1126:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12911, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1126:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 12918, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12914, "name": "_dodo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12848, "src": "1155:5:44", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12913, "name": "IDODO", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10491, "src": "1149:5:44", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IDODO_$10491_$", "typeString": "type(contract IDODO)" } }, "id": 12915, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1149:12:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IDODO_$10491", "typeString": "contract IDODO" } }, "id": 12916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getExpectedTarget", "nodeType": "MemberAccess", "referencedDeclaration": 10428, "src": "1149:30:44", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$", "typeString": "function () view external returns (uint256,uint256)" } }, "id": 12917, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1149:32:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "nodeType": "VariableDeclarationStatement", "src": "1105:76:44" }, { "expression": { "argumentTypes": null, "id": 12927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12919, "name": "baseBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12853, "src": "1191:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12925, "name": "baseLpTotalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12894, "src": "1239:17:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12922, "name": "baseLpBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12874, "src": "1220:13:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 12920, "name": "baseTarget", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12910, "src": "1205:10:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "1205:14:44", "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": 12923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1205:29:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "1205:33:44", "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": 12926, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1205:52:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1191:66:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12928, "nodeType": "ExpressionStatement", "src": "1191:66:44" }, { "expression": { "argumentTypes": null, "id": 12937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12929, "name": "quoteBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12855, "src": "1267:12:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12935, "name": "quoteLpTotalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12902, "src": "1318:18:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12932, "name": "quoteLpBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12884, "src": "1298:14:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 12930, "name": "quoteTarget", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12912, "src": "1282:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 11478, "src": "1282:15:44", "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": 12933, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1282:31:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 11499, "src": "1282:35:44", "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": 12936, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1282:55:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1267:70:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 12938, "nodeType": "ExpressionStatement", "src": "1267:70:44" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "id": 12939, "name": "baseBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12853, "src": "1356:11:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 12940, "name": "quoteBalance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12855, "src": "1369:12:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 12941, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "1355:27:44", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, "functionReturnParameters": 12856, "id": 12942, "nodeType": "Return", "src": "1348:34:44" } ] }, "documentation": null, "functionSelector": "4e41de7f", "id": 12944, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserStakedBalance", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12846, "mutability": "mutable", "name": "_dodoMine", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "492:17:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12845, "name": "address", "nodeType": "ElementaryTypeName", "src": "492:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12848, "mutability": "mutable", "name": "_dodo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "519:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12847, "name": "address", "nodeType": "ElementaryTypeName", "src": "519:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12850, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "542:13:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12849, "name": "address", "nodeType": "ElementaryTypeName", "src": "542:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "482:79:44" }, "returnParameters": { "id": 12856, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12853, "mutability": "mutable", "name": "baseBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "585:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12852, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "585:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12855, "mutability": "mutable", "name": "quoteBalance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12944, "src": "606:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12854, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "606:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "584:43:44" }, "scope": 12945, "src": "453:936:44", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 12946, "src": "390:1001:44" } ], "src": "78:1314:44" }, "compiler": { "name": "solc", "version": "0.6.9+commit.3e3065ac.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-11-06T08:03:35.735Z", "devdoc": { "methods": {} }, "userdoc": { "methods": {} } }