0 txs
533 calls
constructor
constructor(address _stakingToken)
functions
additionalRewardPool
viewfunction additionalRewardPool() view returns (uint256)
DISTRIBUTION_PERIOD
viewfunction DISTRIBUTION_PERIOD() view returns (uint256)
endTime
viewfunction endTime() view returns (uint256)
getCurrentAPY
viewfunction getCurrentAPY() view returns (uint256)
getCurrentRewardRate
viewfunction getCurrentRewardRate() view returns (uint256)
getPoolInfo
viewfunction getPoolInfo() view returns (uint256 totalStaked, uint256 currentAPY, uint256 rewardPerSecond, uint256 totalRewardsRemaining, uint256 distributionEndTime)
getReflectionInfo
viewfunction getReflectionInfo() view returns (uint256 totalReflectionReceived_, uint256 additionalRewardPool_, uint256 baseRewardRate, uint256 reflectionRewardRate, uint256 totalRewardRate)
getReflectionRewardRate
viewfunction getReflectionRewardRate() view returns (uint256)
getRewardBalance
viewfunction getRewardBalance() view returns (uint256)
lastContractBalance
viewfunction lastContractBalance() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingRewards
viewfunction pendingRewards(address _user) view returns (uint256)
poolInfo
viewfunction poolInfo() view returns (uint256 totalStaked, uint256 accRewardPerShare, uint256 lastRewardTime)
REWARD_PER_SECOND
viewfunction REWARD_PER_SECOND() view returns (uint256)
rewardsFunded
viewfunction rewardsFunded() view returns (bool)
stakingToken
viewfunction stakingToken() view returns (address)
startTime
viewfunction startTime() view returns (uint256)
TOTAL_REWARDS
viewfunction TOTAL_REWARDS() view returns (uint256)
totalReflectionReceived
viewfunction totalReflectionReceived() view returns (uint256)
totalRewardsDistributed
viewfunction totalRewardsDistributed() view returns (uint256)
userInfo
viewfunction userInfo(address) view returns (uint256 amount, uint256 rewardDebt, uint256 lastDepositTime)
claimRewards
nonpayablefunction claimRewards()
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
initializeReflectionTracking
nonpayablefunction initializeReflectionTracking()
initializeRewards
nonpayablefunction initializeRewards()
recoverToken
nonpayablefunction recoverToken(address _token, uint256 _amount)
renounceOwnership
nonpayablefunction renounceOwnership()
stake
nonpayablefunction stake(uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake(uint256 _amount)
updatePool
nonpayablefunction updatePool()
updateReflectionPool
nonpayablefunction updateReflectionPool()
events
Deposit
event Deposit(address indexed user, uint256 amount)
DynamicRewardRateUpdated
event DynamicRewardRateUpdated(uint256 baseRate, uint256 bonusRate, uint256 totalRate)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolUpdated
event PoolUpdated(uint256 accRewardPerShare, uint256 totalStaked)
ReflectionReceived
event ReflectionReceived(uint256 amount, uint256 newRewardRate)
RewardsClaimed
event RewardsClaimed(address indexed user, uint256 amount)
RewardsFunded
event RewardsFunded(uint256 amount)
Withdraw
event Withdraw(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x60a060405234801561001057600080fd5b5060405162001dc238038062001dc2833981016040819052610031916100e4565b61003a33610094565b600180556001600160601b0319606091821b166080526009805460ff191690556000600a819055600b819055600c819055604080519283018152818352602083018290524292018290526002819055600355600455610114565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100f657600080fd5b81516001600160a01b038116811461010d57600080fd5b9392505050565b60805160601c611c3b62000187600039600081816103220152818161043201528181610600015281816109a701528181610b9f01528181610bfc01528181610e6b01528181610f3a015281816110940152818161146b0152818161150e0152818161154701526116d90152611c3b6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bb32451161010f578063d83850e7116100a2578063e3161ddd11610071578063e3161ddd146103f1578063e6a4a8b5146103f9578063ee17254614610401578063f2fde38b1461040a57600080fd5b8063d83850e7146103d0578063d9fa7c89146103d9578063db2e21bc146103e1578063dcb27655146103e957600080fd5b8063a694fc3a116100de578063a694fc3a14610397578063b092deb1146103aa578063b29a8140146103b5578063d79c3953146103c857600080fd5b806386bb32451461036d5780638a5fc2f7146103765780638da5cb5b1461037e578063962ca4961461038f57600080fd5b80635a2f3d0911610187578063715018a611610156578063715018a61461031557806372f702f31461031d57806378e979251461035c57806380fac5911461036557600080fd5b80635a2f3d09146102c25780635bf08bf3146102d45780635e42b455146102dd57806360246c88146102e557600080fd5b80632e17de78116101c35780632e17de781461028b5780633197cbb61461029e57806331d7a262146102a7578063372500ab146102ba57600080fd5b806302e42d71146101f557806309cf6091146101ff5780630e44b8ae146102245780631959a00214610241575b600080fd5b6101fd61041d565b005b6102116a77f0f1c02212983100000081565b6040519081526020015b60405180910390f35b6009546102319060ff1681565b604051901515815260200161021b565b61027061024f366004611a60565b60056020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161021b565b6101fd610299366004611a84565b6104b9565b61021160075481565b6102116102b5366004611a60565b61067b565b6101fd61082a565b60025460035460045461027092919083565b610211600b5481565b61021161097c565b6102ed610a38565b604080519586526020860194909452928401919091526060830152608082015260a00161021b565b6101fd610ac8565b6103447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161021b565b61021160065481565b610211610ada565b610211600c5481565b6101fd610b26565b6000546001600160a01b0316610344565b610211610cb9565b6101fd6103a5366004611a84565b610d08565b6102116312cc030081565b6101fd6103c3366004611a9d565b610f30565b610211610fe4565b610211600a5481565b6101fd61100b565b6101fd611013565b6102ed6110ed565b6101fd611138565b610211611347565b61021160085481565b6101fd610418366004611a60565b61137f565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561047c57600080fd5b505afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b49190611ac9565b600b55565b6104c16113f5565b33600090815260056020526040902080548211156105265760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74207374616b656420616d6f756e7400000000000060448201526064015b60405180910390fd5b61052e611138565b6001810154600354825460009291670de0b6b3a7640000916105509190611af8565b61055a9190611b17565b6105649190611b39565b905080156105ac57610576338261144f565b60405181815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe9060200160405180910390a25b81546105b9908490611b39565b808355600354670de0b6b3a7640000916105d39190611af8565b6105dd9190611b17565b60018301556002546105f0908490611b39565b6002556106276001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338561156a565b82600b546106359190611b39565b600b5560405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a2505061067860018055565b50565b6001600160a01b0381166000908152600560205260408120600354600454421180156106a8575060025415155b156107f2576004546000906106bd9042611b39565b905060006106c9611347565b905060006106d78284611af8565b90506007544210158061072f57506a77f0f1c02212983100000061070060016312cc0300611b17565b610715906a77f0f1c022129831000000611b17565b61071f9085611af8565b60085461072c9190611b50565b10155b156107c357600061074560016312cc0300611b17565b61075a906a77f0f1c022129831000000611b17565b6107649085611af8565b90506a77f0f1c022129831000000600854101561079a57600854610793906a77f0f1c022129831000000611b39565b905061079e565b5060005b60006107a8610ada565b6107b29086611af8565b90506107be8183611b50565b925050505b6002546107d882670de0b6b3a7640000611af8565b6107e29190611b17565b6107ec9085611b50565b93505050505b60018201548254670de0b6b3a76400009061080e908490611af8565b6108189190611b17565b6108229190611b39565b949350505050565b6108326113f5565b33600090815260056020526040902080546108825760405162461bcd60e51b815260206004820152601060248201526f139bc81d1bdad95b9cc81cdd185ad95960821b604482015260640161051d565b61088a611138565b6001810154600354825460009291670de0b6b3a7640000916108ac9190611af8565b6108b69190611b17565b6108c09190611b39565b9050600081116109085760405162461bcd60e51b81526020600482015260136024820152724e6f207265776172647320746f20636c61696d60681b604482015260640161051d565b6003548254670de0b6b3a76400009161092091611af8565b61092a9190611b17565b6001830155610939338261144f565b60405181815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe906020015b60405180910390a2505061097a60018055565b565b60095460009060ff1661098f5750600090565b6002546040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156109f157600080fd5b505afa158015610a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a299190611ac9565b610a339190611b39565b905090565b6002546000808080610a48611347565b9250600a546008546a77f0f1c022129831000000610a669190611b39565b610a709190611b50565b600754600254919350915015610abc576000610a8a611347565b610a98906301e13380611af8565b600254909150610aaa82612710611af8565b610ab49190611b17565b945050610ac1565b600093505b9091929394565b610ad06115cd565b61097a6000611627565b6000600a5460001415610aed5750600090565b60004260075411610b02576301e13380610b10565b42600754610b109190611b39565b905080600a54610b209190611b17565b91505090565b610b2e6115cd565b60095460ff1615610b7a5760405162461bcd60e51b815260206004820152601660248201527514995dd85c991cc8185b1c9958591e48199d5b99195960521b604482015260640161051d565b426006819055610b8f906312cc030090611b50565b600755610bd26001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633306a77f0f1c022129831000000611677565b6009805460ff191660011790556040516370a0823160e01b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b158015610c3e57600080fd5b505afa158015610c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c769190611ac9565b600b556040516a77f0f1c02212983100000081527fe42dde25409a3e8c7c119c1c722610d9e9bd96e73e3cead774863c9ffdd870d69060200160405180910390a1565b600254600090610cc95750600090565b6000610cd3611347565b90506000610ce5826301e13380611af8565b600254909150610cf782612710611af8565b610d019190611b17565b9250505090565b610d106113f5565b60008111610d605760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161051d565b60095460ff16610dc05760405162461bcd60e51b815260206004820152602560248201527f436f6e7472616374206e6f7420696e697469616c697a65642077697468207265604482015264776172647360d81b606482015260840161051d565b336000908152600560205260409020610dd7611138565b805415610e5e576001810154600354825460009291670de0b6b3a764000091610e009190611af8565b610e0a9190611b17565b610e149190611b39565b90508015610e5c57610e26338261144f565b60405181815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe9060200160405180910390a25b505b610e936001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611677565b81600b54610ea19190611b50565b600b558054610eb1908390611b50565b808255426002830155600354670de0b6b3a764000091610ed19190611af8565b610edb9190611b17565b6001820155600254610eee908390611b50565b60025560405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a25061067860018055565b610f386115cd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415610fba5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207265636f766572207374616b696e6720746f6b656e00000000604482015260640161051d565b610fe0610fcf6000546001600160a01b031690565b6001600160a01b038416908361156a565b5050565b610ff360016312cc0300611b17565b611008906a77f0f1c022129831000000611b17565b81565b61097a6116b5565b61101b6113f5565b33600090815260056020526040902080548061106c5760405162461bcd60e51b815260206004820152601060248201526f139bc81d1bdad95b9cc81cdd185ad95960821b604482015260640161051d565b60025461107a908290611b39565b600255600080835560018301556110bb6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361156a565b60405181815233907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969590602001610967565b600c54600a546000808061110660016312cc0300611b17565b61111b906a77f0f1c022129831000000611b17565b9250611125610ada565b915061112f611347565b90509091929394565b600454421161114357565b61114b6116b5565b6002546111585742600455565b6004546000906111689042611b39565b90506000611174611347565b905060006111828284611af8565b9050600754421015806111da57506a77f0f1c0221298310000006111ab60016312cc0300611b17565b6111c0906a77f0f1c022129831000000611b17565b6111ca9085611af8565b6008546111d79190611b50565b10155b156112845760006111f060016312cc0300611b17565b611205906a77f0f1c022129831000000611b17565b61120f9085611af8565b90506a77f0f1c02212983100000060085410156112455760085461123e906a77f0f1c022129831000000611b39565b9050611249565b5060005b6000611253610ada565b61125d9086611af8565b90506112698183611b50565b9250816008546112799190611b50565b600855506112c39050565b61129360016312cc0300611b17565b6112a8906a77f0f1c022129831000000611b17565b6112b29084611af8565b6008546112bf9190611b50565b6008555b80156112f9576002546112de82670de0b6b3a7640000611af8565b6112e89190611b17565b6003546112f59190611b50565b6003555b426004556003546002546040517f7fa9647ec1cc14e3822b46d05a2b9d4e019bde8875c0088c46b6503d71bf17229261133a92908252602082015260400190565b60405180910390a1505050565b6000611351610ada565b61136060016312cc0300611b17565b611375906a77f0f1c022129831000000611b17565b610a339190611b50565b6113876115cd565b6001600160a01b0381166113ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051d565b61067881611627565b600260015414156114485760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161051d565b6002600155565b6002546040516370a0823160e01b8152306004820152600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156114b557600080fd5b505afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190611ac9565b6114f79190611b39565b90508082111561153a576115356001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848361156a565b505050565b6115356001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684845b6040516001600160a01b03831660248201526044810182905261153590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611856565b6000546001600160a01b0316331461097a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161051d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526116af9085906323b872dd60e01b90608401611596565b50505050565b60095460ff166116c157565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561172357600080fd5b505afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190611ac9565b600b54909150808211156118505760006117758284611b39565b905080600a546117859190611b50565b600a55600c54611796908290611b50565b600c557fca09c71136739d58e35d1c0fad36f1eb2f0d10edc0129268c42b2c1151982a67816117c3611347565b6040805192835260208301919091520160405180910390a17f9bee7e34c901e3a193ffdf2851babe01bf5d2c1d908144d23a14d0b7f404f0f861180b60016312cc0300611b17565b611820906a77f0f1c022129831000000611b17565b611828610ada565b611830611347565b6040805193845260208401929092529082015260600160405180910390a1505b50600b55565b60006118ab826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661192b9092919063ffffffff16565b90508051600014806118cc5750808060200190518101906118cc9190611b68565b6115355760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161051d565b6060610822848460008585600080866001600160a01b031685876040516119529190611bb6565b60006040518083038185875af1925050503d806000811461198f576040519150601f19603f3d011682016040523d82523d6000602084013e611994565b606091505b50915091506119a5878383876119b0565b979650505050505050565b60608315611a1c578251611a15576001600160a01b0385163b611a155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161051d565b5081610822565b6108228383815115611a315781518083602001fd5b8060405162461bcd60e51b815260040161051d9190611bd2565b6001600160a01b038116811461067857600080fd5b600060208284031215611a7257600080fd5b8135611a7d81611a4b565b9392505050565b600060208284031215611a9657600080fd5b5035919050565b60008060408385031215611ab057600080fd5b8235611abb81611a4b565b946020939093013593505050565b600060208284031215611adb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611b1257611b12611ae2565b500290565b600082611b3457634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611b4b57611b4b611ae2565b500390565b60008219821115611b6357611b63611ae2565b500190565b600060208284031215611b7a57600080fd5b81518015158114611a7d57600080fd5b60005b83811015611ba5578181015183820152602001611b8d565b838111156116af5750506000910152565b60008251611bc8818460208701611b8a565b9190910192915050565b6020815260008251806020840152611bf1816040850160208701611b8a565b601f01601f1916919091016040019291505056fea26469706673582212209a7ddedc277ccbeceaf165eefedf62da073794a53754b592dfb2c0946a553f6f64736f6c634300080800330000000000000000000000005b6e37e08eb88088e70b24c51fe17a501ca55b40