function withdraw_stake() public only_staker
{
new_block(); //run once per block.
require(Timestamp >= staker[msg.sender].time + round_interval); //reject withdrawal before complete round.
uint _amount = staker[msg.sender].amount;
// claim reward if available.
claim();
TotalStakingAmount = TotalStakingAmount.sub(_amount);
TotalStakingWeight = TotalStakingWeight.sub((Timestamp.sub(staker[msg.sender].time)).mul(staker[msg.sender].amount)); // remove from Weight.
staker[msg.sender].amount = 0;
msg.sender.transfer(_amount);
emit WithdrawStake(msg.sender, _amount);
}
конкретно в момент запроса расчитывается процент, тоесть если снимать позже чем остальные, тогда будет выше процент начисления