Skip to content

Commit 4bc28ef

Browse files
committed
export type Keylist
Signed-off-by: Guillaume Ballet <[email protected]>
1 parent 33b8a50 commit 4bc28ef

File tree

7 files changed

+32
-32
lines changed

7 files changed

+32
-32
lines changed

empty.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (Empty) Commitment() *Point {
5353
return &id
5454
}
5555

56-
func (Empty) GetProofItems(keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
56+
func (Empty) GetProofItems(Keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
5757
return nil, nil, nil, errors.New("trying to produce a commitment for an empty subtree")
5858
}
5959

hashednode.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (HashedNode) Commitment() *Point {
5858
panic("can not get commitment of a hash node")
5959
}
6060

61-
func (HashedNode) GetProofItems(keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
61+
func (HashedNode) GetProofItems(Keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
6262
return nil, nil, nil, errors.New("can not get the full path, and there is no proof of absence")
6363
}
6464

proof_ipa.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ func (sd StateDiff) Equal(other StateDiff) error {
185185
}
186186

187187
func GetCommitmentsForMultiproof(root VerkleNode, keys [][]byte, resolver NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
188-
sort.Sort(keylist(keys))
189-
return root.GetProofItems(keylist(keys), resolver)
188+
sort.Sort(Keylist(keys))
189+
return root.GetProofItems(Keylist(keys), resolver)
190190
}
191191

192192
// getProofElementsFromTree factors the logic that is used both in the proving and verification methods. It takes a pre-state

proof_test.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ func TestProofDeserialize(t *testing.T) {
453453
}
454454
_ = deserialized
455455

456-
pe, _, _, err := root.GetProofItems(keylist{absentkey[:]}, nil)
456+
pe, _, _, err := root.GetProofItems(Keylist{absentkey[:]}, nil)
457457
if err != nil {
458458
t.Fatal(err)
459459
}
@@ -735,7 +735,7 @@ func TestStatelessDeserialize(t *testing.T) {
735735
string(fourtyKeyTest): fourtyKeyTest,
736736
string(ffx32KeyTest): fourtyKeyTest,
737737
}
738-
proveKeys := keylist{zeroKeyTest, fourtyKeyTest}
738+
proveKeys := Keylist{zeroKeyTest, fourtyKeyTest}
739739

740740
testSerializeDeserializeProof(t, insertKVs, proveKeys)
741741
}
@@ -748,7 +748,7 @@ func TestStatelessDeserializeMissingLeafNode(t *testing.T) {
748748
string(oneKeyTest): fourtyKeyTest,
749749
string(ffx32KeyTest): fourtyKeyTest,
750750
}
751-
proveKeys := keylist{zeroKeyTest, fourtyKeyTest}
751+
proveKeys := Keylist{zeroKeyTest, fourtyKeyTest}
752752

753753
testSerializeDeserializeProof(t, insertKVs, proveKeys)
754754
}
@@ -760,7 +760,7 @@ func TestStatelessDeserializeAbsentValueInExistingLeafNode(t *testing.T) {
760760
string(zeroKeyTest): fourtyKeyTest,
761761
string(ffx32KeyTest): fourtyKeyTest,
762762
}
763-
proveKeys := keylist{zeroKeyTest, oneKeyTest}
763+
proveKeys := Keylist{zeroKeyTest, oneKeyTest}
764764

765765
testSerializeDeserializeProof(t, insertKVs, proveKeys)
766766
}
@@ -774,7 +774,7 @@ func TestStatelessDeserializeDepth2(t *testing.T) {
774774
string(key1): fourtyKeyTest,
775775
string(ffx32KeyTest): fourtyKeyTest,
776776
}
777-
proveKeys := keylist{zeroKeyTest, key1}
777+
proveKeys := Keylist{zeroKeyTest, key1}
778778

779779
testSerializeDeserializeProof(t, insertKVs, proveKeys)
780780
}
@@ -791,7 +791,7 @@ func TestProofVerificationThreeStemsInSameExtensionStatus(t *testing.T) {
791791
string(key3_0): fourtyKeyTest,
792792
string(key3_1): fourtyKeyTest,
793793
}
794-
proveKeys := keylist{zeroKeyTest, key2_0, key3_0, key3_1, key4_0}
794+
proveKeys := Keylist{zeroKeyTest, key2_0, key3_0, key3_1, key4_0}
795795

