fixes for ProposerAddress

- state.MakeBlock takes a proposerAddr
- validateBlock only checks that the ProposerAddress is in the validator
  set
- fix raceyness from bad proposer test:
  - use privValidator to get the proposer address (instead of racy
    state)
  - note we had to remove the test that checked the correct proposer was
    included for higher rounds because we don't have a good way to test
    this with multiple consensus states and not using the
    privValidator.Address while calling createProposalBlock was a hack!
This commit is contained in:
Ethan Buchman
2018-08-04 23:01:02 -04:00
parent 4d998b7c03
commit e1062a657f
7 changed files with 22 additions and 14 deletions

View File

@ -72,4 +72,7 @@ func TestValidateBlock(t *testing.T) {
block.ProposerAddress = ed25519.GenPrivKey().PubKey().Address()
err = blockExec.ValidateBlock(state, block)
require.Error(t, err)
block.ProposerAddress = []byte("wrong size")
err = blockExec.ValidateBlock(state, block)
require.Error(t, err)
}