2121using Nethermind . Xdc . Test . Helpers ;
2222using Nethermind . Xdc . Types ;
2323using NSubstitute ;
24+ using NSubstitute . ExceptionExtensions ;
2425using NUnit . Framework ;
2526using System . Collections . Generic ;
2627using System . Linq ;
@@ -91,8 +92,7 @@ public async Task TestHookRewardV2()
9192 masternodeVotingContract ,
9293 Substitute . For < IMintedRecordContract > ( ) ,
9394 signingTxCache ,
94- CreateXdcTransactionProcessor ( chain . SpecProvider , masternodeVotingContract , chain . MainWorldState ) ,
95- Substitute . For < IRewardsStore > ( )
95+ CreateXdcTransactionProcessor ( chain . SpecProvider , masternodeVotingContract , chain . MainWorldState )
9696 ) ;
9797
9898 XdcBlockHeader head = ( XdcBlockHeader ) chain . BlockTree . Head ! . Header ;
@@ -228,8 +228,7 @@ public async Task TestHookRewardV2SplitReward()
228228 masternodeVotingContract ,
229229 Substitute . For < IMintedRecordContract > ( ) ,
230230 signingTxCache ,
231- CreateXdcTransactionProcessor ( chain . SpecProvider , masternodeVotingContract , chain . MainWorldState ) ,
232- Substitute . For < IRewardsStore > ( )
231+ CreateXdcTransactionProcessor ( chain . SpecProvider , masternodeVotingContract , chain . MainWorldState )
233232 ) ;
234233
235234 XdcBlockHeader head = ( XdcBlockHeader ) chain . BlockTree . Head ! . Header ;
@@ -408,7 +407,7 @@ public void RewardCalculator_SplitReward_MatchesRounding()
408407 . Returns ( ci => ci . ArgAt < Address > ( 1 ) ) ;
409408
410409 SigningTxCache signingTxCache = new ( tree , specProvider ) ;
411- XdcRewardCalculator rewardCalculator = new ( epochSwitchManager , specProvider , tree , votingContract , Substitute . For < IMintedRecordContract > ( ) , signingTxCache , CreateXdcTransactionProcessor ( specProvider , votingContract ) , Substitute . For < IRewardsStore > ( ) ) ;
410+ XdcRewardCalculator rewardCalculator = new ( epochSwitchManager , specProvider , tree , votingContract , Substitute . For < IMintedRecordContract > ( ) , signingTxCache , CreateXdcTransactionProcessor ( specProvider , votingContract ) ) ;
412411 BlockReward [ ] rewards = rewardCalculator . CalculateRewards ( blocks . Last ( ) ) ;
413412
414413 Assert . That ( rewards , Has . Length . EqualTo ( 3 ) ) ;
@@ -534,8 +533,12 @@ public void TestHookRewardAfterUpgrade()
534533 observer1 . Address ,
535534 observer2 . Address ,
536535 ] ;
537- votingContract . GetCandidates ( Arg . Any < BlockHeader > ( ) ) . Returns ( rewardCandidates ) ;
538- votingContract . GetCandidateStake ( Arg . Any < BlockHeader > ( ) , Arg . Any < Address > ( ) ) . Returns ( UInt256 . One ) ;
536+ votingContract . GetCandidates ( Arg . Any < BlockHeader > ( ) )
537+ . Throws ( new InvalidOperationException ( "Readonly candidates lookup should not be used for block-processing rewards." ) ) ;
538+ votingContract . GetCandidates ( Arg . Any < ITransactionProcessor > ( ) , Arg . Any < BlockHeader > ( ) ) . Returns ( rewardCandidates ) ;
539+ votingContract . GetCandidateStake ( Arg . Any < BlockHeader > ( ) , Arg . Any < Address > ( ) )
540+ . Throws ( new InvalidOperationException ( "Readonly stake lookup should not be used for block-processing rewards." ) ) ;
541+ votingContract . GetCandidateStake ( Arg . Any < ITransactionProcessor > ( ) , Arg . Any < BlockHeader > ( ) , Arg . Any < Address > ( ) ) . Returns ( UInt256 . One ) ;
539542
540543 IWorldState worldState = TestWorldStateFactory . CreateForTest ( TestMemDbProvider . Init ( ) , LimboLogs . Instance ) ;
541544 using IDisposable _ = worldState . BeginScope ( IWorldState . PreGenesis ) ;
@@ -556,8 +559,7 @@ public void TestHookRewardAfterUpgrade()
556559 votingContract ,
557560 mintedRecordContract ,
558561 signingTxCache ,
559- transactionProcessor ,
560- Substitute . For < IRewardsStore > ( ) ) ;
562+ transactionProcessor ) ;
561563
562564 BlockReward [ ] rewards = rewardCalculator . CalculateRewards ( blocks [ ( int ) checkpointNumber ] ) ;
563565
@@ -608,8 +610,7 @@ public void RewardCalculator_CalculateRewardsForSignersAndHolders_MatchesExpecte
608610 masternodeVotingContract ,
609611 Substitute . For < IMintedRecordContract > ( ) ,
610612 signingTxCache ,
611- CreateXdcTransactionProcessor ( specProvider , masternodeVotingContract ) ,
612- Substitute . For < IRewardsStore > ( )
613+ CreateXdcTransactionProcessor ( specProvider , masternodeVotingContract )
613614 ) ;
614615
615616 UInt256 totalReward = UInt256 . Parse ( "171000000000000000000" ) ;
@@ -647,8 +648,7 @@ public void DistributeRewards_OwnerIsFoundation_MatchesReferenceOverwriteBehavio
647648 masternodeVotingContract ,
648649 Substitute . For < IMintedRecordContract > ( ) ,
649650 signingTxCache ,
650- CreateXdcTransactionProcessor ( specProvider , masternodeVotingContract ) ,
651- Substitute . For < IRewardsStore > ( ) ) ;
651+ CreateXdcTransactionProcessor ( specProvider , masternodeVotingContract ) ) ;
652652
653653 Address signer = new ( "0x80b329b66ddfe2180904d6ae737283a3f1860b83" ) ;
654654 Address foundationWalletAddr = new ( "0x5cb041be27deb4a506ad63d082c6043b4a5c6898" ) ;
@@ -687,11 +687,9 @@ private static XdcRewardCalculatorSource CreateRewardCalculatorSource(bool isSub
687687 IMasternodeVotingContract masternodeVotingContract = Substitute . For < IMasternodeVotingContract > ( ) ;
688688 IMintedRecordContract mintedRecordContract = Substitute . For < IMintedRecordContract > ( ) ;
689689 ISigningTxCache signingTxCache = Substitute . For < ISigningTxCache > ( ) ;
690- IRewardsStore rewardsStore = Substitute . For < IRewardsStore > ( ) ;
691-
692690 return isSubnet
693- ? new XdcSubnetRewardCalculatorSource ( epochSwitchManager , specProvider , blockTree , masternodeVotingContract , mintedRecordContract , signingTxCache , rewardsStore )
694- : new XdcRewardCalculatorSource ( epochSwitchManager , specProvider , blockTree , masternodeVotingContract , mintedRecordContract , signingTxCache , rewardsStore ) ;
691+ ? new XdcSubnetRewardCalculatorSource ( epochSwitchManager , specProvider , blockTree , masternodeVotingContract , mintedRecordContract , signingTxCache )
692+ : new XdcRewardCalculatorSource ( epochSwitchManager , specProvider , blockTree , masternodeVotingContract , mintedRecordContract , signingTxCache ) ;
695693 }
696694
697695 private static XdcTransactionProcessor CreateXdcTransactionProcessor (
0 commit comments