Content
@
0 reply
0 recast
0 reaction
Vitalik Buterin
@vitalik.eth
The contract here is a sublinear staking contract: if you are in the whitelist (specified as an ERC1155 collection), then you can stake N coins, and get a return of N ** 0.75 coins per slot, for as long as the contract has coins to pay for it. There is a fundedUntil mechanism that ensures that if the contract runs out of money, every staker gets rewarded for every slot up to the fundedUntil timestamp, and the mechanism doesn't turn into a fractional reserve. https://github.com/ethereum/research/blob/master/sublinear_staking/code.vy Bounty of total 2 ETH for identifying any bugs / vulnerabilities in the contract and proposing specific fixes, if multiple issues are found the bounty will be split based on severity. Amount: 2 ETH @bountybot
23 replies
175 recasts
765 reactions
androolloyd.eth |β¬οΈ|π¦π
@androolloyd.eth
something worth noting the isEligible check only happens on staking, so a user can acquire inline a token to flag true without having to actually hold the token for the duration of the staking. You'd likely want to do something where the eligible tokenID is locked into the staking contract for the duration.
1 reply
0 recast
1 reaction
Vitalik Buterin
@vitalik.eth
I'm definitely assuming that the whitelist tokens are soulbound. Should specify that explicitly perhaps?
1 reply
0 recast
2 reactions
androolloyd.eth |β¬οΈ|π¦π
@androolloyd.eth
If soulbound then you are good to go, specifying that in the code though will make it more clear.
0 reply
0 recast
0 reaction