@@ -113,6 +113,7 @@ pub struct EvmArgs {
113113 ///
114114 /// See also --fork-url and <https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second>
115115 #[ arg( long, alias = "cups" , value_name = "CUPS" , help_heading = "Fork config" ) ]
116+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
116117 pub compute_units_per_second : Option < u64 > ,
117118
118119 /// Disables rate limiting for this node's provider.
@@ -298,6 +299,26 @@ mod tests {
298299 use super :: * ;
299300 use foundry_config:: NamedChain ;
300301
302+ #[ test]
303+ fn compute_units_per_second_skips_when_none ( ) {
304+ let args = EvmArgs :: default ( ) ;
305+ let data = args. data ( ) . expect ( "provider data" ) ;
306+ let dict = data. get ( & Config :: selected_profile ( ) ) . expect ( "profile dict" ) ;
307+ assert ! (
308+ !dict. contains_key( "compute_units_per_second" ) ,
309+ "compute_units_per_second should be skipped when None"
310+ ) ;
311+ }
312+
313+ #[ test]
314+ fn compute_units_per_second_present_when_some ( ) {
315+ let args = EvmArgs { compute_units_per_second : Some ( 1000 ) , ..Default :: default ( ) } ;
316+ let data = args. data ( ) . expect ( "provider data" ) ;
317+ let dict = data. get ( & Config :: selected_profile ( ) ) . expect ( "profile dict" ) ;
318+ let val = dict. get ( "compute_units_per_second" ) . expect ( "cups present" ) ;
319+ assert_eq ! ( val, & Value :: from( 1000u64 ) ) ;
320+ }
321+
301322 #[ test]
302323 fn can_parse_chain_id ( ) {
303324 let args = EvmArgs {
0 commit comments