@@ -831,6 +831,51 @@ func TestValidateBatchUpgrades(t *testing.T) {
831
831
assert .Equal (t , parentBatchMeta5 , finalizedBatchMeta4 )
832
832
}
833
833
834
+ func TestValidateBatchInFinalizeByBundle (t * testing.T ) {
835
+ chainConfig := & params.ChainConfig {BernoulliBlock : big .NewInt (0 ), CurieBlock : big .NewInt (0 ), DarwinTime : func () * uint64 { t := uint64 (0 ); return & t }()}
836
+
837
+ block1 := readBlockFromJSON (t , "./testdata/blockTrace_02.json" )
838
+ block2 := readBlockFromJSON (t , "./testdata/blockTrace_03.json" )
839
+ block3 := readBlockFromJSON (t , "./testdata/blockTrace_04.json" )
840
+ block4 := readBlockFromJSON (t , "./testdata/blockTrace_05.json" )
841
+
842
+ chunk1 := & encoding.Chunk {Blocks : []* encoding.Block {block1 }}
843
+ chunk2 := & encoding.Chunk {Blocks : []* encoding.Block {block2 }}
844
+ chunk3 := & encoding.Chunk {Blocks : []* encoding.Block {block3 }}
845
+ chunk4 := & encoding.Chunk {Blocks : []* encoding.Block {block4 }}
846
+
847
+ event := & L1FinalizeBatchEvent {
848
+ BatchIndex : big .NewInt (3 ),
849
+ BatchHash : common .HexToHash ("0xaa6dc7cc432c8d46a9373e1e96d829a1e24e52fe0468012ff062793ea8f5b55e" ),
850
+ StateRoot : chunk4 .Blocks [len (chunk4 .Blocks )- 1 ].Header .Root ,
851
+ WithdrawRoot : chunk4 .Blocks [len (chunk4 .Blocks )- 1 ].WithdrawRoot ,
852
+ }
853
+
854
+ endBlock1 , finalizedBatchMeta1 , err := validateBatch (0 , event , & rawdb.FinalizedBatchMeta {}, []* encoding.Chunk {chunk1 }, chainConfig , nil )
855
+ assert .NoError (t , err )
856
+ assert .Equal (t , uint64 (2 ), endBlock1 )
857
+
858
+ endBlock2 , finalizedBatchMeta2 , err := validateBatch (1 , event , finalizedBatchMeta1 , []* encoding.Chunk {chunk2 }, chainConfig , nil )
859
+ assert .NoError (t , err )
860
+ assert .Equal (t , uint64 (3 ), endBlock2 )
861
+
862
+ endBlock3 , finalizedBatchMeta3 , err := validateBatch (2 , event , finalizedBatchMeta2 , []* encoding.Chunk {chunk3 }, chainConfig , nil )
863
+ assert .NoError (t , err )
864
+ assert .Equal (t , uint64 (13 ), endBlock3 )
865
+
866
+ endBlock4 , finalizedBatchMeta4 , err := validateBatch (3 , event , finalizedBatchMeta3 , []* encoding.Chunk {chunk4 }, chainConfig , nil )
867
+ assert .NoError (t , err )
868
+ assert .Equal (t , uint64 (17 ), endBlock4 )
869
+
870
+ parentBatchMeta5 := & rawdb.FinalizedBatchMeta {
871
+ BatchHash : event .BatchHash ,
872
+ TotalL1MessagePopped : 42 ,
873
+ StateRoot : event .StateRoot ,
874
+ WithdrawRoot : event .WithdrawRoot ,
875
+ }
876
+ assert .Equal (t , parentBatchMeta5 , finalizedBatchMeta4 )
877
+ }
878
+
834
879
func readBlockFromJSON (t * testing.T , filename string ) * encoding.Block {
835
880
data , err := os .ReadFile (filename )
836
881
assert .NoError (t , err )
0 commit comments