@@ -122,7 +122,7 @@ public static ProtocolSpecBuilder frontierDefinition(
122122 final boolean isParallelTxProcessingEnabled ,
123123 final MetricsSystem metricsSystem ) {
124124 return new ProtocolSpecBuilder ()
125- .gasCalculator (blobSchedule -> new FrontierGasCalculator () )
125+ .gasCalculator (FrontierGasCalculator :: new )
126126 .gasLimitCalculatorBuilder (
127127 (feeMarket , gasCalculator , blobSchedule ) -> new FrontierTargetingGasLimitCalculator ())
128128 .evmBuilder (MainnetEVMs ::frontier )
@@ -192,7 +192,7 @@ public static ProtocolSpecBuilder homesteadDefinition(
192192 final boolean isParallelTxProcessingEnabled ,
193193 final MetricsSystem metricsSystem ) {
194194 return frontierDefinition (evmConfiguration , isParallelTxProcessingEnabled , metricsSystem )
195- .gasCalculator (blobSchedule -> new HomesteadGasCalculator () )
195+ .gasCalculator (HomesteadGasCalculator :: new )
196196 .evmBuilder (MainnetEVMs ::homestead )
197197 .contractCreationProcessorBuilder (
198198 evm ->
@@ -258,7 +258,7 @@ public static ProtocolSpecBuilder tangerineWhistleDefinition(
258258 final boolean isParallelTxProcessingEnabled ,
259259 final MetricsSystem metricsSystem ) {
260260 return homesteadDefinition (evmConfiguration , isParallelTxProcessingEnabled , metricsSystem )
261- .gasCalculator (blobSchedule -> new TangerineWhistleGasCalculator () )
261+ .gasCalculator (TangerineWhistleGasCalculator :: new )
262262 .name ("TangerineWhistle" );
263263 }
264264
@@ -270,7 +270,7 @@ public static ProtocolSpecBuilder spuriousDragonDefinition(
270270 return tangerineWhistleDefinition (
271271 evmConfiguration , isParallelTxProcessingEnabled , metricsSystem )
272272 .isReplayProtectionSupported (true )
273- .gasCalculator (blobSchedule -> new SpuriousDragonGasCalculator () )
273+ .gasCalculator (SpuriousDragonGasCalculator :: new )
274274 .skipZeroBlockRewards (true )
275275 .messageCallProcessorBuilder (
276276 (evm , precompileContractRegistry ) ->
@@ -318,7 +318,7 @@ public static ProtocolSpecBuilder byzantiumDefinition(
318318 final MetricsSystem metricsSystem ) {
319319 return spuriousDragonDefinition (
320320 chainId , evmConfiguration , isParallelTxProcessingEnabled , metricsSystem )
321- .gasCalculator (blobSchedule -> new ByzantiumGasCalculator () )
321+ .gasCalculator (ByzantiumGasCalculator :: new )
322322 .evmBuilder (MainnetEVMs ::byzantium )
323323 .precompileContractRegistryBuilder (MainnetPrecompiledContractRegistries ::byzantium )
324324 .difficultyCalculator (MainnetDifficultyCalculators .BYZANTIUM )
@@ -343,7 +343,7 @@ public static ProtocolSpecBuilder constantinopleDefinition(
343343 isParallelTxProcessingEnabled ,
344344 metricsSystem )
345345 .difficultyCalculator (MainnetDifficultyCalculators .CONSTANTINOPLE )
346- .gasCalculator (blobSchedule -> new ConstantinopleGasCalculator () )
346+ .gasCalculator (ConstantinopleGasCalculator :: new )
347347 .evmBuilder (MainnetEVMs ::constantinople )
348348 .blockReward (CONSTANTINOPLE_BLOCK_REWARD )
349349 .name ("Constantinople" );
@@ -361,7 +361,7 @@ public static ProtocolSpecBuilder petersburgDefinition(
361361 evmConfiguration ,
362362 isParallelTxProcessingEnabled ,
363363 metricsSystem )
364- .gasCalculator (blobSchedule -> new PetersburgGasCalculator () )
364+ .gasCalculator (PetersburgGasCalculator :: new )
365365 .name ("Petersburg" );
366366 }
367367
@@ -377,7 +377,7 @@ public static ProtocolSpecBuilder istanbulDefinition(
377377 evmConfiguration ,
378378 isParallelTxProcessingEnabled ,
379379 metricsSystem )
380- .gasCalculator (blobSchedule -> new IstanbulGasCalculator () )
380+ .gasCalculator (IstanbulGasCalculator :: new )
381381 .evmBuilder (
382382 (gasCalculator , jdCacheConfig ) ->
383383 MainnetEVMs .istanbul (
@@ -422,7 +422,7 @@ static ProtocolSpecBuilder berlinDefinition(
422422 evmConfiguration ,
423423 isParallelTxProcessingEnabled ,
424424 metricsSystem )
425- .gasCalculator (blobSchedule -> new BerlinGasCalculator () )
425+ .gasCalculator (BerlinGasCalculator :: new )
426426 .transactionValidatorFactoryBuilder (
427427 (evm , gasLimitCalculator , feeMarket ) ->
428428 new TransactionValidatorFactory (
@@ -463,7 +463,7 @@ static ProtocolSpecBuilder londonDefinition(
463463 (blobSchedule ) ->
464464 FeeMarket .london (
465465 londonForkBlockNumber , genesisConfigOptions .getBaseFeePerGas ())))
466- .gasCalculator (blobSchedule -> new LondonGasCalculator () )
466+ .gasCalculator (LondonGasCalculator :: new )
467467 .gasLimitCalculatorBuilder (
468468 (feeMarket , gasCalculator , blobSchedule ) ->
469469 new LondonTargetingGasLimitCalculator (
@@ -607,7 +607,7 @@ static ProtocolSpecBuilder shanghaiDefinition(
607607 isParallelTxProcessingEnabled ,
608608 metricsSystem )
609609 // gas calculator has new code to support EIP-3860 limit and meter initcode
610- .gasCalculator (blobSchedule -> new ShanghaiGasCalculator () )
610+ .gasCalculator (ShanghaiGasCalculator :: new )
611611 // EVM has a new operation for EIP-3855 PUSH0 instruction
612612 .evmBuilder (
613613 (gasCalculator , jdCacheConfig ) ->
@@ -686,7 +686,7 @@ static ProtocolSpecBuilder cancunDefinition(
686686 .flatMap (BlobScheduleOptions ::getCancun )
687687 .orElse (BlobSchedule .CANCUN_DEFAULT ))
688688 // gas calculator for EIP-4844 blob gas
689- .gasCalculator (blobSchedule -> new CancunGasCalculator () )
689+ .gasCalculator (CancunGasCalculator :: new )
690690 // gas limit with EIP-4844 max blob gas per block
691691 .gasLimitCalculatorBuilder (
692692 (feeMarket , gasCalculator , blobSchedule ) ->
@@ -783,9 +783,7 @@ static ProtocolSpecBuilder pragueDefinition(
783783 .getBlobScheduleOptions ()
784784 .flatMap (BlobScheduleOptions ::getPrague )
785785 .orElse (BlobSchedule .PRAGUE_DEFAULT ))
786- .gasCalculator (
787- blobSchedule -> new PragueGasCalculator () // EIP-7691 6/9 blob increase
788- )
786+ .gasCalculator (PragueGasCalculator ::new )
789787 // EIP-3074 AUTH and AUTHCALL
790788 .evmBuilder (
791789 (gasCalculator , jdCacheConfig ) ->
@@ -870,7 +868,7 @@ static ProtocolSpecBuilder osakaDefinition(
870868 miningConfiguration ,
871869 isParallelTxProcessingEnabled ,
872870 metricsSystem )
873- .gasCalculator (blobSchedule -> new OsakaGasCalculator () )
871+ .gasCalculator (OsakaGasCalculator :: new )
874872 .evmBuilder (
875873 (gasCalculator , __ ) ->
876874 MainnetEVMs .osaka (gasCalculator , chainId .orElse (BigInteger .ZERO ), evmConfiguration ))
@@ -995,7 +993,7 @@ private static ProtocolSpecBuilder addEOF(
995993 final ProtocolSpecBuilder protocolSpecBuilder ) {
996994 return protocolSpecBuilder
997995 // EIP-7692 EOF v1 Gas calculator
998- .gasCalculator (blobSchedule -> new EOFGasCalculator () )
996+ .gasCalculator (EOFGasCalculator :: new )
999997 // EIP-7692 EOF v1 EVM and opcodes
1000998 .evmBuilder (
1001999 (gasCalculator , jdCacheConfig ) ->
0 commit comments