File tree Expand file tree Collapse file tree
Nethermind.Blockchain.Test Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -278,6 +278,19 @@ public void ParallelWorldState_bal_read_budget_ignores_reads_already_in_generate
278278 Assert . That ( act , Throws . Nothing ) ;
279279 }
280280
281+ [ Test , MaxTime ( Timeout . MaxTestTime ) ]
282+ public void ParallelWorldState_bal_validation_rejects_missing_account_only_reads ( )
283+ {
284+ ParallelWorldState stateProvider = new ( TestWorldStateFactory . CreateForTest ( ) ) ;
285+ stateProvider . LoadSuggestedBlockAccessList ( new BlockAccessList ( ) , 10_000 ) ;
286+ stateProvider . GeneratedBlockAccessList . IncrementBlockAccessIndex ( ) ;
287+ stateProvider . GeneratedBlockAccessList . AddAccountRead ( TestItem . AddressA ) ;
288+
289+ TestDelegate act = ( ) => stateProvider . ValidateBlockAccessList ( Build . A . BlockHeader . TestObject , 1 , 10_000 ) ;
290+
291+ Assert . Throws < ParallelWorldState . InvalidBlockLevelAccessListException > ( act ) ;
292+ }
293+
281294 [ Test , MaxTime ( Timeout . MaxTestTime ) ]
282295 public void BranchProcessor_no_prewarmer_still_processes_successfully ( )
283296 {
Original file line number Diff line number Diff line change @@ -280,7 +280,7 @@ void AdvanceSuggested()
280280 {
281281 if ( suggestedHead is null )
282282 {
283- if ( HasNoChanges ( generatedHead . Value ) )
283+ if ( HasOptionalStorageReads ( generatedHead . Value ) )
284284 {
285285 AdvanceGenerated ( ) ;
286286 continue ;
@@ -320,7 +320,7 @@ void AdvanceSuggested()
320320 }
321321 else
322322 {
323- if ( HasNoChanges ( generatedHead . Value ) )
323+ if ( HasOptionalStorageReads ( generatedHead . Value ) )
324324 {
325325 AdvanceGenerated ( ) ;
326326 continue ;
@@ -367,4 +367,7 @@ private static bool HasNoChanges(in ChangeAtIndex c)
367367 c . NonceChange is null &&
368368 c . CodeChange is null &&
369369 ! c . SlotChanges . GetEnumerator ( ) . MoveNext ( ) ;
370+
371+ private static bool HasOptionalStorageReads ( in ChangeAtIndex c )
372+ => HasNoChanges ( c ) && c . Reads > 0 ;
370373}
You can’t perform that action at this time.
0 commit comments