From d11ad96fff691ef463b45245db31deda4a265c24 Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Thu, 01 Sep 2022 12:57:58 +0000 Subject: [PATCH] Merge branch 'feature/app-staking' of github.com:UniqueNetwork/unique-chain into feature/app-staking --- --- a/pallets/app-promotion/src/lib.rs +++ b/pallets/app-promotion/src/lib.rs @@ -328,8 +328,6 @@ ArithmeticError::Underflow ); - let count = Staked::::iter_prefix((staker_id.clone(),)).count(); - let balance = <::Currency as Currency>::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::::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, --- a/tests/src/app-promotion.test.ts +++ b/tests/src/app-promotion.test.ts @@ -621,7 +621,7 @@ await helper.staking.stake(staker, 100n * nominal); await helper.staking.stake(staker, 200n * nominal); - await waitForRelayBlock(helper.api!, 55); + await waitForRelayBlock(helper.api!, 40); await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50)); const totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]); @@ -663,7 +663,7 @@ await waitForRelayBlock(helper.api!, 20); await helper.signTransaction(palletAdmin, helper.api!.tx.promotion.payoutStakers(50)); totalStakedPerBlock = (await helper.staking.getTotalStakedPerBlock({Substrate: staker.address})).map(s => s[1]); - expect(totalStakedPerBlock).to.deep.equal([calculateIncome(10n * nominal, 10n, 2), calculateIncome(20n * nominal, 10n, 2), calculateIncome(30n * nominal, 10n, 2)]); + expect(totalStakedPerBlock).to.deep.equal([calculateIncome(100n * nominal, 10n, 2), calculateIncome(200n * nominal, 10n, 2), calculateIncome(300n * nominal, 10n, 2)]); }); }); -- gitstuff