0 txs
0 calls
constructor
constructor()
functions
DDDD
viewfunction DDDD() view returns (address)
getClaimableDividends
viewfunction getClaimableDividends(address _user, uint256 _index) view returns (uint256)
getStakingInfo
viewfunction getStakingInfo(address _user) view returns (tuple)
getTotalWeight
viewfunction getTotalWeight() view returns (uint256)
getUserStakes
viewfunction getUserStakes(address _user) view returns (tuple[])
lastDividendUpdate
viewfunction lastDividendUpdate() view returns (uint256)
owner
viewfunction owner() view returns (address)
RELEASE_PERIOD
viewfunction RELEASE_PERIOD() view returns (uint256)
stakes
viewfunction stakes(address, uint256) view returns (uint256 amount, uint256 term, uint256 startTime, uint256 endTime, uint256 lastClaim, uint256 releasedDividends)
supportedTerms
viewfunction supportedTerms(uint256) view returns (uint256)
terms
viewfunction terms(uint256) view returns (uint256 duration, uint256 weight, uint256 stakedAmount, uint256 distributedDividends, bool active)
totalDistributedDividends
viewfunction totalDistributedDividends() view returns (uint256)
totalDividends
viewfunction totalDividends() view returns (uint256)
totalStaked
viewfunction totalStaked() view returns (uint256)
totalWeight
viewfunction totalWeight() view returns (uint256)
WITHDRAW_INTERVAL
viewfunction WITHDRAW_INTERVAL() view returns (uint256)
addTerm
nonpayablefunction addTerm(uint256 _duration, uint256 _weight)
claimDividends
nonpayablefunction claimDividends(uint256 _index)
removeTerm
nonpayablefunction removeTerm(uint256 _duration)
renounceOwnership
nonpayablefunction renounceOwnership()
stake
nonpayablefunction stake(uint256 _amount, uint256 _term, address referer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake(uint256 _index)
updateTerm
nonpayablefunction updateTerm(uint256 _duration, uint256 _newWeight)
events
DividendClaimed
event DividendClaimed(address indexed user, uint256 amount, uint256 index)
DividendDeposited
event DividendDeposited(uint256 amount, uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Staked
event Staked(address indexed user, uint256 amount, uint256 term, uint256 startTime, address referer)
TermAdded
event TermAdded(uint256 duration, uint256 weight)
TermRemoved
event TermRemoved(uint256 duration)
TermUpdated
event TermUpdated(uint256 duration, uint256 newWeight)
Unstaked
event Unstaked(address indexed user, uint256 amount, uint256 index)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x608060405234801561000f575f80fd5b5060015f55338061003957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100428161061f565b506040805160c08101825260018152600760208201819052600f92820192909252601e6060820152605a608082015260b460a082015261008491906006610670565b506040805160a080820183526001808352600a60208085019182525f85870181815260608088018381526080808a0188815288865260088088529a517fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac55f5596517fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac5605592517fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac56155517fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac5625593517fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac563805460ff1990811692151592909217905588518088018a5260078082526032828701908152828c018681528389018781528487018b81529388528c895293517f24cd397636bedc6cf9b490d0edd57c769c19b367fb7d5c2344ae1ddc7d21c1445590517f24cd397636bedc6cf9b490d0edd57c769c19b367fb7d5c2344ae1ddc7d21c14555517f24cd397636bedc6cf9b490d0edd57c769c19b367fb7d5c2344ae1ddc7d21c1465590517f24cd397636bedc6cf9b490d0edd57c769c19b367fb7d5c2344ae1ddc7d21c14755517f24cd397636bedc6cf9b490d0edd57c769c19b367fb7d5c2344ae1ddc7d21c1488054831691151591909117905588518088018a52600f8082526064828701908152828c018681528389018781528487018b81529388528c895293517f8fab3b3b6d3bf24f9b00213fe8dda2fb1e188fcd88f523fcb711ff1f6aed59e35590517f8fab3b3b6d3bf24f9b00213fe8dda2fb1e188fcd88f523fcb711ff1f6aed59e455517f8fab3b3b6d3bf24f9b00213fe8dda2fb1e188fcd88f523fcb711ff1f6aed59e55590517f8fab3b3b6d3bf24f9b00213fe8dda2fb1e188fcd88f523fcb711ff1f6aed59e655517f8fab3b3b6d3bf24f9b00213fe8dda2fb1e188fcd88f523fcb711ff1f6aed59e78054831691151591909117905588518088018a52601e80825260c8828701908152828c018681528389018781528487018b81529388528c895293517f8ff154b69b3b40c11effaf182586e40eb0e8eab5c2d51945cbe34b1b0bcf6e285590517f8ff154b69b3b40c11effaf182586e40eb0e8eab5c2d51945cbe34b1b0bcf6e2955517f8ff154b69b3b40c11effaf182586e40eb0e8eab5c2d51945cbe34b1b0bcf6e2a5590517f8ff154b69b3b40c11effaf182586e40eb0e8eab5c2d51945cbe34b1b0bcf6e2b55517f8ff154b69b3b40c11effaf182586e40eb0e8eab5c2d51945cbe34b1b0bcf6e2c8054831691151591909117905588518088018a52605a8082526101f4828701908152828c018681528389018781528487018b81529388528c895293517fa3046de8475047f40cb93bcd5ee006bbc09114e5f6860de753f6f873442803055590517fa3046de8475047f40cb93bcd5ee006bbc09114e5f6860de753f6f8734428030655517fa3046de8475047f40cb93bcd5ee006bbc09114e5f6860de753f6f873442803075590517fa3046de8475047f40cb93bcd5ee006bbc09114e5f6860de753f6f8734428030855517fa3046de8475047f40cb93bcd5ee006bbc09114e5f6860de753f6f87344280309805483169115159190911790558851968701895260b48088526103e88886019081529988018481529588018481529288019687529092529590915292517f9eeae9ed695d87e82bfdfb7eb47aa6910307944ca506da5144475f3c07dabd125593517f9eeae9ed695d87e82bfdfb7eb47aa6910307944ca506da5144475f3c07dabd135592517f9eeae9ed695d87e82bfdfb7eb47aa6910307944ca506da5144475f3c07dabd145590517f9eeae9ed695d87e82bfdfb7eb47aa6910307944ca506da5144475f3c07dabd155590517f9eeae9ed695d87e82bfdfb7eb47aa6910307944ca506da5144475f3c07dabd168054909216901515179055426004556106d2565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b828054828255905f5260205f209081019282156106ae579160200282015b828111156106ae578251829060ff1690559160200191906001019061068e565b506106ba9291506106be565b5090565b5b808211156106ba575f81556001016106bf565b611b3c806106df5f395ff3fe60806040526004361061014a575f3560e01c806396c82e57116100b3578063c0aa0e8a1161006d578063c0aa0e8a14610438578063cd3ecc42146104ad578063d2b91bd1146104cc578063d3ee815f146104eb578063eced792e14610512578063f2fde38b14610528575f80fd5b806396c82e5714610385578063997664d71461039a5780639b9f6aee146103af578063aa4704f3146103ce578063b69046e8146103fa578063bd7047c414610419575f80fd5b8063715018a611610104578063715018a6146102c15780637628a37d146102d5578063817b1cd2146102f457806382210d1914610309578063842e2981146103285780638da5cb5b14610354575f80fd5b806306aba0e1146101ed5780632e17de781461021457806330c6b5eb1461023557806342e5b9f11461024b578063533472ba14610260578063584b62a114610275575f80fd5b366101e9575f34116101915760405162461bcd60e51b815260206004820152600b60248201526a139bc8109390881cd95b9d60aa1b60448201526064015b60405180910390fd5b3460025f8282546101a291906116f4565b90915550504260048190556040805134815260208101929092527f191e2b2c370fe29a3462b2a039b5d57432f06ba932859d6b716ba1df0a190bde910160405180910390a1005b5f80fd5b3480156101f8575f80fd5b50610201610547565b6040519081526020015b60405180910390f35b34801561021f575f80fd5b5061023361022e366004611707565b61055e565b005b348015610240575f80fd5b506102016201518081565b348015610256575f80fd5b5061020160035481565b34801561026b575f80fd5b5061020160045481565b348015610280575f80fd5b5061029461028f366004611739565b610754565b604080519687526020870195909552938501929092526060840152608083015260a082015260c00161020b565b3480156102cc575f80fd5b506102336107a4565b3480156102e0575f80fd5b506102336102ef366004611761565b6107b7565b3480156102ff575f80fd5b5061020160055481565b348015610314575f80fd5b50610233610323366004611793565b610a81565b348015610333575f80fd5b506103476103423660046117b3565b610c21565b60405161020b91906117d3565b34801561035f575f80fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161020b565b348015610390575f80fd5b5061020160065481565b3480156103a5575f80fd5b5061020160025481565b3480156103ba575f80fd5b506102336103c9366004611793565b610cce565b3480156103d9575f80fd5b506103ed6103e83660046117b3565b610e0f565b60405161020b91906118e8565b348015610405575f80fd5b50610233610414366004611707565b6110d0565b348015610424575f80fd5b50610233610433366004611707565b61128e565b348015610443575f80fd5b50610483610452366004611707565b60086020525f9081526040902080546001820154600283015460038401546004909401549293919290919060ff1685565b6040805195865260208601949094529284019190915260608301521515608082015260a00161020b565b3480156104b8575f80fd5b506102016104c7366004611707565b611468565b3480156104d7575f80fd5b506102016104e6366004611739565b611487565b3480156104f6575f80fd5b5061036d73422cbee1289aae4422edd8ff56f6578701bb287881565b34801561051d575f80fd5b506102016213c68081565b348015610533575f80fd5b506102336105423660046117b3565b6115d1565b5f80600654116105575750600190565b5060065490565b61056661160b565b335f908152600960205260408120805483908110610586576105866119cc565b905f5260205f20906006020190505f815f0154116105b65760405162461bcd60e51b8152600401610188906119e0565b60018101546105c890620151806119fc565b81600201546105d791906116f4565b4210156105f65760405162461bcd60e51b815260040161018890611a13565b80546001808301545f8181526008602052604081209092015490919061061c90846119fc565b90508060065f82825461062f9190611a2f565b925050819055508260055f8282546106479190611a2f565b90915550505f828152600860205260408120600201805485929061066c908490611a2f565b90915550505f845560405163a9059cbb60e01b81523360048201526024810184905273422cbee1289aae4422edd8ff56f6578701bb28789063a9059cbb906044016020604051808303815f875af11580156106c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ed9190611a42565b6107095760405162461bcd60e51b815260040161018890611a61565b604080518481526020810187905233917f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e910160405180910390a25050505061075160015f55565b50565b6009602052815f5260405f20818154811061076d575f80fd5b5f91825260209091206006909102018054600182015460028301546003840154600485015460059095015493965091945092909186565b6107ac611662565b6107b55f61168f565b565b6107bf61160b565b6103e88310156107e15760405162461bcd60e51b8152600401610188906119e0565b5f8281526008602052604090206004015460ff166108115760405162461bcd60e51b815260040161018890611a13565b5f8281526008602052604081206001015461082c90856119fc565b5f8481526008602052604090206001015490915061084a8583611a7d565b146108675760405162461bcd60e51b815260040161018890611a61565b8060065f82825461087891906116f4565b925050819055508360055f82825461089091906116f4565b90915550505f83815260086020526040812060020180548692906108b59084906116f4565b9091555050335f908152600960209081526040808320815160c0810183528881528084018890524281840152878552600890935292205460608201906108fe90620151806119fc565b61090890426116f4565b81525f602080830182905260409283018290528454600180820187559583529181902084516006909302019182558301519381019390935581810151600284015560608201516003840155608082015160048085019190915560a09092015160059093019290925590516323b872dd60e01b815233918101919091523060248201526044810185905273422cbee1289aae4422edd8ff56f6578701bb2878906323b872dd906064016020604051808303815f875af11580156109cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f09190611a42565b610a215760405162461bcd60e51b8152602060048201526002602482015261453360f01b6044820152606401610188565b604080518581526020810185905242818301526001600160a01b0384166060820152905133917fc901c8f4ca349afe560edb396f259d61a3a51d2c7bbf8ce5cba65ee1ffd50c8d919081900360800190a250610a7c60015f55565b505050565b610a89611662565b5f8211610acb5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b210323ab930ba34b7b760811b6044820152606401610188565b5f81118015610adc57506127108111155b610af85760405162461bcd60e51b815260040161018890611a9c565b5f8281526008602052604090206004015460ff1615610b4f5760405162461bcd60e51b81526020600482015260136024820152725465726d20616c72656164792065786973747360681b6044820152606401610188565b6040805160a08101825283815260208082018481525f838501818152606085018281526001608087018181528a855260088752888520975188559451878201559151600287015551600386015591516004909401805460ff1916941515949094179093556007805491820181559092527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68890910184905581518481529081018390527f8c4fc60851fd02e8a382bf69ee568f47cd27607f6400fdb2efa91ce22b02ba9991015b60405180910390a15050565b6001600160a01b0381165f908152600960209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610cc3578382905f5260205f2090600602016040518060c00160405290815f82015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190610c58565b505050509050919050565b610cd6611662565b5f8281526008602052604090206004015460ff16610d2c5760405162461bcd60e51b815260206004820152601360248201527215195c9b48191bd95cc81b9bdd08195e1a5cdd606a1b6044820152606401610188565b5f81118015610d3d57506127108111155b610d595760405162461bcd60e51b815260040161018890611a9c565b5f8281526008602052604090206002015415610dc55760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420757064617465207465726d207769746820616374697665207360448201526474616b657360d81b6064820152608401610188565b5f8281526008602090815260409182902060010183905581518481529081018390527f0a03709bae08e731498411229327042e5b219d157a4bd4015987b96f3048d9fb9101610c15565b610e456040518060c001604052805f81526020015f81526020015f81526020016060815260200160608152602001606081525090565b60075447905f9067ffffffffffffffff811115610e6457610e64611ade565b604051908082528060200260200182016040528015610ec457816020015b610eb16040518060a001604052805f81526020015f81526020015f81526020015f81526020015f151581525090565b815260200190600190039081610e825790505b5090505f5b600754811015610f6e575f60078281548110610ee757610ee76119cc565b5f9182526020808320909101546040805160a081018252828152828552600880855282862060018101548387015260028101549383019390935260038301546060830152948390529390925260049091015460ff16151560808301528451909250849084908110610f5a57610f5a6119cc565b602090810291909101015250600101610ec9565b506001600160a01b0384165f90815260096020908152604080832080548251818502810185019093528083529192909190849084015b8282101561100f578382905f5260205f2090600602016040518060c00160405290815f82015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190610fa4565b5050505090505f815167ffffffffffffffff81111561103057611030611ade565b604051908082528060200260200182016040528015611059578160200160208202803683370190505b5090505f5b8251811015611096576110718782611487565b828281518110611083576110836119cc565b602090810291909101015260010161105e565b506040805160c08101825260055481526020810195909552600354908501526060840191909152608083019190915260a082015292915050565b6110d8611662565b5f8181526008602052604090206004015460ff1661112e5760405162461bcd60e51b815260206004820152601360248201527215195c9b48191bd95cc81b9bdd08195e1a5cdd606a1b6044820152606401610188565b5f818152600860205260409020600201541561119a5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f742072656d6f7665207465726d207769746820616374697665207360448201526474616b657360d81b6064820152608401610188565b5f818152600860205260408120600401805460ff191690555b6007548110156112575781600782815481106111d1576111d16119cc565b905f5260205f2001540361124f57600780546111ef90600190611a2f565b815481106111ff576111ff6119cc565b905f5260205f2001546007828154811061121b5761121b6119cc565b5f91825260209091200155600780548061123757611237611af2565b600190038181905f5260205f20015f90559055611257565b6001016111b3565b506040518181527ffb681d940583fb055347715a801211c28e6030bf96152044cce69a90cc0bfce99060200160405180910390a150565b61129661160b565b335f9081526009602052604081208054839081106112b6576112b66119cc565b905f5260205f20906006020190505f815f0154116112e65760405162461bcd60e51b8152600401610188906119e0565b6201518081600401546112f991906116f4565b4210156113185760405162461bcd60e51b815260040161018890611a13565b5f6113233384611487565b90505f81116113445760405162461bcd60e51b815260040161018890611a61565b42826004018190555080826005015f82825461136091906116f4565b925050819055508060035f82825461137891906116f4565b909155505060018201545f90815260086020526040812060030180548392906113a29084906116f4565b90915550506040515f90339083908381818185875af1925050503d805f81146113e6576040519150601f19603f3d011682016040523d82523d5f602084013e6113eb565b606091505b50509050806114215760405162461bcd60e51b8152602060048201526002602482015261453360f01b6044820152606401610188565b604080518381526020810186905233917fa1c93169468f71ef26f4adf10bca8df21460f11843a01ed9c69da306e33c3847910160405180910390a250505061075160015f55565b60078181548110611477575f80fd5b5f91825260209091200154905081565b6001600160a01b0382165f9081526009602052604081208054829190849081106114b3576114b36119cc565b905f5260205f2090600602016040518060c00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815250509050805f01515f0361151a575f9150506115cb565b6020808201515f90815260089091526040812060010154825161153d91906119fc565b90505f611548610547565b90505f818360025461155a91906119fc565b6115649190611a7d565b90505f8460400151426115779190611a2f565b90505f6213c68061158883856119fc565b6115929190611a7d565b90505f8660a0015182116115a6575f6115b5565b60a08701516115b59083611a2f565b9050838111156115c25750825b96505050505050505b92915050565b6115d9611662565b6001600160a01b03811661160257604051631e4fbdf760e01b81525f6004820152602401610188565b6107518161168f565b60025f540361165c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610188565b60025f55565b6001546001600160a01b031633146107b55760405163118cdaa760e01b8152336004820152602401610188565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156115cb576115cb6116e0565b5f60208284031215611717575f80fd5b5035919050565b80356001600160a01b0381168114611734575f80fd5b919050565b5f806040838503121561174a575f80fd5b6117538361171e565b946020939093013593505050565b5f805f60608486031215611773575f80fd5b833592506020840135915061178a6040850161171e565b90509250925092565b5f80604083850312156117a4575f80fd5b50508035926020909101359150565b5f602082840312156117c3575f80fd5b6117cc8261171e565b9392505050565b602080825282518282018190525f918401906040840190835b81811015611841578351805184526020808201519085015260408082015190850152606080820151908501526080808201519085015260a0908101519084015260c083016020949094019392506001016117ec565b509095945050505050565b5f8151808452602084019350602083015f5b828110156118ae578151805187526020810151602088015260408101516040880152606081015160608801526080810151151560808801525060a08601955060208201915060018101905061185e565b5093949350505050565b5f8151808452602084019350602083015f5b828110156118ae5781518652602095860195909101906001016118ca565b602081525f60e08201835160208401526020840151604084015260408401516060840152606084015160c06080850152818151808452610100860191506020830193505f92505b80831015611986578351805183526020808201519084015260408082015190840152606080820151908401526080808201519084015260a0908101519083015260c08201915060208401935060018301925061192f565b506080860151858203601f190160a087015292506119a4818461184c565b9250505060a0840151601f198483030160c08501526119c382826118b8565b95945050505050565b634e487b7160e01b5f52603260045260245ffd5b602080825260029082015261045360f41b604082015260600190565b80820281158282048414176115cb576115cb6116e0565b602080825260029082015261453160f01b604082015260600190565b818103818111156115cb576115cb6116e0565b5f60208284031215611a52575f80fd5b815180151581146117cc575f80fd5b602080825260029082015261229960f11b604082015260600190565b5f82611a9757634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526022908201527f576569676874206d757374206265206265747765656e203120616e6420313030604082015261030360f41b606082015260800190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220191f872238e22194686f746fd554440c1f76019f7413f3e9931a9fb9a984843464736f6c634300081a0033