Ismail Khoffi
b6d5b8b745
Update to amino 0.14.0 ( #2710 )
...
* WIP: update to amino 0.14.0
* update Changelog
* Update to latest amino version (v0.14.0)
2018-10-29 09:16:50 -04:00
Ethan Buchman
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
Dev Ojha
124d0db1e0
Make txs and evidencelist use merkle.SimpleHashFromBytes to create hash ( #2635 )
...
This is a performance regression, but will also spare the types directory
from knowing about RFC 6962, which is a more correct abstraction. For txs
this performance hit will be fixed soon with #2603 . For evidence, the
performance impact is negligible due to it being capped at a small number.
2018-10-15 16:42:47 -04:00
Dev Ojha
12fa9d1cab
crypto/merkle: Remove byter in favor of plain byte slices ( #2595 )
...
* crypto/merkle: Remove byter in favor of plain byte slices
This PR is fully backwards compatible in terms of function output!
(The Go API differs though) The only test case changes was to refactor
it to be table driven.
* Update godocs per review comments
2018-10-10 12:46:09 -04:00
Ethan Buchman
6ec52a9233
types: cap evidence in block validation ( #2560 )
...
* cap evidence in block validation
* state: use table-driven test for ValidateBlockHeader
* state: test evidence cap
* fixes from review
2018-10-09 13:31:21 -04:00
Anton Kaliaev
724e264ff5
separate mock evidence from real evidence ( #2571 )
...
Closes #2525
2018-10-09 14:10:05 +02:00
Anton Kaliaev
8d50bb9dad
conesnsu: follow up to removing some consensus params ( #2427 )
...
* follow up to removing some consensus params Refs #2382
* change args type to int64 in state#makeParams
* make valsCount and evidenceCount ints again
* MaxEvidenceBytesPerBlock: include magic number in godoc
* [spec] creating a proposal
* test state#TxFilter
* panic if MaxDataBytes is less than 0
* fixes after review
* use amino#UvarintSize to calculate overhead
0c74291f3b/encoder.go (L85-L90)
* avoid cyclic imports
* you can do better Go, come on
* remove testdouble package
2018-09-21 11:00:36 +02:00
Anton Kaliaev
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
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
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
Hendrik Hofstadt
49b52ee3c7
Add test for MakePartSet with evidence
2018-07-26 19:00:07 -04:00
Ethan Buchman
0e127562bf
register evidence interface wherever its used
2018-07-26 18:53:19 -04:00
Anton Kaliaev
37ce4e549e
add more tests for evidence
...
Refs #693
2018-07-12 22:40:05 +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
Liamsi
d2c05bc5b9
Revert "delete everything" (includes everything non-go-crypto)
...
This reverts commit 96a3502
2018-06-20 17:35:30 -07:00
Liamsi
96a3502126
delete everything
2018-06-20 15:19:08 -07:00
Ethan Buchman
aa8be33da1
fix fmt
2018-06-05 22:04:27 -07:00
Ethan Buchman
3d2c4fd309
update Evidence type - requires pubkey and valset to verify and convert to abci.Evidence
2018-06-05 22:04:26 -07:00
Ethan Buchman
c170800fbd
Merge branch 'develop' into jae/aminoify
2018-04-07 16:16:53 +03:00
Jae Kwon
5d1c758730
Fix evidence
2018-04-05 05:43:23 -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
Ethan Buchman
51628aea08
types: revert to old wire. builds
2018-03-02 01:33:38 -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
4e3488c677
update types
2018-02-03 03:23:10 -05:00
Ethan Buchman
28bbeac763
state: send byzantine validators in BeginBlock
2017-12-29 11:26:55 -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
3271634e7a
types: evidence cleanup
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
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
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