Sam Kleinman
3f9066b290
logging: shorten precommit log message ( #6270 )
...
This is an attempt to clean up the logging message as requested in #6269 .
2021-03-25 16:26:56 +00:00
Aleksandr Bezobchuk
003f394512
rpc: index block events to support block event queries ( #6226 )
2021-03-22 11:47:35 -04:00
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.
2021-03-16 14:41:03 +00:00
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 >
2021-03-15 10:58:49 +00:00
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
2021-03-07 11:36:58 +00:00
Callum Waters
162f67cf26
correct spelling to US english ( #6077 )
2021-02-11 18:59:18 +01:00
Marko
2a2279e010
types: cleanup protobuf.go ( #6023 )
...
## Description
- remove unused functions
- remove a function used in tests.
Closes: #XXX
2021-02-01 12:02:45 +00:00
Anton Kaliaev
1cd9bdb80b
light/provider/http: fix Validators ( #6022 )
...
Closes #6010
2021-02-01 11:32:37 +00:00
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
2021-01-28 13:47:24 +00:00
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
2021-01-27 20:14:27 +00:00
Marko
09cf0bcb01
privval: add grpc ( #5725 )
...
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com >
2021-01-06 10:49:30 -08:00
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.
2020-12-17 17:32:42 +01:00
Callum Waters
909da42789
light: make fraction parts uint64, ensuring that it is always positive ( #5655 )
2020-11-17 14:23:16 +01:00
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.
2020-11-13 10:59:45 +00:00
Aleksandr Bezobchuk
b508045eff
Merge PR #5624 : Types ValidateBasic Tests
2020-11-09 11:08:48 -05:00
Callum Waters
3922dde05d
evidence: structs can independently form abci evidence ( #5610 )
2020-11-04 17:14:48 +01:00
Marko
38587d83c4
types: move MakeBlock to block.go ( #5573 )
2020-10-27 10:00:31 +01:00
Callum Waters
d1ef5028a0
block: fix max commit sig size ( #5567 )
2020-10-26 10:18:59 +01:00
Marko
a5d3e19b4a
types: rename json parts to part_set_header ( #5523 )
2020-10-19 09:16:45 +02:00
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
2020-10-15 10:10:06 +02:00
Marko
741a515f5b
tx: reduce function to one parameter ( #5493 )
...
Co-authored-by: Callum Waters <cmwaters19@gmail.com >
2020-10-13 17:38:00 +02:00
Callum Waters
55e8ccab21
block: use commit sig size instead of vote size ( #5490 )
2020-10-13 17:21:37 +02:00
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
2020-10-13 10:33:21 +00:00
Marko
346aa14db5
fix lint failures with 1.31 ( #5489 )
2020-10-13 10:22:53 +02:00
Callum Waters
6a2a71be07
correctly calculate evidence data size ( #5482 )
2020-10-12 11:28:41 +02:00
Callum Waters
302aec6dcc
evidence: use bytes instead of quantity to limit size ( #5449 )
...
## Description
Closes : #5432
2020-10-07 09:29:52 +00:00
Callum Waters
433bdf5063
consensus: check block parts don't exceed maximum block bytes ( #5431 )
2020-10-01 09:59:19 +02:00
Callum Waters
4f79930c12
blockchain: remove duplication of validate basic ( #5418 )
2020-09-28 17:02:46 +02:00
Anton Kaliaev
1635d1339c
state: more test cases for block validation ( #5415 )
...
Closes #2589
2020-09-28 11:57:35 +00:00
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 )
2020-09-22 10:22:54 +02:00
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
2020-09-09 09:13:18 +00:00
Marko
b8d08b9ef4
lint: add errchecks ( #5316 )
...
## Description
Work towards enabling errcheck
ref #5059
2020-09-04 11:58:03 +00:00
Callum Waters
e2927d2088
light: move dropout handling and invalid data to the provider ( #5308 )
2020-09-02 18:28:48 +02:00
Callum Waters
c752e2e586
abci: update evidence ( #5324 )
2020-09-02 18:17:59 +02:00
Marko
710a97d850
evidence: remove amnesia & POLC ( #5319 )
...
## Description
remove unneeded types

ref #5288
2020-09-02 13:05:15 +00:00
Marko
82011ee7ab
evidence: remove lunatic ( #5318 )
...
## Description
remove lunaticEvidence
2020-09-01 16:56:26 +00:00
Marko
e0140e4beb
evidence: remove ConflictingHeaders type ( #5317 )
...
## Description
Remove ConflictingHeaders & compositeEvidence types
Ref #5288
2020-09-01 16:34:37 +00:00
Callum Waters
2b58a62721
light: implement light block ( #5298 )
2020-09-01 17:45:55 +02:00
Callum Waters
86707862d4
fix validator set proposer priorities in light client provider ( #5307 )
2020-08-31 12:47:38 +02:00
Erik Grinaker
d30e1d83b6
types: comment on need for length prefixing ( #5283 )
...
Fixes #5276 .
2020-08-25 09:23:16 +00:00
Callum Waters
b7f6e47a42
evidence: modularise evidence by moving verification function into evidence package ( #5234 )
2020-08-20 18:11:21 +02:00
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
2020-08-13 12:29:16 +00:00
Erik Grinaker
cc247c091b
genesis: add support for arbitrary initial height ( #5191 )
...
Adds a genesis parameter `initial_height` which specifies the initial block height, as well as ABCI `RequestInitChain.InitialHeight` to pass it to the ABCI application, and `State.InitialHeight` to keep track of the initial height throughout the code. Fixes #2543 , based on [RFC-002](https://github.com/tendermint/spec/pull/119 ). Spec changes in https://github.com/tendermint/spec/pull/135 .
2020-08-11 17:03:28 +00:00
Callum Waters
bfcf45a461
evidence: remove validator index verification ( #5225 )
2020-08-11 15:32:32 +02:00
Callum Waters
312c4f8fe1
evidence: change evidence time to block time ( #5219 )
...
adds blockstore interface to evidence and adds fix to byzantine test
2020-08-11 14:39:07 +02:00
Erik Grinaker
f66b7a8e32
merkle: return hashes for empty merkle trees ( #5193 )
...
Fixes #5192 .
@liamsi Can you verify that the test vectors match the Rust implementation? I updated `ProofsFromByteSlices()` as well, anything else that should be updated?
2020-08-11 10:31:05 +00:00
Callum Waters
68468fb024
evidence: fix usage of time field in abci evidence ( #5201 )
...
* fix usage of time in abci evidence
* update changelong and upgrading
* add test cases
2020-08-04 12:58:48 +02:00
Callum Waters
3c21c3546c
evidence: remove phantom validator evidence ( #5181 )
2020-07-31 12:23:58 +02:00
Callum Waters
4a06dc9916
abci: fix abci evidence types ( #5174 )
2020-07-30 17:27:48 +02:00
Anton Kaliaev
4d43bfe3bd
state: revert event hashing ( #5159 )
...
See ADR 058
Closes #5113
Spec PR: https://github.com/tendermint/spec/pull/122
2020-07-30 09:15:08 +00:00