@@ -32,7 +32,7 @@ pub struct DefaultEngineValues {
3232 invalid_header_hit_eviction_threshold : u8 ,
3333 state_cache_disabled : bool ,
3434 prewarming_disabled : bool ,
35- txpool_prewarming_enabled : bool ,
35+ txpool_prewarming_disabled : bool ,
3636 state_provider_metrics : bool ,
3737 cross_block_cache_size : usize ,
3838 state_root_task_compare_updates : bool ,
@@ -106,9 +106,9 @@ impl DefaultEngineValues {
106106 self
107107 }
108108
109- /// Set whether to enable txpool prewarming by default
110- pub const fn with_txpool_prewarming_enabled ( mut self , v : bool ) -> Self {
111- self . txpool_prewarming_enabled = v;
109+ /// Set whether to disable txpool prewarming by default
110+ pub const fn with_txpool_prewarming_disabled ( mut self , v : bool ) -> Self {
111+ self . txpool_prewarming_disabled = v;
112112 self
113113 }
114114
@@ -269,7 +269,7 @@ impl Default for DefaultEngineValues {
269269 invalid_header_hit_eviction_threshold : DEFAULT_INVALID_HEADER_HIT_EVICTION_THRESHOLD ,
270270 state_cache_disabled : false ,
271271 prewarming_disabled : false ,
272- txpool_prewarming_enabled : false ,
272+ txpool_prewarming_disabled : false ,
273273 state_provider_metrics : false ,
274274 cross_block_cache_size : DEFAULT_CROSS_BLOCK_CACHE_SIZE_MB ,
275275 state_root_task_compare_updates : false ,
@@ -358,9 +358,9 @@ pub struct EngineArgs {
358358 #[ arg( long = "engine.disable-prewarming" , alias = "engine.disable-caching-and-prewarming" , default_value_t = DefaultEngineValues :: get_global( ) . prewarming_disabled) ]
359359 pub prewarming_disabled : bool ,
360360
361- /// Enable best-effort txpool transaction prewarming between payloads.
362- #[ arg( long = "engine.txpool-prewarming" , default_value_t = DefaultEngineValues :: get_global( ) . txpool_prewarming_enabled ) ]
363- pub txpool_prewarming_enabled : bool ,
361+ /// Disable best-effort txpool transaction prewarming between payloads.
362+ #[ arg( long = "engine.disable- txpool-prewarming" , default_value_t = DefaultEngineValues :: get_global( ) . txpool_prewarming_disabled ) ]
363+ pub txpool_prewarming_disabled : bool ,
364364
365365 /// CAUTION: This CLI flag has no effect anymore. The parallel sparse trie is always enabled.
366366 #[ deprecated]
@@ -567,7 +567,7 @@ impl Default for EngineArgs {
567567 invalid_header_hit_eviction_threshold,
568568 state_cache_disabled,
569569 prewarming_disabled,
570- txpool_prewarming_enabled ,
570+ txpool_prewarming_disabled ,
571571 state_provider_metrics,
572572 cross_block_cache_size,
573573 state_root_task_compare_updates,
@@ -603,7 +603,7 @@ impl Default for EngineArgs {
603603 caching_and_prewarming_enabled : true ,
604604 state_cache_disabled,
605605 prewarming_disabled,
606- txpool_prewarming_enabled ,
606+ txpool_prewarming_disabled ,
607607 parallel_sparse_trie_enabled : true ,
608608 parallel_sparse_trie_disabled : false ,
609609 state_provider_metrics,
@@ -676,7 +676,7 @@ impl EngineArgs {
676676 . with_invalid_header_hit_eviction_threshold ( self . invalid_header_hit_eviction_threshold )
677677 . without_state_cache ( self . state_cache_disabled )
678678 . without_prewarming ( self . prewarming_disabled )
679- . with_txpool_prewarming ( self . txpool_prewarming_enabled )
679+ . without_txpool_prewarming ( self . txpool_prewarming_disabled )
680680 . with_state_provider_metrics ( self . state_provider_metrics )
681681 . with_always_compare_trie_updates ( self . state_root_task_compare_updates )
682682 . with_cross_block_cache_size ( self . cross_block_cache_size * 1024 * 1024 )
@@ -733,6 +733,19 @@ mod tests {
733733 ) ;
734734 }
735735
736+ #[ test]
737+ fn txpool_prewarming_is_enabled_by_default_and_can_be_disabled ( ) {
738+ let args = CommandParser :: < EngineArgs > :: parse_from ( [ "reth" ] ) . args ;
739+ assert ! ( !args. txpool_prewarming_disabled) ;
740+ assert ! ( args. tree_config( ) . txpool_prewarming( ) ) ;
741+
742+ let args =
743+ CommandParser :: < EngineArgs > :: parse_from ( [ "reth" , "--engine.disable-txpool-prewarming" ] )
744+ . args ;
745+ assert ! ( args. txpool_prewarming_disabled) ;
746+ assert ! ( !args. tree_config( ) . txpool_prewarming( ) ) ;
747+ }
748+
736749 #[ test]
737750 fn default_backpressure_threshold_uses_parsed_persistence_args ( ) {
738751 let args = CommandParser :: < EngineArgs > :: parse_from ( [
@@ -795,7 +808,7 @@ mod tests {
795808 caching_and_prewarming_enabled : true ,
796809 state_cache_disabled : true ,
797810 prewarming_disabled : true ,
798- txpool_prewarming_enabled : true ,
811+ txpool_prewarming_disabled : true ,
799812 parallel_sparse_trie_enabled : true ,
800813 parallel_sparse_trie_disabled : false ,
801814 state_provider_metrics : true ,
@@ -841,7 +854,7 @@ mod tests {
841854 "--engine.legacy-state-root" ,
842855 "--engine.disable-state-cache" ,
843856 "--engine.disable-prewarming" ,
844- "--engine.txpool-prewarming" ,
857+ "--engine.disable- txpool-prewarming" ,
845858 "--engine.state-provider-metrics" ,
846859 "--engine.cross-block-cache-size" ,
847860 "256" ,
0 commit comments