@@ -286,6 +286,10 @@ pub struct Config {
286286 pub has_base_fee : bool ,
287287 /// Has PUSH0 opcode. See [EIP-3855](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-3855.md)
288288 pub has_push0 : bool ,
289+ /// Has TLOAD and TSTORE opcode.
290+ pub has_tloadstore : bool ,
291+ /// Has MCOPY opcode.
292+ pub has_mcopy : bool ,
289293 /// Whether the gasometer is running in estimate mode.
290294 pub estimate : bool ,
291295 /// Has EIP-6780. See [EIP-6780](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6780.md)
@@ -343,6 +347,8 @@ impl Config {
343347 has_ext_code_hash : false ,
344348 has_base_fee : false ,
345349 has_push0 : false ,
350+ has_tloadstore : false ,
351+ has_mcopy : false ,
346352 estimate : false ,
347353 has_eip_6780 : false ,
348354 }
@@ -398,6 +404,8 @@ impl Config {
398404 has_ext_code_hash : true ,
399405 has_base_fee : false ,
400406 has_push0 : false ,
407+ has_tloadstore : false ,
408+ has_mcopy : false ,
401409 estimate : false ,
402410 has_eip_6780 : false ,
403411 }
@@ -440,6 +448,8 @@ impl Config {
440448 warm_coinbase_address,
441449 max_initcode_size,
442450 has_eip_6780,
451+ has_tloadstore,
452+ has_mcopy,
443453 } = inputs;
444454
445455 // See https://eips.ethereum.org/EIPS/eip-2929
@@ -504,6 +514,8 @@ impl Config {
504514 has_push0,
505515 estimate : false ,
506516 has_eip_6780,
517+ has_tloadstore,
518+ has_mcopy,
507519 }
508520 }
509521}
@@ -521,6 +533,8 @@ struct DerivedConfigInputs {
521533 warm_coinbase_address : bool ,
522534 max_initcode_size : Option < usize > ,
523535 has_eip_6780 : bool ,
536+ has_tloadstore : bool ,
537+ has_mcopy : bool ,
524538}
525539
526540impl DerivedConfigInputs {
@@ -536,6 +550,8 @@ impl DerivedConfigInputs {
536550 warm_coinbase_address : false ,
537551 max_initcode_size : None ,
538552 has_eip_6780 : false ,
553+ has_tloadstore : false ,
554+ has_mcopy : false ,
539555 }
540556 }
541557
@@ -551,6 +567,8 @@ impl DerivedConfigInputs {
551567 warm_coinbase_address : false ,
552568 max_initcode_size : None ,
553569 has_eip_6780 : false ,
570+ has_tloadstore : false ,
571+ has_mcopy : false ,
554572 }
555573 }
556574
@@ -566,6 +584,8 @@ impl DerivedConfigInputs {
566584 warm_coinbase_address : false ,
567585 max_initcode_size : None ,
568586 has_eip_6780 : false ,
587+ has_tloadstore : false ,
588+ has_mcopy : false ,
569589 }
570590 }
571591
@@ -582,6 +602,8 @@ impl DerivedConfigInputs {
582602 // 2 * 24576 as per EIP-3860
583603 max_initcode_size : Some ( 0xC000 ) ,
584604 has_eip_6780 : false ,
605+ has_tloadstore : false ,
606+ has_mcopy : false ,
585607 }
586608 }
587609
@@ -598,6 +620,8 @@ impl DerivedConfigInputs {
598620 // 2 * 24576 as per EIP-3860
599621 max_initcode_size : Some ( 0xC000 ) ,
600622 has_eip_6780 : true ,
623+ has_tloadstore : true ,
624+ has_mcopy : true ,
601625 }
602626 }
603627}
0 commit comments