Anton Kaliaev
166fd82b70
max-bytes PR follow-up ( #2318 )
...
* ReapMaxTxs: return all txs if max is negative
this mirrors ReapMaxBytes behavior
See https://github.com/tendermint/tendermint/pull/2184#discussion_r214439950
* increase MaxAminoOverheadForBlock
tested with:
```
func TestMaxAminoOverheadForBlock(t *testing.T) {
maxChainID := ""
for i := 0; i < MaxChainIDLen; i++ {
maxChainID += "𠜎"
}
h := Header{
ChainID: maxChainID,
Height: 10,
Time: time.Now().UTC(),
NumTxs: 100,
TotalTxs: 200,
LastBlockID: makeBlockID(make([]byte, 20), 300, make([]byte, 20)),
LastCommitHash: tmhash.Sum([]byte("last_commit_hash")),
DataHash: tmhash.Sum([]byte("data_hash")),
ValidatorsHash: tmhash.Sum([]byte("validators_hash")),
NextValidatorsHash: tmhash.Sum([]byte("next_validators_hash")),
ConsensusHash: tmhash.Sum([]byte("consensus_hash")),
AppHash: tmhash.Sum([]byte("app_hash")),
LastResultsHash: tmhash.Sum([]byte("last_results_hash")),
EvidenceHash: tmhash.Sum([]byte("evidence_hash")),
ProposerAddress: tmhash.Sum([]byte("proposer_address")),
}
b := Block{
Header: h,
Data: Data{Txs: makeTxs(10000, 100)},
Evidence: EvidenceData{},
LastCommit: &Commit{},
}
bz, err := cdc.MarshalBinary(b)
require.NoError(t, err)
assert.Equal(t, MaxHeaderBytes+MaxAminoOverheadForBlock-2, len(bz)-1000000-20000-1)
}
```
* fix MaxYYY constants calculation
by using math.MaxInt64
See https://github.com/tendermint/tendermint/pull/2184#discussion_r214444244
* pass mempool filter as an option
See https://github.com/tendermint/tendermint/pull/2184#discussion_r214445869
* fixes after Dev's comments
2018-09-04 11:46:34 +04:00
Zarko Milosevic
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
Anton Kaliaev
02d1b03abb
update comment for MaxBlockSizeBytes
2018-08-31 16:01:22 +04:00
Anton Kaliaev
e957f322c7
be more precise in comments
2018-08-31 16:01:21 +04:00
Anton Kaliaev
0f7485690e
limit chain ID to 50 symbols max
2018-08-31 16:01:21 +04:00
Anton Kaliaev
d73c5cbdb1
reap max bytes from the mempool & check transaction size
...
See ADR 020: Limiting txs size inside a block docs/architecture/adr-020-block-size.md
Refs #2035
2018-08-31 16:01:21 +04:00
Anton Kaliaev
d7035abe73
change ABCI header to match Tendermint exactly
...
Now that Tendermint Amino will be compatible with proto3, the Header in ABCI
should exactly match the Tendermint header - they will then be encoded
identically in ABCI and in Tendermint Core.
Refs #265
2018-08-05 16:57:38 -04:00
Anton Kaliaev
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
Ethan Buchman
2d1c5a1ce6
Merge remote-tracking branch 'origin/develop' into jae/literefactor4
2018-08-02 19:12:22 -04:00
Jae Kwon
e719a93d1d
Addressed review for #1815 except those marked as 'TODO make issue'
2018-08-02 03:10:50 -07:00
Ethan Buchman
6046b99197
consensus: include evidence in proposed block parts. fixes #2050
2018-07-24 21:58:39 -04:00
Ethan Buchman
ea31c4836a
Merge branch 'develop' into jae/literefactor4
2018-07-23 23:28:14 -04:00
Alexander Simmerl
ed8714e40c
Merge pull request #1965 from tendermint/693-part-2
...
make Block Header and Data non-pointers
2018-07-20 17:42:42 +02:00
Anton Kaliaev
270659f03f
make Block Header and Data non-pointers
...
make BlockMeta Header a non-pointer
Refs #693
2018-07-13 12:05:54 +04:00
Anton Kaliaev
95980d944b
[types] add tests for Block and Commit
...
Refs #693
2018-07-12 22:40:05 +04:00
Ethan Buchman
5453aa6169
Merge branch 'develop' into jae/literefactor4
2018-07-02 14:57:30 -04:00
Ethan Buchman
ec710395b7
RIPEMD160 -> SHA256
2018-07-02 14:27:43 -04:00
Ethan Buchman
d55243f0e6
fix import paths
2018-07-01 22:36:49 -04:00
Anton Kaliaev
9563927bbd
print only tx's hash and size when logging blocks
...
Closes #1799
2018-06-29 12:40:32 +04:00
Jae Kwon
bf0ff212b9
Refactor "lite" to handle delayed validator set changes.
...
Also, fix consensus liveness issue.
2018-06-25 17:12:25 -07:00
Jae Kwon
a5b7ea93c4
Delay validator set changes by 1 block.
2018-06-25 16:59:00 -07:00
Anton Kaliaev
489d9b9184
more metrics
2018-06-20 12:38:45 +04:00
Ethan Buchman
162811476a
update some comments
2018-05-14 16:32:19 -04:00
Jae Kwon
b42d5a2211
blockID -> block_id for JSON
2018-04-21 20:24:50 -07:00
Ethan Buchman
bb1b249e8a
types: lock block on MakePartSet
2018-04-09 15:04:59 +03:00
Ethan Buchman
c170800fbd
Merge branch 'develop' into jae/aminoify
2018-04-07 16:16:53 +03:00
Jae Kwon
02531ca5a3
Fix race testing (cont;) Bump version to 0.19.0
2018-04-06 17:06:46 -07:00
Jae Kwon
d24e4cb821
Fix race testing
2018-04-06 17:02:29 -07:00
Jae Kwon
45ec5fd170
WIP consensus
2018-04-05 07:05:45 -07:00
Jae Kwon
1b9323f105
Fix blockchain tests
2018-04-05 05:17:43 -07:00
Ethan Buchman
d14aacf03e
Merge pull request #1300 from tendermint/lite-proxy-hardening-and-tests
...
lite/proxy: Validation* tests and hardening for nil dereferences
2018-04-03 22:43:38 +03:00
Ethan Buchman
39ff4d22e9
minor cleanup
2018-04-03 22:34:18 +03:00
Jae Kwon
89cdde7f1e
Fix state tests
2018-04-03 06:50:53 -07:00
Thomas Corbière
2644a529f0
Fix lint errors ( #1390 )
...
* use increment and decrement operators.
* remove unnecessary else branches.
* fix package comment with leading space.
* fix receiver names.
* fix error strings.
* remove omittable code.
* remove redundant return statement.
* Revert changes (code is generated.)
* use cfg as receiver name for all config-related types.
* use lsi as the receiver name for the LastSignedInfo type.
2018-04-02 10:21:17 +02:00
Jae Kwon
34974e3932
Make types use Amino; Refactor PrivValidator* to FilePV/SocketPV
2018-03-31 00:18:43 +02:00
Alex Hernandez
575a46d9d4
fix typo on block header ( #1387 )
2018-03-29 11:28:29 +02:00
Emmanuel T Odeke
8723c91db9
types: Hash invoked for nil Data and Header should not panic
...
Fixes https://github.com/tendermint/tendermint/issues/1298
Fixes https://github.com/tendermint/tendermint/issues/1299
Found while writing tests in https://github.com/tendermint/tendermint/pull/1300
2018-03-10 21:44:08 -08:00
Ethan Buchman
c394eef7b8
types: TestValidatorSetVerifyCommit
2018-03-02 04:21:23 -05:00
Ethan Buchman
3395f5fb0e
types: builds
2018-03-02 01:28:38 -05:00
Ethan Buchman
200787ede2
types: update for new go-wire. WriteSignBytes -> SignBytes
2018-03-02 01:25:54 -05:00
Ethan Buchman
7a5060dc52
replace data.Bytes with cmn.HexBytes
2018-02-03 03:47:01 -05:00
Ethan Buchman
4e3488c677
update types
2018-02-03 03:23:10 -05:00
Ethan Buchman
3271634e7a
types: evidence cleanup
2017-12-26 20:26:21 -05:00
Ethan Buchman
10c43c9edc
introduce evidence store
2017-12-26 20:25:14 -05:00
Ethan Buchman
7d086e9524
check if we already have evidence
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
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
58c5df729b
Add ResultHash to header
2017-12-26 19:24:25 -05:00