Skip to content

Commit cbed8b2

Browse files
committed
address review comments
1 parent b71c047 commit cbed8b2

File tree

5 files changed

+129
-55
lines changed

5 files changed

+129
-55
lines changed

encoding/codecv7.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ func (d *DACodecV7) NewDABatch(batch *Batch) (DABatch, error) {
9191

9292
func (d *DACodecV7) constructBlob(batch *Batch) (*kzg4844.Blob, common.Hash, []byte, error) {
9393
blobBytes := make([]byte, blobEnvelopeV7OffsetPayload)
94-
blobBytes[blobEnvelopeV7OffsetVersion] = uint8(CodecV7)
9594

9695
payloadBytes, err := d.constructBlobPayload(batch)
9796
if err != nil {
@@ -103,15 +102,17 @@ func (d *DACodecV7) constructBlob(batch *Batch) (*kzg4844.Blob, common.Hash, []b
103102
return nil, common.Hash{}, nil, fmt.Errorf("failed to check batch compressed data compatibility: %w", err)
104103
}
105104

105+
isCompressedFlag := uint8(0x0)
106106
if enableCompression {
107-
blobBytes[blobEnvelopeV7OffsetCompressedFlag] = 0x1
107+
isCompressedFlag = 0x1
108108
payloadBytes = compressedPayloadBytes
109-
} else {
110-
blobBytes[blobEnvelopeV7OffsetCompressedFlag] = 0x0
111109
}
112110

113111
sizeSlice := encodeSize3Bytes(uint32(len(payloadBytes)))
112+
113+
blobBytes[blobEnvelopeV7OffsetVersion] = uint8(CodecV7)
114114
copy(blobBytes[blobEnvelopeV7OffsetByteSize:blobEnvelopeV7OffsetCompressedFlag], sizeSlice)
115+
blobBytes[blobEnvelopeV7OffsetCompressedFlag] = isCompressedFlag
115116
blobBytes = append(blobBytes, payloadBytes...)
116117

117118
if len(blobBytes) > maxEffectiveBlobBytes {
@@ -179,12 +180,12 @@ func (d *DACodecV7) DecodeBlob(blob *kzg4844.Blob) (DABlobPayload, error) {
179180
}
180181

181182
// read the data size
182-
blobEnvelopeSize := decodeSize3Bytes(rawBytes[blobEnvelopeV7OffsetByteSize:blobEnvelopeV7OffsetCompressedFlag])
183-
if blobEnvelopeSize+blobEnvelopeV7OffsetPayload > uint32(len(rawBytes)) {
184-
return nil, fmt.Errorf("blob envelope size exceeds the raw data size: %d > %d", blobEnvelopeSize, len(rawBytes))
183+
blobPayloadSize := decodeSize3Bytes(rawBytes[blobEnvelopeV7OffsetByteSize:blobEnvelopeV7OffsetCompressedFlag])
184+
if blobPayloadSize+blobEnvelopeV7OffsetPayload > uint32(len(rawBytes)) {
185+
return nil, fmt.Errorf("blob envelope size exceeds the raw data size: %d > %d", blobPayloadSize, len(rawBytes))
185186
}
186187

187-
payloadBytes := rawBytes[blobEnvelopeV7OffsetPayload : blobEnvelopeV7OffsetPayload+blobEnvelopeSize]
188+
payloadBytes := rawBytes[blobEnvelopeV7OffsetPayload : blobEnvelopeV7OffsetPayload+blobPayloadSize]
188189

189190
// read the compressed flag and decompress if needed
190191
compressed := rawBytes[blobEnvelopeV7OffsetCompressedFlag]

0 commit comments

Comments
 (0)