796796
testSerializeDeserializeProof(t, insertKVs, proveKeys)
797797
}
@@ -805,7 +805,7 @@ func TestProofVerificationTwoLeavesWithDifferentValues(t *testing.T) {
805805
string(zeroKeyTest): fourtyKeyTest,
806806
string(key2): forkOneKeyTest,
807807
}
808-
proveKeys := keylist{zeroKeyTest, key2}
808+
proveKeys := Keylist{zeroKeyTest, key2}
809809

810810
testSerializeDeserializeProof(t, insertKVs, proveKeys)
811811
}
@@ -818,7 +818,7 @@ func TestProofOfAbsenceBorderCase(t *testing.T) {
818818
insertKVs := map[string][]byte{
819819
string(oneKeyTest): fourtyKeyTest,
820820
}
821-
proveKeys := keylist{oneKeyTest, key1}
821+
proveKeys := Keylist{oneKeyTest, key1}
822822

823823
testSerializeDeserializeProof(t, insertKVs, proveKeys)
824824
}
@@ -831,12 +831,12 @@ func TestProofOfAbsenceBorderCaseReversed(t *testing.T) {
831831
insertKVs := map[string][]byte{
832832
string(key1): fourtyKeyTest,
833833
}
834-
proveKeys := keylist{oneKeyTest, key1}
834+
proveKeys := Keylist{oneKeyTest, key1}
835835

836836
testSerializeDeserializeProof(t, insertKVs, proveKeys)
837837
}
838838

