Skip to content

Commit 5a03c15

Browse files
rootulpsontrinh16
andauthored
feat!: delete getTreeNameFromConstructorFn (#287)
Closes #286 by deleting `getTreeNameFromConstructorFn`. Closes #288, #289 by fixing those tests. Inspired by #278 Includes two breaking changes: 1. `ComputeExtendedDataSquare` now accepts a parameter `treeName: string` 2. `ImportExtendedDataSquare` now accepts a parameter `treeName: string` --------- Co-authored-by: sontrinh16 <[email protected]>
1 parent 2d0cfbd commit 5a03c15

7 files changed

+134
-228
lines changed

extendeddatacrossword_test.go

+6-9
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestRepairExtendedDataSquare(t *testing.T) {
4242
flattened[12], flattened[13] = nil, nil
4343

4444
// Re-import the data square.
45-
eds, err := ImportExtendedDataSquare(flattened, codec, NewDefaultTree)
45+
eds, err := ImportExtendedDataSquare(flattened, codec, DefaultTreeName)
4646
if err != nil {
4747
t.Errorf("ImportExtendedDataSquare failed: %v", err)
4848
}
@@ -67,7 +67,7 @@ func TestRepairExtendedDataSquare(t *testing.T) {
6767
flattened[12], flattened[13], flattened[14] = nil, nil, nil
6868

6969
// Re-import the data square.
70-
eds, err := ImportExtendedDataSquare(flattened, codec, NewDefaultTree)
70+
eds, err := ImportExtendedDataSquare(flattened, codec, DefaultTreeName)
7171
if err != nil {
7272
t.Errorf("ImportExtendedDataSquare failed: %v", err)
7373
}
@@ -237,7 +237,7 @@ func BenchmarkRepair(b *testing.B) {
237237

238238
// Generate a new range original data square then extend it
239239
square := genRandDS(originalDataWidth, shareSize)
240-
eds, err := ComputeExtendedDataSquare(square, codec, NewDefaultTree)
240+
eds, err := ComputeExtendedDataSquare(square, codec, DefaultTreeName)
241241
if err != nil {
242242
b.Error(err)
243243
}
@@ -275,7 +275,7 @@ func BenchmarkRepair(b *testing.B) {
275275
}
276276

277277
// Re-import the data square.
278-
eds, _ = ImportExtendedDataSquare(flattened, codec, NewDefaultTree)
278+
eds, _ = ImportExtendedDataSquare(flattened, codec, DefaultTreeName)
279279

280280
b.StartTimer()
281281

@@ -301,7 +301,7 @@ func createTestEds(codec Codec, shareSize int) *ExtendedDataSquare {
301301
eds, err := ComputeExtendedDataSquare([][]byte{
302302
ones, twos,
303303
threes, fours,
304-
}, codec, NewDefaultTree)
304+
}, codec, DefaultTreeName)
305305
if err != nil {
306306
panic(err)
307307
}
@@ -443,10 +443,7 @@ func createTestEdsWithNMT(t *testing.T, codec Codec, shareSize, namespaceSize in
443443
shares[i] = bytes.Repeat([]byte{byte(shareValue)}, shareSize)
444444
}
445445

446-
treeConstructorFn, err := TreeFn("testing-tree")
447-
require.NoError(t, err)
448-
449-
eds, err := ComputeExtendedDataSquare(shares, codec, treeConstructorFn)
446+
eds, err := ComputeExtendedDataSquare(shares, codec, "testing-tree")
450447
require.NoError(t, err)
451448

452449
return eds

extendeddatasquare.go

+12-18
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,11 @@ func (eds *ExtendedDataSquare) UnmarshalJSON(b []byte) error {
4343
return err
4444
}
4545

46-
var treeConstructor TreeConstructorFn
4746
if aux.Tree == "" {
4847
aux.Tree = DefaultTreeName
4948
}
5049

51-
treeConstructor, err = TreeFn(aux.Tree)
52-
if err != nil {
53-
return err
54-
}
55-
56-
importedEds, err := ImportExtendedDataSquare(aux.DataSquare, codecs[aux.Codec], treeConstructor)
50+
importedEds, err := ImportExtendedDataSquare(aux.DataSquare, codecs[aux.Codec], aux.Tree)
5751
if err != nil {
5852
return err
5953
}
@@ -66,7 +60,7 @@ func (eds *ExtendedDataSquare) UnmarshalJSON(b []byte) error {
6660
func ComputeExtendedDataSquare(
6761
data [][]byte,
6862
codec Codec,
69-
treeCreatorFn TreeConstructorFn,
63+
treeName string,
7064
) (*ExtendedDataSquare, error) {
7165
if len(data) > codec.MaxChunks() {
7266
return nil, errors.New("number of chunks exceeds the maximum")
@@ -78,14 +72,14 @@ func ComputeExtendedDataSquare(
7872
return nil, err
7973
}
8074

81-
ds, err := newDataSquare(data, treeCreatorFn, uint(chunkSize))
75+
treeCreatorFn, err := TreeFn(treeName)
8276
if err != nil {
8377
return nil, err
8478
}
8579

86-
treeName := getTreeNameFromConstructorFn(treeCreatorFn)
87-
if treeName == "" {
88-
return nil, errors.New("tree name not found")
80+
ds, err := newDataSquare(data, treeCreatorFn, uint(chunkSize))
81+
if err != nil {
82+
return nil, err
8983
}
9084

9185
eds := ExtendedDataSquare{dataSquare: ds, codec: codec, treeName: treeName}
@@ -101,7 +95,7 @@ func ComputeExtendedDataSquare(
10195
func ImportExtendedDataSquare(
10296
data [][]byte,
10397
codec Codec,
104-
treeCreatorFn TreeConstructorFn,
98+
treeName string,
10599
) (*ExtendedDataSquare, error) {
106100
if len(data) > 4*codec.MaxChunks() {
107101
return nil, errors.New("number of chunks exceeds the maximum")
@@ -113,14 +107,14 @@ func ImportExtendedDataSquare(
113107
return nil, err
114108
}
115109

116-
ds, err := newDataSquare(data, treeCreatorFn, uint(chunkSize))
110+
treeCreatorFn, err := TreeFn(treeName)
117111
if err != nil {
118112
return nil, err
119113
}
120114

121-
treeName := getTreeNameFromConstructorFn(treeCreatorFn)
122-
if treeName == "" {
123-
return nil, errors.New("tree name not found")
115+
ds, err := newDataSquare(data, treeCreatorFn, uint(chunkSize))
116+
if err != nil {
117+
return nil, err
124118
}
125119

126120
eds := ExtendedDataSquare{dataSquare: ds, codec: codec, treeName: treeName}
@@ -254,7 +248,7 @@ func (eds *ExtendedDataSquare) erasureExtendCol(codec Codec, i uint) error {
254248
}
255249

256250
func (eds *ExtendedDataSquare) deepCopy(codec Codec) (ExtendedDataSquare, error) {
257-
imported, err := ImportExtendedDataSquare(eds.Flattened(), codec, eds.createTreeFn)
251+
imported, err := ImportExtendedDataSquare(eds.Flattened(), codec, eds.treeName)
258252
return *imported, err
259253
}
260254

0 commit comments

Comments
 (0)