Skip to content

Commit 1d8a48a

Browse files
committed
fix: constructBlobCodec
1 parent ef88fef commit 1d8a48a

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package blob_uploader

rollup/internal/controller/blob_uploader/blob_uploader.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -137,19 +137,19 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er
137137
}
138138
}
139139

140+
chunks := make([]*encoding.Chunk, len(dbChunks))
141+
for i, c := range dbChunks {
142+
blocks, getErr := b.l2BlockOrm.GetL2BlocksInRange(b.ctx, c.StartBlockNumber, c.EndBlockNumber)
143+
if getErr != nil {
144+
return nil, fmt.Errorf("failed to get blocks in range for batch %d: %w", dbBatch.Index, getErr)
145+
}
146+
chunks[i] = &encoding.Chunk{Blocks: blocks}
147+
}
148+
140149
var encodingBatch *encoding.Batch
141150
codecVersion := encoding.CodecVersion(dbBatch.CodecVersion)
142151
switch codecVersion {
143152
case encoding.CodecV0, encoding.CodecV1, encoding.CodecV2, encoding.CodecV3, encoding.CodecV4, encoding.CodecV5, encoding.CodecV6:
144-
chunks := make([]*encoding.Chunk, len(dbChunks))
145-
for i, c := range dbChunks {
146-
blocks, getErr := b.l2BlockOrm.GetL2BlocksInRange(b.ctx, c.StartBlockNumber, c.EndBlockNumber)
147-
if getErr != nil {
148-
return nil, fmt.Errorf("failed to get blocks in range for batch %d: %w", dbBatch.Index, getErr)
149-
}
150-
chunks[i] = &encoding.Chunk{Blocks: blocks}
151-
}
152-
153153
encodingBatch = &encoding.Batch{
154154
Index: dbBatch.Index,
155155
TotalL1MessagePoppedBefore: dbChunks[0].TotalL1MessagesPoppedBefore,
@@ -171,12 +171,12 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er
171171
encodingBatch = &encoding.Batch{
172172
Index: dbBatch.Index,
173173
ParentBatchHash: common.HexToHash(dbBatch.ParentBatchHash),
174+
Chunks: chunks,
174175
PrevL1MessageQueueHash: common.HexToHash(dbBatch.PrevL1MessageQueueHash),
175176
PostL1MessageQueueHash: common.HexToHash(dbBatch.PostL1MessageQueueHash),
176177
Blocks: batchBlocks,
177178
}
178179
default:
179-
log.Error("unsupported codec version in UploadBlobToS3", "codecVersion", codecVersion, "batch index", dbBatch.Index)
180180
return nil, fmt.Errorf("unsupported codec version, batch index: %d, batch codec version: %d", dbBatch.Index, codecVersion)
181181
}
182182

@@ -190,5 +190,9 @@ func (b *BlobUploader) constructBlobCodec(dbBatch *orm.Batch) (*kzg4844.Blob, er
190190
return nil, fmt.Errorf("failed to create DA batch: %w", err)
191191
}
192192

193+
if daBatch.Blob() == nil {
194+
return nil, fmt.Errorf("codec version doesn't support blob, batch index: %d, batch codec version: %d, err: %w", dbBatch.Index, dbBatch.CodecVersion, err)
195+
}
196+
193197
return daBatch.Blob(), nil
194198
}

0 commit comments

Comments
 (0)