Skip to content

Commit 41d9460

Browse files
committed
refactor chunk data pack constructor
1 parent 59b5ae4 commit 41d9460

File tree

9 files changed

+34
-34
lines changed

9 files changed

+34
-34
lines changed

engine/execution/block_result.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ func (ar *BlockAttestationResult) ChunkDataPackAt(index int) (*flow.ChunkDataPac
267267
return nil, fmt.Errorf("could not build chunk: %w", err)
268268
}
269269

270-
chunkDataPack, err := flow.FromUntrustedChunkDataPack(flow.UntrustedChunkDataPack{
270+
chunkDataPack, err := flow.NewChunkDataPack(flow.UntrustedChunkDataPack{
271271
ChunkID: chunk.ID(), // TODO(ramtin): optimize this
272272
StartState: attestRes.startStateCommit,
273273
Proof: attestRes.stateProof,

model/flow/chunk.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ type ChunkDataPack struct {
204204
// a trusted ChunkDataPack using NewChunkDataPack constructor.
205205
type UntrustedChunkDataPack ChunkDataPack
206206

207-
// FromUntrustedChunkDataPack converts a chunk data pack from an untrusted source
207+
// NewChunkDataPack converts a chunk data pack from an untrusted source
208208
// into its canonical representation. Here, basic structural validation is performed.
209209
// Construction of ChunkDataPacks is ONLY allowed via THIS CONSTRUCTOR.
210210
//
211211
// All errors indicate a valid ChunkDataPack cannot be constructed from the input.
212-
func FromUntrustedChunkDataPack(untrusted UntrustedChunkDataPack) (*ChunkDataPack, error) {
212+
func NewChunkDataPack(untrusted UntrustedChunkDataPack) (*ChunkDataPack, error) {
213213
if untrusted.ChunkID == ZeroID {
214214
return nil, fmt.Errorf("ChunkID must not be empty")
215215
}
@@ -230,7 +230,7 @@ func FromUntrustedChunkDataPack(untrusted UntrustedChunkDataPack) (*ChunkDataPac
230230
return nil, fmt.Errorf("ExecutionDataRoot.ChunkExecutionDataIDs must not be empty")
231231
}
232232

233-
return NewChunkDataPack(
233+
return newChunkDataPack(
234234
untrusted.ChunkID,
235235
untrusted.StartState,
236236
untrusted.Proof,
@@ -239,9 +239,9 @@ func FromUntrustedChunkDataPack(untrusted UntrustedChunkDataPack) (*ChunkDataPac
239239
), nil
240240
}
241241

242-
// NewChunkDataPack instantiates an "immutable" ChunkDataPack.
242+
// newChunkDataPack instantiates an "immutable" ChunkDataPack.
243243
// The `collection` field is set to `nil` for system chunks.
244-
func NewChunkDataPack(chunkID Identifier, startState StateCommitment, proof StorageProof, collection *Collection, executionDataRoot BlockExecutionDataRoot) *ChunkDataPack {
244+
func newChunkDataPack(chunkID Identifier, startState StateCommitment, proof StorageProof, collection *Collection, executionDataRoot BlockExecutionDataRoot) *ChunkDataPack {
245245
return &ChunkDataPack{
246246
ChunkID: chunkID,
247247
StartState: startState,

model/flow/chunk_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func TestChunkDataPackMalleability(t *testing.T) {
141141
)
142142
}
143143

144-
// TestFromUntrustedChunkDataPack verifies the behavior of the FromUntrustedChunkDataPack constructor.
144+
// TestNewChunkDataPack verifies the behavior of the NewChunkDataPack constructor.
145145
// It ensures that a fully‐populated UntrustedChunkDataPack yields a valid ChunkDataPack,
146146
// and that missing or invalid required fields produce an error.
147147
//
@@ -192,7 +192,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
192192
}
193193

194194
t.Run("valid chunk data pack", func(t *testing.T) {
195-
pack, err := flow.FromUntrustedChunkDataPack(baseChunkDataPack)
195+
pack, err := flow.NewChunkDataPack(baseChunkDataPack)
196196
assert.NoError(t, err)
197197
assert.NotNil(t, pack)
198198
assert.Equal(t, *pack, flow.ChunkDataPack(baseChunkDataPack))
@@ -202,7 +202,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
202202
untrusted := baseChunkDataPack
203203
untrusted.ChunkID = flow.ZeroID
204204

205-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
205+
pack, err := flow.NewChunkDataPack(untrusted)
206206
assert.Error(t, err)
207207
assert.Nil(t, pack)
208208
assert.Contains(t, err.Error(), "ChunkID")
@@ -212,7 +212,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
212212
untrusted := baseChunkDataPack
213213
untrusted.StartState = flow.StateCommitment{}
214214

215-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
215+
pack, err := flow.NewChunkDataPack(untrusted)
216216
assert.Error(t, err)
217217
assert.Nil(t, pack)
218218
assert.Contains(t, err.Error(), "StartState")
@@ -222,7 +222,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
222222
untrusted := baseChunkDataPack
223223
untrusted.Proof = nil
224224

225-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
225+
pack, err := flow.NewChunkDataPack(untrusted)
226226
assert.Error(t, err)
227227
assert.Nil(t, pack)
228228
assert.Contains(t, err.Error(), "Proof")
@@ -232,7 +232,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
232232
untrusted := baseChunkDataPack
233233
untrusted.Proof = []byte{}
234234

235-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
235+
pack, err := flow.NewChunkDataPack(untrusted)
236236
assert.Error(t, err)
237237
assert.Nil(t, pack)
238238
assert.Contains(t, err.Error(), "Proof")
@@ -242,7 +242,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
242242
untrusted := baseChunkDataPack
243243
untrusted.ExecutionDataRoot.BlockID = flow.ZeroID
244244

245-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
245+
pack, err := flow.NewChunkDataPack(untrusted)
246246
assert.Error(t, err)
247247
assert.Nil(t, pack)
248248
assert.Contains(t, err.Error(), "ExecutionDataRoot.BlockID")
@@ -252,7 +252,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
252252
untrusted := baseChunkDataPack
253253
untrusted.ExecutionDataRoot.ChunkExecutionDataIDs = nil
254254

255-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
255+
pack, err := flow.NewChunkDataPack(untrusted)
256256
assert.Error(t, err)
257257
assert.Nil(t, pack)
258258
assert.Contains(t, err.Error(), "ExecutionDataRoot.ChunkExecutionDataIDs")
@@ -262,7 +262,7 @@ func TestFromUntrustedChunkDataPack(t *testing.T) {
262262
untrusted := baseChunkDataPack
263263
untrusted.ExecutionDataRoot.ChunkExecutionDataIDs = []cid.Cid{}
264264

265-
pack, err := flow.FromUntrustedChunkDataPack(untrusted)
265+
pack, err := flow.NewChunkDataPack(untrusted)
266266
assert.Error(t, err)
267267
assert.Nil(t, pack)
268268
assert.Contains(t, err.Error(), "ExecutionDataRoot.ChunkExecutionDataIDs")

model/messages/execution.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ type ChunkDataResponse struct {
2828
//
2929
// All errors indicate that the decode target contains a structurally invalid representation of the internal flow.ChunkDataResponse.
3030
func (c *ChunkDataResponse) ToInternal() (any, error) {
31-
chunkDataPack, err := flow.FromUntrustedChunkDataPack(c.ChunkDataPack)
31+
chunkDataPack, err := flow.NewChunkDataPack(c.ChunkDataPack)
3232
if err != nil {
3333
return nil, fmt.Errorf("could not convert %T to internal type: %w", c.ChunkDataPack, err)
3434
}

storage/operation/chunk_data_packs.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,20 @@ func RemoveChunkDataPackID(w storage.Writer, chunkID flow.Identifier) error {
4646
return RemoveByKey(w, MakePrefix(codeIndexChunkDataPackByChunkID, chunkID))
4747
}
4848

49-
// InsertStoredChunkDataPack inserts a [storage.StoredChunkDataPack] into the database, keyed by its own ID.
49+
// InsertChunkDataPack inserts a [storage.StoredChunkDataPack] into the database, keyed by its own ID.
5050
//
5151
// CAUTION: The caller must ensure `storeChunkDataPackID` is the same as `c.ID()`, ie. a collision-resistant
5252
// hash of the chunk data pack! This method silently overrides existing data, which is safe only if for the
5353
// same key, we always write the same value.
5454
//
5555
// No error returns expected during normal operations.
56-
func InsertStoredChunkDataPack(rw storage.ReaderBatchWriter, storeChunkDataPackID flow.Identifier, c *storage.StoredChunkDataPack) error {
56+
func InsertChunkDataPack(rw storage.ReaderBatchWriter, storeChunkDataPackID flow.Identifier, c *storage.StoredChunkDataPack) error {
5757
return UpsertByKey(rw.Writer(), MakePrefix(codeChunkDataPack, storeChunkDataPackID), c)
5858
}
5959

60-
// RetrieveStoredChunkDataPack retrieves a chunk data pack by stored chunk data pack ID.
60+
// RetrieveChunkDataPack retrieves a chunk data pack by stored chunk data pack ID.
6161
// It returns [storage.ErrNotFound] if no chunk data pack with the given ID is known.
62-
func RetrieveStoredChunkDataPack(r storage.Reader, storeChunkDataPackID flow.Identifier, c *storage.StoredChunkDataPack) error {
62+
func RetrieveChunkDataPack(r storage.Reader, storeChunkDataPackID flow.Identifier, c *storage.StoredChunkDataPack) error {
6363
return RetrieveByKey(r, MakePrefix(codeChunkDataPack, storeChunkDataPackID), c)
6464
}
6565

storage/operation/chunk_data_packs_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@ func TestChunkDataPack(t *testing.T) {
2828

2929
t.Run("Retrieve non-existent", func(t *testing.T) {
3030
var actual storage.StoredChunkDataPack
31-
err := operation.RetrieveStoredChunkDataPack(db.Reader(), expected.ID(), &actual)
31+
err := operation.RetrieveChunkDataPack(db.Reader(), expected.ID(), &actual)
3232
assert.Error(t, err)
3333
})
3434

3535
t.Run("Save", func(t *testing.T) {
3636
require.NoError(t, db.WithReaderBatchWriter(func(rw storage.ReaderBatchWriter) error {
37-
return operation.InsertStoredChunkDataPack(rw, expected.ID(), expected)
37+
return operation.InsertChunkDataPack(rw, expected.ID(), expected)
3838
}))
3939

4040
var actual storage.StoredChunkDataPack
41-
err := operation.RetrieveStoredChunkDataPack(db.Reader(), expected.ID(), &actual)
41+
err := operation.RetrieveChunkDataPack(db.Reader(), expected.ID(), &actual)
4242
assert.NoError(t, err)
4343

4444
assert.Equal(t, *expected, actual)
@@ -51,7 +51,7 @@ func TestChunkDataPack(t *testing.T) {
5151
require.NoError(t, err)
5252

5353
var actual storage.StoredChunkDataPack
54-
err = operation.RetrieveStoredChunkDataPack(db.Reader(), expected.ID(), &actual)
54+
err = operation.RetrieveChunkDataPack(db.Reader(), expected.ID(), &actual)
5555
assert.Error(t, err)
5656
})
5757
})

storage/operation/stats_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func TestSummarizeKeysByFirstByteConcurrent(t *testing.T) {
3333
Proof: []byte{'p'},
3434
CollectionID: collectionID,
3535
}
36-
err := operation.InsertStoredChunkDataPack(rw, cdp.ID(), cdp)
36+
err := operation.InsertChunkDataPack(rw, cdp.ID(), cdp)
3737
if err != nil {
3838
return err
3939
}

storage/store/chunk_data_packs.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,11 @@ func (ch *ChunkDataPacks) ByChunkID(chunkID flow.Identifier) (*flow.ChunkDataPac
274274
}
275275
}
276276

277-
return flow.NewChunkDataPack(
278-
schdp.ChunkID,
279-
schdp.StartState,
280-
schdp.Proof,
281-
collection,
282-
schdp.ExecutionDataRoot,
283-
), nil
277+
return flow.NewChunkDataPack(flow.UntrustedChunkDataPack{
278+
ChunkID: schdp.ChunkID,
279+
StartState: schdp.StartState,
280+
Proof: schdp.Proof,
281+
Collection: collection,
282+
ExecutionDataRoot: schdp.ExecutionDataRoot,
283+
})
284284
}

storage/store/chunk_data_packs_stored.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ func NewStoredChunkDataPacks(collector module.CacheMetrics, db storage.DB, byIDC
2424

2525
retrieve := func(r storage.Reader, key flow.Identifier) (*storage.StoredChunkDataPack, error) {
2626
var c storage.StoredChunkDataPack
27-
err := operation.RetrieveStoredChunkDataPack(r, key, &c)
27+
err := operation.RetrieveChunkDataPack(r, key, &c)
2828
return &c, err
2929
}
3030

3131
cache := newCache(collector, metrics.ResourceChunkDataPack,
3232
withLimit[flow.Identifier, *storage.StoredChunkDataPack](byIDCacheSize),
33-
withStore(operation.InsertStoredChunkDataPack),
33+
withStore(operation.InsertChunkDataPack),
3434
withRemove[flow.Identifier, *storage.StoredChunkDataPack](func(rw storage.ReaderBatchWriter, id flow.Identifier) error {
3535
return operation.RemoveChunkDataPack(rw.Writer(), id)
3636
}),

0 commit comments

Comments
 (0)