Anton Kaliaev
5f3048bd09
call FlushSync before calling CommitSync
...
if we call it after, we might receive a "fresh" transaction from
`broadcast_tx_sync` before old transactions (which were not
committed).
Refs #1091
```
Commit is called with a lock on the mempool, meaning no calls to CheckTx
can start. However, since CheckTx is called async in the mempool
connection, some CheckTx might have already "sailed", when the lock is
released in the mempool and Commit proceeds.
Then, that spurious CheckTx has not yet "begun" in the ABCI app (stuck
in transport?). Instead, ABCI app manages to start to process the
Commit. Next, the spurious, "sailed" CheckTx happens in the wrong place.
```
2018-01-23 16:56:14 +04:00
Ethan Buchman
ee674f919f
StopPeerForError in blockchain and consensus
2018-01-21 13:32:04 -05:00
Ethan Buchman
b1485b181a
Merge branch 'p2p-consolidate' into p2p-id
2018-01-13 15:20:23 -05:00
Adrian Brink
32311acd01
Vulnerability in light client proxy ( #1081 )
...
* Vulnerability in light client proxy
When calling GetCertifiedCommit the light client proxy would call
Certify and even on error return the Commit as if it had been correctly
certified.
Now it returns the error correctly and returns an empty Commit on error.
* Improve names for clarity
The lite package now contains StaticCertifier, DynamicCertifier and
InqueringCertifier. This also changes the method receivers from one
letter to two letter names, which will make future refactoring easier
and follows the coding standards.
* Fix test failures
* Rename files
* remove dead code
2018-01-09 10:36:11 -06:00
Ethan Buchman
b9cbaf8f10
priv-val: fix timestamp for signing things that only differ by timestamp
2018-01-08 16:36:16 -05:00
Ethan Buchman
cf42611187
Merge pull request #997 from tendermint/919-careful-with-validator-voting
...
check for overflow and underflow while choosing proposer
2018-01-07 16:48:39 -05:00
Ethan Buchman
a17105fd46
p2p: peer.Key -> peer.ID
2018-01-01 22:39:05 -05:00
Ethan Buchman
28bbeac763
state: send byzantine validators in BeginBlock
2017-12-29 11:26:55 -05:00
Ethan Buchman
cb845ebff5
fix EvidencePool and VerifyEvidence
2017-12-28 23:15:54 -05:00
Ethan Buchman
ae68fcb78a
move fireEvents to ApplyBlock
2017-12-28 23:15:54 -05:00
Ethan Buchman
f55135578c
state: move methods to funcs
2017-12-28 23:15:54 -05:00
Ethan Buchman
d0e0ac5fac
types: better error messages for votes
2017-12-27 14:46:24 -05:00
Ethan Buchman
6a4fd46479
fixes from rebase
2017-12-26 20:42:34 -05:00
Ethan Buchman
0f293bfc2b
remove some TODOs
2017-12-26 20:27:40 -05:00
Ethan Buchman
c13e93d63e
evidence: store tests and fixes
2017-12-26 20:27:40 -05:00
Ethan Buchman
cc418e5dab
state.VerifyEvidence enforces EvidenceParams.MaxAge
2017-12-26 20:27:32 -05:00
Ethan Buchman
869d873d5c
state.ApplyBlock takes evpool and calls MarkEvidenceAsCommitted
2017-12-26 20:27:32 -05:00
Ethan Buchman
3271634e7a
types: evidence cleanup
2017-12-26 20:26:21 -05:00
Ethan Buchman
7a18fa887d
evidence linked with consensus/node. compiles
2017-12-26 20:26:21 -05:00
Ethan Buchman
6c4a0f9363
cleanup evidence pkg. state.VerifyEvidence
2017-12-26 20:26:21 -05:00
Ethan Buchman
df3f4de7c3
check evidence is from validator; some cleanup
2017-12-26 20:25:14 -05:00
Ethan Buchman
10c43c9edc
introduce evidence store
2017-12-26 20:25:14 -05:00
Ethan Buchman
48d778c4b3
types/params: introduce EvidenceParams
2017-12-26 20:24:12 -05:00
Ethan Buchman
7d086e9524
check if we already have evidence
2017-12-26 20:21:17 -05:00
Ethan Buchman
6e9433c7a8
post rebase fix
2017-12-26 20:21:17 -05:00
Ethan Buchman
eeab0efa56
types: tx.go comments
2017-12-26 20:21:17 -05:00
Ethan Buchman
77e45756f2
types: Evidences for merkle hashing; Evidence.String()
2017-12-26 20:21:17 -05:00
Ethan Buchman
9cdcffbe4b
types: comments; compiles; evidence test
2017-12-26 20:21:17 -05:00
Ethan Buchman
50850cf8a2
verify sigs on both votes; note about indices
2017-12-26 20:21:17 -05:00
Ethan Buchman
35587658cd
verify evidence in block
2017-12-26 20:21:17 -05:00
Ethan Buchman
4661c98c17
add pubkey to conflicting vote evidence
2017-12-26 20:21:17 -05:00
Ethan Buchman
7928659f70
track evidence, include in block
2017-12-26 20:21:17 -05:00
Ethan Buchman
028ee58580
call it LastResultsHash
2017-12-26 19:53:26 -05:00
Ethan Buchman
73fb1c3a17
consolidate saveResults/SaveABCIResponses
2017-12-26 19:24:45 -05:00
Ethan Frey
d65234ed51
Add /block_results?height=H as rpc endpoint
...
Expose it in rpc client
Move ABCIResults into tendermint/types from tendermint/state
2017-12-26 19:24:25 -05:00
Ethan Frey
58c5df729b
Add ResultHash to header
2017-12-26 19:24:25 -05:00
Anton Kaliaev
1339a44402
add safe*Clip funcs
2017-12-26 14:13:12 -06:00
Ethan Buchman
6c39c77fc5
Merge pull request #996 from ricardohsd/types-add-tests-to-vote
...
Add more tests to types/vote.go
2017-12-26 10:32:07 -05:00
Anton Kaliaev
69c3a7640b
add safeAdd & safeSub plus quickcheck tests
2017-12-25 18:39:14 -06:00
Anton Kaliaev
e8b0458f16
check for overflow and underflow while choosing proposer
...
Refs #919
2017-12-25 18:39:14 -06:00
Ethan Buchman
c2436c46e6
Merge pull request #972 from tendermint/feature/enhance-endblock
...
Update EndBlock parameters
2017-12-22 01:30:58 -05:00
Ethan Buchman
91acc51cd1
fix test
2017-12-21 17:52:06 -05:00
Ethan Buchman
35521b553a
save historical consensus params
2017-12-21 17:46:25 -05:00
Ethan Buchman
70a744558c
types: params.Update()
2017-12-21 17:00:52 -05:00
Ethan Buchman
b5857da877
forgot file
2017-12-21 16:49:47 -05:00
Ethan Buchman
3d00c477fc
separate block vs state based validation
2017-12-21 16:49:47 -05:00
Ethan Buchman
f81025631e
update comment [ci skip]
2017-12-21 16:28:05 -05:00
Ethan Buchman
9c03c58de2
priv validator checks if only difference is timestamp; else error
2017-12-21 15:37:27 -05:00
Anton Kaliaev
0ffd60b8cf
ValidatorSetUpdates -> ValidatorUpdates
2017-12-21 11:52:26 -06:00
Ricardo Domingos
d5baa6601c
types: Add test for IsVoteTypeValid
2017-12-21 18:13:31 +01:00