mossid
1a339fdd6e
fix test_cover
2018-10-13 20:08:03 +09:00
mossid
93e2350270
implement broadcast_duplicate_vote endpoint
2018-10-13 18:58:32 +09:00
Dev Ojha
69ecda18f9
refactor nop_event_bus.go into event_bus.go ( #2605 )
...
This is just to match the style of the rest of the codebase, and to
reduce the number of files in types.
2018-10-11 10:16:25 -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
Dev Ojha
dfda7b442f
types: Remove pubkey from validator hash ( #2512 )
...
* types: Remove pubkey from validator hash
* undo lock file change
* Update Spec
2018-10-05 19:26:52 -04:00
Anton Kaliaev
f3d08f969d
[rpc] fix /abci_query: trusted was renamed to prove ( #2531 )
2018-10-02 20:31:04 -04:00
Dev Ojha
fd1b8598bc
Make block_test.go more table driven ( #2526 )
2018-10-02 11:47:20 +04:00
Ethan Buchman
52e21cebcf
remove some xxx comments and the config.mempool.recheck_empty ( #2505 )
...
* remove some XXX
* config: remove Mempool.RecheckEmpty
* docs: remove recheck_empty
2018-09-30 13:28:34 -04:00
Joon
71a34adfe5
General Merkle Proof ( #2298 )
...
* first commit
finalize rebase
add protoc_merkle to Makefile
* in progress
* fix kvstore
* fix tests
* remove iavl dependency
* fix tx_test
* fix test_abci_cli
fix test_apps
* fix test_apps
* fix test_cover
* rm rebase residue
* address comment in progress
* finalize rebase
2018-09-28 20:03:19 -04:00
Ismail Khoffi
fc073746a0
privval: Switch to amino encoding in SignBytes ( #2459 )
...
* switch to amino for SignBytes and add Reply with error message
- currently only Vote is done
* switch Reply type in socket for other messages
- add error description on error
* add TODOs regarding error handling
* address comments from peer review session (thx @xla)
- contains all changes besides the test-coverage / error'ing branches
* increase test coverage:
- add tests for each newly introduced error'ing code path
* return error if received wrong response
* add test for wrong response branches (ErrUnexpectedResponse)
* update CHANGELOG_PENDING and related documentation (spec)
* fix typo: s/CanonicallockID/CanonicalBlockID
* fixes from review
2018-09-28 19:57:29 -04:00
Anton Kaliaev
d12e55c494
node: Respond always to OS interrupts ( #2479 )
...
* stop node upon receiving SIGTERM or CTRL-Ceven during genesis sleep by setting up interrupt before starting a node
Closes #2434
* call Start, not OnStart when starting a component to avoid:
```
E[09-24|10:13:15.805] Not stopping PubSub -- have not been started yet module=pubsub impl=PubSub
```
being printed on exit
2018-09-25 12:24:18 +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
38bced2440
[types] add Address to GenesisValidator ( #2418 )
...
Refs #1714
2018-09-18 11:59:52 +04: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
Ethan Buchman
dea34506fb
types/time: add note about stripping monotonic part
2018-09-06 17:58:52 -04:00
Zach
7f6bd5c161
docs & spec: deduplicate block-structure.md ( #2331 )
2018-09-05 12:21:04 -04:00
Ethan Buchman
eabb1ece8e
tmtime: Canonical, some comments ( #2312 )
2018-09-04 12:20:58 +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
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
e873fed815
calculate amino overhead on the fly
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
Ethan Buchman
6dde320591
fixes from review
2018-08-17 10:32:10 -04:00
Ethan Buchman
0701d79046
minor fixes
2018-08-16 13:19:14 -04:00
Ethan Buchman
4f61b97bbe
update dep for proto. fix types/proto3/block.proto
2018-08-16 13:19:14 -04:00
Ethan Buchman
e3f54ece2f
abci: VoteInfo, ValidatorUpdate. See ADR-018
2018-08-16 13:19:13 -04:00
Anton Kaliaev
eb98f1c3a9
add missing changelog entries ( #2224 )
2018-08-14 19:16:18 -04:00
Anton Kaliaev
80e49abada
send ValidatorSetUpdates event when validator set changes ( #2161 )
...
Refs #1916
2018-08-14 19:16:35 +04:00
b00f
0f931eeb10
types: allow genesis file to have 0 validators ( #2148 )
...
* fixing issue 2015
* Remove comments for code review
* Update tests
2018-08-14 19:02:53 +04:00
Dev Ojha
2756be5a59
libs: Remove usage of custom Fmt, in favor of fmt.Sprintf ( #2199 )
...
* libs: Remove usage of custom Fmt, in favor of fmt.Sprintf
Closes #2193
* Fix bug that was masked by custom Fmt!
2018-08-10 09:25:57 +04:00
Anton Kaliaev
fc7c298cc0
Remove gogoproto from Makefile's TOOLS ( #2198 )
...
* remove gogoproto from tools
because it's not a binary
* update protobuf version to 3.6.1 in `make get_protoc`
* update libs/common/types.pb.go and rpc/grpc/types.pb.go
* fix app tests
2018-08-10 09:14:17 +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
Ethan Buchman
720ce658f1
Merge branch 'release/v0.23.0' into bucky/merge-0.23.0-to-develop
2018-08-05 16:42:04 -04:00
Ethan Buchman
309a6772d7
types: fix formatting when printing signatures
...
- use cmn.Fingerprint and %X
2018-08-05 16:35:43 -04:00
ValarDragon
f903947ff3
crypto: Remove interface from crypto.Signature
...
Signatures are now []byte, which saves on the number of bytes after
amino encoding
(squash this) address Ismail's comment
2018-08-05 15:46:57 -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
Ismail Khoffi
24ae878b9f
update encoding test to how amino skips empty pointers
2018-08-01 13:29:41 +02:00
Anton Kaliaev
0c7338c5f0
abci: Change validators to last_commit_info in RequestBeginBlock ( #2074 )
...
* change validators to last_commit_info in RequestBeginBlock
* do not send pubkeys with RequestBeginBlock
Refs #1856
2018-07-30 17:29:40 +02:00
Anton Kaliaev
96ae535fb8
proto3 timestamp ( #2064 )
...
This PR changes ABCI time format from int64 (Unix seconds) to WKT (WellKnownType) google.protobuf.Timestamp.
Refs #1857
Reasons:
better precision
standard DT for proto
* update Gopkg.lock
* [makefile] remove extra grep
- go list excludes vendor by default now
* proto3 timestamp
* [docs/abci-spec] note about serialisation format
* make time non-nullable
2018-07-27 04:23:19 +02:00
Alexander Simmerl
4be6395ee0
Merge pull request #2085 from tendermint/master
...
Merge 0.23.8 back into develop
2018-07-27 04:21:34 +02:00
Jae Kwon
d542d2c394
Fix 0.22.7, bump to 0.22.8
2018-07-26 18:08:09 -07: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
Ethan Buchman
7ad92c44cb
Merge branch 'master' into bucky/merge-master
2018-07-25 11:34:32 -04:00