8f3e724 | Erik Grinaker | 13 August 2020, 12:53:44 UTC | changelog: update for 0.34.0-rc3 (#5240) | 13 August 2020, 12:53:44 UTC |
9e98c74 | Marko | 13 August 2020, 12:29:16 UTC | 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 | 13 August 2020, 12:29:16 UTC |
e1a1395 | Erik Grinaker | 13 August 2020, 08:58:07 UTC | consensus: don't check InitChain app hash vs genesis app hash, replace it (#5237) Followup from #5227. Instead of checking `ResponseInitChain.app_hash` against the genesis doc app hash, we instead replace it. We should probably remove the genesis doc app hash completely, and rely solely on the one from `InitChain`, I'll open a separate issue to discuss this. | 13 August 2020, 08:58:07 UTC |
b1b82c4 | Erik Grinaker | 12 August 2020, 13:23:57 UTC | db: add support for badgerdb (#5233) * db: add support for badgerdb * add badgerdb comment for Config.DBBackend | 12 August 2020, 13:23:57 UTC |
feaa1ed | Erik Grinaker | 12 August 2020, 08:24:44 UTC | state: don't save genesis state in database when loaded (#5231) Fixes #5138. I don't have a strong opinion on this, but find it sort of odd that `Load` functions actually save as well. | 12 August 2020, 08:24:44 UTC |
cc247c0 | Erik Grinaker | 11 August 2020, 17:03:28 UTC | 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. | 11 August 2020, 17:03:28 UTC |
08ffe13 | Erik Grinaker | 11 August 2020, 14:28:11 UTC | abci: add ResponseInitChain.app_hash, check and record it (#5227) Fixes #5177. | 11 August 2020, 14:28:11 UTC |
40bd416 | Marko | 11 August 2020, 14:00:11 UTC | test: protobuf vectors for reactors (#5221) ## Description Add test vectors for all reactors - [x] state-sync - [x] privval - [x] mempool - [x] p2p - [x] evidence - [ ] light? this PR is primarily oriented at testvectors for things going over the wire. should we expand the testvectors into types as well? Closes: #XXX | 11 August 2020, 14:00:11 UTC |
bfcf45a | Callum Waters | 11 August 2020, 13:32:32 UTC | evidence: remove validator index verification (#5225) | 11 August 2020, 13:32:32 UTC |
312c4f8 | Callum Waters | 11 August 2020, 12:39:07 UTC | evidence: change evidence time to block time (#5219) adds blockstore interface to evidence and adds fix to byzantine test | 11 August 2020, 12:39:07 UTC |
f66b7a8 | Erik Grinaker | 11 August 2020, 10:31:05 UTC | 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? | 11 August 2020, 10:31:05 UTC |
d551251 | Marko | 11 August 2020, 09:21:08 UTC | contributing: add steps for adding and removing rc branches (#5223) ## Description When doing a release the former rc branch should be deleted as the content of the branch is now on the release branch. After a release is made a new RC branch should be created. Closes: #XXX | 11 August 2020, 09:21:08 UTC |
04783ea | dependabot-preview[bot] | 07 August 2020, 22:42:40 UTC | build(deps): [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs Bumps [prismjs](https://github.com/PrismJS/prism) from 1.20.0 to 1.21.0. **This update includes a security fix.** - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.20.0...v1.21.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 10 August 2020, 08:50:40 UTC |
62d09cc | Sad Pencil | 10 August 2020, 08:42:14 UTC | libs/rand: fix "out-of-memory" error on unexpected argument (#5215) | 10 August 2020, 08:42:14 UTC |
1c9a264 | Marko | 07 August 2020, 17:05:31 UTC | crypto: consistent api across keys (#5214) ## Description This Pr changes `GenPrivKeySecp256k1` to `GenPrivKeyFromSecret` to be consistent with the other keys. Also the previous name was not descriptive on what it did. Closes: #XXX | 07 August 2020, 17:05:31 UTC |
3413a0d | Erik Grinaker | 06 August 2020, 17:50:20 UTC | node: don't attempt fast sync when InitChain sets self as only validator (#5211) Fixes #5178. | 06 August 2020, 17:50:20 UTC |
2a98ef8 | odidev | 06 August 2020, 16:00:23 UTC | Added ARM64 in GOARCH for Linux/ARM64 binary release (#5209) Added GOARCH: arm64 with GOOS: linux, for releasing Linux/ARM64 binary release for tendermint. Signed-off-by: odidev <odidev@puresoftware.com> | 06 August 2020, 16:00:23 UTC |
958c4cd | Erik Grinaker | 05 August 2020, 10:07:51 UTC | changelog: add v0.32.13 release (#5204) | 05 August 2020, 10:07:51 UTC |
310f802 | Erik Grinaker | 04 August 2020, 11:53:23 UTC | changelog: add v0.33.7 release (#5203) Merge once #5185 is out. | 04 August 2020, 11:53:23 UTC |
68468fb | Callum Waters | 04 August 2020, 10:58:48 UTC | evidence: fix usage of time field in abci evidence (#5201) * fix usage of time in abci evidence * update changelong and upgrading * add test cases | 04 August 2020, 10:58:48 UTC |
ad2e515 | dependabot-preview[bot] | 03 August 2020, 11:44:35 UTC | build(deps): Bump github.com/spf13/viper from 1.7.0 to 1.7.1 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.7.0 to 1.7.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.7.0...v1.7.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 03 August 2020, 12:09:24 UTC |
2d167ae | Marko | 03 August 2020, 07:57:06 UTC | ci: freeze golangci action version (#5196) ## Description This PR updates golang-ci to latest and stops looking at master for the action. Closes: #XXX | 03 August 2020, 07:57:06 UTC |
19fad10 | dependabot-preview[bot] | 03 August 2020, 06:09:19 UTC | build(deps): Bump google.golang.org/grpc from 1.30.0 to 1.31.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.30.0 to 1.31.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.30.0...v1.31.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 03 August 2020, 06:30:06 UTC |
185cd5b | Callum Waters | 31 July 2020, 13:30:37 UTC | evidence: don't stop evidence verification if an evidence fails (#5189) | 31 July 2020, 13:30:37 UTC |
3c21c35 | Callum Waters | 31 July 2020, 10:23:58 UTC | evidence: remove phantom validator evidence (#5181) | 31 July 2020, 10:23:58 UTC |
db34506 | Anton Kaliaev | 31 July 2020, 09:36:14 UTC | rpc/client/http: log error (#5182) Closes #3410 | 31 July 2020, 09:36:14 UTC |
4a06dc9 | Callum Waters | 30 July 2020, 15:27:48 UTC | abci: fix abci evidence types (#5174) | 30 July 2020, 15:27:48 UTC |
29d15df | Erik Grinaker | 30 July 2020, 13:46:33 UTC | changelog: bump to 0.34.0-rc2 (#5176) Bumps 0.34.0-rc2 - rc1 must be pulled due to premature checksum recorded on sum.golang.org. | 30 July 2020, 13:46:33 UTC |
77429b7 | Callum Waters | 30 July 2020, 13:24:29 UTC | fix assertions on byzantine test (#5171) | 30 July 2020, 13:24:29 UTC |
6ec8e57 | Marko | 30 July 2020, 12:23:23 UTC | changelog: move entries from pending (#5172) ## Description This pr bumps version and moves changlog entries. Closes: #XXX | 30 July 2020, 12:23:23 UTC |
79d6b03 | Erik Grinaker | 30 July 2020, 12:15:15 UTC | version: bump version numbers (#5173) Bumps the Tendermint version to 0.34.0, and debumps the P2P and block protocol numbers since 0.33.6 has: ```go // P2PProtocol versions all p2p behaviour and msgs. // This includes proposer selection. P2PProtocol Protocol = 7 // BlockProtocol versions all block data structures and processing. // This includes validity of blocks and state updates. BlockProtocol Protocol = 10 ``` | 30 July 2020, 12:15:15 UTC |
0d8d721 | Anton Kaliaev | 30 July 2020, 09:44:04 UTC | consensus: only call privValidator.GetPubKey once per block (#5143) Closes #4865 | 30 July 2020, 09:44:04 UTC |
4d43bfe | Anton Kaliaev | 30 July 2020, 09:15:08 UTC | state: revert event hashing (#5159) See ADR 058 Closes #5113 Spec PR: https://github.com/tendermint/spec/pull/122 | 30 July 2020, 09:15:08 UTC |
2b97e03 | Anton Kaliaev | 30 July 2020, 09:07:03 UTC | docs: document canonical field (#5166) Closes #2769 Spec PR: https://github.com/tendermint/spec/pull/125 | 30 July 2020, 09:07:03 UTC |
dc71f26 | Marko | 29 July 2020, 18:16:42 UTC | types: check if nil or empty valset (#5167) Solves #5138 in the way that if a validatorSet is nil or empty it will not try to transform it to protobug Co-authored-by: Callum Michael Waters <cmwaters19@gmail.com> | 29 July 2020, 18:16:42 UTC |
b5f0308 | Anton Kaliaev | 29 July 2020, 11:24:01 UTC | docs: document ConsensusParams (#5165) Closes #2836 | 29 July 2020, 11:24:01 UTC |
4ab7b7d | Anton Kaliaev | 29 July 2020, 10:20:39 UTC | docs: add more details on Vote struct from /consensus_state (#5164) Closes #2743 | 29 July 2020, 10:20:39 UTC |
bc8b3e8 | Callum Waters | 28 July 2020, 13:27:22 UTC | consensus: added byzantine test, modified previous test (#5150) | 28 July 2020, 13:27:22 UTC |
a29fd7c | Anton Kaliaev | 28 July 2020, 12:04:44 UTC | proto: add a comment for Validator#Address (#5144) Refs #3732 | 28 July 2020, 12:04:44 UTC |
cf84dcd | Callum Waters | 28 July 2020, 10:11:55 UTC | light cli: add feature flags and save providers (#5148) | 28 July 2020, 10:11:55 UTC |
539c19d | Cyrus Goh | 27 July 2020, 17:50:14 UTC | Docs update (#5158) ## Description 1.0.169 changes: https://github.com/cosmos/vuepress-theme-cosmos/pull/84 - update newsletter signup form: zoho → mailerlite - disable topbar banner | 27 July 2020, 17:50:14 UTC |
6f61411 | Anton Kaliaev | 27 July 2020, 17:36:05 UTC | docs: simplify choosing an ADR number (#5156) Closes #2313 | 27 July 2020, 17:36:05 UTC |
b5a5f92 | Callum Waters | 27 July 2020, 14:12:42 UTC | evidence: minor correction to potential amnesia ev validate basic (#5151) ValidateBasic() for PotentialAmnesiaEvidence checks that the rounds of the two votes are different and does not check Vote Type ValidateBasic() now also ensures that the first block is not a nil block (else the validator hasn't actually locked onto a block) | 27 July 2020, 14:12:42 UTC |
791701b | dependabot-preview[bot] | 27 July 2020, 13:20:33 UTC | build(deps): Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.168 to 1.0.169. - [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases) - [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 27 July 2020, 13:27:04 UTC |
2675b5f | Marko | 27 July 2020, 13:16:48 UTC | ADR: add missing numbers as blank templates (#5154) ## Description This pr adds missing adr numbers based on what is in #2313 This pr adds empty templates that should later be filled when the time comes to do the implementation. there are still missing numbers, we can either fill them in when we write more ADRs or not backfill numbers and only go forwards. Closes: #2313 | 27 July 2020, 13:16:48 UTC |
ee7bbb6 | Marko | 27 July 2020, 11:36:03 UTC | types: validatebasic on from proto (#5152) ## Description Validatebasic on FromProto for validator set not ToProto Closes: #XXX | 27 July 2020, 11:36:03 UTC |
fb4e00f | Anton Kaliaev | 27 July 2020, 08:40:12 UTC | docs: event hashing ADR 058 (#5134) Refs #5113 | 27 July 2020, 08:40:12 UTC |
375f0c8 | n-hutton | 27 July 2020, 06:36:56 UTC | add fixes for flaky tests (#5146) While working on tendermint my colleague @jinmannwong fixed a few of the unit tests that we found to be flaky in our CI. We thought that you might find this useful, see below for comments. | 27 July 2020, 06:36:56 UTC |
940e682 | Anton Kaliaev | 22 July 2020, 06:12:37 UTC | privval: if remote signer errors, don't retry (#5140) Closes #5112 | 22 July 2020, 06:12:37 UTC |
cdba0d8 | Dev Ojha | 22 July 2020, 05:56:38 UTC | p2p: ensure peers can't change IP of known nodes (#5136) Closes #1581 This fixes the error in #1581, and also documents the purpose of this line. It ensures that if a peer tells us an address we know about, whose ID is the same as our current ID, we ignore it. This removes the previous case where the ID's matched, but the IP's did not, which could yield a potential overwrite of the IP associated with the address later on. (This then would yield an eclipse attack) This was not a vulnerability before though, thanks to a defensive check here https://github.com/tendermint/tendermint/blob/95fc7e58eedd3b0a563b93a0691c9cbe6e10f017/p2p/pex/addrbook.go#L522) | 22 July 2020, 05:56:38 UTC |
95fc7e5 | Anton Kaliaev | 21 July 2020, 13:03:02 UTC | rpc/jsonrpc/server: merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) ...rrayHTTP Closes #5135 Also, wrote a test for WriteRPCResponseHTTPError and used it with correct status codes according to https://www.jsonrpc.org/historical/json-rpc-over-http.html#response-codes | 21 July 2020, 13:03:02 UTC |
909163a | Marko | 20 July 2020, 13:10:09 UTC | rpc: make gasWanted/Used snake_case (#5137) ## Description THis pr adds `json_name` to replace proto generated json tags. Closes: #5111 | 20 July 2020, 13:10:09 UTC |
2ac5a55 | Marko | 20 July 2020, 07:55:09 UTC | libs: wrap mutexes for build flag with godeadlock (#5126) ## Description This PR wraps the stdlib sync.(RW)Mutex & godeadlock.(RW)Mutex. This enables using go-deadlock via a build flag instead of using sed to replace sync with godeadlock in all files Closes: #3242 | 20 July 2020, 07:55:09 UTC |
8cdb53c | Anton Kaliaev | 19 July 2020, 09:36:01 UTC | docs: EventAttribute#Index is not deterministic (#5132) Closes #5125 | 19 July 2020, 09:36:01 UTC |
5223cba | Anton Kaliaev | 17 July 2020, 06:13:00 UTC | light: return if target header is invalid (#5124) Closes #5120 | 17 July 2020, 06:13:00 UTC |
16d2fa6 | Marko | 16 July 2020, 21:06:22 UTC | jsonrpc: change log to debug (#5131) ## Description this log message was marked as not useful and in the issue it was proposed to move it to debug. I am going with this path for now. After we have refactored the logger we shold go through the codebase in order to clean our log statements. Closes: #2101 | 16 July 2020, 21:06:22 UTC |
7e8a7c2 | dependabot-preview[bot] | 16 July 2020, 11:24:36 UTC | build(deps): [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.** - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> | 16 July 2020, 11:37:37 UTC |
7c8c356 | Marko | 16 July 2020, 09:01:02 UTC | ci: version linter fix (#5128) ## Description linter version fix and run make format to have all ci run Closes: #XXX | 16 July 2020, 09:01:02 UTC |
bba9664 | Marko | 16 July 2020, 08:16:32 UTC | bump versiion of ci linter (#5127) | 16 July 2020, 08:16:32 UTC |
a08316f | Anton Kaliaev | 15 July 2020, 11:44:30 UTC | light: use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) Closes #4934 * light: do not compare trusted header w/ witnesses we don't have trusted state to bisect from * check header before checking height otherwise you can get nil panic | 15 July 2020, 11:44:30 UTC |
9695690 | Marko | 15 July 2020, 08:36:40 UTC | docs: modify needed proto files for guides (#5123) ## Description This pr modifies the needed proto files for the java and kotlin guides. Closes: #5034 | 15 July 2020, 08:36:40 UTC |
685e19d | Tess Rinearson | 15 July 2020, 07:23:09 UTC | docs: tweak light client documentation (#5121) Updates the docs for the website to be a little bit clearer on how to run a light client, which is, I suspect, what most people will be looking for. | 15 July 2020, 07:23:09 UTC |
6ccccb0 | Marko | 14 July 2020, 11:04:41 UTC | lint: errcheck (#5091) ## Description add more error checks to tests gonna do a third PR that tackles the non test cases | 14 July 2020, 11:04:41 UTC |
0825d57 | Anton Kaliaev | 14 July 2020, 08:24:08 UTC | proto/tendermint/abci: fix Request oneof numbers (#5116) - the sequence does not start with 1 - RequestDeliverTx has out-of-order field number Closes #5115 | 14 July 2020, 08:24:08 UTC |
730e165 | Anton Kaliaev | 13 July 2020, 10:24:17 UTC | proto: change type + a cleanup (#5107) - drop Height & Base from StatusRequest It does not make sense nor it's used anywhere currently. Also, there seem to be no trace of these fields in the ADR-40 (blockchain reactor v2). - change PacketMsg#EOF type from int32 to bool | 13 July 2020, 10:24:17 UTC |
37545ba | Callum Waters | 13 July 2020, 09:06:44 UTC | evidence: new evidence event subscription (#5108) | 13 July 2020, 09:06:44 UTC |
8b46078 | Callum Waters | 11 July 2020, 09:12:14 UTC | docs: added further documentation to the subscribing to events page (#5110) | 11 July 2020, 09:12:14 UTC |
c552a5b | Callum Waters | 10 July 2020, 15:33:14 UTC | rpc: /broadcast_evidence nil evidence check (#5109) | 10 July 2020, 15:33:14 UTC |
de8cb8c | Callum Waters | 10 July 2020, 12:20:31 UTC | light: fix rpc calls: /block_results & /validators (#5104) | 10 July 2020, 12:20:31 UTC |
0b1722d | Erik Grinaker | 09 July 2020, 12:36:39 UTC | proto: minor cleanups (#5105) Removes the unused `NetAddress.str` field, and fixes some comments. | 09 July 2020, 12:36:39 UTC |
526f45d | Tess Rinearson | 09 July 2020, 12:16:24 UTC | CHANGELOG_PENDING: fix the upcoming release number (#5103) | 09 July 2020, 12:16:24 UTC |
a97d05b | Callum Waters | 08 July 2020, 15:58:03 UTC | evidence: check lunatic vote matches header (#5093) | 08 July 2020, 15:58:03 UTC |
66ed8ec | Erik Grinaker | 08 July 2020, 15:47:01 UTC | proto: reorganize Protobuf schemas (#5102) Reorganizes the Protobuf schemas. It is mostly bikeshedding, so if something is contentious or causes a lot of extra work then I'm fine with reverting. Some Protobuf and Go import paths will change. * Move `abci/types/types.proto` to `abci/types.proto`. * Move `crypto/keys/types.proto` and `crypto/merkle/types.proto` to `crypto/keys.proto` and `crypto/proof.proto`. * Drop the use of `msgs` in filenames, as "message" is a very overloaded term (all Protobuf types are messages, and we also have `message Message`). Use `types.proto` as a catch-all, and otherwise name files by conceptual grouping instead of message kind. | 08 July 2020, 15:47:01 UTC |
59a17b2 | Erik Grinaker | 08 July 2020, 13:49:50 UTC | proto: improve enums (#5099) Fixes some minor issues with Protobuf enums, not likely to break anything. Branched off of #5096, rebase to `master` before merging. | 08 July 2020, 13:49:50 UTC |
bf3c87c | Erik Grinaker | 08 July 2020, 13:33:50 UTC | test: deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) Fixes #5094. | 08 July 2020, 13:33:50 UTC |
ab20f35 | Erik Grinaker | 08 July 2020, 13:27:09 UTC | proto: increase lint level to basic and fix lint warnings (#5096) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 08 July 2020, 13:27:09 UTC |
58113e3 | Erik Grinaker | 08 July 2020, 13:19:18 UTC | evidence: fix data race in Pool.updateValToLastHeight() (#5100) Fixes #5098. Is this out in a public release? If so, I'll add a changelog entry as well, for backporting. | 08 July 2020, 13:19:18 UTC |
fca788a | Marko | 08 July 2020, 12:38:39 UTC | ci: only run tests when go files are touched (#5097) ## Description _Please add a description of the changes that this PR introduces and the files that are the most critical to review._ Closes: #XXX | 08 July 2020, 12:38:39 UTC |
1621602 | Anton Kaliaev | 08 July 2020, 12:07:11 UTC | proxy: improve ABCI app connection handling (#5078) Closes #5074 Old code does not work when --consensus.create_empty_blocks=false (because it only calls tmos.Kill when ApplyBlock fails). New code is listening ABCI clients for Quit and kills TM process if there were any errors. | 08 July 2020, 12:07:11 UTC |
ea946fa | Marko | 08 July 2020, 12:00:18 UTC | ci: try to fix codecov (#5095) ## Description codecov is having issues on upload so upgrade to 1.0.7 where they claim it works better and dont fail ci on failure to upload coverage file Closes: #XXX | 08 July 2020, 12:00:18 UTC |
ebd2cbe | Ismail Khoffi | 07 July 2020, 17:17:57 UTC | Rework Docker image (#5087) * fix #5086 * fixes #5082 - run tendermint init on runtime (if necessary) * Address some feedback: - restrict the entrypoint to only run `tendermint` - script into /usr/local/bin * make it also possible to run ``ith unmodified config again via: `docker run -v $HOME/.tendermint:/tendermint tendermint/tendermint init * Update DOCKER/docker-entrypoint.sh Co-authored-by: Greg Szabo <16846635+greg-szabo@users.noreply.github.com> Co-authored-by: Greg Szabo <16846635+greg-szabo@users.noreply.github.com> | 07 July 2020, 17:17:57 UTC |
430162f | Lei Wang | 07 July 2020, 09:47:49 UTC | Update reactor.go (#5088) check bcR.fastSync flag when "OnStop" fix "service/service.go:161 Not stopping BlockPool -- have not been started yet {"impl": "BlockPool"}" error when kill process | 07 July 2020, 09:47:49 UTC |
be12bb5 | Marko | 06 July 2020, 11:27:17 UTC | ADR-057: RPC (#4857) ## Description This adr is meant to weight the pros and cons of gRPC and JSON-RPC. It is fairly incomplete on the JSON-RPC side. EDIT: Thank you to erik on filling out the pros and cons!! Work Towards: #3367 | 06 July 2020, 11:27:17 UTC |
bccc7fb | Ethan Buchman | 06 July 2020, 08:43:09 UTC | .github/issue_template: Update `/dump_consensus_state` request. (#5060) Clarify how to get the `/dump_consensus_state` data. Eg. https://github.com/tendermint/tendermint/issues/4926 indicated: "Not sure how to do this." | 06 July 2020, 08:43:09 UTC |
c33fab9 | Marko | 06 July 2020, 08:04:53 UTC | changelog: reorgranize (#5065) [**RENDERED**](https://github.com/tendermint/tendermint/blob/9a7b139a72ec5a513985b178ec65aaf35cd904fe/CHANGELOG_PENDING.md#v0336) Closes #5057 | 06 July 2020, 08:04:53 UTC |
4f91eae | Marko | 03 July 2020, 10:47:43 UTC | adjust stale action settings (#5080) ## Description adjustment of stale action settings, making it a tad more strict Closes: #XXX | 03 July 2020, 10:47:43 UTC |
6e43433 | Anton Kaliaev | 03 July 2020, 10:24:12 UTC | abci/types: add comment for TotalVotingPower (#5081) Refs #4581 | 03 July 2020, 10:24:12 UTC |
003ead8 | Marko | 03 July 2020, 08:41:47 UTC | remove stalebot (#5079) ## Description - remove stale bot (bad bot 👎 ) - add github action to do bots job Closes: #XXX | 03 July 2020, 08:41:47 UTC |
22b395e | Marko | 02 July 2020, 17:13:34 UTC | consensus: msg testvectors (#5076) ## Description _Please add a description of the changes that this PR introduces and the files that are the most critical to review._ Closes: #XXX | 02 July 2020, 17:13:34 UTC |
43c44de | Tess Rinearson | 02 July 2020, 14:50:05 UTC | changelog: note breaking change in the 0.33.6 release (#5077) | 02 July 2020, 14:50:05 UTC |
f508459 | Marko | 02 July 2020, 14:05:11 UTC | changelog: update 0.33.6 (#5075) ## Description update changelog on master and bump version Closes: #XXX | 02 July 2020, 14:05:11 UTC |
943bbd7 | Marko | 02 July 2020, 13:48:31 UTC | blockchain: test vectors for proto encoding (#5073) ## Description this PR adds test vectors for proto encoding. the main difference from amino was the removal of four bytes due to interface encoding. should i add more cases? Closes: #XXX | 02 July 2020, 13:48:31 UTC |
480b995 | Anton Kaliaev | 30 June 2020, 07:43:51 UTC | consensus: Do not allow signatures for a wrong block in commits Closes #4926 The dump consensus state had this: "last_commit": { "votes": [ "Vote{0:04CBBF43CA3E 385085/00/2(Precommit) 1B73DA9FC4C8 42C97B86D89D @ 2020-05-27T06:46:51.042392895Z}", "Vote{1:055799E028FA 385085/00/2(Precommit) 652B08AD61EA 0D507D7FA3AB @ 2020-06-28T04:57:29.20793209Z}", "Vote{2:056024CFA910 385085/00/2(Precommit) 652B08AD61EA C8E95532A4C3 @ 2020-06-28T04:57:29.452696998Z}", "Vote{3:0741C95814DA 385085/00/2(Precommit) 652B08AD61EA 36D567615F7C @ 2020-06-28T04:57:29.279788593Z}", Note there's a precommit in there from the first val from May (2020-05-27) while the rest are from today (2020-06-28). It suggests there's a validator from an old instance of the network at this height (they're using the same chain-id!). Obviously a single bad validator shouldn't be an issue. But the Commit refactor work introduced a bug. When we propose a block, we get the block.LastCommit by calling MakeCommit on the set of precommits we saw for the last height. This set may include precommits for a different block, and hence the block.LastCommit we propose may include precommits that aren't actually for the last block (but of course +2/3 will be). Before v0.33, we just skipped over these precommits during verification. But in v0.33, we expect all signatures for a blockID to be for the same block ID! Thus we end up proposing a block that we can't verify. | 02 July 2020, 13:41:49 UTC |
42be533 | Anton Kaliaev | 30 June 2020, 07:03:58 UTC | types: verify commit fully Since the light client work introduced in v0.33 it appears full nodes are no longer fully verifying commit signatures during block execution - they stop after +2/3. See in VerifyCommit: https://github.com/tendermint/tendermint/blob/0c7fd316eb006c0afc13996c00ac8bde1078b32c/types/validator_set.go#L700-L703 This means proposers can propose blocks that contain valid +2/3 signatures and then the rest of the signatures can be whatever they want. They can claim that all the other validators signed just by including a CommitSig with arbitrary signature data. While this doesn't seem to impact safety of Tendermint per se, it means that Commits may contain a lot of invalid data. This is already true of blocks, since they can include invalid txs filled with garbage, but in that case the application knows they they are invalid and can punish the proposer. But since applications dont verify commit signatures directly (they trust tendermint to do that), they won't be able to detect it. This can impact incentivization logic in the application that depends on the LastCommitInfo sent in BeginBlock, which includes which validators signed. For instance, Gaia incentivizes proposers with a bonus for including more than +2/3 of the signatures. But a proposer can now claim that bonus just by including arbitrary data for the final -1/3 of validators without actually waiting for their signatures. There may be other tricks that can be played because of this. In general, the full node should be a fully verifying machine. While it's true that the light client can avoid verifying all signatures by stopping after +2/3, the full node can not. Thus the light client and full node should use distinct VerifyCommit functions if one is going to stop after +2/3 or otherwise perform less validation (for instance light clients can also skip verifying votes for nil while full nodes can not). See a commit with a bad signature that verifies here: 56367fd. From what I can tell, Tendermint will go on to think this commit is valid and forward this data to the app, so the app will think the second validator actually signed when it clearly did not. | 02 July 2020, 13:41:49 UTC |
137025c | Pau | 01 July 2020, 17:04:19 UTC | mempool: add RemoveTxByKey function (#5066) In order to have more control over the mempool implementation, introduce a new exported function RemoveTxByKey. Export also TxKey() and TxKeySize. Use TxKeySize const instead of sha256.size, so future changes on the hash function won't break the API. Allows using a TxKey (32 bytes reference) as parameter instead of the complete array set. So the application layer does not need to keep track of the whole transaction but only of the sha256 hash (32 bytes). This function is useful when mempool.Recheck is disabled. Allows the Application layer to implement its own cleaning mechanism without having to re-implement the whole mempool interface. Mempool.Update() would probably also need to change from txBytes to txKey, but that would require to change the Interface thus will break backwards compatibility. For now RemoveTxByKey() looks like a good compromise, it won't break anything and will help to solve some mempool issues from the application layer. Signed-off-by: p4u <pau@dabax.net> | 01 July 2020, 17:04:19 UTC |
7e2cc1d | Marko | 01 July 2020, 15:13:11 UTC | linter: (1/2) enable errcheck (#5064) ## Description partially cleanup in preparation for errcheck i ignored a bunch of defer errors in tests but with the update to go 1.14 we can use `t.Cleanup(func() { if err := <>; err != nil {..}}` to cover those errors, I will do this in pr number two of enabling errcheck. ref #5059 | 01 July 2020, 15:13:11 UTC |
8ec8385 | Marko | 01 July 2020, 13:01:00 UTC | docs: add warning for chainid (#5072) ## Description add extra warning about chainID Closes: #XXX | 01 July 2020, 13:01:00 UTC |
f4a19ea | Erik Grinaker | 01 July 2020, 10:57:05 UTC | README: update chat link with Discord instead of Riot (#5071) Assuming we don't use Riot anymore. | 01 July 2020, 10:57:05 UTC |
66003d7 | Marko | 01 July 2020, 08:36:16 UTC | bump go version (#5070) ## Description since 0.34 is breaking we should bump the go version to 1.14 Closes: #XXX | 01 July 2020, 08:36:16 UTC |
5d4eee2 | Cyrus Goh | 01 July 2020, 06:43:35 UTC | docs: update .vuepress/config.js (#5043) ## Description ![image](https://user-images.githubusercontent.com/1021101/86193320-7aa13200-bb00-11ea-95ac-aa6468ab7f46.png) ### Next steps: - [x] bump vuepress-theme-cosmos version - [x] tweak config.js - [x] update color variables - [x] sh, shell → bash for syntax highlighting | 01 July 2020, 06:43:35 UTC |