839-
func testSerializeDeserializeProof(t *testing.T, insertKVs map[string][]byte, proveKeys keylist) {
839+
func testSerializeDeserializeProof(t *testing.T, insertKVs map[string][]byte, proveKeys Keylist) {
840840
t.Helper()
841841

842842
root := New()
@@ -1088,7 +1088,7 @@ func TestGenerateProofWithOnlyAbsentKeys(t *testing.T) {
10881088

10891089
// Create a proof with a key with the same first byte, but different second byte (i.e: absent).
10901090
absentKey, _ := hex.DecodeString("4010000000000000000000000000000000000000000000000000000000000000")
1091-
proof, cis, zis, yis, err := MakeVerkleMultiProof(root, nil, keylist{absentKey}, nil)
1091+
proof, cis, zis, yis, err := MakeVerkleMultiProof(root, nil, Keylist{absentKey}, nil)
10921092
if err != nil {
10931093
t.Fatal(err)
10941094
}
@@ -1113,7 +1113,7 @@ func TestGenerateProofWithOnlyAbsentKeys(t *testing.T) {
11131113
}
11141114

11151115
// From the rebuilt tree, validate the proof.
1116-
pe, _, _, err := GetCommitmentsForMultiproof(droot, keylist{absentKey}, nil)
1116+
pe, _, _, err := GetCommitmentsForMultiproof(droot, Keylist{absentKey}, nil)
11171117
if err != nil {
11181118
t.Fatal(err)
11191119
}
@@ -1168,7 +1168,7 @@ func TestDoubleProofOfAbsence(t *testing.T) {
11681168
// in that leaf node. i.e: two proof of absence in the same leaf node with no proof of presence.
11691169
key2, _ := hex.DecodeString("0000000000000000000000000000000000000000000000000000000000000100")
11701170
key3, _ := hex.DecodeString("0000000000000000000000000000000000000000000000000000000000000200")
1171-
proof, _, _, _, _ := MakeVerkleMultiProof(root, nil, keylist{key2, key3}, nil)
1171+
proof, _, _, _, _ := MakeVerkleMultiProof(root, nil, Keylist{key2, key3}, nil)
11721172

11731173
serialized, statediff, err := SerializeProof(proof)
11741174
if err != nil {
@@ -1217,7 +1217,7 @@ func TestProveAbsenceInEmptyHalf(t *testing.T) {
12171217

12181218
key2, _ := hex.DecodeString("0000000000000000000000000000000000000000000000000000000000000100")
12191219
key3, _ := hex.DecodeString("0000000000000000000000000000000000000000000000000000000000000000")
1220-
proof, _, _, _, _ := MakeVerkleMultiProof(root, nil, keylist{key2, key3}, nil)
1220+
proof, _, _, _, _ := MakeVerkleMultiProof(root, nil, Keylist{key2, key3}, nil)
12211221

12221222
serialized, statediff, err := SerializeProof(proof)
12231223
if err != nil {

tree.go

+11-11
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,17 @@ type (
4242
NodeResolverFn func([]byte) ([]byte, error)
4343
)
4444

45-
type keylist [][]byte
45+
type Keylist [][]byte
4646

47-
func (kl keylist) Len() int {
47+
func (kl Keylist) Len() int {
4848
return len(kl)
4949
}
5050

51-
func (kl keylist) Less(i, j int) bool {
51+
func (kl Keylist) Less(i, j int) bool {
5252
return bytes.Compare(kl[i], kl[j]) == -1
5353
}
5454

55-
func (kl keylist) Swap(i, j int) {
55+
func (kl Keylist) Swap(i, j int) {
5656
kl[i], kl[j] = kl[j], kl[i]
5757
}
5858

@@ -90,7 +90,7 @@ type VerkleNode interface {
9090
// returns them breadth-first. On top of that, it returns
9191
// one "extension status" per stem, and an alternate stem
9292
// if the key is missing but another stem has been found.
93-
GetProofItems(keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error)
93+
GetProofItems(Keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error)
9494

9595
// Serialize encodes the node to RLP.
9696
Serialize() ([]byte, error)
@@ -908,19 +908,19 @@ func commitNodesAtLevel(nodes []*InternalNode) error {
908908
}
909909

910910
// groupKeys groups a set of keys based on their byte at a given depth.
911-
func groupKeys(keys keylist, depth byte) []keylist {
911+
func groupKeys(keys Keylist, depth byte) []Keylist {
912912
// special case: no key
913913
if len(keys) == 0 {
914-
return []keylist{}
914+
return []Keylist{}
915915
}
916916

917917
// special case: only one key left
918918
if len(keys) == 1 {
919-
return []keylist{keys}
919+
return []Keylist{keys}
920920
}
921921

922922
// there are at least two keys left in the list at this depth
923-
groups := make([]keylist, 0, len(keys))
923+
groups := make([]Keylist, 0, len(keys))
924924
firstkey, lastkey := 0, 1
925925
for ; lastkey < len(keys); lastkey++ {
926926
key := keys[lastkey]
@@ -938,7 +938,7 @@ func groupKeys(keys keylist, depth byte) []keylist {
938938
return groups
939939
}
940940

941-
func (n *InternalNode) GetProofItems(keys keylist, resolver NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
941+
func (n *InternalNode) GetProofItems(keys Keylist, resolver NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
942942
var (
943943
groups = groupKeys(keys, n.depth)
944944
pe = &ProofElements{
@@ -1490,7 +1490,7 @@ func leafToComms(poly []Fr, val []byte) error {
14901490
return nil
14911491
}
14921492

1493-
func (n *LeafNode) GetProofItems(keys keylist, _ NodeResolverFn) (*ProofElements, []byte, []Stem, error) { // skipcq: GO-R1005
1493+
func (n *LeafNode) GetProofItems(keys Keylist, _ NodeResolverFn) (*ProofElements, []byte, []Stem, error) { // skipcq: GO-R1005
14941494
var (
14951495
poly [NodeWidth]Fr // top-level polynomial
14961496
pe = &ProofElements{

tree_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,7 @@ func TestEmptyCommitment(t *testing.T) {
10251025
t.Fatalf("inserting into the original failed: %v", err)
10261026
}
10271027
root.Commit()
1028-
pe, _, _, err := root.GetProofItems(keylist{ffx32KeyTest}, nil)
1028+
pe, _, _, err := root.GetProofItems(Keylist{ffx32KeyTest}, nil)
10291029
if err != nil {
10301030
t.Fatal(err)
10311031
}
@@ -1092,7 +1092,7 @@ func TestGetProofItemsNoPoaIfStemPresent(t *testing.T) {
10921092
key1, _ := hex.DecodeString("ffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
10931093
key2, _ := hex.DecodeString("ffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
10941094

1095-
_, esses, poas, err := root.GetProofItems(keylist{key1, key2, ffx32KeyTest}, nil)
1095+
_, esses, poas, err := root.GetProofItems(Keylist{key1, key2, ffx32KeyTest}, nil)
10961096
if err != nil {
10971097
t.Fatal(err)
10981098
}

unknown.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (UnknownNode) Commitment() *Point {
5151
return &id
5252
}
5353

54-
func (UnknownNode) GetProofItems(keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
54+
func (UnknownNode) GetProofItems(Keylist, NodeResolverFn) (*ProofElements, []byte, []Stem, error) {
5555
return nil, nil, nil, errors.New("can't generate proof items for unknown node")
5656
}
5757

0 commit comments

Comments
 (0)