Skip to content

Commit ab1bd24

Browse files
committed
refactor: abstract client-side proof logic
1 parent f2456f1 commit ab1bd24

File tree

5 files changed

+1222
-1085
lines changed

5 files changed

+1222
-1085
lines changed

x/sync/db.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@
33

44
package sync
55

6-
import "github.com/ava-labs/avalanchego/x/merkledb"
6+
import (
7+
"context"
8+
9+
"github.com/ava-labs/avalanchego/utils/maybe"
10+
"github.com/ava-labs/avalanchego/x/merkledb"
11+
12+
pb "github.com/ava-labs/avalanchego/proto/pb/sync"
13+
)
714

815
type DB interface {
916
merkledb.Clearer
@@ -12,3 +19,16 @@ type DB interface {
1219
merkledb.ChangeProofer
1320
merkledb.RangeProofer
1421
}
22+
23+
type ProofClient interface {
24+
merkledb.Clearer
25+
merkledb.MerkleRootGetter
26+
HandleRangeProofResponse(ctx context.Context, request *pb.SyncGetRangeProofRequest, responseBytes []byte, onFinish func(maybe.Maybe[[]byte])) error
27+
HandleChangeProofResponse(
28+
ctx context.Context,
29+
request *pb.SyncGetChangeProofRequest,
30+
responseBytes []byte,
31+
onFinish func(maybe.Maybe[[]byte]),
32+
) error
33+
RegisterErrorHandler(handler func(error))
34+
}

0 commit comments

Comments
 (0)