Marko
719e028e00
libs: internalize some packages ( #6366 )
## Description
Internalize some libs. This reduces the amount ot public API tendermint is supporting. The moved libraries are mainly ones that are used within Tendermint-core.
4 years ago
Callum Waters
72ee5aab26
evidence: separate abci specific validation ( #6473 )
4 years ago
Callum Waters
9e2af66a0a
types: fix verify commit light / trusting bug ( #6414 )
4 years ago
Callum Waters
a91680efee
test: create common functions for easily producing tm data structures ( #6435 )
4 years ago
Aleksandr Bezobchuk
09a6ad7b1e
types: Refactor EventAttribute ( #6408 )
4 years ago
Ismail Khoffi
ee70430255
libs: remove most of libs/rand ( #6364 )
4 years ago
Marko
990504cd07
crypto: add sr25519 as a validator key ( #6376 )
## Description
Add sr25519 as a validator key option. We support the crypto in tendermint and added batch verification recently.
4 years ago
Callum Waters
5bafedff17
evidence: fix bug with hashes ( #6375 )
4 years ago
Sam Kleinman
3f9066b290
logging: shorten precommit log message ( #6270 )
This is an attempt to clean up the logging message as requested in #6269 .
4 years ago
Aleksandr Bezobchuk
003f394512
rpc: index block events to support block event queries ( #6226 )
4 years ago
Marko
efd2fde474
privval: add ctx to privval interface ( #6240 )
## Description
- Add `context.Context` to Privval interface
This pr does not introduce context into our custom privval connection protocol because this will be removed in the next release. When this pr is released.
4 years ago
Marko
6ffdf181f2
crypto: ed25519 & sr25519 batch verification ( #6120 )
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
Marko
884d4d5252
note: add nondeterministic note to events ( #6220 )
## Description
Since events are not hashed into the header they can be non deterministic. Changing an event is not consensus breaking. Will update docs in the spec
4 years ago
Callum Waters
162f67cf26
correct spelling to US english ( #6077 )
4 years ago
Marko
2a2279e010
types: cleanup protobuf.go ( #6023 )
## Description
- remove unused functions
- remove a function used in tests.
Closes: #XXX
4 years ago
Anton Kaliaev
1cd9bdb80b
light/provider/http: fix Validators ( #6022 )
Closes #6010
4 years ago
Marko
1f01e5d726
params: remove blockTimeIota ( #5987 )
## Description
- removes blocktimeiota
- merges block params in abci and core state
- spec change: https://github.com/tendermint/spec/pull/248
Closes : #5939
4 years ago
Marko
70bb8cc8b7
proto: seperate native and proto types ( #5994 )
## Description
Separate protobuf and domain types. We should avoid using protobuf in our core logic.
ref #5460
4 years ago
Marko
09cf0bcb01
privval: add grpc ( #5725 )
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
Dev Ojha
8c0af72987
consensus: deprecate time iota ms ( #5792 )
time_iota_ms is intended to ensure that an honest validator always generates timestamps
with time increasing monotonically. For this purpose, it always suffices to have this parameter
set to `1ms`. Allowing users to choose different numbers increases bug surface area.
Thus the code now ignores the user provided time_iota_ms parameter (marking it as unused),
and uses 1ms internally.
4 years ago
Callum Waters
909da42789
light: make fraction parts uint64, ensuring that it is always positive ( #5655 )
4 years ago
Alessio Treglia
8bd3d5105f
libs/os: remove unused aliases, add test cases ( #5654 )
Remove unused ReadFile (unused) and
WriteFile (almost unused, alias of ioutil.WriteFile).
Add testcases for Must{Read,Write}File.
4 years ago
Aleksandr Bezobchuk
b508045eff
Merge PR #5624 : Types ValidateBasic Tests
4 years ago
Callum Waters
3922dde05d
evidence: structs can independently form abci evidence ( #5610 )
4 years ago
Marko
38587d83c4
types: move `MakeBlock` to block.go ( #5573 )
4 years ago
Callum Waters
d1ef5028a0
block: fix max commit sig size ( #5567 )
4 years ago
Marko
a5d3e19b4a
types: rename json parts to part_set_header ( #5523 )
4 years ago
Marko
c6f8f0aefc
crypto: add in secp256k1 support ( #5500 )
Secp256k1 was removed in the protobuf migration, this pr adds it back in order to provide this functionality for users (band)
Closes : #5495
4 years ago
Marko
741a515f5b
tx: reduce function to one parameter ( #5493 )
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
4 years ago
Callum Waters
55e8ccab21
block: use commit sig size instead of vote size ( #5490 )
4 years ago
Marko
e1644d00c5
mempool: length prefix txs when getting them from mempool ( #5483 )
## Description
In protobuf `[]byte` is varint encoded. When adding txs to the block we were not taking this into account.
Closes: #XXX
4 years ago
Marko
346aa14db5
fix lint failures with 1.31 ( #5489 )
4 years ago
Callum Waters
6a2a71be07
correctly calculate evidence data size ( #5482 )
4 years ago
Callum Waters
302aec6dcc
evidence: use bytes instead of quantity to limit size ( #5449 )
## Description
Closes : #5432
4 years ago
Callum Waters
433bdf5063
consensus: check block parts don't exceed maximum block bytes ( #5431 )
4 years ago
Callum Waters
4f79930c12
blockchain: remove duplication of validate basic ( #5418 )
4 years ago
Anton Kaliaev
1635d1339c
state: more test cases for block validation ( #5415 )
Closes #2589
4 years ago
Callum Waters
ed002cea7e
evidence: introduction of LightClientAttackEvidence and refactor of evidence lifecycle ( #5361 )
evidence: modify evidence types (#5342 )
light: detect light client attacks (#5344 )
evidence: refactor evidence pool (#5345 )
abci: application evidence prepared by evidence pool (#5354 )
4 years ago
Marko
6ab2a19088
header: check block protocol ( #5340 )
## Description
Check block protocol version in header validate basic.
I tried searching for where we check the P2P protocol version but was unable to find it. When we check compatibility with a node we check we both have the same block protocol and are on the same network, but we do not check if we are on the same P2P protocol. It makes sense if there is a handshake change because we would not be able to establish a secure connection, but a p2p protocol version bump may be because of a p2p message change, which would go unnoticed until that message is sent over the wire. Is this purposeful?
Closes : #4790
4 years ago
Marko
b8d08b9ef4
lint: add errchecks ( #5316 )
## Description
Work towards enabling errcheck
ref #5059
4 years ago
Callum Waters
e2927d2088
light: move dropout handling and invalid data to the provider ( #5308 )
4 years ago
Callum Waters
c752e2e586
abci: update evidence ( #5324 )
4 years ago
Marko
710a97d850
evidence: remove amnesia & POLC ( #5319 )
## Description
remove unneeded types
![](https://media1.giphy.com/media/fSAyceY3BCgtiQGnJs/giphy.gif )
ref #5288
4 years ago
Marko
82011ee7ab
evidence: remove lunatic ( #5318 )
## Description
remove lunaticEvidence
4 years ago
Marko
e0140e4beb
evidence: remove ConflictingHeaders type ( #5317 )
## Description
Remove ConflictingHeaders & compositeEvidence types
Ref #5288
4 years ago
Callum Waters
2b58a62721
light: implement light block ( #5298 )
4 years ago
Callum Waters
86707862d4
fix validator set proposer priorities in light client provider ( #5307 )
4 years ago
Erik Grinaker
d30e1d83b6
types: comment on need for length prefixing ( #5283 )
Fixes #5276 .
4 years ago
Callum Waters
b7f6e47a42
evidence: modularise evidence by moving verification function into evidence package ( #5234 )
4 years ago
Marko
9e98c74e3c
crypto: API modifications ( #5236 )
## Description
This PR aims to make the crypto.PubKey interface more intuitive.
Changes:
- `VerfiyBytes` -> `VerifySignature`
Before `Bytes()` was amino encoded, now since it is the byte representation should we get rid of it entirely?
EDIT: decided to keep `Bytes()` as it is useful if you are using the interface instead of the concrete key
Closes: #XXX
4 years ago