Skip to content

Commit 1943950

Browse files
committed
TestValidateBatchInFinalizeByBundle
1 parent 827ce3c commit 1943950

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

rollup/rollup_sync_service/rollup_sync_service_test.go

+45
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,51 @@ func TestValidateBatchUpgrades(t *testing.T) {
831831
assert.Equal(t, parentBatchMeta5, finalizedBatchMeta4)
832832
}
833833

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+
834879
func readBlockFromJSON(t *testing.T, filename string) *encoding.Block {
835880
data, err := os.ReadFile(filename)
836881
assert.NoError(t, err)

0 commit comments

Comments
 (0)