No lucky has be found, i'm not so sure that there should be several... if there is a fully staking network with all coins then there should be indeed several lucky staking blocks, but with only a few people staking it can take a long time, i believe. Someone from the community verify that the code is correct, so i believe it is just a matter of time, more staking people and then the blocks should come.
placebo,
I just reviewed the old code with the new code.
The lucky stake code was changed significantly from the original version and needs to be fixed. The new code is simply taking a random number from 100 and seeing if it is less than 3 (2%). It has been oversimplified and will not issue the correct number of Lucky Stakes per day:
int rand = generateMTRandom(seed, 100);
if (inputcoins > 50000 && inputcoins < 100000 && rand < 3)...
The original code used the time span since the last super stake which ensured as time passed, the odds increased until issued. It also took the time since the last stake and multiplied it by a set value (10e3) to increase the size of the base number used to select the random number from.
int64_t nRandspan = Params().SuperStakeTimespan(nSuperStake) * 10e3;
int64_t nSuperspan = std::min((nPrevHeightSpan - nLastSuperStakeSpan) * (nPrevHeightSpan - nLastSuperStakeSpan) * (nRandspan / 50), nRandspan);
int64_t nRand = generateMTRandom(nSeed, nRandspan);
The old code also had functions for when to call the super stake functions to even it out over the day:
static inline unsigned nSuperStakePastDrift(unsigned nTime) { return nTime - 5 * 60; }
static inline unsigned nSuperStakeFutureDrift(unsigned nTime) { return nTime + 5 * 60; }
static inline bool isSuperStakeTime(unsigned int nTime) { return ((nTime >= nSuperStakePastDrift(Params().SuperStakeStartTime())) && (nTime <= nSuperStakeFutureDrift(Params().SuperStakeEndTime()))); }
The current code deleted the entire function responsible for calculating when it's appropriate to reward the stake and simplified it so we are no longer receiving the 28 per day as expected. It appears the new developer simply set it up as fixed random over time versus setting it up to increase probability as time passed and to even out the rewards during the day.
In my opinion, the super staking functions need to be restored because the current code does not meet the intent of the design. There were no other rewards in the original code within these functions besides the 5K, 15K, and 60K blocks. In the old code, the lucky stakes were evaluated at regular intervals and the base number from which the random number was selected was much higher and increased over time. The current code does none of that.
I'm willing to investigate further but it's clear the code changes made is why we're not seeing any lucky blocks. Those rewards were based on set intervals, the number of coins in your addresses, and the time since the last lucky block. It had nothing to do with the number of wallets or people staking. Less people staking simply means those people who are will earn more of the rewards.
I'm not sure why the developer felt the need to remove all of that? Perhaps based on the time frame given and there wasn't time to validate the functionality?