Loading
[ { "inputs": [ { "internalType": "address", "name": "deposit_", "type": "address" }, { "internalType": "address", "name": "reward_", "type": "address" }, { "internalType": "address", "name": "op_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "reward", "type": "uint256" } ], "name": "RewardAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "reward", "type": "uint256" } ], "name": "RewardPaid", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Staked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deposits", "outputs": [ { "internalType": "contract IDeposit", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "donate", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "duration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "earned", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "historicalRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastTimeRewardApplicable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastUpdateTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "newRewardRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "periodFinish", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rewards", "type": "uint256" } ], "name": "queueNewRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "queuedRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardPerToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardPerTokenStored", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "rewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "stake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userRewardPerTokenPaid", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e060405260008055600060015560006004556000600555600060065534801561002857600080fd5b506040516112543803806112548339818101604052606081101561004b57600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c6111826100d2600039806104d6528061050352508061086752806109425280610a8b52508061041652806104a75280610601528061073552806109e552506111826000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c80637b0a47ee116100de578063c8f33c9111610097578063ebe2b12b11610071578063ebe2b12b1461031e578063f14faf6f14610326578063f3fef3a314610357578063f7c618c11461038357610172565b8063c8f33c9114610306578063cd3daf9d1461030e578063df136d651461031657610172565b80637b0a47ee1461027657806380faa57d1461027e5780638b87634714610286578063901a7d53146102ac578063adc9772e146102b4578063c00007b0146102e057610172565b80633d18b912116101305780633d18b91214610211578063570ca7351461021b578063590a41f51461022357806363d38c3b146102405780636c8bcee81461024857806370a082311461025057610172565b80628cc262146101775780630700037d146101af5780630fb5a6b4146101d557806318160ddd146101dd578063262d3d6d146101e5578063323a5e0b146101ed575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b031661038b565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103f9565b61019d61040b565b61019d610412565b61019d61049f565b6101f56104a5565b604080516001600160a01b039092168252519081900360200190f35b6102196104c9565b005b6101f56104d4565b6102196004803603602081101561023957600080fd5b50356104f8565b61019d6105f1565b61019d6105f7565b61019d6004803603602081101561026657600080fd5b50356001600160a01b03166105fd565b61019d61069e565b61019d6106a4565b61019d6004803603602081101561029c57600080fd5b50356001600160a01b03166106b7565b61019d6106c9565b610219600480360360408110156102ca57600080fd5b506001600160a01b0381351690602001356106cf565b610219600480360360208110156102f657600080fd5b50356001600160a01b03166107d9565b61019d6108d3565b61019d6108d9565b61019d610927565b61019d61092d565b6103436004803603602081101561033c57600080fd5b5035610933565b604080519115158252519081900360200190f35b6102196004803603604081101561036d57600080fd5b506001600160a01b03813516906020013561097f565b6101f5610a89565b6001600160a01b03811660009081526008602090815260408083205460079092528220546103f391906103ed90670de0b6b3a7640000906103e7906103d8906103d26108d9565b90610aad565b6103e1886105fd565b90610b0a565b90610b6a565b90610bd1565b92915050565b60086020526000908152604090205481565b62093a8081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b505190505b90565b60065481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6104d2336107d9565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610563576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b600454610571908290610bd1565b9050600054421061058f5761058581610c2b565b60006004556105ee565b600080546105ab906105a49062093a80610aad565b4290610aad565b600154909150810260006105c5846103e7846103e8610b0a565b905061033e8110156105e4576105da84610c2b565b60006004556105ea565b60048490555b5050505b50565b60045481565b61033e81565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d602081101561069657600080fd5b505192915050565b60015481565b60006106b242600054610d4f565b905090565b60076020526000908152604090205481565b60055481565b816106d86108d9565b6003556106e36106a4565b6002556001600160a01b0381161561072a576106fe8161038b565b6001600160a01b0382166000908152600860209081526040808320939093556003546007909152919020555b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610795576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b6040805183815290516001600160a01b038516917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2505050565b806107e26108d9565b6003556107ed6106a4565b6002556001600160a01b03811615610834576108088161038b565b6001600160a01b0382166000908152600860209081526040808320939093556003546007909152919020555b600061083f8361038b565b905080156108ce576001600160a01b0380841660009081526008602052604081205561088e907f0000000000000000000000000000000000000000000000000000000000000000168483610d65565b6040805182815290516001600160a01b038516917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505050565b60025481565b60006108e3610412565b6108f0575060035461049c565b6106b261091e6108fe610412565b6103e7670de0b6b3a76400006103e16001546103e16002546103d26106a4565b60035490610bd1565b60035481565b60005481565b600061096a6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085610db7565b6004546109779083610bd1565b600455919050565b816109886108d9565b6003556109936106a4565b6002556001600160a01b038116156109da576109ae8161038b565b6001600160a01b0382166000908152600860209081526040808320939093556003546007909152919020555b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a45576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b6040805183815290516001600160a01b038516917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600082821115610b04576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b19575060006103f3565b82820282848281610b2657fe5b0414610b635760405162461bcd60e51b81526004018080602001828103825260218152602001806111026021913960400191505060405180910390fd5b9392505050565b6000808211610bc0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610bc957fe5b049392505050565b600082820183811015610b63576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c356108d9565b600355610c406106a4565b6002556001600160a01b03811615610c8757610c5b8161038b565b6001600160a01b0382166000908152600860209081526040808320939093556003546007909152919020555b600654610c949083610bd1565b6006556000544210610cb557610cad8262093a80610b6a565b600155610cfd565b60008054610cc39042610aad565b90506000610cdc60015483610b0a90919063ffffffff16565b9050610ce88482610bd1565b9350610cf78462093a80610b6a565b60015550505b6005829055426002819055610d159062093a80610bd1565b6000556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6000818310610d5e5781610b63565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526108ce908490610e0d565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526105ea9085905b6060610e62826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ebe9092919063ffffffff16565b8051909150156108ce57808060200190516020811015610e8157600080fd5b50516108ce5760405162461bcd60e51b815260040180806020018281038252602a815260200180611123602a913960400191505060405180910390fd5b6060610ecd8484600085610ed5565b949350505050565b606082471015610f165760405162461bcd60e51b81526004018080602001828103825260268152602001806110dc6026913960400191505060405180910390fd5b610f1f85611031565b610f70576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610faf5780518252601f199092019160209182019101610f90565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611011576040519150601f19603f3d011682016040523d82523d6000602084013e611016565b606091505b5091509150611026828286611037565b979650505050505050565b3b151590565b60608315611046575081610b63565b8251156110565782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110a0578181015183820152602001611088565b50505050905090810190601f1680156110cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220818e3b907310ec2d911af5daa283622c5e04934a947f88ce5e9c77b49b0e8c2a64736f6c634300060c00330000000000000000000000005f032f15b4e910252edaddb899f7201e89c8cd6b000000000000000000000000d3fdff157a9f2f9e802137f918b2e627f5ea650200000000000000000000000012041635344b022bc23312bb1d6d955a9d993b55