difftreelog
Merge branch 'feature/app-staking' of github.com:UniqueNetwork/unique-chain into feature/app-staking
in: master
2 files changed
pallets/app-promotion/src/lib.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -328,8 +328,6 @@
ArithmeticError::Underflow
);
- let count = Staked::<T>::iter_prefix((staker_id.clone(),)).count();
-
let balance =
<<T as Config>::Currency as Currency<T::AccountId>>::free_balance(&staker_id);
@@ -380,7 +378,7 @@
amount
})
.sum();
-
+
if total_staked.is_zero() {
return Ok(None.into());
}
@@ -521,13 +519,13 @@
income_acc = BalanceOf::<T>::default();
current_id = id;
};
- if next_recalc_block_for_stake >= current_recalc_block {
+ if current_recalc_block >= next_recalc_block_for_stake {
Self::recalculate_and_insert_stake(
¤t_id,
staked_block,
next_recalc_block,
amount,
- ((next_recalc_block_for_stake - current_recalc_block)
+ ((current_recalc_block - next_recalc_block_for_stake)
/ T::RecalculationInterval::get())
.into() + 1,
&mut income_acc,
tests/src/app-promotion.test.tsdiffbeforeafterboth621 621 622 await helper.staking.stake(staker, 100n * nominal);622 await helper.staking.stake(staker, 100n * nominal);623 await helper.staking.stake(staker, 200n * nominal);623 await helper.staking.stake(staker, 200n * nominal);624 await waitForRelayBlock(helper.api!, 55);624 await waitForRelayBlock(helper.api!, 40);625 await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50));625 await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50));626 626 627 const totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]);627 const totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]);663 await waitForRelayBlock(helper.api!, 20);663 await waitForRelayBlock(helper.api!, 20);664 await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50));664 await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50));665 totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]);665 totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]);666 expect(totalStakedPerBlock).to.deep.equal([calculateIncome(10n * nominal, 10n, 2), calculateIncome(20n * nominal, 10n, 2), calculateIncome(30n * nominal, 10n, 2)]); 666 expect(totalStakedPerBlock).to.deep.equal([calculateIncome(100n * nominal, 10n, 2), calculateIncome(200n * nominal, 10n, 2), calculateIncome(300n * nominal, 10n, 2)]); 667 });667 });668 });668 });669669