sort by:
Revision Author Date Message Commit Date
f309077 update CONTRIBUTING.md (#4180) * First pass at updating the contribution guidelines * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update CONTRIBUTING.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Align text flow with diagram * tweaks based on feedback * add text for existing issue * tweaks 09 December 2019, 06:35:51 UTC
d1ada18 docs/introduction: add notes on architecture intro (#4175) 06 December 2019, 15:59:50 UTC
00c4b52 docs: fix broken ecosystem link (#4222) I put it as the awesome repo ecosytem section as this is currently the only place where there is tendermint only ecosystem information. - closes #4198 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 December 2019, 15:04:44 UTC
70d94b8 docs: Fix broken rpc link (#4221) - chane rpc link to master branch rpc docs, current link leads to 404 - closes #4199 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 December 2019, 14:57:26 UTC
3e2751d lint: Enable Golint (#4212) * Fix many golint errors * Fix golint errors in the 'lite' package * Don't export Pool.store * Fix typo * Revert unwanted changes * Fix errors in counter package * Fix linter errors in kvstore package * Fix linter error in example package * Fix error in tests package * Fix linter errors in v2 package * Fix linter errors in consensus package * Fix linter errors in evidence package * Fix linter error in fail package * Fix linter errors in query package * Fix linter errors in core package * Fix linter errors in node package * Fix linter errors in mempool package * Fix linter error in conn package * Fix linter errors in pex package * Rename PEXReactor export to Reactor * Fix linter errors in trust package * Fix linter errors in upnp package * Fix linter errors in p2p package * Fix linter errors in proxy package * Fix linter errors in mock_test package * Fix linter error in client_test package * Fix linter errors in coretypes package * Fix linter errors in coregrpc package * Fix linter errors in rpcserver package * Fix linter errors in rpctypes package * Fix linter errors in rpctest package * Fix linter error in json2wal script * Fix linter error in wal2json script * Fix linter errors in kv package * Fix linter error in state package * Fix linter error in grpc_client * Fix linter errors in types package * Fix linter error in version package * Fix remaining errors * Address review comments * Fix broken tests * Reconcile package coregrpc * Fix golangci bot error * Fix new golint errors * Fix broken reference * Enable golint linter * minor changes to bring golint into line * fix failing test * fix pex reactor naming * address PR comments 05 December 2019, 09:12:08 UTC
b0bb8a1 crypto: add sr25519 signature scheme (#4190) * sr25519 * added amino encoding * fixed dependencies * Apply suggestions from code review Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> Co-Authored-By: Marko <marbar3778@yahoo.com> * file structure * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * address @melekes and @marbar3778 review * removed nolint * CHANGELOG and go-schnorrkel mod update 05 December 2019, 08:41:38 UTC
06b8752 docs: add flag documentation (#4219) 04 December 2019, 17:48:26 UTC
92d18d7 Rename Tag(s) to Event(s) (#4046) * Rename Tag(s) to Event(s) - tag was replaced with event, but in some places it still mentions tag, would be easier to understand if we tried to replace it with event to not confuse people. Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * more changes from tag -> event * rename events to compositeKeys and keys * Apply suggestions from code review Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * add minor documentation on how composite keys are constructed * rename eventkey to compositekey Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * add changelog entry & add info to regenerate confid to changelog entry 04 December 2019, 11:37:48 UTC
1c46145 networks/remote: turn on GO111MODULE and use git clone instead of go get (#4203) To execute the integration.sh, you need to run "source ./integration.sh". just execute command "./integration.sh" will not work. It is because "source ~/.profile" executes in a separate shell than the integration.sh script # **turn on the go module, default is auto. The value is off, if tendermint source code #is downloaded under $GOPATH/src directory echo "export GO111MODULE=on" >> ~/.profile # ** use git clone instead of go get. # once go module is on, go get will download source code to # specific version directory under $GOPATH/pkg/mod the make # script will not work git clone https://github.com/tendermint/tendermint.git #** need to install the package, otherwise tendermint testnet will not execute make install 04 December 2019, 11:17:57 UTC
49ffb70 p2p: extract maxBackoffDurationForPeer func and remove 1 test (#4218) * p2p/pex: extract maxBackoffDurationForPeer func * p2p: remove unnecessary TestSwitchAcceptRoutineUnconditionalPeersFirst 04 December 2019, 08:30:34 UTC
701e9ca p2p: add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) implementation spec of Improved Trusted Peering ADR-050 by B-Harvest - add unconditional_peer_ids and persistent_peers_max_dial_period to config - add unconditionalPeerIDs map to Switch struct default config value of persistent_peers_max_dial_period is 0s(disabled) Refs #4072, #4053 04 December 2019, 07:44:07 UTC
100078c cli: add `--cs.create_empty_blocks_interval` flag (#4205) Closes #4065 02 December 2019, 10:20:23 UTC
5527821 Blockchain v2 Scheduler (#4043) * Add processor prototype * Change processor API + expose a simple `handle` function which mutates internal state * schedule event handling * rename schedule -> scheduler * fill in handle function * processor tests * fix gofmt and ohter golangci issues * scopelint var on range scope * add check for short block received * small test reorg * ci fix changes * go.mod revert * some cleanup and review comments * scheduler fixes and unit tests, also small processor changes. changed scPeerPruned to include a list of pruned peers touchPeer to check peer state and remove the blocks from blockStates if the peer removal causes the max peer height to be lower. remove the block at sc.initHeight changed peersInactiveSince, peersSlowerThan, getPeersAtHeight check peer state prunablePeers to return a sorted list of peers lastRate in markReceived() attempted to divide by 0, temp fix. fixed allBlocksProcessed conditions maxHeight() and minHeight() to return sc.initHeight if no ready peers present make selectPeer() deterministic. added handleBlockProcessError() added termination cond. (sc.allBlocksProcessed()) to handleTryPrunePeer() and others. changed pcBlockVerificationFailure to include peer of H+2 block along with the one for H+1 changed the processor to call purgePeer on block verification failure. fixed processor tests added scheduler tests. * typo and ci fixes * remove height from scBlockRequest, golangci fixes * limit on blockState map, updated tests * remove unused * separate test for maxHeight(), used for sched. validation * use Math.Min * fix golangci * Document the semantics of blockStates in the scheduler * better docs * distinguish between unknown and invalid blockstate * Standardize peer filtering methods * feedback * s/getPeersAtHeight/getPeersAtHeightOrAbove * small notes * Update blockchain/v2/scheduler.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update comments based on feedback * Add enum offset * panic on nil block in processor * remove unused max height calculation * format shorter line 02 December 2019, 10:01:24 UTC
0523ecf docs: update ADR 43 with links to PRs (#4207) 02 December 2019, 05:02:10 UTC
c066b39 docs: fix broken links in consensus/readme.md (#4200) 28 November 2019, 09:22:44 UTC
759cceb types: prevent spurious validator power overflow warnings when changing the validator set (#4183) Fix for #4164 The general problem is that in certain conditions an overflow warning is issued when attempting to update a validator set even if the final set's total voting power is not over the maximum allowed. Root cause is that in verifyUpdates(), updates are verified wrt to total voting power in the order of validator address. It is then possible that a low address validator may increase its power such that the temporary total voting power count goes over MaxTotalVotingPower. Scenarios where removing and adding/ updating validators with high voting power, in the same update operation, cause the same false warning and the updates are not applied. Main changes to fix this are in verifyUpdate() that now does the verification starting with the decreases in power. It also takes into account the removals that are part of the update. ## Commits: * tests for overflow detection and prevention * test fix * more tests * fix the false overflow warnings and golint * scopelint warning fix * review comments * variant with using sort by amount of change in power * compute separately number new validators in update * types: use a switch in processChanges * more review comments * types: use HasAddress in numNewValidators * types: refactor verifyUpdates copy updates, sort them by delta and use resulting slice to calculate tvpAfterUpdatesBeforeRemovals. * remove unused structs * review comments * update changelog 26 November 2019, 13:05:25 UTC
af3afc2 p2p/conn: simplify secret connection handshake malleability fix with merlin (#4185) * p2p/conn: simplify secret connection handshake malleability fix with merlin Introduces new dependencies on github.com/gtank/merlin and sha3 as a cryptographic primitive This also only uses the transcript hash as a MAC. * p2p/conn: avoid string to byte conversion https://github.com/uber-go/guide/blob/master/style.md#avoid-string-to-byte-conversion 26 November 2019, 11:40:06 UTC
ad715fe types: change `Commit` to consist of just signatures (#4146) * types: change `Commit` to consist of just signatures These are final changes towards removing votes from commit and leaving only signatures (see ADR-25) Fixes #1648 * bring back TestCommitToVoteSetWithVotesForAnotherBlockOrNilBlock + add absent flag to Vote to indicate that it's for another block * encode nil votes as CommitSig with BlockIDFlagAbsent + make Commit#Precommits array of non-pointers because precommit will never be nil * add NewCommitSigAbsent and Absent() funcs * uncomment validation in CommitSig#ValidateBasic * add comments to ValidatorSet funcs * add a changelog entry * break instead of continue continue does not make sense in these cases * types: rename Commit#Precommits to Signatures * swagger: fix /commit response * swagger: change block_id_flag type * fix merge conflicts 26 November 2019, 10:10:38 UTC
fb8b00f lite2: light client with weak subjectivity (#3989) Refs #1771 ADR: https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-044-lite-client-with-weak-subjectivity.md ## Commits: * add Verifier and VerifyCommitTrusting * add two more checks make trustLevel an option * float32 for trustLevel * check newHeader time * started writing lite Client * unify Verify methods * ensure h2.Header.bfttime < h1.Header.bfttime + tp * move trust checks into Verify function * add more comments * more docs * started writing tests * unbonding period failures * tests are green * export ErrNewHeaderTooFarIntoFuture * make golangci happy * test for non-adjusted headers * more precision * providers and stores * VerifyHeader and VerifyHeaderAtHeight funcs * fix compile errors * remove lastVerifiedHeight, persist new trusted header * sequential verification * remove TrustedStore option * started writing tests for light client * cover basic cases for linear verification * bisection tests PASS * rename BisectingVerification to SkippingVerification * refactor the code * add TrustedHeader method * consolidate sequential verification tests * consolidate skipping verification tests * rename trustedVals to trustedNextVals * start writing docs * ValidateTrustLevel func and ErrOldHeaderExpired error * AutoClient and example tests * fix errors * update doc * remove ErrNewHeaderTooFarIntoFuture This check is unnecessary given existing a) ErrOldHeaderExpired b) h2.Time > now checks. * return an error if we're at more recent height * add comments * add LastSignedHeaderHeight method to Store I think it's fine if Store tracks last height * copy over proxy from old lite package * make TrustedHeader return latest if height=0 * modify LastSignedHeaderHeight to return an error if no headers exist * copy over proxy impl * refactor proxy and start http lite client * Tx and BlockchainInfo methods * Block method * commit method * code compiles again * lite client compiles * extract updateLiteClientIfNeededTo func * move final parts * add placeholder for tests * force usage of lite http client in proxy * comment out query tests for now * explicitly mention tp: trusting period * verify nextVals in VerifyHeader * refactor bisection * move the NextValidatorsHash check into updateTrustedHeaderAndVals + update the comment * add ConsensusParams method to RPC client * add ConsensusParams to rpc/mock/client * change trustLevel type to a new cmn.Fraction type + update SkippingVerification comment * stress out trustLevel is only used for non-adjusted headers * fixes after Fede's review Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * compare newHeader with a header from an alternative provider * save pivot header Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r349122824 * check header can still be trusted in TrustedHeader Refs https://github.com/tendermint/tendermint/pull/3989#discussion_r349101424 * lite: update Validators and Block endpoints - Block no longer contains BlockMeta - Validators now accept two additional params: page and perPage * make linter happy 25 November 2019, 15:07:40 UTC
ceb1053 Docs theme latest (#4179) * docs: remove specs, they live in spec repo (#4172) * docs: remove specs, they live in spec repo - moving specs to spec repo - https://github.com/tendermint/spec/pull/62 PR for updating them Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add makefile command to copy in sepcs from specREPO - move cloning of spec repo to pre and post scripts Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 25 November 2019, 14:34:40 UTC
98e0b52 doc: fix broken links (#4186) replaces https://tendermint.com/docs" with "https://docs.tendermint.com/master" 25 November 2019, 09:47:38 UTC
c431437 changelog: GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound https://github.com/tendermint/tendermint/pull/4153#discussion_r348868269 22 November 2019, 08:59:08 UTC
edd6ee2 changelog: explain breaking changes better 22 November 2019, 08:59:08 UTC
d7d61e9 tools.mk: install protoc - works only for Linux / Mac 64bit - you need to call it manually - make protoc - on Mac, brew install protoc might be favorable 22 November 2019, 08:59:08 UTC
0d0d151 tools.mk: use tags instead of revisions where possible 22 November 2019, 08:59:08 UTC
82e4842 Vagrantfile: update Go version 22 November 2019, 08:59:08 UTC
208a8d3 types: remove dots from errors in SignedHeader#ValidateBasic 22 November 2019, 08:59:08 UTC
43aed98 cs: clarify where 24 comes from in maxMsgSizeBytes (wal.go) 22 November 2019, 08:59:08 UTC
d5ed8a7 types: change number_txs to num_txs json tag in BlockMeta and EventDataNewBlockHeader 22 November 2019, 08:59:08 UTC
d840fa3 docs: mention that Evidence votes are now sorted 22 November 2019, 08:59:08 UTC
72f39e2 Fixed typo (#4181) 21 November 2019, 22:23:37 UTC
fb9e667 prefix proto types (#4007) Fixes #3986 This pull request is prefixing all the types in proto to avoid conflict. When a go application is using Tendermint as a library and also define similar types in gogo proto some conflicts might occur (as types is a common package in go). By prefixing the types with tendermint, this highly reduces the risk of conflicts. BREAKING CHANGE. This modification breaks the ABCI Application endpoint. What was accessible before with `/types.ABCIApplication/Flush` is now accessible with `/tendermint.abci.types.ABCIApplication/Flush`. 21 November 2019, 08:00:33 UTC
ee6601a cs: don't panic when block is not found in store (#4163) Fixes #4069 21 November 2019, 07:47:59 UTC
f78a994 update tm-db to 0.3.0 (#4158) Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 15:47:09 UTC
68b2873 docs: update wording (#4174) * docs: update wording - change grants to funding for abci server Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 15:18:39 UTC
eeb6ee1 [Docs]: Minor doc touchups (#4171) - change link for bounties for different lang abci servers to interchainio funding repo - link awesome repo ecosystem section in main docs readme - closes #4110 - closes #4125 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 12:23:07 UTC
fc0d5bc types: prevent temporary power overflows on validator updates (#4165) Closes #4164 20 November 2019, 11:31:14 UTC
2b90663 tools/tm-bench: remove tm-bench in favor of tm-load-test (#4169) - tm-bench has a deprecation warning for 5 releases now, with the major release coming I removed the file and updated the docs to point to `tm-load-test` located in the interchainio repo Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 20 November 2019, 10:59:50 UTC
acac525 adr#50: improve trusted peering (#4072) Refs #4053 ## Commits: * Create adr-050-improved-trusted-peering.md * Modify `maximum_dial_period` Modify `maximum_dial_period` to `persistent_peers_maximum_dial_period` * Update adr-050-improved-trusted-peering.md * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * Update docs/architecture/adr-050-improved-trusted-peering.md Co-Authored-By: Tess Rinearson <tess.rinearson@gmail.com> * wildcard -> unconditional wildcard -> unconditional * Remove blank lines * fix spelling * add quotes 20 November 2019, 09:12:10 UTC
97222eb CHANGELOG: update release/v0.32.8 details (#4162) - update master with changelog from v0.32.8 - bump `tm-version` in `version.go` Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 19 November 2019, 15:28:19 UTC
aca94fd Remvoe errors package from libs (#4157) *libs/common/errors: remove package - remove errors file from cmn pkg - use errorf instead of wrap in async function - add changelog entry - closes #3862 19 November 2019, 11:47:22 UTC
8a878c1 evidence: enforce ordering in DuplicateVoteEvidence (#4151) Fixes #4143 19 November 2019, 06:54:54 UTC
45c24ff docs: replace dead original whitepaper link (#4155) Co-Authored-By: Marko <marbar3778@yahoo.com> 18 November 2019, 13:13:32 UTC
3e1516b linters: enable stylecheck (#4153) Refs #3262 16 November 2019, 15:35:39 UTC
36ba1a8 docs: add GA for docs.tendermint.com (#4149) 16 November 2019, 13:04:10 UTC
e71a2b1 Docs theme latest (#4145) * fix logo in footer * readme and version * fix logo in footer * rpc link 15 November 2019, 11:14:36 UTC
44a3fbf rpc/lib/client & server: try to conform to JSON-RPC 2.0 spec (#4141) https://www.jsonrpc.org/specification What is done in this PR: JSONRPCClient: validate that Response.ID matches Request.ID I wanted to do the same for the WSClient, but since we're sending events as responses, not notifications, checking IDs would require storing them in memory indefinitely (and we won't be able to remove them upon client unsubscribing because ID is different then). Request.ID is now optional. Notification is a Request without an ID. Previously "" or 0 were considered as notifications Remove #event suffix from ID from an event response (partially fixes #2949) ID must be either string, int or null AND must be equal to request's ID. Now, because we've implemented events as responses, WS clients are tripping when they see Response.ID("0#event") != Request.ID("0"). Implementing events as requests would require a lot of time (~ 2 days to completely rewrite WS client and server) generate unique ID for each request switch to integer IDs instead of "json-client-XYZ" id=0 method=/subscribe id=0 result=... id=1 method=/abci_query id=1 result=... > send events (resulting from /subscribe) as requests+notifications (not responses) this will require a lot of work. probably not worth it * rpc: generate an unique ID for each request in conformance with JSON-RPC spec * WSClient: check for unsolicited responses * fix golangci warnings * save commit * fix errors * remove ID from responses from subscribe Refs #2949 * clients are safe for concurrent access * tm-bench: switch to int ID * fixes after my own review * comment out sentIDs in WSClient see commit body for the reason * remove body.Close it will be closed automatically * stop ws connection outside of write/read routines also, use t.Rate in tm-bench indexer when calculating ID fix gocritic issues * update swagger.yaml * Apply suggestions from code review * fix stylecheck and golint linter warnings * update changelog * update changelog2 15 November 2019, 10:16:04 UTC
1ddc43d rpc: add pagination to /validators (#3993) * Add pagination to /validators - closes #3472 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * add swagger params, default returns all * address pr comments * golint fix * swagger default change, change to default in comment * swagger.yaml: replace x-example with example https://swagger.io/docs/specification/adding-examples/ * Revert "swagger.yaml: replace x-example with example" This reverts commit 9df1b006dee0e0d78c54a808d103e30bdd502c10. * update changelog and remove extra body close 15 November 2019, 05:38:43 UTC
b43da17 rpc/swagger: add numtxs to blockmeta (#4139) Closes #4138 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 14 November 2019, 15:52:53 UTC
41403d5 rpc: remove duplication of data in `ResultBlock ` (#3856) ## Issue: Removed BlockMeta in ResultBlock in favor of BlockId for /block Added block_size to BlockMeta this is reflected in /blockchain fixes #3188 added breaking as some clients may be using header from blockmeta instead of block in /block ## Commits: * cleanup block path Remove duplication of data in `/block` fixes #3188 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * Remove duplication of data in `/block` - Created a secondary type to be used for /block fixes #3188 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * remove commented out code * fix ci * add changelog_pending entry * remove extra variable * update swagger * change int to uint for blocksize * fix swagger * remove extensive comments * update changelog * fix conflicts after merge * use int for BlockSize and NumTxs in BlockMeta - with 99.9% guarantee, the size of either will never reach int32 - most of the Go "Size" stdlib functions return int 14 November 2019, 10:46:44 UTC
1604047 abci: remove TotalTxs and NumTxs from Header (#3783) * Removal of TotalTx & NumTx - Removed totalTx and numTx closes #2521 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * abci proto changes * proto number fix * txfilter_test fix * comments on PR * further changes * bring back metrics * fix indexer * fix TestBlockMaxDataBytes and TestBlockMaxDataBytesUnknownEvidence * indexer service back to header * statistics.go fix * fix ci * listen for blocks, not headers to be able to record txs throughput * fix TestNetworkNewBlock * fix tests * fix tests in types package * fixes after Anton's review * fix tests * bring back `consensus_total_txs` metric I mistakenly thought it was removed. * improve changelog * remove LastBlockTotalTx from state * docs: remove getNumTxs from BeginBlock Java example 14 November 2019, 09:56:12 UTC
9174fb7 p2p: make SecretConnection non-malleable (#3668) ## Issue: This is an approach to fixing secret connection that is more noise-ish than actually noise. but it essentially fixes the problem that #3315 is trying to solve by making the secret connection handshake non-malleable. It's easy to understand and I think will be acceptable to @jaekwon .. the formal reasoning is basically, if the "view" of the transcript between diverges between the sender and the receiver at any point in the protocol, the handshake would terminate. The base protocol of Station to Station mistakenly assumes that if the sender and receiver arrive at shared secret they have the same view. This is only true for a DH on prime order groups. This robustly solves the problem by having each cryptographic operation commit to operators view of the protocol. Another nice thing about a transcript is it provides the basis for "secure" (barring cryptographic breakages, horrible design flaws, or implementation bugs) downgrades, where a backwards compatible handshake can be used to offer newer protocol features/extensions, peers agree to the common subset of what they support, and both sides have to agree on what the other offered for the transcript MAC to verify. With something like Protos/Amino you already get "extensions" for free (TLS uses a simple TLV format https://tools.ietf.org/html/rfc8446#section-4.2 for extensions not too far off from Protos/Amino), so as long as you cryptographically commit to what they contain in the transcript, it should be possible to extend the protocol in a backwards-compatible manner. ## Commits: * Minimal changes to remove malleability of secret connection removes the need to check for lower order points. Breaks compatibility. Secret connections that have no been updated will fail * Remove the redundant blacklist * remove remainders of blacklist in tests to make the code compile again Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Apply suggestions from code review Apply Ismail's error handling Co-Authored-By: Ismail Khoffi <Ismail.Khoffi@gmail.com> * fix error check for io.ReadFull Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Update p2p/conn/secret_connection.go Co-Authored-By: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Update p2p/conn/secret_connection.go Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> * update changelog and format the code * move hkdfInit closer to where it's used 14 November 2019, 09:45:17 UTC
59da313 rpc: /block_results fix docs + write test + restructure response (#3615) BREAKING Example response: ```json { "jsonrpc": "2.0", "id": "", "result": { "height": "2109", "txs_results": null, "begin_block_events": null, "end_block_events": null, "validator_updates": null, "consensus_param_updates": null } } ``` Old result consisted of ABCIResponses struct and height. Exposing internal ABCI structures (which we store in state package) in RPC seems bad to me for the following reasons: 1) high risk of breaking the API when somebody changes internal structs (HAPPENED HERE!) 2) RPC is aware of ABCI, which I'm not sure we want 14 November 2019, 09:34:35 UTC
7bc5e1a state/store: remove extra `if` statement (#3774) closes #3543 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 14 November 2019, 04:58:43 UTC
2be4b0f rpc/lib: fix RPC client, which was previously resolving https protocol to http (#4131) Fixes #4051 Function `parseRemoteAddr` is forcing protocol HTTP and protocol HTTPs to tcp. This causes the bug in the issue #4051. I find that the tcp is only needed where `net.Dial`. So I moved the switch to makeHTTPDialer. 13 November 2019, 14:26:29 UTC
7cd55a7 crypto/amino: add function to modify key codec (#4112) ## Issue: Hey, not sure if this is disallowed for any reason specifically, but it would be very beneficial to define additional types to decode tendermint key implementations from bytes, since it uses a static codec. If this is okay, let me know and I will add documentation. Context: For Ethermint to switch to using Cosmos' keybase, decoding the keys requires this codec to be updated Just to document, I did experiment with creating a mapping from string to objects to be able to keep track of the key types added to be able to be used in the RegisterAmino(..) call, but because of how go is compiled, cosmos would just use the base types. This may be a useful feature for someone just building on top of Tendermint and not going through Cosmos, but to not add confusion or unnecessary complexity, I left it out. ## Commits: * Exposes amino codec to be able to decode pk bytes in application * Change how codec is modified * Remove unneeded comment * Fix comment * Fix comment * Add registered type to nametable * Add pending changelog entry * Reorder change * Added check if type is registered and added test * Make test type private * Remove unnecessary duplicate exists check 13 November 2019, 04:55:22 UTC
7950027 Docs theme latest (#4132) * fix logo in footer * readme and version * fix logo in footer 12 November 2019, 22:07:00 UTC
0c6ad4f added staging build step to docs deployment (#4129) 11 November 2019, 14:43:11 UTC
1fc4ab7 rpc: remove godoc comments in favor of swagger docs (#4126) No need to duplicate information in this case. It a) requires extra efforts to keep both in sync b) nobody reads godoc documentation anyways. 11 November 2019, 13:33:02 UTC
2c81f68 deps: bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.25.0...v1.25.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 11 November 2019, 13:13:36 UTC
6a46082 docs: fix build instructions (#4123) 10 November 2019, 04:41:28 UTC
cf4360c Bump grpc dep (#4121) - bump grpc dep as listed here: https://github.com/tendermint/tendermint/pull/4114 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 08 November 2019, 13:58:30 UTC
263b2d2 added newline to versions file and removed index.html (#4120) 07 November 2019, 17:04:15 UTC
40f702a remove source code cache restore (#4119) 07 November 2019, 16:46:17 UTC
8b78492 remove source code cache restore (#4118) 07 November 2019, 15:52:49 UTC
4b15b96 privval: add `SignerDialerEndpointRetryWaitInterval` option (#4115) Added a small function to be able to change the default retry interval for the privval. The default is 100ms, this function allows to change to any time.Duration. Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> 07 November 2019, 13:40:00 UTC
98c5953 libs/pubsub/query: add EXISTS operator (#4077) ## Issue: This PR adds an "EXISTS" condition to the event query grammar. It enables querying for the occurrence of an event without having to provide a condition for one of its attributes. As an example, someone interested in all slashing events might currently catch them with a query such as slash.power > 0. With this PR the event can be captured with slash.power EXISTS or just slash EXISTS to catch by event type. ## Examples: `slash EXISTS` ## Commits: * Add EXISTS condition to query grammar * Gofmt files * Move PEG instructions out of auto-generated file to prevent overwrite * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update changelog and add test case * Merge with other changes in PR #4070 * Add EXISTS to Conditions() func * Apply gofmt * Addressing PR comments 07 November 2019, 07:30:50 UTC
3495a91 Doc link fixes (#4116) - closes #4090 - closes #4091 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> 06 November 2019, 15:32:06 UTC
274447e state: txindex/kv: return an error if there's one (#4095) when the user searches for a tx (hash=X) This PR fixes error handling for performing a txindex search. TxIndex.Get returns (txresult, nil) if the transaction is found. (nil, nil) if the transaction is not found. (nil, error) if error is occurred. Therefore, if res is not nil, I think TxIndex.Search should return (txresult, nil). Previously, however, this was not a problem because errors.Wrap returns nil if its first argument err is nil. 05 November 2019, 08:33:29 UTC
0a014e3 changelog: fix typo (#4106) 05 November 2019, 05:29:15 UTC
5532e3a Latest version of the theme (#4108) * update version * remove version from versions file 05 November 2019, 03:14:45 UTC
4227556 typo fix: full nude -> full node (#4107) 04 November 2019, 23:05:44 UTC
745846b mempool: moved TxInfo parameter into Mempool.CheckTx() (#4083) * mempool: moved TxInfo parameter into Mempool.CheckTx(). * Updated CHANGELOG_PENDING.md * Added PR issue to CHANGELOG_PENDING Fixes #3590 04 November 2019, 09:50:22 UTC
76deaa9 state: txindex/kv: fsync data to disk immediately after receiving it (#4104) ## Issue Why this pr: When restarting chain node, sometimes we lost tx index about recent(around 80)blocks, and some client complains that they can't find the tx by RPC call(tx_search) when the tx do exist in the block. I try to partially fix this issue in a simple way by writing the index data in a sync way. There is no performance difference under 1K TPS according to our test. It is still possible that lost index data after restarting the node, but only 2 block data will lost at most. I try to totally fix this in https://github.com/tendermint/tendermint/pull/3847/files, but this one is simple and can solve most part of the issue. Please review first, thks. ## Comments Anton: BEFORE: BenchmarkTxIndex1-2 100000 12434 ns/op BenchmarkTxIndex500-2 300 5151564 ns/op BenchmarkTxIndex1000-2 100 15053910 ns/op BenchmarkTxIndex2000-2 100 18238892 ns/op BenchmarkTxIndex10000-2 20 124287930 ns/op AFTER: BenchmarkTxIndex1-2 2000 795431 ns/op BenchmarkTxIndex500-2 200 6385124 ns/op BenchmarkTxIndex1000-2 100 11388219 ns/op BenchmarkTxIndex2000-2 100 20514873 ns/op BenchmarkTxIndex10000-2 20 107456004 ns/op Performance drop is pretty steep, but I think it's the right thing to do UNTIL we have a WAL. 04 November 2019, 08:37:18 UTC
735736e docs: add assumption to getting started with abci-cli (#4098) 03 November 2019, 15:58:18 UTC
0335d07 privval: remove misplaced debug statement (#4103) Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com> There's no debug statement in Read func, so should be OK remove this one too. 03 November 2019, 15:48:45 UTC
2df4ca0 build(deps): bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.4.0 to 1.5.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.4.0...v1.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 01 November 2019, 22:50:11 UTC
cbd5e03 Add more comments about the hard-coded limits (#4100) * crypto: expose MaxAunts for documentation purposes * types: update godoc for new maxes * docs: make hard-coded limits more explicit * wal: add todo to clarify max size * shorten lines in test 01 November 2019, 22:16:53 UTC
b247522 added new version to docs (#4097) 31 October 2019, 20:33:15 UTC
ad897a8 Update README.md (#4094) db is moved to https://github.com/tendermint/tm-db 31 October 2019, 04:54:30 UTC
5206ce3 Update master (#4087) * cs: panic only when WAL#WriteSync fails - modify WAL#Write and WAL#WriteSync to return an error * fix test * types: validate Part#Proof add ValidateBasic to crypto/merkle/SimpleProof * cs: limit max bit array size and block parts count * cs: test new limits * cs: only assert important stuff * update changelog and bump version to 0.32.7 * fixes after Ethan's review * align max wal msg and max consensus msg sizes * fix tests * fix test * add change log for 31.11 30 October 2019, 19:25:58 UTC
51a83f0 Update README.md (#4085) 28 October 2019, 13:28:18 UTC
c5bcdd3 libs/pubsub: relax tx querying (#4070) Some linting/cleanup missed from the initial events refactor Don't panic; instead, return false, error when matching breaks unexpectedly Strip non-numeric chars from values when attempting to match against query values Have the server log during send upon error * cleanup/lint Query#Conditions and do not panic * cleanup/lint Query#Matches and do not panic * cleanup/lint matchValue and do not panic * rever to panic in Query#Conditions * linting * strip alpha chars when attempting to match * add pending log entries * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * build: update variable names * update matchValue to return an error * update Query#Matches to return an error * update TestMatches * log error in send * Fix tests * Fix TestEmptyQueryMatchesAnything * fix linting * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update libs/pubsub/query/query.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * Update libs/pubsub/pubsub.go Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * add missing errors pkg import * update Query#Conditions to return an error * update query pkg unit tests * update TxIndex#Search * update pending changelog 28 October 2019, 06:37:58 UTC
2f8ba80 p2p: log as debug msg when address dialing is already connected (#4082) Fixes #3991 27 October 2019, 15:41:56 UTC
6dd1718 Fix mock reporter interface (#4081) + MockReporeter.Report should return an error to adhere to the `behaviour.Reporter` interface 25 October 2019, 18:08:08 UTC
65e08a7 Fix reproducible builds (#4080) Build with g1.13.3 too. 25 October 2019, 14:05:05 UTC
f323c80 Fix typo (#4071) 21 October 2019, 21:42:22 UTC
288f1a0 docs: update fork-accountability.md (#4068) 19 October 2019, 16:35:53 UTC
bc57221 Fix linter errors thrown by `lll` (#3970) * Fix long line errors in abci, crypto, and libs packages * Fix long lines in p2p and rpc packages * Fix long lines in abci, state, and tools packages * Fix long lines in behaviour and blockchain packages * Fix long lines in cmd and config packages * Begin fixing long lines in consensus package * Finish fixing long lines in consensus package * Add lll exclusion for lines containing URLs * Fix long lines in crypto package * Fix long lines in evidence package * Fix long lines in mempool and node packages * Fix long lines in libs package * Fix long lines in lite package * Fix new long line in node package * Fix long lines in p2p package * Ignore gocritic warning * Fix long lines in privval package * Fix long lines in rpc package * Fix long lines in scripts package * Fix long lines in state package * Fix long lines in tools package * Fix long lines in types package * Enable lll linter 17 October 2019, 08:42:28 UTC
8ba1598 Added test case for Header.Hash() (#4052) * Added static Header.Hash() test case * Added reflect test for Header.Hash() * Check for zero values in test struct 16 October 2019, 17:15:07 UTC
32bafcb Add unsafe routes to swagger (#4062) * Add unsafe routes to swagger - added `/dial_peers` & `dial_seeds` to swagger docs under unsafe tag closes #4047 Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * address comments * Apply suggestions from code review * fix swagger 16 October 2019, 15:47:25 UTC
b1a920c animated sidebar and nested directories (#4063) 16 October 2019, 15:26:06 UTC
ea3dc6d Include peer ID when logging rejected txns (#4057) * Include sender when logging rejected txns * Log as peerID to be consistent with other log messages * Updated CHANGELOG_PENDING * Handle nil source * Updated PR link in CHANGELOG_PENDING * Renamed TxInfo.SenderAddress and peerAddress til PeerFullID * Renamed PeerFullID to PeerP2PID * Forgot to rename a couple of references 16 October 2019, 08:40:45 UTC
f58741b testing ci (#4061) * testing ci * remove version 15 October 2019, 10:18:39 UTC
892bc42 build(deps): bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) Bumps [github.com/gogo/protobuf](https://github.com/gogo/protobuf) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/gogo/protobuf/releases) - [Commits](https://github.com/gogo/protobuf/compare/v1.3.0...v1.3.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> 14 October 2019, 20:59:54 UTC
67cdd00 Blockchain v2 processor (#4012) * Add processor prototype * Change processor API + expose a simple `handle` function which mutates internal state * processor tests * fix gofmt and ohter golangci issues * scopelint var on range scope * add check for short block received * fix formatting * small test reorg * ignore unused for now * ci fix changes * go.mod revert 14 October 2019, 17:06:11 UTC
7edc060 New lint version upgrade (#4056) * New lint version upgrade - linter was upgraded Signed-off-by: Marko Baricevic <marbar3778@yahoo.com> * enable-a;; is deprecated * minor change * another try * some more changes * some more changes * reenable prealloc * add version till bot is fixed 14 October 2019, 15:40:15 UTC
aaa060f Docs theme (#4042) * docs theme * vuepress-theme-cosmos * version bump * changes to docs * more code changes * sidebar order fix * moar changes * fixed dev sessions title * fixed dev sessions title, again * specs should show up in sidebar * contents cards * version bump * sidebar, rpc * version bump * custom footer and super naive search * version * minor change to vuepress * move swagger file * pre and post scripts * build * changed docs build process * added deployment config * updated versions file and added deployment filters 11 October 2019, 16:07:58 UTC
3e5fa20 docs: add ABCI Overview (2/2) dev session (#4044) * add upcoming dev session * add link 10 October 2019, 19:40:44 UTC
f2b7cec Merge pull request #4050 from tendermint/anton/v0326-and-v03110 merge v0.32.6 and v0.31.10 back to master 10 October 2019, 17:31:41 UTC
back to top