10 txs
11 calls
constructor
constructor(address _admin, address _stakingToken, address _rewardToken, uint256 _rewardRate)
functions
admin
viewfunction admin() view returns (address)
balanceOf
viewfunction balanceOf(address _account) view returns (uint256)
balances
viewfunction balances(address) view returns (uint256)
earned
viewfunction earned(address _account) view returns (uint256)
endTime
viewfunction endTime() view returns (uint256)
getRewardForDuration
viewfunction getRewardForDuration() view returns (uint256)
lastUpdateTime
viewfunction lastUpdateTime() view returns (uint256)
rewardPerTokenStored
viewfunction rewardPerTokenStored() view returns (uint256)
rewardRate
viewfunction rewardRate() view returns (uint256)
rewards
viewfunction rewards(address) view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
startTime
viewfunction startTime() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
userRewardPerTokenPaid
viewfunction userRewardPerTokenPaid(address) view returns (uint256)
claimReward
nonpayablefunction claimReward()
contribute
nonpayablefunction contribute(uint256 _amount, uint256 _newStartTime)
exit
nonpayablefunction exit()
rescueFunds
nonpayablefunction rescueFunds(address _tokenAddress, address _receiver)
stake
nonpayablefunction stake(uint256 _amount)
stakeWithPermit
nonpayablefunction stakeWithPermit(uint256 _amount, uint256 _deadline, uint8 _v, bytes32 _r, bytes32 _s)
transferAdmin
nonpayablefunction transferAdmin(address _newAdmin)
withdraw
nonpayablefunction withdraw(uint256 _amount)
withdrawAll
nonpayablefunction withdrawAll()
events
AdminTransferred
event AdminTransferred(address indexed prevAdmin, address indexed newAdmin)
RewardAdded
event RewardAdded(uint256 reward)
RewardPaid
event RewardPaid(address indexed user, uint256 reward)
RewardStartScheduled
event RewardStartScheduled(uint256 newStartTime)
Staked
event Staked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b50604051620016f7380380620016f7833981016040819052620000349162000082565b600080546001600160a01b0319166001600160a01b0395861617905591831660805290911660a05260c052620000d4565b80516001600160a01b03811681146200007d57600080fd5b919050565b600080600080608085870312156200009957600080fd5b620000a48562000065565b9350620000b46020860162000065565b9250620000c46040860162000065565b6060959095015193969295505050565b60805160a05160c05161159f62000158600039600081816102cd0152818161044b01528181610955015281816109ce0152610efa0152600081816103770152818161054301528181610ae90152610c70015260008181610272015281816104c20152818161080001528181610bd901528181610d200152610d96015261159f6000f3fe608060405234801561001057600080fd5b50600436106101975760003560e01c80637b0a47ee116100e3578063c8f33c911161008c578063ecd9ba8211610066578063ecd9ba821461035f578063f7c618c114610372578063f851a4401461039957600080fd5b8063c8f33c9114610345578063df136d651461034e578063e9fad8ee1461035757600080fd5b80638c590917116100bd5780638c59091714610317578063a694fc3a1461032a578063b88a802f1461033d57600080fd5b80637b0a47ee146102c8578063853828b6146102ef5780638b876347146102f757600080fd5b80632e1a7d4d1161014557806372f702f31161011f57806372f702f31461026d57806375829def146102ac57806378e97925146102bf57600080fd5b80632e1a7d4d146102285780633197cbb61461023b57806370a082311461024457600080fd5b80631c1f78eb116101765780631c1f78eb146101eb5780631ff9b6f2146101f357806327e235e31461020857600080fd5b80628cc2621461019c5780630700037d146101c257806318160ddd146101e2575b600080fd5b6101af6101aa366004611344565b6103ac565b6040519081526020015b60405180910390f35b6101af6101d0366004611344565b60086020526000908152604090205481565b6101af60015481565b6101af610433565b61020661020136600461135f565b610474565b005b6101af610216366004611344565b60026020526000908152604090205481565b610206610236366004611392565b6106c9565b6101af60045481565b6101af610252366004611344565b6001600160a01b031660009081526002602052604090205490565b6102947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b9565b6102066102ba366004611344565b61082b565b6101af60035481565b6101af7f000000000000000000000000000000000000000000000000000000000000000081565b6102066108e5565b6101af610305366004611344565b60076020526000908152604090205481565b6102066103253660046113ab565b610900565b610206610338366004611392565b610b11565b610206610c04565b6101af60055481565b6101af60065481565b610206610c97565b61020661036d3660046113cd565b610d47565b6102947f000000000000000000000000000000000000000000000000000000000000000081565b600054610294906001600160a01b031681565b6000806103b7610ec9565b506001600160a01b03841660009081526008602090815260408083205460079092529091205491925090670de0b6b3a7640000906103f59084611432565b6001600160a01b038616600090815260026020526040902054610418919061144b565b6104229190611480565b61042c9190611494565b9392505050565b60006003546004546104459190611432565b61046f907f000000000000000000000000000000000000000000000000000000000000000061144b565b905090565b6000546001600160a01b031633146104c05760405162461bcd60e51b815260206004820152600a60248201526927b7363c9030b236b4b760b11b60448201526064015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036105415760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420726573637565207374616b696e6720746f6b656e000000000060448201526064016104b7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036105cb5760045442116105cb5760405162461bcd60e51b815260206004820152601d60248201527f52657363756520726577617264206265666f726520656e642074696d6500000060448201526064016104b7565b6040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114a7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c491906114c0565b505050565b600081116107195760405162461bcd60e51b815260206004820152601160248201527f43616e6e6f74207769746864726177203000000000000000000000000000000060448201526064016104b7565b33600090815260026020526040902054808211156107795760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74207769746864726177206d6f7265207468616e207374616b656460448201526064016104b7565b61078233610f60565b5081600160008282546107959190611432565b909155506107a590508282611432565b33600081815260026020526040908190209290925590517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906107eb9085815260200190565b60405180910390a26108276001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384610fba565b5050565b6000546001600160a01b031633146108725760405162461bcd60e51b815260206004820152600a60248201526927b7363c9030b236b4b760b11b60448201526064016104b7565b600080546040516001600160a01b03808516939216917ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec691a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b336000908152600260205260409020546108fe906106c9565b565b600082116109505760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206d75737420626520706f736974697665206e756d626572000060448201526064016104b7565b61097a7f0000000000000000000000000000000000000000000000000000000000000000836114e2565b156109c75760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206e6f7420646976697369626c6520627920726174650000000060448201526064016104b7565b60006109f37f000000000000000000000000000000000000000000000000000000000000000084611480565b9050600454421115610a925742821015610a4f5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206e65772073746172742074696d650000000000000000000060448201526064016104b7565b6003829055600582905560048290556040518281527ff584f6a4043781a747d23557b1496b9d2d1662285f1a5a1a83db2ff508f863df9060200160405180910390a15b8060046000828254610aa49190611494565b90915550506040518381527fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9060200160405180910390a16106c46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661104a565b60008111610b525760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016104b7565b610b5b33610f60565b508060016000828254610b6e9190611494565b90915550503360009081526002602052604081208054839290610b92908490611494565b909155505060405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9060200160405180910390a2610c016001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308461104a565b50565b6000610c0f33610f60565b90508015610c01573360008181526008602052604080822091909155517fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048690610c5b9084815260200190565b60405180910390a2610c016001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610fba565b610c9f610c04565b336000908152600260205260408120546001805491928392610cc2908490611432565b90915550503360008181526002602052604080822091909155517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d590610d0b9084815260200190565b60405180910390a2610c016001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610fba565b60008511610d885760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b60448201526064016104b7565b610d9133610f60565b5060007f000000000000000000000000000000000000000000000000000000000000000090508560016000828254610dc99190611494565b90915550503360009081526002602052604081208054889290610ded908490611494565b909155505060405186815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9060200160405180910390a260405163d505accf60e01b8152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c481018390526001600160a01b0382169063d505accf9060e401600060405180830381600087803b158015610e9357600080fd5b505af1158015610ea7573d6000803e3d6000fd5b50610ec1925050506001600160a01b03821633308961104a565b505050505050565b600080610ed4611088565b905060055460001480610ee75750600154155b15610ef55760065491509091565b6001547f000000000000000000000000000000000000000000000000000000000000000060055483610f279190611432565b610f31919061144b565b610f4390670de0b6b3a764000061144b565b610f4d9190611480565b600654610f5a9190611494565b91509091565b6000610f6a610ec9565b6005556006556001600160a01b03821615610fb557610f88826103ac565b6006546001600160a01b038416600090815260076020908152604080832093909355600890522081905590505b919050565b6040516001600160a01b0383166024820152604481018290526106c490849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526110b0565b6040516001600160a01b03808516602483015283166044820152606481018290526110829085906323b872dd60e01b90608401610fe6565b50505050565b600060035442101561109b575060035490565b60045442116110a957504290565b5060045490565b6000611105826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111959092919063ffffffff16565b8051909150156106c4578080602001905181019061112391906114c0565b6106c45760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104b7565b60606111a484846000856111ac565b949350505050565b6060824710156112245760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104b7565b6001600160a01b0385163b61127b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b7565b600080866001600160a01b03168587604051611297919061151a565b60006040518083038185875af1925050503d80600081146112d4576040519150601f19603f3d011682016040523d82523d6000602084013e6112d9565b606091505b50915091506112e98282866112f4565b979650505050505050565b6060831561130357508161042c565b8251156113135782518084602001fd5b8160405162461bcd60e51b81526004016104b79190611536565b80356001600160a01b0381168114610fb557600080fd5b60006020828403121561135657600080fd5b61042c8261132d565b6000806040838503121561137257600080fd5b61137b8361132d565b91506113896020840161132d565b90509250929050565b6000602082840312156113a457600080fd5b5035919050565b600080604083850312156113be57600080fd5b50508035926020909101359150565b600080600080600060a086880312156113e557600080fd5b8535945060208601359350604086013560ff8116811461140457600080fd5b94979396509394606081013594506080013592915050565b634e487b7160e01b600052601160045260246000fd5b818103818111156114455761144561141c565b92915050565b60008160001904831182151516156114655761146561141c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261148f5761148f61146a565b500490565b808201808211156114455761144561141c565b6000602082840312156114b957600080fd5b5051919050565b6000602082840312156114d257600080fd5b8151801515811461042c57600080fd5b6000826114f1576114f161146a565b500690565b60005b838110156115115781810151838201526020016114f9565b50506000910152565b6000825161152c8184602087016114f6565b9190910192915050565b60208152600082518060208401526115558160408501602087016114f6565b601f01601f1916919091016040019291505056fea26469706673582212203fc08142c496309844dd7394589c4ace98c84d5e37da277d38709087abbc4a8164736f6c63430008100033000000000000000000000000fd74c96e1faab3a2d88a7d6e468cd0b0dd79e4fc000000000000000000000000e6df05ce8c8301223373cf5b969afcb1498c5528000000000000000000000000bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c000000000000000000000000000000000000000000000000000014986f338d0a