b30c34e713
rename Accum -> ProposerPriority: ( #2932 )
...
- rename fields, methods, comments, tests
2018-11-28 15:35:09 -05:00
42592d9ae0
IncrementAccum upon RPC /validators; Sanity checks and comments ( #2808 )
2018-11-21 10:43:02 +04:00
be929acd6a
Update to Amino v0.13.0-rc0 ( #2687 )
...
* types: test tm2pm on fully populated header
* upgrade for amino v0.13.0-rc0
* fix lint
* comment out final test
2018-10-23 13:21:47 -04:00
fe1d59ab7b
Set protocol versions in NodeInfo from state ( #2686 )
...
* use types.NewValidator
* node: set p2p.ProtocolVersion from state, not globals
2018-10-22 17:55:49 -04:00
ed4ce5ff6c
ADR-016: Update ABCI Info method for versions ( #2662 )
...
* abci: update RequestInfo for versions
* abci: update ResponseInfo for versions
* compile fix
* fix test
* software_version -> version
* comment fix
* update spec
* add test
* comments and fix test
2018-10-18 16:51:17 -04:00
455d34134c
ADR-016: Add versions to Block and State ( #2644 )
...
* types: add Version to Header
* abci: add Version to Header
* state: add Version to State
* node: check software and state protocol versions match
* update changelog
* docs/spec: update for versions
* state: more tests
* remove TODOs
* remove empty test
2018-10-17 15:30:53 -04:00
e1538bf67e
state: require block.Time of the fist block to be genesis time ( #2594 )
...
* require block.Time of the fist block to be genesis time
Refs #2587 :
```
We only start validating block.Time when Height > 1, because there is no
commit to compute the median timestamp from for the first block. This
means a faulty proposer could make the first block with whatever time
they want.
Instead, we should require the timestamp of block 1 to match the genesis
time.
I discovered this while refactoring the ValidateBlock tests to be
table-driven while working on tests for #2560 .
```
* do not accept blocks with negative height
* update changelog and spec
* nanos precision for test genesis time
* Fix failing test (#2607 )
2018-10-12 01:03:58 -04:00
3744e8271d
[R4R] Pass nil to NewValidatorSet() when genesis file's Validators field is nil ( #2617 )
...
* Pass nil to NewValidatorSet() when genesis file's Validators field is nil
Closes : #2616
* Update CHANGELOG_PENDING.md
2018-10-11 23:37:21 -04:00
0e1cd88863
Remove ConsensusParams.TxSize and ConsensusParams.BlockGossip ( #2364 )
...
* remove ConsensusParams.TxSize and ConsensusParams.BlockGossip
Refs #2347
* block part size is now fixed
Refs #2347
* use max data size, not max bytes for tx limit
Refs #2347
2018-09-12 15:44:43 -04:00
7b88172f41
Implement BFT time ( #2203 )
...
* Implement BFT time
* set LastValidators when creating state in state helper
for heights >= 2
2018-08-31 19:33:51 -04:00
e1062a657f
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!
2018-08-05 15:19:21 -04:00
bec9d5cba9
add proposer address to block's Header
...
Refs #1134
Validation:
- ignored in block.ValidateBasic since it's stateful information
- checked in blockExec.ValidateBlock
2018-08-05 15:16:49 -04:00
2d1c5a1ce6
Merge remote-tracking branch 'origin/develop' into jae/literefactor4
2018-08-02 19:12:22 -04:00
6046b99197
consensus: include evidence in proposed block parts. fixes #2050
2018-07-24 21:58:39 -04:00
a5b7ea93c4
Delay validator set changes by 1 block.
2018-06-25 16:59:00 -07:00
dd62f06994
state: s -> state
2018-06-04 21:20:23 -07:00
89cdde7f1e
Fix state tests
2018-04-03 06:50:53 -07:00
eaafd9d61c
state: builds
2018-03-02 01:51:27 -05:00
1d6f00859d
fixes from review
2017-12-28 23:15:54 -05:00
0acca7fe69
final updates for state
2017-12-28 23:15:54 -05:00
f82b7e2a13
state: re-order funcs. fix tests
2017-12-28 23:15:54 -05:00
9e6d088757
state: BlockExecutor
2017-12-28 23:15:54 -05:00
c915719f85
*State->State; SetBlockAndValidators->NextState
2017-12-28 23:15:54 -05:00
f55135578c
state: move methods to funcs
2017-12-28 23:15:54 -05:00
6a4fd46479
fixes from rebase
2017-12-26 20:42:34 -05:00
cc418e5dab
state.VerifyEvidence enforces EvidenceParams.MaxAge
2017-12-26 20:27:32 -05:00
3271634e7a
types: evidence cleanup
2017-12-26 20:26:21 -05:00
6c4a0f9363
cleanup evidence pkg. state.VerifyEvidence
2017-12-26 20:26:21 -05:00
051c2701ab
remove LastConsensusParams
2017-12-26 19:56:39 -05:00
028ee58580
call it LastResultsHash
2017-12-26 19:53:26 -05:00
73fb1c3a17
consolidate saveResults/SaveABCIResponses
2017-12-26 19:24:45 -05:00
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
58c5df729b
Add ResultHash to header
2017-12-26 19:24:25 -05:00
632cc918b4
Save/Load Results for every height
...
Add some tests.
Behaves like saving validator set, except it always saves at each height
instead of a reference to last changed.
2017-12-26 19:24:25 -05:00
f870a49f42
Add ABCIResults with Hash and Proof to State
...
State maintains LastResultsHash
Verify that we can produce unique hashes for each result,
and provide valid proofs from the root hash.
2017-12-26 19:24:25 -05:00
35521b553a
save historical consensus params
2017-12-21 17:46:25 -05:00
70a744558c
types: params.Update()
2017-12-21 17:00:52 -05:00
3d00c477fc
separate block vs state based validation
2017-12-21 16:49:47 -05:00
0ffd60b8cf
ValidatorSetUpdates -> ValidatorUpdates
2017-12-21 11:52:26 -06:00
843e1ed400
Updates -> ValidatoSetUpdates
2017-12-19 13:03:39 -06:00
960b25408f
Store LastConsensusHash in State as well
...
Update all BlockValidation that it matches the last state
2017-12-19 12:28:08 -05:00
d151e36ea8
Add ConsensusHash to header
2017-12-19 12:28:08 -05:00
56cada6a0c
Validate ConsensusParams returned from abci app
2017-12-19 12:28:08 -05:00
030fd00232
Added tests for applying consensus param changes
2017-12-19 12:28:08 -05:00
d21f39160f
Apply ConsensusParamChanges to state/State
2017-12-19 12:28:08 -05:00
4265a94bfe
Update EndBlock parameters
...
* Update abci dependencies
* Modify references from Diffs to Changes
* Fixes issues #924
2017-12-19 12:28:08 -05:00
dedf03bb81
Add TotalTx to block header, issue #952
...
Update state to keep track of this info.
Change function args as needed.
Make NumTx also an int64 for consistency.
2017-12-13 12:20:53 +01:00
922af7c405
int64 height
...
uint64 is considered dangerous. the details will follow in a blog post.
2017-12-01 19:04:53 -06:00
b3492356e6
uint64 height (Refs #911 )
2017-12-01 17:17:22 -05:00
f65e357d2b
adapt Tendermint to new abci.Client interface
...
which was introduced in https://github.com/tendermint/abci/pull/130
2017-11-29 14:23:44 -06:00