Sam Kleinman
ae5f98881b
p2p: make NodeID and NetAddress public ( #6583 )
4 years ago
JayT106
2b0a3c151b
fastsync: update the metrics during fast-sync ( #6590 )
Closes #3507
4 years ago
Callum Waters
6e238b5b9d
statesync: make fetching chunks more robust ( #6587 )
4 years ago
Sam Kleinman
5f553bb3ee
changelog: update and regularize changelog entries ( #6594 )
4 years ago
Sam Kleinman
a6b30faf35
libs/time: move types/time into libs ( #6595 )
4 years ago
Sam Kleinman
09a409df9c
libs/log: text logging format changes ( #6589 )
4 years ago
Aleksandr Bezobchuk
7d961b55b2
state sync: tune request timeout and chunkers ( #6566 )
4 years ago
JayT106
cb63ab4ac0
rpc: fix RPC client doesn't handle url's without ports ( #6507 )
4 years ago
JayT106
a456b71f1f
state: move pruneBlocks from consensus/state to state/execution ( #6541 )
state: move pruneBlocks function from consensus/state to state/execution
Closes #5414
4 years ago
Callum Waters
6f6ac5c04e
state sync: reverse sync implementation ( #6463 )
4 years ago
Marko
2f6141645b
metrics: change blocksize to a histogram ( #6549 )
## Description
Change block_size gauge to a histogram to observe block size overtime
This will help will see which chains have full blocks vs empty.
closes #5752
4 years ago
Aleksandr Bezobchuk
3635c7a382
logger: refactor Tendermint logger by using zerolog ( #6534 )
4 years ago
Marko
eaa0468190
types: revert breaking change ( #6538 )
## Description
revert #5523 to avoid breaking changes
cc @greg-szabo
4 years ago
Aleksandr Bezobchuk
7ec123c968
improvement: update TxInfo ( #6529 )
Remove `Context` from the `TxInfo` type and instead require the caller to pass a `Context` to `CheckTx` which is idiomatic.
closes : #6497
4 years ago
Cuong Manh Le
915d9de91d
p2p/pex: reuse hash.Hasher per addrbook for speed ( #6509 )
By pre-creating the hasher, instead of creating new one everytime
addrbook.hash is called.
```
name old time/op new time/op delta
AddrBook_hash-8 181ns ±13% 80ns ± 1% -56.08% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
AddrBook_hash-8 216B ± 0% 8B ± 0% -96.30% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
AddrBook_hash-8 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
```
Fixed #6508
4 years ago
Aleksandr Bezobchuk
1e4bc04cd6
mempool: v1 implementation ( #6466 )
4 years ago
Marko
4e06dfef8c
crypto/merkle: optimize merkle tree hashing ( #6513 )
## Description
Upstream https://github.com/lazyledger/lazyledger-core/pull/351 to optimize merkle tree hashing
### Benchmarking:
```
benchmark old ns/op new ns/op delta
BenchmarkHashAlternatives/recursive-8 22914 21949 -4.21%
BenchmarkHashAlternatives/iterative-8 21634 21939 +1.41%
benchmark old allocs new allocs delta
BenchmarkHashAlternatives/recursive-8 398 200 -49.75%
BenchmarkHashAlternatives/iterative-8 399 301 -24.56%
benchmark old bytes new bytes delta
BenchmarkHashAlternatives/recursive-8 19088 6496 -65.97%
BenchmarkHashAlternatives/iterative-8 21776 13984 -35.78%
```
cc @odeke-em @cuonglm
4 years ago
JayT106
b4307ca7f4
tools: use os home dir to instead of the hardcoded PATH ( #6498 )
4 years ago
Sam Kleinman
7bf84d9d7f
config: seperate priv validator config into seperate section ( #6462 )
Addresses a beginning component of #6255
4 years ago
Marko
1709e49813
version: revert version through ldflag only ( #6494 )
## Description
Add version back to versions, but allow it to be overridden via a ldflag.
Reason:
Many users are not setting the ldflag causing issues with tooling that relies on it (cosmjs)
closes #6488
cc @webmaster128
4 years ago
JayT106
711a718162
config/indexer: custom event indexing ( #6411 )
4 years ago
Greg Morrison
692f23d589
events: Add block_id to NewBlockEvent ( #6478 )
Adds `block_id` to the `newblock` websocket event
Closes #6028
4 years ago
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
Cuong Manh Le
a9fc0c32b2
crypto/merkle: pre-allocate data slice in innherHash ( #6443 )
So we can reduce pressure on runtime for checking that slice has enough
capacity before appending.
4 years ago
JayT106
e334555393
node/state: graceful shutdown in the consensus state ( #6370 )
4 years ago
Aleksandr Bezobchuk
09a6ad7b1e
types: Refactor EventAttribute ( #6408 )
4 years ago
Sam Kleinman
8eccaf9535
mempool: remove vestigal mempool wal ( #6396 )
4 years ago
Callum Waters
9efc20c963
p2p: improve PEX reactor ( #6305 )
4 years ago
Ismail Khoffi
ee70430255
libs: remove most of libs/rand ( #6364 )
4 years ago
Callum Waters
36d8cb09df
config: create `BootstrapPeers` p2p config parameter ( #6372 )
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
JayT106
43eacd159f
state/indexer: reconstruct indexer, move txindex into the indexer package ( #6382 )
4 years ago
Callum Waters
5bafedff17
evidence: fix bug with hashes ( #6375 )
4 years ago
Sam Kleinman
d36a5905a6
statesync: improve e2e test outcomes ( #6378 )
I believe that this, in my testing seems to help the e2e state-sync
tests complete more reliably, by fixing some potential, range-related
slice building, as well as the way the test app hashes snapshots.
Additionally, and I'm not sure if we want to do this, but I added this
hook to the reactor that re-sends the request for snapshots during the
retry. This helps in tests prevent systems from getting stuck, but I
think in reality, it might create more traffic, and operators would
just restart a state-syncing node to get a similar effect.
4 years ago
Tess Rinearson
281b5234b2
changelog: update for 0.34.10 ( #6358 )
4 years ago
JayT106
ca7dbea05b
Set cache control in the HTTP-RPC response header ( #6265 )
4 years ago
Callum Waters
d4d2b66067
light: handle too high errors correctly ( #6346 )
4 years ago
gotjoshua
f563bd4ff1
RPC: don't cap page size in unsafe mode ( #6329 )
4 years ago
Tess Rinearson
8b7a53bdb2
changelog: update to reflect 0.34.9 ( #6334 )
4 years ago
Callum Waters
b272746444
Merge pull request from GHSA-f3w5-v9xx-rp8p
* add time warping lunatic attack test
* create too high and connecton refused errors and add to the light client provider
* add height check to provider
* introduce block lag
* add detection logic for processing forward lunatic attack
* add node-side verification logic
* clean up tests and formatting
* update adr's
* update testing
* fix fetching the latest block
* format
* update changelog
* implement suggestions
* modify ADR's
* format
* clean up node evidence verification
4 years ago
Callum Waters
358d1a28b8
node: remove mode defaults. Make node mode explicit ( #6282 )
4 years ago
Aleksandr Bezobchuk
003f394512
rpc: index block events to support block event queries ( #6226 )
4 years ago
Callum Waters
9f7051d38a
node: implement tendermint modes ( #6241 )
Co-authored-by: dongsam <dongsamb@gmail.com>
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
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
Anton Kaliaev
00b9524168
rpc/jsonrpc/server: return an error in WriteRPCResponseHTTP(Error) ( #6204 )
instead of panicking
Closes #5529
4 years ago
Anton Kaliaev
fe4e97afe0
rpc/jsonrpc: Unmarshal RPCRequest correctly ( #6191 )
i.e. without double pointer. With double pointer, it was possible to
submit `null` value, which will crash the server.
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x189ddc0]
goroutine 1 [running]:
github.com/tendermint/tendermint/rpc/jsonrpc/types.(*RPCRequest).UnmarshalJSON(0xc0000147e0, 0xc00029f201, 0x4, 0x1ff, 0x883baa0, 0xc0000147e0)
/Users/anton/go/src/github.com/tendermint/tendermint/rpc/jsonrpc/types/types.go:70 +0x100
encoding/json.(*decodeState).literalStore(0xc000216bb0, 0xc00029f201, 0x4, 0x1ff, 0x1998800, 0xc0000147e0, 0x199, 0xc000231700, 0x10e0a5e, 0x197)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:860 +0x30ce
encoding/json.(*decodeState).value(0xc000216bb0, 0x1998800, 0xc0000147e0, 0x199, 0x1998800, 0xc0000147e0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:384 +0x40c
encoding/json.(*decodeState).array(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0xc000216bd8, 0x10e405b)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:558 +0x365
encoding/json.(*decodeState).value(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0x16, 0x6e)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:360 +0x22f
encoding/json.(*decodeState).unmarshal(0xc000216bb0, 0x18df040, 0xc0001be540, 0xc000216bd8, 0x0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:180 +0x2c9
encoding/json.Unmarshal(0xc00029f200, 0x6, 0x200, 0x18df040, 0xc0001be540, 0x0, 0x0)
/usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:107 +0x15d
```
4 years ago
Tess Rinearson
ddba7f931a
changelog: update for 0.34.8 ( #6183 )
4 years ago
Marko
e2384a00ce
privval: return errors on loadFilePV ( #6185 )
## Description
- return errors on `loadFilePv`
closes #6182
4 years ago
Anton Kaliaev
fc5a108d53
libs/log: [JSON format] include timestamp ( #6174 )
Closes #6146
4 years ago