Skip to content

Commit 8229dc0

Browse files
committed
verify returns requestInfo
Signed-off-by: Hagar Meir <[email protected]>
1 parent 4bfa572 commit 8229dc0

File tree

7 files changed

+46
-30
lines changed

7 files changed

+46
-30
lines changed

examples/naive_chain/node.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ func (*Node) RequestID(req []byte) bft.RequestInfo {
4343
}
4444
}
4545

46-
func (*Node) VerifyProposal(proposal bft.Proposal, prevHeader []byte) error {
47-
return nil
46+
func (*Node) VerifyProposal(proposal bft.Proposal, prevHeader []byte) ([]bft.RequestInfo, error) {
47+
return nil, nil
4848
}
4949

50-
func (*Node) VerifyRequest(val []byte) error {
51-
return nil
50+
func (*Node) VerifyRequest(val []byte) (bft.RequestInfo, error) {
51+
return bft.RequestInfo{}, nil
5252
}
5353

5454
func (*Node) VerifyConsenterSig(_ bft.Signature, prop bft.Proposal) error {

internal/bft/controller.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ type Logger interface {
2424

2525
//go:generate mockery -dir . -name Verifier -case underscore -output ./mocks/
2626
type Verifier interface {
27-
VerifyProposal(proposal types.Proposal, prevHeader []byte) error
28-
VerifyRequest(val []byte) error
27+
VerifyProposal(proposal types.Proposal, prevHeader []byte) ([]types.RequestInfo, error)
28+
VerifyRequest(val []byte) (types.RequestInfo, error)
2929
VerifyConsenterSig(signature types.Signature, prop types.Proposal) error
3030
VerificationSequence() uint64
3131
}
@@ -210,7 +210,7 @@ func (c *Controller) getNextBatch() [][]byte {
210210
}
211211
requests := c.Batcher.NextBatch()
212212
for _, req := range requests {
213-
err := c.Verifier.VerifyRequest(req)
213+
_, err := c.Verifier.VerifyRequest(req) // TODO use returned request info
214214
if err != nil {
215215
c.Logger.Warnf("Ignoring bad request: %v, verifier error is: %v", req, err)
216216
continue

internal/bft/controller_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func TestQuorum(t *testing.T) {
5757
for _, testCase := range quorums {
5858
t.Run(fmt.Sprintf("%d nodes", testCase.N), func(t *testing.T) {
5959
verifier := &mocks.Verifier{}
60-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
60+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
6161
comm := &mocks.Comm{}
6262
comm.On("Broadcast", mock.Anything)
6363
basicLog, err := zap.NewDevelopment()
@@ -117,8 +117,8 @@ func TestLeaderPropose(t *testing.T) {
117117
batcher := &mocks.Batcher{}
118118
batcher.On("NextBatch").Return([][]byte{req})
119119
verifier := &mocks.Verifier{}
120-
verifier.On("VerifyRequest", req).Return(nil)
121-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
120+
verifier.On("VerifyRequest", req).Return(types.RequestInfo{}, nil)
121+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
122122
verifier.On("VerifyConsenterSig", mock.Anything, mock.Anything, mock.Anything).Return(nil)
123123
assembler := &mocks.Assembler{}
124124
assembler.On("AssembleProposal", mock.Anything, [][]byte{req}).Return(proposal, [][]byte{})
@@ -180,8 +180,8 @@ func TestLeaderChange(t *testing.T) {
180180
batcher := &mocks.Batcher{}
181181
batcher.On("NextBatch").Return([][]byte{req})
182182
verifier := &mocks.Verifier{}
183-
verifier.On("VerifyRequest", req).Return(nil)
184-
verifier.On("VerifyProposal", proposal, mock.Anything).Return(nil)
183+
verifier.On("VerifyRequest", req).Return(types.RequestInfo{}, nil)
184+
verifier.On("VerifyProposal", proposal, mock.Anything).Return(nil, nil)
185185
assembler := &mocks.Assembler{}
186186
assembler.On("AssembleProposal", mock.Anything, [][]byte{req}).Return(proposal, [][]byte{})
187187
comm := &mocks.Comm{}

internal/bft/mocks/verifier.go

+26-10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/bft/view.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ func (v *View) processProposal() *types.Proposal {
254254
case proposal = <-v.proposals:
255255
}
256256
// TODO think if there is any other validation the node should run on a proposal
257-
err := v.Verifier.VerifyProposal(proposal, v.PrevHeader)
257+
_, err := v.Verifier.VerifyProposal(proposal, v.PrevHeader) // TODO use returned request info
258258
if err != nil {
259259
v.Logger.Warnf("Received bad proposal from %d: %v", v.LeaderID, err)
260260
v.FailureDetector.Complain()

internal/bft/view_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func TestBadPrePrepare(t *testing.T) {
176176

177177
// check prePrepare with verifier returning error
178178
verifier := &mocks.Verifier{}
179-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(errors.New(""))
179+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, errors.New(""))
180180
view.Verifier = verifier
181181
end = view.Start()
182182

@@ -224,7 +224,7 @@ func TestBadPrepare(t *testing.T) {
224224
commWG.Done()
225225
})
226226
verifier := &mocks.Verifier{}
227-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
227+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
228228
signer := &mocks.Signer{}
229229
signer.On("SignProposal", mock.Anything).Return(&types.Signature{
230230
Id: 4,
@@ -306,7 +306,7 @@ func TestBadCommit(t *testing.T) {
306306
comm := &mocks.Comm{}
307307
comm.On("Broadcast", mock.Anything)
308308
verifier := &mocks.Verifier{}
309-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
309+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
310310
verifier.On("VerifyConsenterSig", mock.Anything, mock.Anything, mock.Anything).Return(errors.New(""))
311311
signer := &mocks.Signer{}
312312
signer.On("SignProposal", mock.Anything).Return(&types.Signature{
@@ -369,7 +369,7 @@ func TestNormalPath(t *testing.T) {
369369
decidedSigs <- sigs
370370
})
371371
verifier := &mocks.Verifier{}
372-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
372+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
373373
verifier.On("VerifyConsenterSig", mock.Anything, mock.Anything, mock.Anything).Return(nil)
374374
signer := &mocks.Signer{}
375375
signer.On("SignProposal", mock.Anything).Return(&types.Signature{
@@ -475,7 +475,7 @@ func TestTwoSequences(t *testing.T) {
475475
decidedSigs <- sigs
476476
})
477477
verifier := &mocks.Verifier{}
478-
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil)
478+
verifier.On("VerifyProposal", mock.Anything, mock.Anything).Return(nil, nil)
479479
verifier.On("VerifyConsenterSig", mock.Anything, mock.Anything, mock.Anything).Return(nil)
480480
signer := &mocks.Signer{}
481481
signer.On("SignProposal", mock.Anything).Return(&types.Signature{

pkg/api/dependencies.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ type Signer interface {
3535
}
3636

3737
type Verifier interface {
38-
VerifyProposal(proposal bft.Proposal, prevHeader []byte) error
39-
VerifyRequest(val []byte) error
38+
VerifyProposal(proposal bft.Proposal, prevHeader []byte) ([]bft.RequestInfo, error)
39+
VerifyRequest(val []byte) (bft.RequestInfo, error)
4040
VerifyConsenterSig(signature bft.Signature, prop bft.Proposal) error
4141
VerificationSequence() uint64
4242
}

0 commit comments

Comments
 (0)