0 txs
0 calls
constructor
No constructor.
functions
blocksWithRewardsPassed
viewfunction blocksWithRewardsPassed() view returns (uint256)
bmiStaking
viewfunction bmiStaking() view returns (address)
earned
viewfunction earned(address _account) view returns (uint256)
earnedSlashed
viewfunction earnedSlashed(address _account) view returns (uint256)
EXIT_FEE_DURATION
viewfunction EXIT_FEE_DURATION() view returns (uint256)
firstBlockWithReward
viewfunction firstBlockWithReward() view returns (uint256)
getAPY
viewfunction getAPY() view returns (uint256)
getSlashingPercentage
viewfunction getSlashingPercentage() view returns (uint256)
getSlashingPercentage
viewfunction getSlashingPercentage(uint256 startTime) view returns (uint256)
injector
viewfunction injector() view returns (address _injector)
lastBlockWithReward
viewfunction lastBlockWithReward() view returns (uint256)
lastUpdateBlock
viewfunction lastUpdateBlock() view returns (uint256)
legacyLiquidityMiningStakingAddress
viewfunction legacyLiquidityMiningStakingAddress() view returns (address)
liquidityMining
viewfunction liquidityMining() view returns (address)
MAX_EXIT_FEE
viewfunction MAX_EXIT_FEE() view returns (uint256)
MIN_EXIT_FEE
viewfunction MIN_EXIT_FEE() view returns (uint256)
owner
viewfunction owner() view returns (address)
rewardPerBlock
viewfunction rewardPerBlock() view returns (uint256)
rewardPerToken
viewfunction rewardPerToken() view returns (uint256)
rewardPerTokenStored
viewfunction rewardPerTokenStored() view returns (uint256)
rewardsToken
viewfunction rewardsToken() view returns (address)
rewardTokensLocked
viewfunction rewardTokensLocked() view returns (uint256)
staked
viewfunction staked(address) view returns (uint256)
stakingToken
viewfunction stakingToken() view returns (address)
totalStaked
viewfunction totalStaked() view returns (uint256)
userRewardPerTokenPaid
viewfunction userRewardPerTokenPaid(address) view returns (uint256)
__LiquidityMiningStaking_init
nonpayablefunction __LiquidityMiningStaking_init()
exit
nonpayablefunction exit()
getReward
nonpayablefunction getReward()
recoverNonLockedRewardTokens
nonpayablefunction recoverNonLockedRewardTokens()
renounceOwnership
nonpayablefunction renounceOwnership()
restake
nonpayablefunction restake()
setDependencies
nonpayablefunction setDependencies(address _contractsRegistry)
setInjector
nonpayablefunction setInjector(address _injector)
setRewards
nonpayablefunction setRewards(uint256 _rewardPerBlock, uint256 _startingBlock, uint256 _blocksAmount)
stake
nonpayablefunction stake(uint256 _amount)
stakeFor
nonpayablefunction stakeFor(address _user, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardPaid
event RewardPaid(address indexed user, uint256 reward)
RewardRestaked
event RewardRestaked(address indexed user, uint256 reward)
RewardsSet
event RewardsSet(uint256 rewardPerBlock, uint256 firstBlockWithReward, uint256 lastBlockWithReward)
RewardTokensRecovered
event RewardTokensRecovered(uint256 amount)
Staked
event Staked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50600160655561258f806100256000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c80638b8763471161013b578063c500f2bf116100b8578063df136d651161007c578063df136d6514610498578063e9fad8ee146104a0578063f048fe74146104a8578063f2fde38b146104b0578063f36d1e4e146104d65761023c565b8063c500f2bf14610470578063cd3daf9d14610478578063d12a072414610480578063d1af0c7d14610488578063d2cbf7ad146104905761023c565b80639baf58d2116100ff5780639baf58d214610400578063a218141b14610408578063a694fc3a14610410578063b511046c1461042d578063c4aa3e44146104535761023c565b80638b8763471461037e5780638cb941cc146103a45780638da5cb5b146103ca57806395803477146103d257806398807d84146103da5761023c565b806346171610116101c957806372f702f31161018d57806372f702f314610338578063817b1cd2146103405780638389cb181461034857806385b2d5351461036e5780638ae39cac146103765761023c565b806346171610146103105780634ed4101b146103185780634f91440d1461032057806368d8fa2614610328578063715018a6146103305761023c565b80632de986f7116102105780632de986f7146102ad5780632e1a7d4d146102b75780632ee40908146102d45780633d18b912146103005780633e5a88f5146103085761023c565b80628cc2621461024157806303f3cbc21461027957806310b89e28146102815780632a43131c146102a5575b600080fd5b6102676004803603602081101561025757600080fd5b50356001600160a01b03166104ff565b60408051918252519081900360200190f35b610267610595565b61028961059c565b604080516001600160a01b039092168252519081900360200190f35b6102896105ab565b6102b56105ba565b005b6102b5600480360360208110156102cd57600080fd5b50356106fb565b6102b5600480360360408110156102ea57600080fd5b506001600160a01b0381351690602001356108cc565b6102b56109e3565b610267610c26565b610289610c6b565b610267610c90565b6102b5610c96565b610267610ea2565b6102b5610eb1565b610289610f5d565b610267610f6c565b6102b56004803603602081101561035e57600080fd5b50356001600160a01b0316610f72565b61028961127d565b61026761128c565b6102676004803603602081101561039457600080fd5b50356001600160a01b0316611292565b6102b5600480360360208110156103ba57600080fd5b50356001600160a01b03166112a4565b610289611344565b610267611353565b610267600480360360208110156103f057600080fd5b50356001600160a01b0316611359565b61026761136b565b61026761137b565b6102b56004803603602081101561042657600080fd5b5035611381565b6102676004803603602081101561044357600080fd5b50356001600160a01b031661144c565b6102676004803603602081101561046957600080fd5b50356114df565b610267611571565b6102676115fa565b61026761163f565b610289611645565b610267611654565b6102676117ce565b6102b56117d4565b6102b5611813565b6102b5600480360360208110156104c657600080fd5b50356001600160a01b03166118bd565b6102b5600480360360608110156104ec57600080fd5b50803590602081013590604001356119c0565b6001600160a01b038116600090815260716020526040812054819061052c906105266115fa565b90611b85565b6001600160a01b0384166000908152607460205260408120549192509061056790670de0b6b3a7640000906105619085611be2565b90611c42565b6001600160a01b03851660009081526072602052604090205490915061058d9082611ca9565b949350505050565b6283d60081565b6069546001600160a01b031681565b6066546001600160a01b031681565b6105c2611d03565b6001600160a01b03166105d3611344565b6001600160a01b03161461061c576040805162461bcd60e51b815260206004820181905260248201526000805160206124ea833981519152604482015290519081900360640190fd5b607054606754604080516370a0823160e01b815230600482015290516000936106a59390926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b15801561067357600080fd5b505afa158015610687573d6000803e3d6000fd5b505050506040513d602081101561069d57600080fd5b505190611b85565b90506106c56106b2611344565b6067546001600160a01b03169083611d07565b6040805182815290517f0bc851b593180f78ae6715d02ec289843163b3e8c728dc65563dc82bede2d2959181900360200190a150565b60026065541415610741576040805162461bcd60e51b815260206004820152601f6024820152600080516020612431833981519152604482015290519081900360640190fd5b600260655561074e611d03565b61075781611d5e565b600082116107965760405162461bcd60e51b81526004018080602001828103825260248152602001806124776024913960400191505060405180910390fd5b6000607460006107a4611d03565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561081c576040805162461bcd60e51b815260206004820152601f60248201527f4c4d533a20496e73756666696369656e74207374616b656420616d6f756e7400604482015290519081900360640190fd5b6073546108299084611b85565b6073556108368184611b85565b60746000610842611d03565b6001600160a01b0316815260208101919091526040016000205561087a610867611d03565b6068546001600160a01b03169085611d07565b610882611d03565b6001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5846040518082815260200191505060405180910390a25050600160655550565b6066546001600160a01b03166108e0611d03565b6001600160a01b03161461093b576040805162461bcd60e51b815260206004820152601b60248201527f4c4d533a204e6f742061207374616b696e6720636f6e74726163740000000000604482015290519081900360640190fd5b60026065541415610981576040805162461bcd60e51b815260206004820152601f6024820152600080516020612431833981519152604482015290519081900360640190fd5b60026065558161099081611d5e565b600082116109cf5760405162461bcd60e51b81526004018080602001828103825260248152602001806124776024913960400191505060405180910390fd5b6109d98383611db7565b5050600160655550565b60026065541415610a29576040805162461bcd60e51b815260206004820152601f6024820152600080516020612431833981519152604482015290519081900360640190fd5b6002606555610a36611d03565b610a3f81611d5e565b600060726000610a4d611d03565b6001600160a01b0316815260208101919091526040016000205490508015610c1d5760726000610a7b611d03565b6001600160a01b03166001600160a01b03168152602001908152602001600020600090556000610b2482606a60009054906101000a90046001600160a01b03166001600160a01b031663fe2290a96040518163ffffffff1660e01b815260040160206040518083038186803b158015610af357600080fd5b505afa158015610b07573d6000803e3d6000fd5b505050506040513d6020811015610b1d57600080fd5b5051611e40565b90506000610b328383611b85565b606954606754919250610b52916001600160a01b03908116911684611d07565b60695460408051631c5fc48360e01b81526004810185905290516001600160a01b0390921691631c5fc4839160248082019260009290919082900301818387803b158015610b9f57600080fd5b505af1158015610bb3573d6000803e3d6000fd5b50505050610bc26106b2611d03565b607054610bcf9084611b85565b607055610bda611d03565b6001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a250505b50506001606555565b600080610c37606e54606c54611e65565b90506000610c4743606d54611e7c565b905080821015610c6057610c5b8183611b85565b610c63565b60005b925050505b90565b7fd6b8f2e074594ceb05d47c27386969754b6ad0c15e5eb8f691399cd0be980e765490565b606c5481565b60026065541415610cdc576040805162461bcd60e51b815260206004820152601f6024820152600080516020612431833981519152604482015290519081900360640190fd5b6002606555610ce9611d03565b610cf281611d5e565b600060726000610d00611d03565b6001600160a01b0316815260208101919091526040016000205490508015610c1d5760726000610d2e611d03565b6001600160a01b03908116825260208083019390935260409182016000908120819055606754606954845163a9059cbb60e01b8152908416600482015260248101879052935192169363a9059cbb936044808201949293918390030190829087803b158015610d9c57600080fd5b505af1158015610db0573d6000803e3d6000fd5b505050506040513d6020811015610dc657600080fd5b50506069546001600160a01b0316632ee40908610de1611d03565b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015610e2857600080fd5b505af1158015610e3c573d6000803e3d6000fd5b5050607054610e4e9250905082611b85565b607055610e59611d03565b6001600160a01b03167ff9a54055bfb646bc773b309d185df50de7c16ddb0e33802ac600ec1069651038826040518082815260200191505060405180910390a250506001606555565b6aa56fa5b99019a5c800000081565b610eb9611d03565b6001600160a01b0316610eca611344565b6001600160a01b031614610f13576040805162461bcd60e51b815260206004820181905260248201526000805160206124ea833981519152604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6068546001600160a01b031681565b60735481565b6000610f7c610c6b565b90506001600160a01b0381161580610f9c57506001600160a01b03811633145b610fed576040805162461bcd60e51b815260206004820152601a60248201527f446570656e64616e743a204e6f7420616e20696e6a6563746f72000000000000604482015290519081900360640190fd5b816001600160a01b03166361572de26040518163ffffffff1660e01b815260040160206040518083038186803b15801561102657600080fd5b505afa15801561103a573d6000803e3d6000fd5b505050506040513d602081101561105057600080fd5b5051606680546001600160a01b0319166001600160a01b03928316179055604080516317f41d8160e11b8152905191841691632fe83b0291600480820192602092909190829003018186803b1580156110a857600080fd5b505afa1580156110bc573d6000803e3d6000fd5b505050506040513d60208110156110d257600080fd5b5051606780546001600160a01b0319166001600160a01b0392831617905560408051631231f7eb60e11b8152905191841691632463efd691600480820192602092909190829003018186803b15801561112a57600080fd5b505afa15801561113e573d6000803e3d6000fd5b505050506040513d602081101561115457600080fd5b5051606980546001600160a01b0319166001600160a01b039283161790556040805163094c7e6960e11b8152905191841691631298fcd291600480820192602092909190829003018186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d60208110156111d657600080fd5b5051606880546001600160a01b0319166001600160a01b039283161790556040805163fae7baef60e01b815290519184169163fae7baef91600480820192602092909190829003018186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d602081101561125857600080fd5b5051606a80546001600160a01b0319166001600160a01b039092169190911790555050565b606a546001600160a01b031681565b606b5481565b60716020526000908152604090205481565b60006112ae610c6b565b90506001600160a01b03811615806112ce57506001600160a01b03811633145b61131f576040805162461bcd60e51b815260206004820152601a60248201527f446570656e64616e743a204e6f7420616e20696e6a6563746f72000000000000604482015290519081900360640190fd5b507fd6b8f2e074594ceb05d47c27386969754b6ad0c15e5eb8f691399cd0be980e7655565b6033546001600160a01b031690565b60705481565b60746020526000908152604090205481565b6b02e87669c308736a0400000081565b606e5481565b600260655414156113c7576040805162461bcd60e51b815260206004820152601f6024820152600080516020612431833981519152604482015290519081900360640190fd5b60026065556113d4611d03565b6113dd81611d5e565b6000821161141c5760405162461bcd60e51b81526004018080602001828103825260248152602001806124776024913960400191505060405180910390fd5b61143b611427611d03565b6068546001600160a01b0316903085611e8b565b610c1d611446611d03565b83611db7565b60006114d961145a836104ff565b606a60009054906101000a90046001600160a01b03166001600160a01b031663fe2290a96040518163ffffffff1660e01b815260040160206040518083038186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b5051611eeb565b92915050565b60008115806114ed57504282115b6114f757816114f9565b425b9150600061151e6b02e87669c308736a040000006aa56fa5b99019a5c8000000611b85565b9050600061152f826283d600611c42565b9050600061155061154a836115444289611b85565b90611be2565b84611e7c565b90506115686b02e87669c308736a0400000082611b85565b95945050505050565b60006115f5606a60009054906101000a90046001600160a01b03166001600160a01b031663fe2290a96040518163ffffffff1660e01b815260040160206040518083038186803b1580156115c457600080fd5b505afa1580156115d8573d6000803e3d6000fd5b505050506040513d60208110156115ee57600080fd5b50516114df565b905090565b6073546000908061160f575050606f54610c68565b600061162f82610561670de0b6b3a7640000611544606b54611544610c26565b606f54909150610c639082611ca9565b606d5481565b6067546001600160a01b031681565b600080606860009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a557600080fd5b505afa1580156116b9573d6000803e3d6000fd5b505050506040513d60208110156116cf57600080fd5b505160685460408051630240bc6b60e21b815290519293506000926001600160a01b0390921691630902f1ac91600480820192606092909190829003018186803b15801561171c57600080fd5b505afa158015611730573d6000803e3d6000fd5b505050506040513d606081101561174657600080fd5b50516dffffffffffffffffffffffffffff169050811580611765575080155b1561177557600092505050610c68565b610c636117ac6117978461056168056bc75e2d63100000611544876002611be2565b60735461154490670de0b6b3a7640000611ca9565b606b54610561906b033b2e3c9fd0803ce800000090611544906223ec4a611be2565b606f5481565b611809607460006117e3611d03565b6001600160a01b03166001600160a01b03168152602001908152602001600020546106fb565b6118116109e3565b565b600054610100900460ff168061182c575061182c611f01565b8061183a575060005460ff16155b6118755760405162461bcd60e51b815260040180806020018281038252602e81526020018061249b602e913960400191505060405180910390fd5b600054610100900460ff161580156118a0576000805460ff1961ff0019909116610100171660011790555b6118a8611f12565b80156118ba576000805461ff00191690555b50565b6118c5611d03565b6001600160a01b03166118d6611344565b6001600160a01b03161461191f576040805162461bcd60e51b815260206004820181905260248201526000805160206124ea833981519152604482015290519081900360640190fd5b6001600160a01b0381166119645760405162461bcd60e51b81526004018080602001828103825260268152602001806124516026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6119c8611d03565b6001600160a01b03166119d9611344565b6001600160a01b031614611a22576040805162461bcd60e51b815260206004820181905260248201526000805160206124ea833981519152604482015290519081900360640190fd5b6000611a2d81611d5e565b6000611a37611faf565b606b869055606c8590559050611a5260016105268686611ca9565b606d556000611a5f611faf565b9050611a8081611a7a84607054611b8590919063ffffffff16565b90611ca9565b607055606754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015611ace57600080fd5b505afa158015611ae2573d6000803e3d6000fd5b505050506040513d6020811015611af857600080fd5b50516070541115611b3a5760405162461bcd60e51b815260040180806020018281038252602681526020018061250a6026913960400191505060405180910390fd5b606d54604080518881526020810188905280820192909252517ff0f7bde9cfd224702fe707f27ad7d6b35c7d7f63fd91bb24a760cfd6a99f85e79181900360600190a1505050505050565b600082821115611bdc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082611bf1575060006114d9565b82820282848281611bfe57fe5b0414611c3b5760405162461bcd60e51b81526004018080602001828103825260218152602001806124c96021913960400191505060405180910390fd5b9392505050565b6000808211611c98576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611ca157fe5b049392505050565b600082820183811015611c3b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611d59908490611fdd565b505050565b6000611d686115fa565b606f81905543606e5590506001600160a01b03821615611db357611d8b826104ff565b6001600160a01b03831660009081526072602090815260408083209390935560719052208190555b5050565b607354611dc49082611ca9565b6073556001600160a01b038216600090815260746020526040902054611dea9082611ca9565b6001600160a01b038316600081815260746020908152604091829020939093558051848152905191927f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d92918290030190a25050565b6000611c3b6b033b2e3c9fd0803ce8000000610561611e5e856114df565b8690611be2565b600081831015611e755781611c3b565b5090919050565b6000818310611e755781611c3b565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611ee5908590611fdd565b50505050565b6000611c3b611efa8484611e40565b8490611b85565b6000611f0c3061208e565b15905090565b600054610100900460ff1680611f2b5750611f2b611f01565b80611f39575060005460ff16155b611f745760405162461bcd60e51b815260040180806020018281038252602e81526020018061249b602e913960400191505060405180910390fd5b600054610100900460ff16158015611f9f576000805460ff1961ff0019909116610100171660011790555b611fa7612094565b6118a8612134565b600080611fc0606c54606d5461222d565b9050611fd7606b5482611be290919063ffffffff16565b91505090565b6060612032826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122669092919063ffffffff16565b805190915015611d595780806020019051602081101561205157600080fd5b5051611d595760405162461bcd60e51b815260040180806020018281038252602a815260200180612530602a913960400191505060405180910390fd5b3b151590565b600054610100900460ff16806120ad57506120ad611f01565b806120bb575060005460ff16155b6120f65760405162461bcd60e51b815260040180806020018281038252602e81526020018061249b602e913960400191505060405180910390fd5b600054610100900460ff161580156118a8576000805460ff1961ff00199091166101001716600117905580156118ba576000805461ff001916905550565b600054610100900460ff168061214d575061214d611f01565b8061215b575060005460ff16155b6121965760405162461bcd60e51b815260040180806020018281038252602e81526020018061249b602e913960400191505060405180910390fd5b600054610100900460ff161580156121c1576000805460ff1961ff0019909116610100171660011790555b60006121cb611d03565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156118ba576000805461ff001916905550565b600081431061223e575060006114d9565b8243101561225c576122556001611a7a8486611b85565b90506114d9565b611c3b8243611b85565b606061058d84846000858561227a8561208e565b6122cb576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061230a5780518252601f1990920191602091820191016122eb565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461236c576040519150601f19603f3d011682016040523d82523d6000602084013e612371565b606091505b509150915061238182828661238c565b979650505050505050565b6060831561239b575081611c3b565b8251156123ab5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f55781810151838201526020016123dd565b50505050905090810190601f1680156124225780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c4d533a20416d6f756e742073686f756c642062652067726561746572207468616e2030496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724c4d533a204e6f7420656e6f75676820746f6b656e7320666f722074686520726577617264735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212209bb1810c9c7dab5d7bb7a5a29e96c665b09e4aacb3f5fbaafa9f3542c20058a664736f6c63430007040033