1496 lines
62 KiB
JSON
1496 lines
62 KiB
JSON
{
|
|
"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": {}
|
|
}
|
|
} |