Conversation
Merge master back to develop
* Start of ADR * flesh out abci events and errors adrs * adr: move 012 to 023 * adr-022: add note from cwgoes
* md links dont work in slate * docs: link to rpc * docs: use unsafe_reset_all * do not advertise unsafe_reset_priv_validator
* Make mempool aware of MaxGas requirement * update spec * Add tests * Switch GasWanted from kv store to persistent kv store * Fix typo in test name * switch back to using kvstore, not persistent kv store
also, return ErrNotStarted when trying to stop a not-running service
* Enforce file permissions in case they've changed * test behaviour for autofile * use testify in tests and rename `fInf` to `fileInfo` * return an error if file permissions have changed - if we can't read the file, we'll still panic * get rid of "github.com/pkg/errors" dependency * address review comments: - prefix instead of suffix - add state to err and construct formatting in Error() method * address review comments: - move error to libs/errors
* [rpc] transform /status result.node_info.other into map * amino does not support maps, duh Refs #2391
* update DOCS_README * add spec to docs & other lil fixes (#2402)
Why: original fork is abandoned and not supported anymore. Changes: - LevelDB 1.19 (LevelDB and Snappy are both compiled and linked statically, so while you will not need them installed on your target machine, you should have a roughly compatible version of libstdc++.) - snappy and lz4 libs included by default
Otherwise, it's impossible to see outliers #1835 (comment)
otherwise we're benchmarking overriding single key (because hash stays the same!)
BlockIntervalSeconds metric & DB tests cleanup & benchmark improv.
and fix formatting Refs #2417 (comment)
This is the implementation for the design described in ADR 12[0]. It's the first step of a larger refactor of the p2p package as tracked in interface bundling all concerns of low-level connection handling and isolating the rest of peer lifecycle management from the specifics of the low-level internet protocols. Even if the swappable implementation will never be utilised, already the isolation of conn related code in one place will help with the reasoning about execution path and addressation of security sensitive issues surfaced through bounty programs and audits. We deliberately decided to not have Peer filtering and other management in the Transport, its sole responsibility is the translation of connections to Peers, handing those to the caller fully setup. It's the responsibility of the caller to reject those and or keep track. Peer filtering will take place in the Switch and can be inspected in a the following commit. This changeset additionally is an exercise in clean separation of logic and other infrastructural concerns like logging and instrumentation. By leveraging a clean and minimal interface. How this looks can be seen in a follow-up change. Design #2069[2] Refs #2067[3] Fixes #2047[4] Fixes #2046[5] changes: * describe Transport interface * implement new default Transport: MultiplexTransport * test MultiplexTransport with new constraints * implement ConnSet for concurrent management of net.Conn, synchronous to PeerSet * implement and expose duplicate IP filter * implemnt TransportOption for optional parametirisation [0] https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-012-peer-transport.md [1] #2067 [2] #2069 [3] #2067 [4] #2047 [5] #2046
We are swapping the exisiting listener implementation with the newly introduced Transport and its default implementation MultiplexTransport, removing a large chunk of old connection setup and handling scattered over the Peer and Switch code. The Switch requires a Transport now and handles externally passed Peer filters.
Handshaker was removed from proxy package so it can be called independently of starting the abci app connections and can return a result to the caller.
We didn't use this code anywhere in the codebase. As such, we probably should reduce the surface area we support. In the event that we do in fact require 256 bit words inside of tendermint, we should adapt the stdlibs' internal word representations, which also handles SIMD. Inside of the SDK, a separate solution for big ints / larger words is employed, which uses big ints. This in turn does utilize the stdlibs SIMD support.
- remove second AminoVersion from https://github.com/tendermint/tendermint/pull/2426/files#diff-f2fefc7a06ea0d1e0a910196901e50aaR86 Refs #2433
* Add /consensus_params endpoint * Incorporated change #2415 (comment) * Fixed an error in pervious commit
* readme: add some libs to semver * changelog: some updates
* 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 https://github.com/tendermint/go-amino/blob/0c74291f3bb61e24f8ea1d13148cece479f79d35/encoder.go#L85-L90 * avoid cyclic imports * you can do better Go, come on * remove testdouble package
* ungitignore * add docs/.vuepress to enable local builds * config.js needs to be here, one less step * docs: make spec in sidebar nicer * docs: local build instructions
|
We should improve https://github.com/tendermint/tendermint/blob/release/v0.25.0/docs/introduction/install.md#compile-with-cleveldb-support. Can we remove the We should sync with @tendermint/sre about updating the rest of the build pipeline to use CLevelDB in a future release. |
Codecov Report
@@ Coverage Diff @@
## master #2467 +/- ##
=========================================
+ Coverage 61.08% 61.7% +0.61%
=========================================
Files 197 198 +1
Lines 16302 16358 +56
=========================================
+ Hits 9958 10093 +135
+ Misses 5482 5437 -45
+ Partials 862 828 -34
|
|
TODO
|
|
|
||
| ## v0.25.0 | ||
|
|
||
| *September 22, 2018* |
There was a problem hiding this comment.
Can we use ISO 8601 as recommended byt he Government of Canada?
| https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667 | ||
| )](https://godoc.org/github.com/tendermint/tendermint) | ||
| [](https://github.com/moovweb/gvm) | ||
| [](https://github.com/moovweb/gvm) |
xla
left a comment
There was a problem hiding this comment.
👍
🍡
Left some small comments, most of the changes I reviewed independently already. CHANGELOG look well prepared.
This also refactors the prior mempool to filter to be known as "precheck filter" and this new filter is called "postcheck filter" This PR also fixes a bug where the precheck filter previously didn't account for the amino overhead, which could a maliciously sized tx to halt blocks from getting any txs in them. * Move maxGas outside of function definition to avoid race condition * Type filter funcs and make public * Use helper method for post check * Remove superfluous Filter suffix * Move default pre/post checks into package * Fix broken references * Fix typos * Expand on examples for checks
CHANGELOG.md
Outdated
|
|
||
| IMPROVEMENTS: | ||
| - [libs/db] [\#2371](https://github.com/tendermint/tendermint/issues/2371) Output error instead of panic when the given `db_backend` is not initialised (@bradyjoestar) | ||
| - [libs] [\#2286](https://github.com/tendermint/tendermint/issues/2286) Enforce 0600 permissions on `autofile` and `db/fsdb` |
There was a problem hiding this comment.
Panic if permissions change. I don't think it's the same as Enforce ...
…ks (backport tendermint#2467) (tendermint#2515) Manual backport of cometbft/cometbft#2467
tendermint#2574) …ks (backport tendermint#2467) (tendermint#2515) Manual backport of cometbft/cometbft#2467 Co-authored-by: Andy Nogueira <me@andynogueira.dev>
v0.25.0!