git.delta.rocks / unique-network / refs/commits / d11ad96fff69

difftreelog

Merge branch 'feature/app-staking' of github.com:UniqueNetwork/unique-chain into feature/app-staking

Trubnikov Sergey2022-09-01parents: #081dbb6 #f8428bb.patch.diff
in: master

2 files changed

modifiedpallets/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(
 							&current_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,
modifiedtests/src/app-promotion.test.tsdiffbeforeafterboth
621 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