21 txs
21 calls
constructor
constructor(address _rewardsDistribution, address _rewardsToken, address _stakingToken)
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
earned
viewfunction earned(address account) view returns (uint256)
getRewardForDuration
viewfunction getRewardForDuration() view returns (uint256)
lastStakedTime
viewfunction lastStakedTime(address) view returns (uint256)
lastTimeRewardApplicable
viewfunction lastTimeRewardApplicable() view returns (uint256)
lastUpdateTime
viewfunction lastUpdateTime() view returns (uint256)
lockPeriod
viewfunction lockPeriod() view returns (uint256)
owner
viewfunction owner() view returns (address)
periodFinish
viewfunction periodFinish() view returns (uint256)
rewardPerToken
viewfunction rewardPerToken() view returns (uint256)
rewardPerTokenStored
viewfunction rewardPerTokenStored() view returns (uint256)
rewardRate
viewfunction rewardRate() view returns (uint256)
rewards
viewfunction rewards(address) view returns (uint256)
rewardsDistribution
viewfunction rewardsDistribution() view returns (address)
rewardsDuration
viewfunction rewardsDuration() view returns (uint256)
rewardsToken
viewfunction rewardsToken() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
totalStakers
viewfunction totalStakers() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
userRewardPerTokenPaid
viewfunction userRewardPerTokenPaid(address) view returns (uint256)
exit
nonpayablefunction exit()
exitByLoss
nonpayablefunction exitByLoss()
getReward
nonpayablefunction getReward()
notifyRewardAmount
nonpayablefunction notifyRewardAmount(uint256 reward)
recoverERC20
nonpayablefunction recoverERC20(address tokenAddress, uint256 tokenAmount)
renounceOwnership
nonpayablefunction renounceOwnership()
setRewardsDuration
nonpayablefunction setRewardsDuration(uint256 _rewardsDuration)
stake
nonpayablefunction stake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
withdrawByLoss
nonpayablefunction withdrawByLoss(uint256 amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Recovered
event Recovered(address token, uint256 amount)
RewardAdded
event RewardAdded(uint256 reward)
RewardPaid
event RewardPaid(address indexed user, uint256 reward)
RewardsDurationUpdated
event RewardsDurationUpdated(uint256 newDuration)
Staked
event Staked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405260006005556000600655624f1a0060075562093a80600a556000600b5534801561002d57600080fd5b50604051611b45380380611b458339818101604052606081101561005057600080fd5b508051602082015160409092015160018055909190600061006f610102565b600280546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b039384166001600160a01b031991821617909155600480549284169282169290921790915560008054939092169216919091179055610106565b3390565b611a30806101156000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806380faa57d1161010f578063c8f33c91116100a2578063df136d6511610071578063df136d6514610414578063e9fad8ee1461041c578063ebe2b12b14610424578063f2fde38b1461042c576101e4565b8063c8f33c91146103df578063cc1a378f146103e7578063cd3daf9d14610404578063d1af0c7d1461040c576101e4565b80638cda0202116100de5780638cda02021461038c5780638da5cb5b14610394578063a694fc3a1461039c578063c57a202c146103b9576101e4565b806380faa57d1461032a57806386989038146103325780638980f11f1461033a5780638b87634714610366576101e4565b80633d18b9121161018757806370a082311161015657806370a08231146102ec578063715018a61461031257806372f702f31461031a5780637b0a47ee14610322576101e4565b80633d18b9121461029b5780633fc6df6e146102a35780633fd8b02f146102c757806354f3163e146102cf576101e4565b80631c1f78eb116101c35780631c1f78eb1461024f5780632e1a7d4d14610257578063386a9525146102765780633c6b16ab1461027e576101e4565b80628cc262146101e95780630700037d1461022157806318160ddd14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610452565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104d0565b61020f6104e2565b61020f6104e9565b6102746004803603602081101561026d57600080fd5b5035610507565b005b61020f6106f8565b6102746004803603602081101561029457600080fd5b50356106fe565b610274610931565b6102ab610a55565b604080516001600160a01b039092168252519081900360200190f35b61020f610a64565b610274600480360360208110156102e557600080fd5b5035610a6a565b61020f6004803603602081101561030257600080fd5b50356001600160a01b0316610d16565b610274610d31565b6102ab610ddd565b61020f610dec565b61020f610df2565b61020f610e00565b6102746004803603604081101561035057600080fd5b506001600160a01b038135169060200135610e06565b61020f6004803603602081101561037c57600080fd5b50356001600160a01b0316610f38565b610274610f4a565b6102ab610f6d565b610274600480360360208110156103b257600080fd5b5035610f7c565b61020f600480360360208110156103cf57600080fd5b50356001600160a01b0316611134565b61020f611146565b610274600480360360208110156103fd57600080fd5b503561114c565b61020f611233565b6102ab611281565b61020f611290565b610274611296565b61020f6112af565b6102746004803603602081101561044257600080fd5b50356001600160a01b03166112b5565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104ca91906104c490670de0b6b3a7640000906104be9061049f90610499611233565b906113b8565b6001600160a01b03881660009081526010602052604090205490611415565b90611475565b906114dc565b92915050565b600d6020526000908152604090205481565b600f545b90565b600061050260075460065461141590919063ffffffff16565b905090565b6002600154141561054d576040805162461bcd60e51b815260206004820152601f60248201526000805160206118d6833981519152604482015290519081900360640190fd5b60026001553361055b611233565b600955610566610df2565b6008556001600160a01b038116156105ad5761058181610452565b6001600160a01b0382166000908152600d6020908152604080832093909355600954600c909152919020555b600082116105f6576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600a54336000908152600e6020526040902054429161061591906114dc565b106106515760405162461bcd60e51b81526004018080602001828103825260248152602001806119d76024913960400191505060405180910390fd5b600f5461065e90836113b8565b600f553360009081526010602052604090205461067b90836113b8565b3360009081526010602052604090208190556106a357600b5461069f9060016113b8565b600b555b6004546106ba906001600160a01b03163384611536565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2505060018055565b60075481565b6000546001600160a01b031633146107475760405162461bcd60e51b815260040180806020018281038252602a815260200180611983602a913960400191505060405180910390fd5b6000610751611233565b60095561075c610df2565b6008556001600160a01b038116156107a35761077781610452565b6001600160a01b0382166000908152600d6020908152604080832093909355600954600c909152919020555b60055442106107c2576007546107ba908390611475565b600655610805565b6005546000906107d290426113b8565b905060006107eb6006548361141590919063ffffffff16565b6007549091506107ff906104be86846114dc565b60065550505b600354604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b505050506040513d602081101561087a57600080fd5b505160075490915061088d908290611475565b60065411156108e3576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b4260088190556007546108f691906114dc565b6005556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b60026001541415610977576040805162461bcd60e51b815260206004820152601f60248201526000805160206118d6833981519152604482015290519081900360640190fd5b600260015533610985611233565b600955610990610df2565b6008556001600160a01b038116156109d7576109ab81610452565b6001600160a01b0382166000908152600d6020908152604080832093909355600954600c909152919020555b336000908152600d60205260409020548015610a4d57336000818152600d6020526040812055600354610a16916001600160a01b039091169083611536565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505060018055565b6000546001600160a01b031681565b600a5481565b60026001541415610ab0576040805162461bcd60e51b815260206004820152601f60248201526000805160206118d6833981519152604482015290519081900360640190fd5b600260015533610abe611233565b600955610ac9610df2565b6008556001600160a01b03811615610b1057610ae481610452565b6001600160a01b0382166000908152600d6020908152604080832093909355600954600c909152919020555b60008211610b59576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600a54336000908152600e60205260409020544291610b7891906114dc565b11610bb45760405162461bcd60e51b81526004018080602001828103825260248152602001806119d76024913960400191505060405180910390fd5b600f54610bc190836113b8565b600f556000610bd660646104be85605a611415565b33600090815260106020526040902054909150610bf390846113b8565b336000908152601060205260409020819055610c1b57600b54610c179060016113b8565b600b555b600454610c32906001600160a01b03163383611536565b6004546000906001600160a01b031663a9059cbb61dead610c5387866113b8565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c9957600080fd5b505af1158015610cad573d6000803e3d6000fd5b505050506040513d6020811015610cc357600080fd5b50519050600181151514610cd657600080fd5b60408051858152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050600180555050565b6001600160a01b031660009081526010602052604090205490565b610d3961158d565b6001600160a01b0316610d4a610f6d565b6001600160a01b031614610d93576040805162461bcd60e51b81526020600482018190526024820152600080516020611963833981519152604482015290519081900360640190fd5b6002546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600280546001600160a01b0319169055565b6004546001600160a01b031681565b60065481565b600061050242600554611591565b600b5481565b610e0e61158d565b6001600160a01b0316610e1f610f6d565b6001600160a01b031614610e68576040805162461bcd60e51b81526020600482018190526024820152600080516020611963833981519152604482015290519081900360640190fd5b6004546001600160a01b03838116911614801590610e9457506003546001600160a01b03838116911614155b610ed4576040805162461bcd60e51b815260206004820152600c60248201526b746f6b656e4164647265737360a01b604482015290519081900360640190fd5b610ef0610edf610f6d565b6001600160a01b0384169083611536565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b33600090815260106020526040902054610f6390610a6a565b610f6b610931565b565b6002546001600160a01b031690565b60026001541415610fc2576040805162461bcd60e51b815260206004820152601f60248201526000805160206118d6833981519152604482015290519081900360640190fd5b600260015533610fd0611233565b600955610fdb610df2565b6008556001600160a01b0381161561102257610ff681610452565b6001600160a01b0382166000908152600d6020908152604080832093909355600954600c909152919020555b60008211611068576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600f5461107590836114dc565b600f553360009081526010602052604090205461109e57600b5461109a9060016114dc565b600b555b336000908152601060205260409020546110b890836114dc565b336000818152601060205260409020919091556004546110e5916001600160a01b039091169030856115a7565b336000818152600e6020908152604091829020429055815185815291517f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9281900390910190a2505060018055565b600e6020526000908152604090205481565b60085481565b61115461158d565b6001600160a01b0316611165610f6d565b6001600160a01b0316146111ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611963833981519152604482015290519081900360640190fd5b60055415806111be575060055442115b6111f8576040805162461bcd60e51b81526020600482015260066024820152651c195c9a5bd960d21b604482015290519081900360640190fd5b60078190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600f546000141561124957506009546104e6565b610502611278600f546104be670de0b6b3a7640000611272600654611272600854610499610df2565b90611415565b600954906114dc565b6003546001600160a01b031681565b60095481565b33600090815260106020526040902054610f6390610507565b60055481565b6112bd61158d565b6001600160a01b03166112ce610f6d565b6001600160a01b031614611317576040805162461bcd60e51b81526020600482018190526024820152600080516020611963833981519152604482015290519081900360640190fd5b6001600160a01b03811661135c5760405162461bcd60e51b81526004018080602001828103825260268152602001806118f66026913960400191505060405180910390fd5b6002546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b60008282111561140f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082611424575060006104ca565b8282028284828161143157fe5b041461146e5760405162461bcd60e51b81526004018080602001828103825260218152602001806119426021913960400191505060405180910390fd5b9392505050565b60008082116114cb576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816114d457fe5b049392505050565b60008282018381101561146e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611588908490611607565b505050565b3390565b60008183106115a0578161146e565b5090919050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611601908590611607565b50505050565b606061165c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116b89092919063ffffffff16565b8051909150156115885780806020019051602081101561167b57600080fd5b50516115885760405162461bcd60e51b815260040180806020018281038252602a8152602001806119ad602a913960400191505060405180910390fd5b60606116c784846000856116cf565b949350505050565b6060824710156117105760405162461bcd60e51b815260040180806020018281038252602681526020018061191c6026913960400191505060405180910390fd5b6117198561182b565b61176a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106117a95780518252601f19909201916020918201910161178a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461180b576040519150601f19603f3d011682016040523d82523d6000602084013e611810565b606091505b5091509150611820828286611831565b979650505050505050565b3b151590565b6060831561184057508161146e565b8251156118505782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561189a578181015183820152602001611882565b50505050905090810190601f1680156118c75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657243616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645769746864726177206e6f7420706f737369626c6520696e206c6f636b20706572696f64a264697066735822122095fd6b924b83251d3168362e346bc025a962ff8eba139c2d1029254a0f7461cd64736f6c63430007000033000000000000000000000000491ae4a7be91bb6b84232bac79a9cd5ab017e71500000000000000000000000093ea2a6508d410490f2094fc68625522ddc5cd9f00000000000000000000000068c1b3277adda52b35deb4789c9a039a200686cf