{ "contractName": "DODORewardVault", "abi": [ { "inputs": [ { "internalType": "address", "name": "_dodoToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferPrepared", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "_NEW_OWNER_", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_OWNER_", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dodoToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "reward", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dodoToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dodoToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"reward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol\":\"DODORewardVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/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/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/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/DODORewardVault.sol\":{\"keccak256\":\"0x9a1ad5dfb8c36b3750f7c3c9aef091e63bad36e2145355eb212d67988914dc1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e8ad414d377a1860b064193e015ca67187da4a47c9e925123cef4c9a6cd3448b\",\"dweb:/ipfs/QmS7Po2mSdB7Bk784Zcsxx7HFwJ17WXqKv3FuDGxH5aCFY\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b5060405161068638038061068683398101604081905261002f9161009d565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b0319166001600160a01b03929092169190911790556100cb565b6000602082840312156100ae578081fd5b81516001600160a01b03811681146100c4578182fd5b9392505050565b6105ac806100da6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c81461009a57806375123ff9146100a25780638456db15146100aa578063f2fde38b146100b2575b600080fd5b61006f6100c5565b60405161007c9190610459565b60405180910390f35b6100986100933660046103d6565b6100d4565b005b610098610128565b61006f6101b6565b61006f6101c5565b6100986100c03660046103b4565b6101d4565b6000546001600160a01b031681565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe90610509565b60405180910390fd5b600254610124906001600160a01b0316838363ffffffff61027f16565b5050565b6001546001600160a01b031633146101525760405162461bcd60e51b81526004016100fe90610486565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b031633146101fe5760405162461bcd60e51b81526004016100fe90610509565b6001600160a01b0381166102245760405162461bcd60e51b81526004016100fe906104e2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6102d58363a9059cbb60e01b848460405160240161029e92919061046d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526102da565b505050565b60006060836001600160a01b0316836040516102f69190610420565b6000604051808303816000865af19150503d8060008114610333576040519150601f19603f3d011682016040523d82523d6000602084013e610338565b606091505b50915091508161035a5760405162461bcd60e51b81526004016100fe906104ad565b80511561039157808060200190518101906103759190610400565b6103915760405162461bcd60e51b81526004016100fe9061052c565b50505050565b80356001600160a01b03811681146103ae57600080fd5b92915050565b6000602082840312156103c5578081fd5b6103cf8383610397565b9392505050565b600080604083850312156103e8578081fd5b6103f28484610397565b946020939093013593505050565b600060208284031215610411578081fd5b815180151581146103cf578182fd5b60008251815b818110156104405760208186018101518583015201610426565b8181111561044e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b60608201526080019056fea26469706673582212205ad8caf142b7a2c457e73a7f840e61c56c23ddb79da79a892a5d31d7e8a1d28c64736f6c63430006090033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806316048bc41461006757806321670f22146100855780634e71e0c81461009a57806375123ff9146100a25780638456db15146100aa578063f2fde38b146100b2575b600080fd5b61006f6100c5565b60405161007c9190610459565b60405180910390f35b6100986100933660046103d6565b6100d4565b005b610098610128565b61006f6101b6565b61006f6101c5565b6100986100c03660046103b4565b6101d4565b6000546001600160a01b031681565b6000546001600160a01b031633146101075760405162461bcd60e51b81526004016100fe90610509565b60405180910390fd5b600254610124906001600160a01b0316838363ffffffff61027f16565b5050565b6001546001600160a01b031633146101525760405162461bcd60e51b81526004016100fe90610486565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b031633146101fe5760405162461bcd60e51b81526004016100fe90610509565b6001600160a01b0381166102245760405162461bcd60e51b81526004016100fe906104e2565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6102d58363a9059cbb60e01b848460405160240161029e92919061046d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526102da565b505050565b60006060836001600160a01b0316836040516102f69190610420565b6000604051808303816000865af19150503d8060008114610333576040519150601f19603f3d011682016040523d82523d6000602084013e610338565b606091505b50915091508161035a5760405162461bcd60e51b81526004016100fe906104ad565b80511561039157808060200190518101906103759190610400565b6103915760405162461bcd60e51b81526004016100fe9061052c565b50505050565b80356001600160a01b03811681146103ae57600080fd5b92915050565b6000602082840312156103c5578081fd5b6103cf8383610397565b9392505050565b600080604083850312156103e8578081fd5b6103f28484610397565b946020939093013593505050565b600060208284031215610411578081fd5b815180151581146103cf578182fd5b60008251815b818110156104405760208186018101518583015201610426565b8181111561044e5782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b60608201526080019056fea26469706673582212205ad8caf142b7a2c457e73a7f840e61c56c23ddb79da79a892a5d31d7e8a1d28c64736f6c63430006090033", "immutableReferences": {}, "sourceMap": "364:314:45:-:0;;;470:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;757:7:38;:20;;-1:-1:-1;;;;;;757:20:38;767:10;757:20;;;;792:41;;-1:-1:-1;;;;;825:7:38;;;;757;792:41;;757:7;;792:41;519:9:45;:22;;-1:-1:-1;;;;;;519:22:45;-1:-1:-1;;;;;519:22:45;;;;;;;;;;364:314;;146:263:-1;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;83:13;;-1:-1;;;;;576:54;;701:35;;691:2;;-1:-1;;740:12;691:2;319:74;223:186;-1:-1;;;223:186;;364:314:45;;;;;;", "deployedSourceMap": "364:314:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;251:22:38;;;:::i;:::-;;;;;;;;;;;;;;;;554:122:45;;;;;;;;;:::i;:::-;;1072:225:38;;;:::i;439:24:45:-;;;:::i;279:26:38:-;;;:::i;846:220::-;;;;;;;;;:::i;251:22::-;;;-1:-1:-1;;;;;251:22:38;;:::o;554:122:45:-;635:7:38;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;;;;;;;;;634:9:45::1;::::0;627:42:::1;::::0;-1:-1:-1;;;;;634:9:45::1;658:2:::0;662:6;627:30:::1;:42::i;:::-;554:122:::0;;:::o;1072:225:38:-;1139:11;;-1:-1:-1;;;;;1139:11:38;1125:10;:25;1117:51;;;;-1:-1:-1;;;1117:51:38;;;;;;;;;1213:11;;;1204:7;;1183:42;;-1:-1:-1;;;;;1213:11:38;;;;1204:7;;;;1183:42;;;1245:11;;;;1235:21;;-1:-1:-1;;;;;1245:11:38;;-1:-1:-1;;;;;;1235:21:38;;;;;;;1266:24;;;1072:225::o;439:24:45:-;;;-1:-1:-1;;;;;439:24:45;;:::o;279:26:38:-;;;-1:-1:-1;;;;;279:26:38;;:::o;846:220::-;635:7;;-1:-1:-1;;;;;635:7:38;621:10;:21;613:43;;;;-1:-1:-1;;;613:43:38;;;;;;;;;-1:-1:-1;;;;;928:22:38;::::1;920:48;;;::::0;-1:-1:-1;;;920:48:38;;::::1;::::0;::::1;;;;;1009:7;::::0;;983:44:::1;::::0;-1:-1:-1;;;;;983:44:38;;::::1;::::0;1009:7;::::1;::::0;983:44:::1;::::0;::::1;1037:11;:22:::0;;-1:-1:-1;;;;;;1037:22:38::1;-1:-1:-1::0;;;;;1037:22:38;;;::::1;::::0;;;::::1;::::0;;846:220::o;804:205:40:-;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2335:1027::-;3025:25;;2984:12;;2998:23;;-1:-1:-1;;;;;3025:19:40;;;:25;;3045:4;;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;;2335:1027;;;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;7259:54;;7740:35;;7730:2;;7789:1;;7779:12;7730:2;57:78;;;;;414:241;;518:2;506:9;497:7;493:23;489:32;486:2;;;-1:-1;;524:12;486:2;586:53;631:7;607:22;586:53;;;576:63;480:175;-1:-1;;;480:175;662:366;;;783:2;771:9;762:7;758:23;754:32;751:2;;;-1:-1;;789:12;751:2;851:53;896:7;872:22;851:53;;;841:63;941:2;980:22;;;;344:20;;-1:-1;;;745:283;1035:257;;1147:2;1135:9;1126:7;1122:23;1118:32;1115:2;;;-1:-1;;1153:12;1115:2;223:6;217:13;7886:5;7171:13;7164:21;7864:5;7861:32;7851:2;;-1:-1;;7897:12;3592:271;;1579:5;6641:12;-1:-1;7477:101;7491:6;7488:1;7485:13;7477:101;;;1723:4;7558:11;;;;;7552:18;7539:11;;;7532:39;7506:10;7477:101;;;7593:6;7590:1;7587:13;7584:2;;;-1:-1;7649:6;7644:3;7640:16;7633:27;7584:2;-1:-1;1754:16;;;;;3726:137;-1:-1;;3726:137;3870:222;-1:-1;;;;;7259:54;;;;1370:37;;3997:2;3982:18;;3968:124;4099:333;-1:-1;;;;;7259:54;;;;1370:37;;4418:2;4403:18;;3543:37;4254:2;4239:18;;4225:207;4439:416;4639:2;4653:47;;;2007:2;4624:18;;;6939:19;-1:-1;;;6979:14;;;2023:36;2078:12;;;4610:245;4862:416;5062:2;5076:47;;;5047:18;;;6939:19;2365:34;6979:14;;;2345:55;2419:12;;;5033:245;5285:416;5485:2;5499:47;;;2670:2;5470:18;;;6939:19;-1:-1;;;6979:14;;;2686:36;2741:12;;;5456:245;5708:416;5908:2;5922:47;;;2992:1;5893:18;;;6939:19;-1:-1;;;6979:14;;;3007:32;3058:12;;;5879:245;6131:416;6331:2;6345:47;;;3309:2;6316:18;;;6939:19;3345:34;6979:14;;;3325:55;-1:-1;;;3400:12;;;3393:34;3446:12;;;6302:245", "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 {Ownable} from \"../lib/Ownable.sol\";\nimport {SafeERC20} from \"../lib/SafeERC20.sol\";\nimport {IERC20} from \"../intf/IERC20.sol\";\n\n\ninterface IDODORewardVault {\n function reward(address to, uint256 amount) external;\n}\n\n\ncontract DODORewardVault is Ownable {\n using SafeERC20 for IERC20;\n\n address public dodoToken;\n\n constructor(address _dodoToken) public {\n dodoToken = _dodoToken;\n }\n\n function reward(address to, uint256 amount) external onlyOwner {\n IERC20(dodoToken).safeTransfer(to, amount);\n }\n}\n", "sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", "ast": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", "exportedSymbols": { "DODORewardVault": [ 12998 ], "IDODORewardVault": [ 12962 ] }, "id": 12999, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 12947, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:45" }, { "id": 12948, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:45" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", "file": "../lib/Ownable.sol", "id": 12950, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 11272, "src": "136:43:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12949, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:7:45", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", "file": "../lib/SafeERC20.sol", "id": 12952, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 11441, "src": "180:47:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12951, "name": "SafeERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "188:9:45", "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": 12954, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 10608, "src": "228:42:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12953, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "236:6:45", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 12962, "linearizedBaseContracts": [ 12962 ], "name": "IDODORewardVault", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "functionSelector": "21670f22", "id": 12961, "implemented": false, "kind": "function", "modifiers": [], "name": "reward", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12959, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12956, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12961, "src": "322:10:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12955, "name": "address", "nodeType": "ElementaryTypeName", "src": "322:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12958, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12961, "src": "334:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12957, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "334:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "321:28:45" }, "returnParameters": { "id": 12960, "nodeType": "ParameterList", "parameters": [], "src": "358:0:45" }, "scope": 12962, "src": "306:53:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 12999, "src": "273:88:45" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 12963, "name": "Ownable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11271, "src": "392:7:45", "typeDescriptions": { "typeIdentifier": "t_contract$_Ownable_$11271", "typeString": "contract Ownable" } }, "id": 12964, "nodeType": "InheritanceSpecifier", "src": "392:7:45" } ], "contractDependencies": [ 11271 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 12998, "linearizedBaseContracts": [ 12998, 11271 ], "name": "DODORewardVault", "nodeType": "ContractDefinition", "nodes": [ { "id": 12967, "libraryName": { "contractScope": null, "id": 12965, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11440, "src": "412:9:45", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeERC20_$11440", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", "src": "406:27:45", "typeName": { "contractScope": null, "id": 12966, "name": "IERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 10607, "src": "426:6:45", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } } }, { "constant": false, "functionSelector": "75123ff9", "id": 12969, "mutability": "mutable", "name": "dodoToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12998, "src": "439:24:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12968, "name": "address", "nodeType": "ElementaryTypeName", "src": "439:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 12978, "nodeType": "Block", "src": "509:39:45", "statements": [ { "expression": { "argumentTypes": null, "id": 12976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12974, "name": "dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12969, "src": "519:9:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 12975, "name": "_dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12971, "src": "531:10:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "519:22:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 12977, "nodeType": "ExpressionStatement", "src": "519:22:45" } ] }, "documentation": null, "id": 12979, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12972, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12971, "mutability": "mutable", "name": "_dodoToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12979, "src": "482:18:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12970, "name": "address", "nodeType": "ElementaryTypeName", "src": "482:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "481:20:45" }, "returnParameters": { "id": 12973, "nodeType": "ParameterList", "parameters": [], "src": "509:0:45" }, "scope": 12998, "src": "470:78:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 12996, "nodeType": "Block", "src": "617:59:45", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12992, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12981, "src": "658:2:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12993, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12983, "src": "662:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12989, "name": "dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12969, "src": "634:9:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12988, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "627:6:45", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "627:17:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 11329, "src": "627:30:45", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", "typeString": "function (contract IERC20,address,uint256)" } }, "id": 12994, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "627:42:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 12995, "nodeType": "ExpressionStatement", "src": "627:42:45" } ] }, "documentation": null, "functionSelector": "21670f22", "id": 12997, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 12986, "modifierName": { "argumentTypes": null, "id": 12985, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11198, "src": "607:9:45", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "607:9:45" } ], "name": "reward", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12984, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12981, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12997, "src": "570:10:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12980, "name": "address", "nodeType": "ElementaryTypeName", "src": "570:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12983, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12997, "src": "582:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12982, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "582:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "569:28:45" }, "returnParameters": { "id": 12987, "nodeType": "ParameterList", "parameters": [], "src": "617:0:45" }, "scope": 12998, "src": "554:122:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 12999, "src": "364:314:45" } ], "src": "78:601:45" }, "legacyAST": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/token/DODORewardVault.sol", "exportedSymbols": { "DODORewardVault": [ 12998 ], "IDODORewardVault": [ 12962 ] }, "id": 12999, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 12947, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:45" }, { "id": 12948, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:45" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol", "file": "../lib/Ownable.sol", "id": 12950, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 11272, "src": "136:43:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12949, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "144:7:45", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol", "file": "../lib/SafeERC20.sol", "id": 12952, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 11441, "src": "180:47:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12951, "name": "SafeERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "188:9:45", "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": 12954, "nodeType": "ImportDirective", "scope": 12999, "sourceUnit": 10608, "src": "228:42:45", "symbolAliases": [ { "foreign": { "argumentTypes": null, "id": 12953, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": null, "src": "236:6:45", "typeDescriptions": { "typeIdentifier": null, "typeString": null } }, "local": null } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": null, "fullyImplemented": false, "id": 12962, "linearizedBaseContracts": [ 12962 ], "name": "IDODORewardVault", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": null, "functionSelector": "21670f22", "id": 12961, "implemented": false, "kind": "function", "modifiers": [], "name": "reward", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12959, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12956, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12961, "src": "322:10:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12955, "name": "address", "nodeType": "ElementaryTypeName", "src": "322:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12958, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12961, "src": "334:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12957, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "334:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "321:28:45" }, "returnParameters": { "id": 12960, "nodeType": "ParameterList", "parameters": [], "src": "358:0:45" }, "scope": 12962, "src": "306:53:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 12999, "src": "273:88:45" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 12963, "name": "Ownable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11271, "src": "392:7:45", "typeDescriptions": { "typeIdentifier": "t_contract$_Ownable_$11271", "typeString": "contract Ownable" } }, "id": 12964, "nodeType": "InheritanceSpecifier", "src": "392:7:45" } ], "contractDependencies": [ 11271 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 12998, "linearizedBaseContracts": [ 12998, 11271 ], "name": "DODORewardVault", "nodeType": "ContractDefinition", "nodes": [ { "id": 12967, "libraryName": { "contractScope": null, "id": 12965, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 11440, "src": "412:9:45", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeERC20_$11440", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", "src": "406:27:45", "typeName": { "contractScope": null, "id": 12966, "name": "IERC20", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 10607, "src": "426:6:45", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } } }, { "constant": false, "functionSelector": "75123ff9", "id": 12969, "mutability": "mutable", "name": "dodoToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12998, "src": "439:24:45", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12968, "name": "address", "nodeType": "ElementaryTypeName", "src": "439:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 12978, "nodeType": "Block", "src": "509:39:45", "statements": [ { "expression": { "argumentTypes": null, "id": 12976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 12974, "name": "dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12969, "src": "519:9:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 12975, "name": "_dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12971, "src": "531:10:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "519:22:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 12977, "nodeType": "ExpressionStatement", "src": "519:22:45" } ] }, "documentation": null, "id": 12979, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12972, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12971, "mutability": "mutable", "name": "_dodoToken", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12979, "src": "482:18:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12970, "name": "address", "nodeType": "ElementaryTypeName", "src": "482:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "481:20:45" }, "returnParameters": { "id": 12973, "nodeType": "ParameterList", "parameters": [], "src": "509:0:45" }, "scope": 12998, "src": "470:78:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 12996, "nodeType": "Block", "src": "617:59:45", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12992, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12981, "src": "658:2:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 12993, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12983, "src": "662:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 12989, "name": "dodoToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12969, "src": "634:9:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 12988, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10607, "src": "627:6:45", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC20_$10607_$", "typeString": "type(contract IERC20)" } }, "id": 12990, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "627:17:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$10607", "typeString": "contract IERC20" } }, "id": 12991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 11329, "src": "627:30:45", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$10607_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$10607_$", "typeString": "function (contract IERC20,address,uint256)" } }, "id": 12994, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "627:42:45", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 12995, "nodeType": "ExpressionStatement", "src": "627:42:45" } ] }, "documentation": null, "functionSelector": "21670f22", "id": 12997, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 12986, "modifierName": { "argumentTypes": null, "id": 12985, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11198, "src": "607:9:45", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "607:9:45" } ], "name": "reward", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 12984, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 12981, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12997, "src": "570:10:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 12980, "name": "address", "nodeType": "ElementaryTypeName", "src": "570:7:45", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 12983, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, "scope": 12997, "src": "582:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 12982, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "582:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "569:28:45" }, "returnParameters": { "id": 12987, "nodeType": "ParameterList", "parameters": [], "src": "617:0:45" }, "scope": 12998, "src": "554:122:45", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 12999, "src": "364:314:45" } ], "src": "78:601:45" }, "compiler": { "name": "solc", "version": "0.6.9+commit.3e3065ac.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-11-06T08:03:35.739Z", "devdoc": { "methods": {} }, "userdoc": { "methods": {} } }